日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]實驗一:要求:利用動態(tài)掃描和定時器1在數(shù)碼管上顯示出從7432開始以1/10秒的速度往下遞減直至7398并保持顯示此數(shù),與此同時利用定時器0以500MS速度進(jìn)行流水燈從上至下移動,當(dāng)數(shù)碼管上數(shù)減到停止時,實驗板上流水燈也

實驗一:要求:利用動態(tài)掃描和定時器1在數(shù)碼管上顯示出從7432開始以1/10秒的速度往下遞減直至7398并保持顯示此數(shù),與此同時利用定時器0以500MS速度進(jìn)行流水燈從上至下移動,當(dāng)數(shù)碼管上數(shù)減到停止時,實驗板上流水燈也停止然后全部開始閃爍,3秒后(用T0定時)流水燈全部關(guān)閉、數(shù)碼管上顯示出“ABCD”。到此保持住。

程序:

//數(shù)碼動態(tài)顯示
#include
#include
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={
0x28,0xeb,0x32,0xa2,
0xe1,0xa4,0x04,0xea,
0x00,0x80,0x60,0x25,
0x3c,0x23,0x34,0x74};
uchar temp,t0,t1,bai,shi,ge,flag,flag1;
uint shu;
void init();
void display(uchar,uchar,uchar,uchar);
//延時函數(shù)
void delay(uint z)
{
uint t1,y;
for(t1=z;t1>0;t1--)
for(y=110;y>0;y--);
}
//主函數(shù)
void main()
{
init();
while(1)
{
if(flag1!=1)
display(7,bai,shi,ge);
else
display(10,11,12,13);//顯示A,B,C,D
}
}
//系統(tǒng)初始化
void init()
{
shu=432;//開始數(shù)目是432
temp=0xfe;
P1=temp;//數(shù)目給位地址
TMOD=0x11;//設(shè)置定時器0和1的工作方式
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
EA=1;//開總中斷
ET0=1;//開定時器中斷0
ET1=1;//開定時器中斷1
TR0=1;//啟動定時器中斷0
TR1=1;//啟動定時器中斷1
}
//中斷0,工作在模式1,控制LED燈
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
t0++;
if(flag!=1)
{
if(t0==10)
{
t0=1;
temp=_crol_(temp,1);//循環(huán)右移動,控制燈的閃爍
P1=temp;
}
}
else
{
if(t0%4==0)//燈全亮和滅控制
P1=~P1;
if(t0==60)//燈全滅
{
TR0=0;
P1=0xff;
flag1=1;
}
}
}
//中斷1,工作是模式3,控制數(shù)碼管
void timer1() interrupt 3
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
t1++;
if(t1==2)
{
t1=0;
shu--;//數(shù)自減
bai=shu/100;
shi=shu%100/10;
ge=shu%10;
if(shu==398)
{
TR0=0;//關(guān)中斷0
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;//開打中斷0
flag=1;//標(biāo)志位為1
t0=0;
P1=0xff;
TR1=0;//關(guān)中斷1
}
}
}
//顯示函數(shù)
void display(uchar aa,uchar ba,uchar sh,uchar g)
{
P0=table[aa];//位選
P2=0x7f;//段選
delay(5);

P0=table[ba];
P2=0xbf;
delay(5);

P0=table[sh];
P2=0xdf;
delay(5);

P0=table[g];
P2=0xef;
delay(5);
}

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