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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2556|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

單片機PWM調(diào)速程序+Proteus仿真

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:726916 發(fā)表于 2020-4-11 14:15 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include <REG52.H>
  2. #include <STDIO.H>
  3. #include <LM1602.H>
  4. #include <BUTTON.H>
  5. #include <DS18B20.H>
  6. #include <Interface.H>

  7. #define FOSC 11059200L      //System frequency
  8. #define BAUD 9600               //UART baudrate

  9. sbit PWM = P3^5;

  10. extern unsigned int frequency = 0;                                        // 頻率
  11. extern unsigned char Interface = 1;                                        // 正在處于的界面
  12. extern unsigned char Menu_option = 1;                                // 菜單選項
  13. extern unsigned char hour = 8, min = 0, sec = 0;        // 時間變量
  14. extern bit update_time_state = 0;                                        // 更新時間標(biāo)志
  15. extern bit update_temp_state = 0;                                        // 更新溫度標(biāo)志
  16. extern unsigned int PWM_val;                                                // PWM的設(shè)置等級
  17. extern unsigned int time_count = 0;                                        // 時鐘計時
  18. void Initial();                        // 系統(tǒng)初始化
  19. void Timer_Init();                // 中斷初始化
  20. void Count_second();        // 秒計更新計時
  21. void Count_temp();                // 溫度更新計時
  22. void PWM_control();                // PWM控制

  23. void Main()
  24. {
  25.         Initial();
  26.         while(1)
  27.         {
  28.                 KeyProc();
  29.                 Update_data();
  30.         }
  31. }

  32. void Timer1()interrupt 3
  33. {
  34.         TL1 = 0x00;                //設(shè)置定時初值
  35.         TH1 = 0xDC;                //設(shè)置定時初值
  36.         Count_second();
  37.         Count_temp();
  38.         PWM_control();
  39. }

  40. void Uart()interrupt 4
  41. {
  42.         if(RI)                                                         /*        RI:串口接收中斷申請標(biāo)志位  */
  43.         {
  44.                 RI=0;                                                //必須重新對RI清
  45.         }
  46. }

  47. void Count_second()
  48. {
  49.         if(++time_count == 100)
  50.         {
  51.                 time_count = 0;
  52.                 update_time_state = 1 ;
  53.                 frequency = TH0<<8 | TL0;
  54.                 TH0 = TL0 = 0;
  55.                 if(++sec == 60)
  56.                 {
  57.                         sec = 0;
  58.                         if(++min == 60)
  59.                         {
  60.                                 min = 0;
  61.                                 if(++hour == 24)
  62.                                 {
  63.                                         hour = 0;
  64.                                 }
  65.                         }
  66.                 }
  67.         }
  68. }

  69. void PWM_control()
  70. {
  71.         static bit w;
  72.         static unsigned char count;
  73.         if(PWM_val == 0)
  74.         {
  75.                 PWM = 0;
  76.         }
  77.         else if(PWM_val == 15)
  78.         {
  79.                 PWM = 1;
  80.         }
  81.         else
  82.         {
  83.                 if(w == 0)
  84.                 {
  85.                         if(++count == PWM_val)
  86.                         {
  87.                                 count = 0;
  88.                                 PWM = 0;
  89.                                 w = 1;
  90.                         }
  91.                 }
  92.                 else
  93.                 {
  94.                         if(++count == (15 - PWM_val))
  95.                         {
  96.                                 count = 0;
  97.                                 PWM = 1;
  98.                                 w = 0;
  99.                         }
  100.                 }
  101.         }
  102. }

  103. void Count_temp()
  104. {
  105.         static unsigned int temp_count;
  106.         if(++temp_count == 20)
  107.         {
  108.                 temp_count = 0;
  109.                 update_temp_state = 1;
  110.         }
  111. }

  112. void Timer_Init()
  113. {
  114.         SCON=0x50;
  115.         T2CON=0x34;
  116.         TH2=RCAP2H=(65536-(FOSC/32/BAUD)) >> 8;
  117.         TL2=RCAP2L=(65536-(FOSC/32/BAUD));
  118.         ES=1;
  119.         ET1 = 1;
  120.         TMOD = 0x15;
  121.         TL1 = 0x00;                //設(shè)置定時初值
  122.         TH1 = 0xDC;                //設(shè)置定時初值
  123.         TR1 = 1;
  124.         TR0 = 1;
  125.         TF0 = 0;        
  126.         EA = 1;
  127. }

  128. void Initial()
  129. {
  130.         DS18B20();
  131.         Init_1602();
  132.         display_1602(0,0,"*Function Board*");
  133.         display_1602(1,1,"Welcome to use");
  134.         Timer_Init();
  135.         while((P2&0x1e) == 0x1e);
  136.         while((P2&0x1e) != 0x1e);
  137.         Init_1602();
  138.         display_1602(0,0,"Function Menu:  ");
  139.         Updata_Menu(Menu_option);
  140.         Timer_Init();
  141. }
復(fù)制代碼
全部資料51hei下載地址:
電子工程實訓(xùn).zip (157.25 KB, 下載次數(shù): 57)

評分

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

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:730612 發(fā)表于 2020-4-16 15:45 | 只看該作者
好的 十分感謝
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久久人成影片免费观看 | 国产精品久久久久久久午夜 | 欧美一区二区三区在线观看视频 | 国产一区二区三区免费视频 | 日韩视频免费在线 | 亚洲成人天堂 | 一区在线播放 | 亚洲精品一区二区 | av一级久久| 国产黄色精品 | 亚洲日韩中文字幕 | 欧美日韩视频在线 | 色综合一区二区三区 | 亚洲久草视频 | 91久久精品日日躁夜夜躁国产 | 国产在线观看一区二区三区 | 国产精品一区二区三级 | 中文成人无字幕乱码精品 | 久久99精品国产麻豆婷婷 | 久久久999精品 | 一区二区在线观看av | 欧美片网站免费 | 欧美日韩一区二区视频在线观看 | 精品视频一区二区 | 成人久久18免费网站麻豆 | 日韩精品一区二区三区视频播放 | 日韩三区在线观看 | 精品videossex高潮汇编 | 亚洲精品一区中文字幕乱码 | 国产区一区 | 免费精品一区 | www久久久| 久久99精品久久久久久 | 日韩福利片 | 色999视频| 国产日韩精品在线 | 欧美性视频在线播放 | www.一区二区三区.com | 天天插天天操 | 成人av一区二区三区 | 国产中文在线观看 |