導航:首頁 > 裝置知識 > 利用數碼管顯示的倒計時裝置設計

利用數碼管顯示的倒計時裝置設計

發布時間:2021-03-06 03:37:57

Ⅰ 利用數碼管顯示倒計時控制器設計

網路倒計時的設計一大把啊 買個簡單的單片機開發版就要有倒計時的例子

Ⅱ 利用單片機設計實現一個60秒倒計時顯示裝置,並且計時到後發出報警聲音。

#include<reg52.h>
sbitbz=P3^1;
unsignedchara[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xd8,0x80,0x90};
unsignedcharn,time=60;
main()
{
P1=a[0];
P2=a[6];
TMOD=0X01;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
EA=1;
ET0=1;
TR0=1;
while(1);
}
timer0()interrupt1
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
if(time!=0)
{
n++;
if(n==100)
{
n=0;
time--;
P1=a[time%10];
P2=a[time/10];
}
}
elsebz=~bz;
}

Ⅲ 利用51單片機,4個數碼管設計一個計時器,要求在數碼管上顯示的數據從0開始每1秒鍾加1。

共陽數碼管中斷程序:

#include<reg52.h>

#define uint unsigned int

#define uchar unsigned char

uchar code table[]=

{

0xc0,0xf9,0xa4,0xb0,

0x99,0x92,0x83,0xf8,

0x80,0x90,0x88,0x83,

0xc6,0xa1,0x86,0x8e};

uint num,a;

uchar ,shi,ge;

void init();

void delay(uint);

void display(uchar,ucharshi,ucharge);

uint fb();

uint fs();

uint fg();

void main()

{

init();

while(1)

{

display(fb(),fs(),fg());

}

}

void init()

{

num=0;

a=0;

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

ET0=1;

TR0=1;

}

void display(uchar,ucharshi,ucharge)

{

P1=0xfd;

P0=table[];

delay(1);

P1=0xfb;

P0=table[shi];

delay(1);

P1=0xf7;

P0=table[ge];

delay(1);

}

void timeoff() interrupt 1

