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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

求助一個單片機定時器進行多個倒計時設計方法?

  [復制鏈接]
跳轉到指定樓層
樓主
求助怎么設計用一個定時器制作多路倒計時?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

來自 2#
ID:213173 發表于 2018-10-8 15:53 | 只看該作者
一個定時器作3路不同時間倒計時

程序+仿真.zip (99.08 KB, 下載次數: 99)





回復

使用道具 舉報

板凳
ID:313481 發表于 2018-10-6 13:06 | 只看該作者
不是特別明白樓主的要求
回復

使用道具 舉報

地板
ID:313481 發表于 2018-10-6 13:11 | 只看該作者
按我的理解,樓主要通過一個定時器倒計時同時控制多路,并沒有什么沖突,定時器只能確認當時已經走過的時間,具體控制哪個多久由程序邏輯控制,假設有兩路需要控制一路1s,一路3s時間到執行后續操作,我們用定時器定時50ms一次,累計兩次第一路動作,累計6次第二路動作。
回復

使用道具 舉報

5#
ID:303383 發表于 2018-10-6 13:35 | 只看該作者
提示: 作者被禁止或刪除 內容自動屏蔽
回復

使用道具 舉報

6#
ID:387733 發表于 2018-10-6 15:05 | 只看該作者
用一個定時器中斷做時基,有幾路倒計時就用幾個倒計時單元,分別置初值,在定時器中斷程序內對各個計時單元減1,主程序只要不斷查詢各個計數單元,哪一個歸零了,就是哪一路倒計時結束了。
回復

使用道具 舉報

7#
ID:399179 發表于 2018-10-6 18:44 來自手機 | 只看該作者
小貓貓愛吃魚 發表于 2018-10-6 13:35
你好!
1、用的什么單片機
2、顯示用什么?

qq號是多少?
回復

使用道具 舉報

8#
ID:111634 發表于 2018-10-7 18:10 | 只看該作者
以1ms(可根據需要)作為定時基值,對其計數,10ms、50ms、100ms、~、Nms,計數值滿,執行相應認為。
回復

使用道具 舉報

9#
ID:366583 發表于 2018-10-9 19:50 | 只看該作者
謝謝,收下來學習學習
回復

使用道具 舉報

10#
ID:322454 發表于 2018-11-2 20:50 | 只看該作者
感謝,感謝,正是我需要的
回復

使用道具 舉報

11#
ID:89835 發表于 2018-11-7 22:59 | 只看該作者
樓主描述的還是不太詳細,多個倒計時環節的話,可能初始值和開啟時間都不同,可以試試用一個定時器產生1秒鐘脈沖,然后分別用按鍵控制不同工作寄存器讀取1秒鐘脈沖,每讀取一次倒計時-1
回復

使用道具 舉報

12#
ID:381277 發表于 2018-11-8 11:00 | 只看該作者
可以在中斷函數中設置多個變量來實現多路輸出
回復

使用道具 舉報

13#
ID:476909 發表于 2019-10-29 08:00 | 只看該作者
受用了,謝謝,很好的思路
回復

使用道具 舉報

14#
ID:631355 發表于 2019-10-29 09:23 | 只看該作者
51單片機實現數碼管99秒倒計時,其實很簡單,就是使用定時器中斷來實現。目的就是學習怎樣用單片機實現倒計時,從而實現一些延時控制類的東西,99秒只是一個例子,你完全可以做出任意倒計時如10秒倒計時程序。定時器定時時間計算公式:初值X=M(最大計時)-計數值。
初值,換算成十六進制,高位給TH0,低位給TL0,如果用定時器0的話。
M(最大計時)如果是16位的,就是2的16次方,最大定時,65535 微秒,實現1秒定時,可以通過定時10毫秒,然后100次改變一次秒值即可。10*100毫秒=1S
計數值:你要定時多長時間,如果定時1毫秒,就是1000微秒,(單位為微秒),如果定時10毫秒,就是10000(微秒),當然,最大定時被定時器本身位數限制了,最大2的16次方(16位定時計數器),只能定時65.535毫秒。定時1S當然不可能1S定時器中斷。
下面為實現99秒倒計時C語言源程序
/*了解定時器,這樣的話,就可以做一些基本的實驗了,如定時炸彈~~,10秒后打開關閉繼電器*/
/*數碼管,12M晶振*/
回復

使用道具 舉報

15#
ID:631355 發表于 2019-10-29 09:24 | 只看該作者
#include <reg52.h>
#define uchar unsigned char
sbit p11=P1^1; //連的是繼電器。。
code unsigned char tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar shiwei;
uchar gewei;
void delay(unsigned int cnt)
{
while(--cnt);
}
void main()
{
TMOD|=0x01; /*定時器0 16位定時器 X=65535-10000(10毫秒)=55535=D8F0(十六進制)定時10ms
*/
TH0=0xd8;
TL0=0xf0;
IE=0x82; //這里是中斷優先級控制EA=1(開總中斷),ET0=1(定時器0允許中斷),這里用定時器0來定時
TR0=1; //開定時器0
while(1)
{
P0=shiwei; //99的十位
P2=0; //99的個位,
delay(300); //動態掃描數碼管延時
P0=gewei;
P2=1;
delay(300);
}
}
void tim(void) interrupt 1 using 1 //定時器0中斷
{
static uchar second=99,count; //99只是一個數,可以任意改,因為這里只學習怎樣實現倒計時
TH0=0xd8; //定時10毫秒
TL0=0xf0;
count++;
if(count==100) //10毫秒定時,10*100=1000(毫秒)=1秒
{
count=0;
second--;
if(second==0)
{
p11=0; //這里讓繼電器動作,當然動作之后,要復位才能等下次倒定時再動作。
second=99; //回到99再循環來,當然,可以做其他的控制,
}
shiwei=tab[second/10]; //數碼管10位
gewei=tab[second%10]; //數碼管個位
}
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久精品99 | 成人在线观看亚洲 | 亚洲成人av在线播放 | 少妇午夜一级艳片欧美精品 | 成人在线视频免费看 | 中文字幕一区在线观看视频 | 免费观看毛片 | 欧美精品久久久久 | 欧美 日本 国产 | 亚洲在线一区 | 91视频在线观看 | 亚洲成人福利 | 精品国产乱码久久久久久中文 | 日本三级播放 | 精品一区二区三区免费毛片 | 香蕉一区 | 欧美日韩国产在线观看 | 色综合天天天天做夜夜夜夜做 | 亚洲精品一区二区 | 波多野结衣一区二区三区 | 日本免费一区二区三区 | 日韩一区在线视频 | 成人精品一区二区户外勾搭野战 | 午夜影院在线观看视频 | 亚洲视频精品在线 | 久久久久久久久久久久久久久久久久久久 | 在线永久看片免费的视频 | 99精品免费久久久久久久久日本 | 一区二区三区在线免费 | 欧美一级欧美一级在线播放 | 国产精品久久久久一区二区 | 久艹av| 一本一道久久a久久精品蜜桃 | 日韩欧美一区二区三区免费看 | 久久综合av | 亚洲一视频 | 色黄视频在线 | 国产成人精品免费视频大全最热 | 久久91精品国产一区二区三区 | 亚洲国产成人av好男人在线观看 | 亚洲高清免费视频 |