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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

關(guān)于單片機(jī)定時(shí)器定時(shí)問(wèn)題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1002906 發(fā)表于 2022-2-19 00:07 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
剛學(xué)定時(shí)器,需要寫(xiě)一個(gè)程序,就是按下S2(代碼里面的key1)之后讓led燈全亮,定時(shí)器定時(shí)5s之后讓led燈全部熄滅。我這樣子寫(xiě)發(fā)現(xiàn)并不能熄滅,有沒(méi)有人給說(shuō)一下問(wèn)題并且給個(gè)思路?
  1. #include <reg52.h>
  2. #include <intrins.h>

  3. sbit key1=P3^0;

  4. void delay(unsigned char z)//zms延時(shí)
  5. {
  6.         unsigned char i, j;
  7.         while(z>0)
  8.         {
  9.                 _nop_();
  10.                 i = 2;
  11.                 j = 199;
  12.                 do
  13.                 {
  14.                         while (--j);
  15.                 } while (--i);
  16.                 z--;
  17.         }
  18. }

  19. void timer0Init()  //50ms
  20. {
  21.         TR0=1;
  22.         TMOD=0X01;
  23.         TH0=(65535-46082)/256;
  24.         TL0=(65535-46082)%256;
  25. }
  26. void main()
  27. {
  28.         unsigned char msec;
  29.         timer0Init();
  30.         while(1)
  31.         {
  32.                 if(key1==0)
  33.                 {       
  34.                         delay(20); //消抖
  35.                         if(key1==0)
  36.                                 P1=0x00;       
  37.                         if(TF0==1)
  38.                         {
  39.                                 TF0=0;
  40.                                 msec++;
  41.                                 TH0=(65535-46082)/256;
  42.                                 TL0=(65535-46082)%256;
  43.                                 if(msec==100)
  44.                                         P1=0XFF;                       
  45.                         }       
  46.                         while(!key1) ;//松手檢測(cè)               
  47.                 }
  48.         }
  49. }

復(fù)制代碼


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

使用道具 舉報(bào)

沙發(fā)
ID:161164 發(fā)表于 2022-2-19 09:20 | 只看該作者

  1. void main()
  2. {
  3.         unsigned char msec;
  4.         while(1)
  5.         {
  6.                 if(key1==0)
  7.                 {      
  8.                         delay(20); //消抖
  9.                         if(key1==0)        
  10.                                 while(!key1) ;//松手檢測(cè)
  11.                                 P1=0x00;
  12.                                 timer0Init();               
  13.                 }      
  14.                         if(TF0==1)
  15.                         {
  16.                                 TF0=0;
  17.                                 msec++;
  18.                                 TH0=(65535-46082)/256;
  19.                                 TL0=(65535-46082)%256;
  20.                                 if(msec==100)
  21.                                 {
  22.                                         P1=0XFF;                       
  23.                                         TR0 = 0;                        
  24.                                         msec=0;                     
  25.                                  }
  26.                         }
  27.         }
  28. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

板凳
ID:1002906 發(fā)表于 2022-2-19 09:40 | 只看該作者

這樣子是解決了,不過(guò)這個(gè) timer0Init() 寫(xiě)在unsigned char msec前面和卸載您的這個(gè)位置有什么區(qū)別?
回復(fù)

使用道具 舉報(bào)

地板
ID:625730 發(fā)表于 2022-2-19 10:05 | 只看該作者
因?yàn)槟愕膇f(TF==1)語(yǔ)句嵌套在if(key1==0)里面了,松開(kāi)按鍵后,燈亮了,如果不再按鍵就不會(huì)再進(jìn)入if(TF==1)條件語(yǔ)句里。下面的程序把兩個(gè)if語(yǔ)句并列了,都會(huì)被執(zhí)行到。
回復(fù)

使用道具 舉報(bào)

5#
ID:1002906 發(fā)表于 2022-2-19 10:52 | 只看該作者
TEC 發(fā)表于 2022-2-19 10:05
因?yàn)槟愕膇f(TF==1)語(yǔ)句嵌套在if(key1==0)里面了,松開(kāi)按鍵后,燈亮了,如果不再按鍵就不會(huì)再進(jìn)入if(TF==1) ...

謝謝,我明白了,不過(guò)那個(gè) timer0Init() 我寫(xiě)在unsigned char msec 前面和樓上寫(xiě)的位置有什么區(qū)別?另外,如果我把timer0Init 寫(xiě)在兩個(gè)if中間為什么也不對(duì)?
回復(fù)

使用道具 舉報(bào)

6#
ID:161164 發(fā)表于 2022-2-19 12:50 | 只看該作者
AnRan_ 發(fā)表于 2022-2-19 10:52
謝謝,我明白了,不過(guò)那個(gè) timer0Init() 我寫(xiě)在unsigned char msec 前面和樓上寫(xiě)的位置有什么區(qū)別?另外 ...

你弄明timer0Init ()里那幾句代碼的意思就知到為什么了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 午夜天堂精品久久久久 | 久久久国产一区二区三区 | 精品中文在线 | 欧美日韩精品免费观看 | 国产亚洲精品久久情网 | 日本一区二区高清不卡 | 羞羞色影院 | 成人深夜福利 | 成人小视频在线免费观看 | 日韩一区二区三区在线视频 | 拍拍无遮挡人做人爱视频免费观看 | 国产在线观看 | 精品三区 | 免费看91 | 成人av一区二区三区 | 一区二区三区国产在线观看 | 国产精品一区二区久久久久 | 日韩有码一区 | h视频在线免费观看 | 91高清免费 | 日韩av成人在线观看 | 日韩一级免费电影 | 精品国产1区2区3区 在线国产视频 | 亚洲精品成人网 | 久久99久久98精品免观看软件 | 久久久av | 一区二区三区精品视频 | 国产一级片一区二区 | 欧美一区日韩一区 | 亚洲精品在线免费看 | 国产精品日韩欧美一区二区 | 亚洲色欲色欲www | 午夜三级在线观看 | 中文字幕一区在线观看视频 | 亚洲精品中文字幕中文字幕 | 免费一级做a爰片久久毛片潮喷 | 免费观看一级特黄欧美大片 | 精品国产欧美一区二区三区成人 | 九九九视频在线 | 99在线国产 | 在线伊人网 |