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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機控制定時燈亮程序問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:508684 發表于 2019-4-18 21:40 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
各位老師好,我的這段程序想在設定的時間到達時,P1^7對應的LED 燈亮,但實際測試時燈不亮,能請各位老師幫忙看一下嗎,謝謝

單片機源程序如下:
  1. #include<reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. uchar hour_now,hour_set,min_now,min_set,sec_now,sec_set;
  5. uint time_t;
  6. sbit led7=P1^7;
  7. sbit beep=P2^3;
  8. sbit led0=P1^0;
  9. void delay1ms(uint x)
  10. {  

  11.          TMOD=0X20;
  12.          TR1=1;
  13.          while(x--)
  14.           {      
  15.            TH1=0Xfc;
  16.            TL1=0X18;
  17.            while(!TF1);
  18.            TF1=0;
  19.            time_t++;
  20.                 }
  21.          TR1=0;

  22. }
  23. void dingshi()
  24. {
  25. while(1)
  26. {
  27.         if((hour_now=hour_set)&&(min_now=min_set)&&(sec_now=sec_set))
  28.          
  29.     led7=0;
  30.     while(1)
  31.                 delay1ms(20);
  32.             sec_now++;
  33.     if(sec_now>=60)
  34.           {
  35.                      sec_now=0;
  36.                      min_now++;
  37.                   if(min_now>=60)
  38.                   {  
  39.                               min_now=0;
  40.                               hour_now++;
  41.                           if(hour_now>=24)
  42.                           {
  43.                                        hour_now=0;
  44.          }
  45.        }
  46.      }

  47. }
  48. }
  49. void main()
  50.          {
  51.                  hour_now=23;
  52.      min_now=59;
  53.      sec_now=50;
  54.      hour_set=0;
  55.      min_set=0;
  56.      sec_set=0;      
  57.      while(1)
  58.                 {
  59.                                         dingshi();
  60.                 }
  61.         }
復制代碼


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

使用道具 舉報

沙發
ID:123289 發表于 2019-4-19 08:36 | 只看該作者
你需要補“中斷”的課,弄清楚什么是“中斷”!
回復

使用道具 舉報