{

TH0=(65536-50000)/256;

TL0=(65526-50000)%256;

a++;

if(a%20==0)

{

num++;

if(num==999)

{

num=0;

}

}

}
void delay(uint z)
{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

uint fb()

{

=num/100;

return ;

}

uint fs()

{

shi=num%100/10;

return shi;

}

uint fg()

{

ge =num%100%10;

return ge;

}

(3)利用數碼管顯示的倒計時裝置設計擴展閱讀

2個可編程定時/計數器·5個中斷源,2個優先順序(52有6個)

一個全雙工串列通信口

外部數據存儲器定址空間為64kB

外部程序存儲器定址空間為64kB

邏輯操作位定址功能·雙列直插40PinDIP封裝

單一+5V電源供電

CPU:由運算和控制邏輯組成,同時還包括中斷系統和部分外部特殊功能寄存器;

RAM:用以存放可以讀寫的數據,如運算的中間結果、最終結果以及欲顯示的數據;

ROM:用以存放程序、一些原始數據和表格;

I/O口:四個8位並行I/O口,既可用作輸入,也可用作輸出

T/C:兩個定時/記數器,既可以工作在定時模式,也可以工作在記數模式;

五個中斷源的中斷控制系統;

一個全雙工UART(通用非同步接收發送器)的串列I/O口,用於實現單片機之間或單片機與微機之間的串列通信;

片內振盪器和時鍾產生電路,石英晶體和微調電容需要外接。最佳振盪頻率為6M—12M。

參考資料來源:網路-51單片機



Ⅳ Verilog語言設計倒計時器,實現30秒倒計時,解析度1秒,數碼管顯示倒計

1.
用500hz作為1s的計時抄時鍾,每500下,襲計時器工作一下
2.
30秒倒計時的使能,一個脈沖即可,然後依靠1中的計時器來倒計時從29到0
3.
最後在倒計時的2-0,時輸出高電平,2-1時或上500hz的時鍾給蜂鳴器,0時或上2000hz給蜂鳴器
4.
以上給出演算法流程,代碼自己寫吧

Ⅳ 使用2個數碼管設計一個60秒倒計時C語言程序,要求用定時器中斷定時1秒。 模擬元件數碼管為7SEG-COM-CATHODE

unsigned char counter,s;
unsigned ....// 數組,7段數碼管數據,記得7SEG-COM-CATHODE是共陽吧?
void delays() //延遲函數
{
unsigned char a;
for(a=0;a<200;a++);
}
void display_t() //動態部分,個位十位切換
{
SMG_data=num[s%10]
SMG_bit =;
display_t();

SMG_data=num[s/10]
SMG_bit =;
display_t();

}
void interrup_services() //設定定時器和中斷,3cb0,50ms
{
TMOD=0x01;
TH0=0x3c;
TL0=0xb0;
TR0=1;
ET0=1;
EA=1;

}
void main() //主函數
{
void interrup_services() ;
while(1)
display_t();
}
void interrupt_ini() interrupt 1
{
TH0=0x3c;
TL0=0xb0;
counter++;
if(counter>19}{s++ ; counter=0 ;} //50ms*20=1s,0~19為20
if(s >59 ) {s=0;}
}
這程序很簡單,模擬設定好晶振,改下就行了包括定時器的,我這個設定是晶振12M的。12HZ的真心沒用過。

Ⅵ 智能倒計時器的設計選擇5位數碼管做顯示,實現5種倒計時模式,通過控制按鍵進行選擇1、

是模擬嗎?還是實物開發板?
寫C語言程序,還是匯編程序?

Ⅶ 用AT89C51單片機的定時器設計一個倒計時報警器,並用LED數碼管顯示倒計時時間。

考慮好按鍵消抖和鬼陰,而且功能函數沒分開寫,而且功能真的一般,只是當作練手一下

Ⅷ 怎樣設計 一個計時器,實現1到99秒的倒計時。用兩個LED數碼管顯示十位和個位的計時時間

電子顯示就可以了

Ⅸ 用單片機c語言,c51的,使用數碼管設計一個60秒倒計時系統,使用兩個數碼管,要求用定時器中斷定時1秒。 仿

//用AT89c52單片機作控制.假如數碼管是共陰極的話,定義的段碼和位選的鎖存器的選通端分別為P2^6,P2^7,P0口接段碼端和位碼端,而且位碼端接的是鎖存器輸入,輸出端的高兩位。假設晶振頻率為12MHZ。
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
uchar miao,t0,flat,shiwei,gewei,;
sbit la = P2^6;
sbit wela = P2^7;
uchar code table[] =
{ //0-9的編碼
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f
};
void delay() //延時用於掃描
{
uchar x,y;
for(x = 1;x > 0;x--)
for(y = 100;y > 0;y--);
}
void display() //顯示函數
{
uchar w = 0xc0;
uchar i;
for(i = 0;i < 2;i++) //由於數碼管只有兩位,所以只掃描兩次
{
la = 1; //先選通段鎖存器;
P0 = table1[i]; //給段碼送數據
la = 0; //鎖存住段碼
delay(); //稍微延時一下
wela = 1; //選通位鎖存器;
P0 = w;
wela = 0; //下降沿鎖存住位碼
delay();
w = _cror_(w,1); //位右移動一位
}
}
void init()
{
TMOD = 0x01; //設置定時器0工作方式1
EA = 1; //開總中斷
ET0 = 1; //開定時器0中斷
TR0 = 1; //開定時器0
TH0 = (65536 - 50000)/256; //給兩個寄存器裝初值50ms;
TL0 = (65536 - 50000)%256;
}
void main()
{
init();
while(1)
{
if(flat != 1)
{
table1 [0] = table[gewei];
table1[1] = table[shiwei];
display();
}
else
{
table1[0] = table[0];
table1[1] = table[1];
diplay();
}
}
}
void timer0() interrupt 1 // 定時器0
{
TH0 = (65536 - 50000)/256; //重新給兩個寄存器裝初值;
TL0 = (65536 - 50000)%256;
t0++;
if(t0 == 20) //當定時器到一秒的時候
{
t0 = 0;
miao--;
shiwei = miao / 10; //取出十位數
gewei = miao % 10; //取出個位數
if(miao == 0)
{
TR0 = 0;
shiwei = miao / 10; //取出十位數
gewei = miao % 10; //取出個位數
flat = 1;
}
}

//注意:由於你沒有給出數碼管的接法等,所以我自己假設的設計一個簡單的電路來實現此功能。不一定能在你的實驗板上顯示出來。

閱讀全文

與利用數碼管顯示的倒計時裝置設計相關的資料

熱點內容
哈爾濱五金建材批發市場地址 瀏覽:175
水表總閥門擰壞了怎麼辦 瀏覽:989
五金機電市網 瀏覽:775
機械手錶洗一次油需要多少錢 瀏覽:325
瑞安市科達機械有限公司怎麼樣 瀏覽:402
沒開設備鎖怎麼登陸6 瀏覽:760
鑭工具箱刷recovery 瀏覽:735
小龍蝦店需要購置什麼設備 瀏覽:5
天然氣閥門上的紅色按鈕什麼用 瀏覽:835
京開五金機電城 瀏覽:145
機械裝置在 瀏覽:95
中空轉台軸承都有什麼系列 瀏覽:908
聲音的大小與什麼因素有關實驗裝置 瀏覽:91
ps如何畫實驗裝置圖 瀏覽:682
魅族工具箱鏡子扭曲 瀏覽:815
力量型健身器材有哪些品牌 瀏覽:506
賽歐軸承怎麼更換 瀏覽:37
Ipad愛奇藝app如何管理設備 瀏覽:791
路亞線杯軸承怎麼拆卸 瀏覽:880
大貨車儀表盤燈亮了怎麼回事 瀏覽:484