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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

12M,89C52單片機,1602顯示,定時器倒計時兩種時間單位問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:693676 發表于 2020-4-5 16:42 來自觸屏版 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問各位大神,我用一個定時器1,按鍵設置倒計時一段時間,時間單位是秒,時間到繼電器斷開;繼電器一斷馬上倒計時另一段時間,時間單位是豪秒,時間到繼電器吸合。請問樣子思路可行嗎,我寫了定時器1程序,但是仿真只會倒計時一段時間,后面不會倒計時了,我是初學者,寫的程序很簡單,請單片機大神幫幫忙
/*------------------------------------------------
                 定時器1中斷子程序
------------------------------------------------*/
void Timer1_isr(void) interrupt 3
{
  TH1=(65536-50000)/256;//定時器裝初值
  TL0=(65536-50000)%256;
          count++; //中斷次數累加
        if(count==20) //20次50毫秒為1秒
        {
                count=0;
                Pon--;                // 單片機工作默認繼電器閉合,Pon上電時間倒計時,單位秒
                write_twodate(9,Pon);        //變化送到LCD顯示
        }
        if(Pon==0)
        {
         JDQ=0;                  //繼電器斷開
         count++;                   //繼電器斷電后,Poff掉電時間倒計時
        }
        if(count==1)         //1次為1毫秒,這里是錯誤的,實際為50ms,還沒想到辦法轉換不同單位
        {
                count=0;
                Poff--;          //Poff掉電時間倒計時,單位毫秒
                write_onedate(10,Poff);        //變化送到LCD顯示
        }
         if(Poff==0)
         {
            JDQ=1;                //繼電器吸合
            TR1=0;      //定時器1關閉,即倒計時關閉
                TR0=1;           // 定時器0開啟,即按鍵掃描開啟
                }
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:693676 發表于 2020-4-5 16:50 來自觸屏版 | 只看該作者
而且前一段時間會不停循環倒計時,改了之后還是一樣
回復

使用道具 舉報

板凳
ID:213173 發表于 2020-4-6 06:20 | 只看該作者
以兩種時間單位(s/ms)倒計時沒有任何技術問題,不過以1ms周期刷新LCD不現實。就算LCD能完成但肉眼根本無法分辨。給你改為1ms中斷周期并增加一個標志位allow用于區分兩種時間單位的倒計時,至于LCD顯示ms問題只能呵呵了。
void Timer1_isr(void) interrupt 3
{
        TH1=(65536-1000)/256;//定時器裝初值
        TL0=(65536-1000)%256;
        if(allow==0)
        {
                count++; //中斷次數累加
                if(count==1000) //1000次1毫秒為1秒
                {
                        count=0;
                        Pon--;                // 單片機工作默認繼電器閉合,Pon上電時間倒計時,單位秒
                        write_twodate(9,Pon);        //變化送到LCD顯示
                        if(Pon==0)
                        {
                                JDQ=0;                  //繼電器斷開
                                allow=1;
                        //        count++;                   //繼電器斷電后,Poff掉電時間倒計時
                        }
                }
        }
        else
        {       
//                if(count==1)         //1次為1毫秒,這里是錯誤的,實際為50ms,還沒想到辦法轉換不同單位
//                {
//                        count=0;
                Poff--;          //Poff掉電時間倒計時,單位毫秒
                write_onedate(10,Poff);        //變化送到LCD顯示
//                }
                if(Poff==0)
                {
                        JDQ=1;                //繼電器吸合
                        TR1=0;      //定時器1關閉,即倒計時關閉
                        TR0=1;           // 定時器0開啟,即按鍵掃描開啟

                        allow=0;//到此一輪倒計時結束,等待定時器1再次開啟
                }
        }
}
回復

使用道具 舉報

地板
ID:693676 發表于 2020-4-6 15:52 來自觸屏版 | 只看該作者
wulin 發表于 2020-4-6 06:20
以兩種時間單位(s/ms)倒計時沒有任何技術問題,不過以1ms周期刷新LCD不現實。就算LCD能完成但肉眼根本無 ...

多謝老哥,有個問題,我按你的設置,但是倒計時跑得很快,差不多正常一秒十分之一,晶振設置確實是12M,仿真跑得很快
回復

使用道具 舉報

5#
ID:693676 發表于 2020-4-6 20:23 來自觸屏版 | 只看該作者
許許許 發表于 2020-4-6 15:52
多謝老哥,有個問題,我按你的設置,但是倒計時跑得很快,差不多正常一秒十分之一,晶振設置確實是12M, ...

解決了
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人99久久亚洲综合精品 | 国产精品久久久久久久久久久久 | 天堂色区| 午夜视频在线播放 | www.亚洲 | 亚洲日韩中文字幕一区 | 久久99蜜桃综合影院免费观看 | 九九热在线免费观看 | 国产精品亚洲精品 | 综合亚洲视频 | 亚洲一区视频在线 | 亚洲精品一区二区三区在线 | 欧美一级黄 | 午夜伊人 | 午夜影院操 | 精品96久久久久久中文字幕无 | 性高朝久久久久久久3小时 av一区二区三区四区 | 91传媒在线观看 | 欧美综合一区二区 | 四虎最新 | 欧美日韩中文字幕 | 色婷婷av一区二区三区软件 | 亚洲精品视频免费观看 | 黄色网址免费看 | jvid精品资源在线观看 | 久久美女网 | 91在线精品视频 | 精品国产一区二区三区久久久久久 | 亚洲精品黄色 | 欧美精品网站 | 我爱操| 天天欧美 | 色偷偷888欧美精品久久久 | 国产精品色哟哟网站 | 九色av | 激情欧美一区二区三区中文字幕 | 一级做a爰片久久毛片 | 久久精品在线免费视频 | 欧美a级成人淫片免费看 | av网站在线看 | 中文日本在线 |