找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 5595|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

基于51單片機(jī)的溫控電機(jī)proteus仿真及源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
溫控電機(jī)項(xiàng)目特別提醒:
用Proteus軟件進(jìn)行電路仿真時,TLC549和AT89C51的
電源引腳均隱藏了,在制作電路板時一定要給TLC549
的Pin8接+5V,Pin4接地;AT89C51的的Pin40接+5V,
Pin20接地。





單片機(jī)溫控電機(jī)源程序如下:
  1. //產(chǎn)生頻率為100Hz的PWM

  2. #include<reg51.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int

  5. sbit TLC549_SCLK=P1^5; //定義P1.5引腳位名稱為TLC549_SCLK
  6. sbit TLC549_SDO=P1^3; //定義P1.3引腳位名稱為TLC549_SDO
  7. sbit TLC549_CS=P1^4; //定義P1.4引腳位名稱為TLC549_CS

  8. sbit L298_in1=P2^0;//定義P2.0引腳位名稱為L298_in1
  9. sbit L298_in2=P2^1;//定義P2.1引腳位名稱為L298_in2
  10. sbit L298_ena=P2^2;//定義P2.1引腳位名稱為L298_in2

  11. uchar duty=0;//PWM波形的占空比



  12. uchar  TLC549_data(  )//TLC549的A/D轉(zhuǎn)換程序
  13. {
  14.         uchar result;//定義result存放A/D轉(zhuǎn)換結(jié)果
  15.         uchar i=0,j;
  16.   
  17.         TLC549_CS=1;//TLC549的CS引腳輸出高電平,為A/D轉(zhuǎn)換做準(zhǔn)備
  18.         TLC549_CS=0; //TLC549的CS引腳輸出低電平,開始一個A/D轉(zhuǎn)換周期
  19.         result=0;//A/D轉(zhuǎn)換結(jié)果清零
  20.         TLC549_SDO=1;// 51單片機(jī)讀數(shù)據(jù)時得先把管腳置1
  21.         for(i=0;i<8;i++)
  22.         {
  23.                 if(TLC549_SDO==1)
  24.                         result=result|(0x80>>i);// 從高位到低位依次獲取A/D轉(zhuǎn)換的結(jié)果                        
  25.                 TLC549_SCLK=1;
  26.                 TLC549_SCLK=0;//輸出TLC549的下降沿,從SDO端送出一位A/D轉(zhuǎn)換結(jié)果
  27.                 for(j=0;j<2;j++);//下降沿產(chǎn)生后,400ns后新的位被寫到數(shù)據(jù)線上,所以需延時
  28.         }

  29.         TLC549_CS=1;//一個周期結(jié)束后,TLC549的CS端設(shè)置為高電平
  30.         return result;//返回A/D轉(zhuǎn)換結(jié)果

  31. }

  32. void  T0_int( )
  33. {
  34.    TMOD=0x02;       //定時器T1工作于方式2
  35.    TH0=256-100;      //送初值
  36.    TL0=256-100;
  37.    EA=1;           //設(shè)置總中斷允許
  38.    ET0=1 ;         //設(shè)置允許T1中斷
  39.    TR0=1;          //啟動定時器T1
  40. }

  41. void  time1_int(void)  interrupt  1   //T1中斷服務(wù)程序,
  42. {
  43.     static uchar i;
  44.          i++;
  45.          if(i==100)
  46.            i=0;
  47.          if(i<duty)
  48.            L298_ena=1;
  49.          else
  50.            L298_ena=0;
  51.   
  52. }



  53. void main()
  54. {
  55.         uint tt;

  56.         T0_int();
  57.         while(1)
  58.         {   
  59.              tt=TLC549_data();//讀取溫度轉(zhuǎn)換的數(shù)字量
  60.             tt=tt*100/250;//計算溫度值,根據(jù)LM35的特性,溫度每變化1°C對應(yīng)的輸出電壓為10mV
  61.                           //LM35輸出的信號經(jīng)過放大電路放大了4.9倍,經(jīng)過TLC549進(jìn)行A/D轉(zhuǎn)換得到
  62.                          //數(shù)字量tt。所以由tt可得到溫度值=數(shù)字量tt/51/4.9*100
  63.        if((tt<10)||(tt>50))//溫度低于10°C或高于50°C,電機(jī)停轉(zhuǎn)
  64.         {
  65.             L298_ena=0;
  66.             L298_in2=0;
  67.                                 L298_in2=0;
  68.         }
  69.        else  if(tt<=20)
  70.         {
  71.             duty=45;
  72.             L298_in2=0;
  73.             L298_in1=1;
  74.         }
  75.        else  if(tt<=30)
  76.         {
  77.             duty=100;
  78.             L298_in2=0;
  79.             L298_in1=1;
  80.         }
  81.        else  if(tt<=40)
  82.         {
  83.              duty=45;
  84.             L298_in2=1;
  85.             L298_in1=0;
  86.         }
  87.        else
  88.          {
  89.             duty=100;
  90.             L298_in2=1;
  91. ……………………

  92. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
直流電機(jī).rar (50.58 KB, 下載次數(shù): 64)




評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:106211 發(fā)表于 2018-1-11 16:54 | 只看該作者
樓主的這個是控制幾度到幾度的
回復(fù)

使用道具 舉報

板凳
ID:457895 發(fā)表于 2018-12-29 11:23 | 只看該作者
為什么我下載不了。。
回復(fù)

使用道具 舉報

地板
ID:457733 發(fā)表于 2018-12-30 18:29 | 只看該作者
為什么調(diào)整溫度轉(zhuǎn)速沒有變化
回復(fù)

使用道具 舉報

5#
ID:369182 發(fā)表于 2019-12-23 11:09 | 只看該作者
能調(diào)溫度嗎
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表