<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 定時(shí)器控制數碼管掃描顯示

定時(shí)器控制數碼管掃描顯示

作者: 時(shí)間:2016-11-24 來(lái)源:網(wǎng)絡(luò ) 收藏
************************************************************************************

功能:定時(shí)器控制兩位數碼管掃描顯示
器件:STC12C5A32S2兩個(gè)數碼管
************************************************************************************/
#include "config.h "

本文引用地址:http://dyxdggzs.com/article/201611/320667.htm

#defineuintunsigned int
#defineucharunsignedchar
#defineulongunsignedlong

int num;//顯示數據
int FrontDot = 0;//個(gè)位顯示
int BehindDot = 0;//小數顯示
uint xms = 0;//毫秒數

uint LEDDATA0[10] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};
uint LEDDATA1[10] = {0xbf, 0x86, 0xdb, 0xcf, 0xe6, 0xed, 0xfd, 0x87, 0xff, 0xef};

// 延時(shí)約(0.001 * n)秒
void delay(unsigned int n)
{
int i;
ulong msNum = 923;//指令循環(huán)923次為一秒
for(i = 0; i < n; i++){
while(msNum--);
}
}


void timer0() interrupt 1
{
TH0 = 0xfc;//重要!!第一次計數滿(mǎn)后會(huì )從0開(kāi)始計數,應該在中斷程序中重設計數初值
TL0 = 0x65;
xms++;
if(xms == 1000){
num++;
if(num > 99)num = 0;
FrontDot = num / 10;
BehindDot = num % 10;
xms = 0;
}
}

// 定時(shí)器0初始化
void timer0_init()
{
TMOD = 0x01;//設定定時(shí)器0為工作方式1,中斷只需一次設定
TH0 = 0xfc;//設定計數初值
TL0 = 0x65;
EA = 1;//開(kāi)總中斷
ET0 = 1;//開(kāi)定時(shí)中斷0
TR0 = 1;//啟動(dòng)定時(shí)器0,計數滿(mǎn)后執行中斷服務(wù)程序timer0()
}

//主函數
void main(void)
{
int x=0;
num = 0;
P0_0 = 0;
P0_1 = 0;
P0_2 = 0;
P0_3 = 0;
P0_4 = 0;

timer0_init();

for(;;){
if(x++ > 100)x=0;
switch(x%2)
{
delay(100);
case 0:
P0_4 = 0; // 關(guān)閉
P2 = LEDDATA0[BehindDot]; //設置數字
P0_3 = 1; // 開(kāi)啟
break;
case 1:
P0_3 = 0;
P2 = LEDDATA1[FrontDot];
P0_4 = 1;
break;
}
}
}

數碼管掃描顯示先關(guān)閉不需要顯示的數碼管,再設置要顯示的數碼管的數字,最后開(kāi)啟要顯示的數碼管,不然數碼管會(huì )顯示有問(wèn)題

因為先開(kāi)啟要顯示的數碼管它會(huì )顯示上一次設置的數字,在設置數字的話(huà),會(huì )有上次的余輝。



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>