久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4260|回復: 1
打印 上一主題 下一主題
收起左側

基于STC90C516RD+單片機的自動風扇制作 含源碼

[復制鏈接]
跳轉到指定樓層
樓主
我學的是強電專業,這個是我畢業設計做的一個很簡單而且被我做的很粗糙的的東西,用了DHT11,DS1302,HMI的顯示屏,還有一個5v直流電動機,兩個按鍵,一個按鍵是單片機根據溫度自動控制電機轉速,一個是手動按,按一下就加快轉速,當然,時間,溫度,濕度,電機轉速,是否是自動控制,風速多少,都在HMI顯示屏顯示出來了,我的電機是和單片機I/O口直接連接,因為能動能顯示出不同風速的差別,畢業設計嘛,沒想的太多,程序和編寫HMI的界面軟件都在在附件里面,本來是不想寫這個帖子的,因為自己做的非常粗糙,但是想到自己這兩個月又是實物又是論文,大家找資料并不容易,希望我的東西能給大家一些參考的東西,因為已經出來工作了,所以關于實物的圖片并沒有了,只能給大家看一下,HMI顯示的仿真界面,為什么不用TFT的呢。其實我有一塊TFT的,但是焊接的時候弄壞了,之后淘寶一看人機界面多高端啊,就買了個HMI的,對了HMI的軟件是 usart hmi





