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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機(jī)微波爐控制系統(tǒng)仿真與源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
微波爐控制仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. /***********************************************

  2. ***********************************************/
  3. #include "reg52.h"
  4. #include "intrins.h"
  5. #include "seg.h"

  6. bit flag_timer ;

  7. sbit Door=P1^0;                //門限位開關(guān)
  8. sbit Led=P1^1;                //照明燈
  9. sbit Beep=P2^4;                //揚(yáng)聲器
  10. sbit JD=P2^5;                //繼電器 加熱裝置控制接口

  11. sbit key_open=P1^4;        //開啟按鈕

  12. sbit key_set=P1^5;        //設(shè)置按鈕
  13. sbit key_add=P1^6;        //時間加按鈕
  14. sbit key_dec=P1^7;        //時間減按鈕
  15. void delay_10us(unsigned int nus)
  16. {
  17.         while(nus--);
  18. }

  19. void delay_ms(unsigned int nms)               
  20. {
  21.         unsigned int i ,j;
  22.         for(i=nms;i>0;i--)              //nms即延時約n毫秒
  23.         {        for(j=110;j>0;j--);        }
  24. }
  25. /************************************************************************
  26. * 函數(shù): void Beep_Play(unsigned int t)
  27. * 描述: 無源蜂鳴器驅(qū)動函數(shù)
  28. * 參數(shù): t :  起振頻率
  29. * 返回: none.
  30. * 備注: t越大頻率越小
  31. ************************************************************************/
  32. void Beep_Play(unsigned int t)
  33. {
  34.         unsigned char i;
  35.         for(i=0;i<100;i++)
  36.         {
  37.                  Beep = ~Beep;
  38.                 delay_10us(t);
  39.         }
  40.         Beep = 0;
  41. }
  42. void Timer1Init(void)        //50毫秒@11.0592MHz
  43. {
  44.         TMOD &= 0x0F;                //設(shè)置定時器模式
  45.         TMOD |= 0x10;                //設(shè)置定時器模式
  46.         TL1 = 0x00;                        //設(shè)置定時初值
  47.         TH1 = 0x4C;                        //設(shè)置定時初值
  48.         TF1 = 0;                        //清除TF1標(biāo)志
  49.         TR1 = 0;                        //定時器1停止計時
  50.         ET1 = 1;                        //中斷使能
  51. }

  52. int cnt=0;
  53. bit ok_flag=0;                //1  為按下按鍵正常工作
  54. bit hotover_flag=0;        //1  加熱完成標(biāo)志

  55. void main(void)
  56. {
  57.         unsigned char pp=0;
  58.         smg_display(0);                //顯示數(shù)值
  59.         Timer0Init();                //定時器0初始化,2毫秒@11.0592MHz
  60.         Timer1Init();                //定時器1初始化,50毫秒@11.0592MHz
  61.         while(1)
  62.         {
  63.                 if(flag_timer==1)                //賦一次值
  64.                 {
  65.                         flag_timer = 0;                //清除標(biāo)志  等待下一次400ms
  66.                         smg_display(cnt);        //顯示數(shù)值
  67.                 }
  68.                 if(hotover_flag == 1)        //加熱完成
  69.                 {
  70.                         Beep_Play(50);
  71.                         Beep_Play(50);
  72.                         Beep_Play(50);
  73.                         pp++;
  74.                         if(pp>10)
  75.                         {
  76.                                 pp = 0;
  77.                                 hotover_flag = 0;
  78.                         }
  79.                                
  80.                 }
  81.                 if(ok_flag == 1)                //確認(rèn)鍵按下了已經(jīng)
  82.                 {
  83.                         if(Door==0&&cnt>0)        //門被關(guān)上
  84.                         {
  85. //                                TR1 = 1;                //定時器1開始計時  如果是關(guān)門自動加熱則不注釋
  86.                                 JD = 0;                        //加熱
  87.                                 Beep = 1;                //報警關(guān)閉
  88.                                 Led = 1;                //照明燈滅
  89.                         }
  90.                         else                                //門未關(guān)
  91.                         {
  92.                                 Beep_Play(50);
  93. //                                Beep = 0;                //報警
  94.                                 TR1 = 0;                //定時器1停止計時
  95.                                 JD = 1;                        //停止加熱
  96.                                 Led = 0;                //照明燈亮
  97.                         }
  98.                                
  99.                 }
  100.                 if(Door==0)                                //門被關(guān)上
  101.                 {
  102.                         Led = 1;                        //照明燈滅
  103.                        
  104.                 }
  105.                 else                                        //門未關(guān)
  106.                 {       
  107.                         Led = 0;                        //照明燈亮
  108.                 }
  109.                 if(key_add==0)                        //設(shè)置加按鈕按下
  110.                 {       
  111.                         delay_ms(200);                //消除抖動
  112.                         if(key_add==0)                //設(shè)置加按鈕按下
  113.                         {
  114.                                 cnt++;
  115.                                 if(cnt>999)
  116.                                         cnt=0;       
  117.                         }
  118.                        
  119.                 }
  120.                 if(key_dec==0)                                //設(shè)置減按鈕按下
  121.                 {       
  122.                         delay_ms(200);                        //消除抖動
  123.                         if(key_dec==0)                        //設(shè)置減按鈕按下
  124.                         {
  125.                                 cnt--;
  126.                                 if(cnt<0)
  127.                                         cnt=999;       
  128.                         }       
  129.                 }
  130.                 if(key_set==0)                                //確認(rèn)鍵按下
  131.                 {
  132.                         while(key_set==0);                //等待釋放       
  133.                         if(cnt>0)                                //如果定時的值大于0
  134.                         {
  135.                                 ok_flag = 1;
  136.                                 TR1 = 1;                        //定時器1開始計時
  137.                         }
  138.                 }
  139.         }
  140. }

  141. void tm0_isr() interrupt 1 using 1
  142. {
  143.         static unsigned char num=0;
  144.         TF0 = 0;
  145.         TL0 = 0xCD;                         //設(shè)置定時初值
  146.         TH0 = 0xF8;                        //設(shè)置定時初值
  147.         display();                        //數(shù)碼管顯示函數(shù)
  148.         if(num++ >= 100)    //2ms*100 =200ms
  149.         {
  150.                 num = 0;
  151.                 flag_timer = 1;
  152.         }
  153. }
  154. void tm1_isr() interrupt 3 using 1                //定時50毫秒
  155. {
  156.         static unsigned int num1=0;
  157.         TL1 = 0x00;                                //設(shè)置定時初值
  158.         TH1 = 0x4C;                                //設(shè)置定時初值
  159.         if(num1++>=20&&cnt>0)        //1s到
  160.         {
  161.                 num1 = 0;
  162.                 cnt--;
  163.                
  164.         }
  165.         if(cnt==0)
  166. ……………………

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

所有資料51hei提供下載:
微波爐.rar (73.04 KB, 下載次數(shù): 112)


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

使用道具 舉報

沙發(fā)
ID:367110 發(fā)表于 2018-7-8 14:01 | 只看該作者
下不了啊 還扣我黑幣QAQ
請問可以發(fā)我QQ嗎
回復(fù)

使用道具 舉報

板凳
ID:337139 發(fā)表于 2021-9-10 10:35 | 只看該作者
仿真與實(shí)際的工作還是有一些差別的。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人免费在线电影 | 欧美精品国产精品 | 成人免费视屏 | 国产欧美视频一区 | 国产成人精品999在线观看 | 国产99久久久国产精品 | 喷潮网站 | 欧美成人精品一区二区男人看 | 国产成人jvid在线播放 | 日韩欧美在线视频观看 | 国产精品欧美精品 | 国产福利在线播放麻豆 | 国产精品免费在线 | 二区国产 | 亚洲 中文 欧美 日韩 在线观看 | 国产一区二区在线免费观看 | 操操网站 | 一区二区免费看 | 国产久 | 欧美 视频| 黄色毛片网站在线观看 | 91精品一区二区三区久久久久 | 久久一区二区视频 | 亚洲精品成人 | 久久久久久成人 | 热99精品视频 | 国产精品自拍av | 中文字幕第二区 | 欧美一区在线视频 | 99在线播放 | 国产精品毛片无码 | 中文在线亚洲 | 亚洲中字在线 | 91成人免费 | 91亚洲国产成人久久精品网站 | 精品国产亚洲一区二区三区大结局 | 综合网视频| 国产精品视频不卡 | 国产在线精品一区二区三区 | 中文字幕一区二区三区精彩视频 | 自拍偷拍精品 |