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

QQ登錄

只需一步,快速開始

搜索
查看: 6891|回復(fù): 14
收起左側(cè)

求助一個(gè)單片機(jī)定時(shí)器進(jìn)行多個(gè)倒計(jì)時(shí)設(shè)計(jì)方法?

  [復(fù)制鏈接]
ID:405738 發(fā)表于 2018-10-6 07:50 | 顯示全部樓層 |閱讀模式
求助怎么設(shè)計(jì)用一個(gè)定時(shí)器制作多路倒計(jì)時(shí)?
回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2018-10-8 15:53 | 顯示全部樓層
一個(gè)定時(shí)器作3路不同時(shí)間倒計(jì)時(shí)

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


無(wú)標(biāo)題.jpg


回復(fù)

使用道具 舉報(bào)

ID:313481 發(fā)表于 2018-10-6 13:06 | 顯示全部樓層
不是特別明白樓主的要求
回復(fù)

使用道具 舉報(bào)

ID:313481 發(fā)表于 2018-10-6 13:11 | 顯示全部樓層
按我的理解,樓主要通過(guò)一個(gè)定時(shí)器倒計(jì)時(shí)同時(shí)控制多路,并沒有什么沖突,定時(shí)器只能確認(rèn)當(dāng)時(shí)已經(jīng)走過(guò)的時(shí)間,具體控制哪個(gè)多久由程序邏輯控制,假設(shè)有兩路需要控制一路1s,一路3s時(shí)間到執(zhí)行后續(xù)操作,我們用定時(shí)器定時(shí)50ms一次,累計(jì)兩次第一路動(dòng)作,累計(jì)6次第二路動(dòng)作。
回復(fù)

使用道具 舉報(bào)

ID:303383 發(fā)表于 2018-10-6 13:35 | 顯示全部樓層
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽
回復(fù)

使用道具 舉報(bào)

ID:387733 發(fā)表于 2018-10-6 15:05 | 顯示全部樓層
用一個(gè)定時(shí)器中斷做時(shí)基,有幾路倒計(jì)時(shí)就用幾個(gè)倒計(jì)時(shí)單元,分別置初值,在定時(shí)器中斷程序內(nèi)對(duì)各個(gè)計(jì)時(shí)單元減1,主程序只要不斷查詢各個(gè)計(jì)數(shù)單元,哪一個(gè)歸零了,就是哪一路倒計(jì)時(shí)結(jié)束了。
回復(fù)

使用道具 舉報(bào)

ID:399179 發(fā)表于 2018-10-6 18:44 來(lái)自手機(jī) | 顯示全部樓層
小貓貓愛吃魚 發(fā)表于 2018-10-6 13:35
你好!
1、用的什么單片機(jī)
2、顯示用什么?

qq號(hào)是多少?
回復(fù)

使用道具 舉報(bào)

ID:111634 發(fā)表于 2018-10-7 18:10 | 顯示全部樓層
以1ms(可根據(jù)需要)作為定時(shí)基值,對(duì)其計(jì)數(shù),10ms、50ms、100ms、~、Nms,計(jì)數(shù)值滿,執(zhí)行相應(yīng)認(rèn)為。
回復(fù)

使用道具 舉報(bào)

ID:366583 發(fā)表于 2018-10-9 19:50 | 顯示全部樓層
謝謝,收下來(lái)學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

ID:322454 發(fā)表于 2018-11-2 20:50 | 顯示全部樓層
感謝,感謝,正是我需要的
回復(fù)

使用道具 舉報(bào)

ID:89835 發(fā)表于 2018-11-7 22:59 | 顯示全部樓層
樓主描述的還是不太詳細(xì),多個(gè)倒計(jì)時(shí)環(huán)節(jié)的話,可能初始值和開啟時(shí)間都不同,可以試試用一個(gè)定時(shí)器產(chǎn)生1秒鐘脈沖,然后分別用按鍵控制不同工作寄存器讀取1秒鐘脈沖,每讀取一次倒計(jì)時(shí)-1
回復(fù)

使用道具 舉報(bào)

ID:381277 發(fā)表于 2018-11-8 11:00 | 顯示全部樓層
可以在中斷函數(shù)中設(shè)置多個(gè)變量來(lái)實(shí)現(xiàn)多路輸出
回復(fù)

使用道具 舉報(bào)

ID:476909 發(fā)表于 2019-10-29 08:00 | 顯示全部樓層
受用了,謝謝,很好的思路
回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

ID:631355 發(fā)表于 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; /*定時(shí)器0 16位定時(shí)器 X=65535-10000(10毫秒)=55535=D8F0(十六進(jìn)制)定時(shí)10ms
*/
TH0=0xd8;
TL0=0xf0;
IE=0x82; //這里是中斷優(yōu)先級(jí)控制EA=1(開總中斷),ET0=1(定時(shí)器0允許中斷),這里用定時(shí)器0來(lái)定時(shí)
TR0=1; //開定時(shí)器0
while(1)
{
P0=shiwei; //99的十位
P2=0; //99的個(gè)位,
delay(300); //動(dòng)態(tài)掃描數(shù)碼管延時(shí)
P0=gewei;
P2=1;
delay(300);
}
}
void tim(void) interrupt 1 using 1 //定時(shí)器0中斷
{
static uchar second=99,count; //99只是一個(gè)數(shù),可以任意改,因?yàn)檫@里只學(xué)習(xí)怎樣實(shí)現(xiàn)倒計(jì)時(shí)
TH0=0xd8; //定時(shí)10毫秒
TL0=0xf0;
count++;
if(count==100) //10毫秒定時(shí),10*100=1000(毫秒)=1秒
{
count=0;
second--;
if(second==0)
{
p11=0; //這里讓繼電器動(dòng)作,當(dāng)然動(dòng)作之后,要復(fù)位才能等下次倒定時(shí)再動(dòng)作。
second=99; //回到99再循環(huán)來(lái),當(dāng)然,可以做其他的控制,
}
shiwei=tab[second/10]; //數(shù)碼管10位
gewei=tab[second%10]; //數(shù)碼管個(gè)位
}
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表