STC90C516RD+單片機源程序如下:
  1. #include <reg52.h>
  2. #include <hmi.h>
  3. #include <intrins.h>
  4. #include <stdio.h>
  5. #include <THT11.h>
  6. #include <delay.h>
  7. #include <i2c.h>
  8. #include <ds1302.h>
  9. #define KeyPort P0
  10. sbit DCOUT = P1^7;
  11. unsigned char PWM_ON=0,PWM;   //定義速度等級
  12. #define CYCLE 10        //周期
  13. unsigned char KeyScan(void);//鍵盤掃描
  14. void Init_Timer0(void);
  15. unsigned char code digit[10]={"0123456789"};
  16. int  TMEPX[6]={40,50,60,70,80,90};
  17. unsigned char second,minute,Value,hour,day,month,year;  
  18. unsigned char m,n,j,k,h,g;
  19. unsigned char ReadValue;
  20. char str[1];  
  21. main()
  22. {                
  23.                 unsigned char num;                  
  24.                 PWM_ON=0;
  25.                 Init_Timer0();   
  26.                 Init_DS1302();
  27.                 system_Ini();
  28.                 DHT11_ReadTempAndHumi();
  29.                 m=temp_value/10/10;
  30.                 n=temp_value/10%10;
  31.                 j=humi_value/10/10;
  32.                 k=humi_value/10%10;
  33.     while(1)
  34.    {
  35. Delay_1ms(10);
  36.                  Delay_1ms(10);
  37.                  ReadValue = ReadSet1302(0x81);
  38.                  second=((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F);
  39.                         h=second/10;
  40.                         g=second%10;
  41.                 UART_Send_Str("t10.txt=");  
  42.                 UART_Send_Byte(34);                  
  43.                 UART_Send_Byte(h+48);
  44.                  UART_Send_Byte(34);
  45.           UART_Send_END();
  46.                          UART_Send_Str("t11.txt=");  
  47.                 UART_Send_Byte(34);                  
  48.                 UART_Send_Byte(g+48);
  49.                  UART_Send_Byte(34);
  50.           UART_Send_END();
  51.                 ReadValue = ReadSet1302(0x83);
  52.                 minute=((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F);
  53.                 h=minute/10;
  54.                 g=minute%10;       
  55.                         UART_Send_Str("t8.txt=");  
  56.                 UART_Send_Byte(34);                  
  57.                 UART_Send_Byte(h+48);
  58.                  UART_Send_Byte(34);
  59.           UART_Send_END();
  60.                          UART_Send_Str("t9.txt=");  
  61.                 UART_Send_Byte(34);                  
  62.                 UART_Send_Byte(g+48);
  63.                  UART_Send_Byte(34);
  64.           UART_Send_END();
  65.                  ReadValue = ReadSet1302(0x85);
  66.      hour=((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F);
  67.                  h=hour/10;
  68.                 g=hour%10;
  69. UART_Send_Str("t6.txt=");  
  70.                 UART_Send_Byte(34);                  
  71.                 UART_Send_Byte(h+48);
  72.                  UART_Send_Byte(34);
  73.           UART_Send_END();
  74.                          UART_Send_Str("t7.txt=");  
  75.                 UART_Send_Byte(34);                  
  76.                 UART_Send_Byte(g+48);
  77.                  UART_Send_Byte(34);
  78.           UART_Send_END();
  79. ReadValue = ReadSet1302(0x87);  
  80.      day=((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F);
  81. h=day/10;
  82.                 g=day%10;       
  83. UART_Send_Str("t4.txt=");  
  84.                 UART_Send_Byte(34);                  
  85.                 UART_Send_Byte(h+48);
  86.                  UART_Send_Byte(34);
  87.           UART_Send_END();
  88.                          UART_Send_Str("t5.txt=");  
  89.                 UART_Send_Byte(34);                  
  90.                 UART_Send_Byte(g+48);
  91.                  UART_Send_Byte(34);
  92.           UART_Send_END();       
  93. ReadValue = ReadSet1302(0x89);  
  94.      month=((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F);       
  95. h=month/10;
  96.                 g=month%10;
  97. UART_Send_Str("t2.txt=");  
  98.                 UART_Send_Byte(34);                  
  99.                 UART_Send_Byte(h+48);
  100.                  UART_Send_Byte(34);
  101.           UART_Send_END();
  102.                          UART_Send_Str("t3.txt=");  
  103.                 UART_Send_Byte(34);                  
  104.                 UART_Send_Byte(g+48);
  105.                  UART_Send_Byte(34);
  106.           UART_Send_END();
  107. ReadValue = ReadSet1302(0x8d);
  108.      year=((ReadValue&0xf0)>>4)*10 + (ReadValue&0x0F);
  109. h=year/10;
  110.                 g=year%10;       
  111.         UART_Send_Str("t0.txt=");  
  112.                 UART_Send_Byte(34);                  
  113.                 UART_Send_Byte(h+48);
  114.                  UART_Send_Byte(34);
  115.           UART_Send_END();
  116.                          UART_Send_Str("t1.txt=");  
  117.                 UART_Send_Byte(34);                  
  118.                 UART_Send_Byte(g+48);
  119.                  UART_Send_Byte(34);
  120.           UART_Send_END();
  121.                         UART_Send_Str("t12.txt=");  
  122.                 UART_Send_Byte(34);                  
  123.                 UART_Send_Byte(j+48);
  124.                  UART_Send_Byte(34);
  125.           UART_Send_END();
  126.                 UART_Send_Str("t13.txt=");  
  127.                 UART_Send_Byte(34);                  
  128.                 UART_Send_Byte(k+48);
  129.                  UART_Send_Byte(34);
  130.           UART_Send_END();
  131.                 UART_Send_Str("t14.txt=");  
  132.                 UART_Send_Byte(34);                  
  133.                 UART_Send_Byte(m+48);
  134.                  UART_Send_Byte(34);
  135.           UART_Send_END();
  136.                 UART_Send_Str("t15.txt=");  
  137.                 UART_Send_Byte(34);                  
  138.                 UART_Send_Byte(n+48);
  139.                  UART_Send_Byte(34);
  140.           UART_Send_END();
  141.                 num=KeyScan();   
  142.    if(num==1)
  143.       {
  144.                                 UART_Send_Str("t16.txt=");  
  145.                 UART_Send_Byte(34);                  
  146.                 UART_Send_Byte(1+48);
  147.                  UART_Send_Byte(34);
  148.           UART_Send_END();
  149.                  UART_Send_Str("t18.txt=");  
  150.                 UART_Send_Byte(34);                  
  151.                 UART_Send_Byte(0+48);
  152.                  UART_Send_Byte(34);
  153.           UART_Send_END();                               
  154.            if(PWM_ON<CYCLE)
  155.            PWM_ON++;               
  156.           }       
  157.    else if(num==2)
  158.       {
  159.                                                 UART_Send_Str("t16.txt=");  
  160.                 UART_Send_Byte(34);                  
  161.                 UART_Send_Byte(0+48);
  162.                  UART_Send_Byte(34);
  163.           UART_Send_END();
  164.                         UART_Send_Str("t18.txt=");  
  165.                 UART_Send_Byte(34);                  
  166.                 UART_Send_Byte(1+48);
  167.                  UART_Send_Byte(34);
  168.           UART_Send_END();       
  169.           if(m==0)
  170.                         PWM_ON=1;
  171.                 if(m==1)
  172.                         PWM_ON=3;
  173.                 if(m==2)
  174.                         PWM_ON=5;
  175.                 if(m==3)
  176.                         PWM_ON=9;
  177.           }       
  178.   PWM=PWM_ON%10;
  179.                 UART_Send_Str("t20.txt=");  
  180.                 UART_Send_Byte(34);                  
  181.                 UART_Send_Byte(PWM+48);
  182.                  UART_Send_Byte(34);
  183.           UART_Send_END();               
  184.                
  185. DelayMs(100);
  186.   }
  187. }       
  188. void Init_Timer0(void)
  189. {
  190. TMOD |= 0x01;                               
  191. EA=1;           
  192. ET0=1;           
  193. TR0=1;           
  194. }
  195. void Timer0_isr(void) interrupt 1
  196. {
  197. static unsigned char count;
  198. TH0=(65536-2000)/256;                  
  199. TL0=(65536-2000)%256;
  200. if (count==PWM_ON)
  201.     {
  202.      DCOUT = 0;            
  203.     }
  204.   count++;
  205. if(count == CYCLE)      
  206.     {
  207.     count=0;
  208.         if(PWM_ON!=0)   
  209.            DCOUT = 1;      

  210.     }
  211. ……………………

  212. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
20170405 - 副本 (2).zip (93.78 KB, 下載次數: 24)



評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:215444 發表于 2017-8-14 11:01 | 只看該作者
因為在論壇找了不少資料,希望能幫助到大家。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 香蕉超碰| 一级黄色短片 | 欧美99久久精品乱码影视 | 欧美日在线 | 精品国产一区二区国模嫣然 | 一区二区三区在线免费观看 | 成人免费视频观看 | 亚洲国产成人精 | 在线观看中文字幕视频 | 久久aⅴ乱码一区二区三区 91综合网 | 国产精品久久久久一区二区三区 | 91社区视频 | av永久 | 99久久精品免费看国产四区 | 我我色综合 | 成人国产精品视频 | 亚洲人成网亚洲欧洲无码 | 亚洲一二三区在线观看 | 美女三区| 欧美久久一区二区 | 欧美一区二区三区精品免费 | 成人自拍视频 | 久久久蜜桃 | 国产精品观看 | 99热热99| 日韩欧美国产精品一区二区 | 欧美日日| 在线色网址| 免费特级黄毛片 | 在线伊人| 青青久草 | 综合精品在线 | 亚洲三区在线观看 | 国产精品久久久久久久久久免费看 | 免费的网站www | 国产精品无 | 亚洲免费视频网址 | 日本一区二区三区精品视频 | 一区二区三区中文字幕 | 成人黄色电影在线观看 | 久久亚洲欧美日韩精品专区 |