板凳
ID:164602 發表于 2019-4-19 08:36 | 只看該作者
程序問題嘛
你的亮燈只能在開機時判斷一次,以后就再也不判斷了,怎么會亮呢。
while(1)
{
        if((hour_now=hour_set)&&(min_now=min_set)&&(sec_now=sec_set))
         
    led7=0;//á???μ????e
    while(1)
                delay1ms(20);
進入第二個while后,就再也不會去判斷是否亮燈了!

還是上面那部分程序,第二個while后,沒有{},則程序就會一直一直一直一直一直......執行delay1ms(20);
時間再也不會增加了。
回復

使用道具 舉報

地板
ID:213173 發表于 2019-4-19 08:39 | 只看該作者
你的程序錯誤不少,給你改了,你試試。
  1. #include<reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. uchar hour_now,hour_set,min_now,min_set,sec_now,sec_set;
  5. uint time_t;
  6. sbit led7=P1^7;
  7. sbit beep=P2^3;
  8. sbit led0=P1^0;

  9. void Timer0Init()                //50毫秒@12.000MHz
  10. {
  11.         TMOD= 0x01;                //設置定時器模式
  12.         TL0 = 0xB0;                //設置定時初值
  13.         TH0 = 0x3C;                //設置定時初值
  14.         TF0 = 0;                //清除TF0標志
  15.         TR0 = 1;                //定時器0開始計時
  16. }
  17. void dingshi()
  18. {
  19.         uint i;       
  20.         if((hour_now==hour_set)&&(min_now==min_set)&&(sec_now==sec_set))
  21.         {
  22.                 led7=0;
  23.                 TR0 =0;                //關定時器
  24.                 beep=0;                //蜂鳴器響
  25.                 i=50000;
  26.                 while(i--);//延時約0.5秒
  27.                 beep=1;                //蜂鳴器停
  28.         }
  29. }
  30. void main()
  31. {
  32.         hour_now=23;
  33.         min_now=59;
  34.         sec_now=50;
  35.         hour_set=0;
  36.         min_set=0;
  37.         sec_set=0;      
  38.         Timer0Init();
  39.         while(1)
  40.         {
  41.                 if(TF0==1)
  42.                 {
  43.                         TF0=0;
  44.                         time_t++;
  45.                         if(time_t==20)
  46.                         {
  47.                                 time_t=0;
  48.                                 sec_now++;
  49.                                 if(sec_now==60)
  50.                                 {                               
  51.                                         sec_now=0;
  52.                                         min_now++;
  53.                                         if(min_now==60)
  54.                                         {       
  55.                                                 min_now=0;
  56.                                                 hour_now++;
  57.                                                 if(hour_now==24)
  58.                                                         hour_now=0;
  59.                                         }
  60.                                 }
  61.                         }
  62.                 }
  63.                 dingshi();
  64.         }
  65. }
復制代碼

評分

參與人數 1黑幣 +5 收起 理由
king_zxt + 5

查看全部評分

回復

使用道具 舉報

5#
ID:389839 發表于 2019-4-19 10:35 | 只看該作者
定時器未初始化,中斷標志未清
回復

使用道具 舉報

6#
ID:508684 發表于 2019-4-21 12:08 | 只看該作者
yzwzfyz 發表于 2019-4-19 08:36
你需要補“中斷”的課,弄清楚什么是“中斷”!

嗯嗯謝謝老師指導。
回復

使用道具 舉報

7#
ID:508684 發表于 2019-4-21 12:09 | 只看該作者
HC6800-ES-V2.0 發表于 2019-4-19 08:36
程序問題嘛
你的亮燈只能在開機時判斷一次,以后就再也不判斷了,怎么會亮呢。
while(1)

嗯嗯明白老師的意思了,謝謝!
回復

使用道具 舉報

8#
ID:508684 發表于 2019-4-21 12:11 | 只看該作者
wulin 發表于 2019-4-19 08:39
你的程序錯誤不少,給你改了,你試試。

謝謝老師,程序是對的,格式也很整齊,很感謝老師的指導
回復

使用道具 舉報

9#
ID:508684 發表于 2019-4-21 12:11 | 只看該作者
uguigu吐故以后 發表于 2019-4-19 10:35
定時器未初始化,中斷標志未清

嗯嗯明白了,謝謝你
回復

使用道具 舉報

10#
ID:518218 發表于 2019-4-21 22:50 | 只看該作者
可以找一下郭天祥的視頻資料
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久99精品免费观看 | 成人在线免费电影 | 国产极品车模吞精高潮呻吟 | 911精品国产 | 99re免费| 久草网址| 欧美一区二区三区视频 | 性色在线 | 色婷婷av一区二区三区软件 | 成人在线视频免费观看 | 91精品国产综合久久精品图片 | 国产精品久久 | 天天操天天插天天干 | 精品1区2区| 国产精彩视频 | 成人性视频免费网站 | 精品国产1区2区3区 一区二区手机在线 | 国产精品1区 | 日韩免费视频一区二区 | 日韩1区 | 欧美aaaaaaaaaa| 亚洲精品一区中文字幕 | 国产真实精品久久二三区 | 91免费在线 | 久久夜视频 | 涩涩视频在线观看 | 免费永久av | 国产欧美一区二区三区在线看蜜臀 | 欧美一区二区在线看 | 久草视频观看 | 97精品国产手机 | 欧美一级大黄 | 欧美一级欧美三级在线观看 | 一区二区精品 | 午夜精品在线观看 | 岛国午夜 | 在线观看黄色电影 | 国产高清视频在线观看 | 国产精品久久久久久52avav | 欧美日韩精品久久久免费观看 | 成人高清在线 |