資源簡介
在單片機(jī)的數(shù)碼管上顯示999秒倒計時,用的是c語言編寫的。歡迎大家下載

代碼片段和文件信息
#include
sbit?Key_UP=P1^0;
sbit?Key_DOWN=P1^1;
unsigned?char?KeyVTempKeyV;? ???
sbit?P35=P3^5;//數(shù)碼管第5位
sbit?P36=P3^6;//數(shù)碼管第6位
sbit?P37=P3^7;//數(shù)碼管第7位
sbit?JDQ=P2^0;//繼電器
sbit?beep=P2^1;//蜂鳴器
?unsigned?int?js;
?unsigned?int?ds;//倒計時初始時間?
?unsigned?char?jsflag;
//static?unsigned?int?i;
unsigned?char?code?LEDDis[]={0xC00xF90xA40xB00x990x920x820xF80x800x900xFF0xBF};
void?Delay(unsigned?int?ii)
{
unsigned?int?jj;
for(;ii>0;ii--)
for(jj=0;jj<125;jj++)
{;}
}
void?Delay500(unsigned?int?iii)
{
unsigned?int?jjj;
for(;iii>0;iii--)
for(jjj=0;jjj<60;jjj++)
{;}
}
??
void?main()
{
????
EA?=?1; //允許CPU中斷
ET0?=?1;? //定時器0中斷打開
TMOD?=?0x1; //設(shè)定時器0為模式1,16位模式
TH0=0xB1;
TL0=0xDF; //設(shè)定時值為20000us(20ms)
TR0?=?1;
ds=9;
KeyV?=?0;
TempKeyV?=?0;
jsflag=0;
while(1);
??
}
//定時器0中斷外理中鍵掃描和顯示
void?KeyAndDis_Time0(void)?interrupt?1?using?2
{
??TH0=0xB1;
TL0=0xDF; //設(shè)定時值為20000us(20ms)
if?(!Key_UP)
????KeyV?=?1;
??if?(!Key_DOWN)
????KeyV?=?2;
???if?(KeyV!=?0)??????//有鍵按下
????{
??????Delay(10);???//延時防抖??按下10ms再測
??????if?(!Key_UP)
????????TempKeyV?=?1;
??????if?(!Key_DOWN)
????????TempKeyV?=?2;
?if?(KeyV?==?TempKeyV)???//兩次值相等為確定接下了鍵
???{
??? ???if?(KeyV?==?1){
???jsflag=0;
??? ???if(ds==0){
???ds=600;
???}
? js=js+1;
JDQ=0;???//繼電器吸合
if(js==45){
beep=0;}
if(js==50){
js=0;
?ds=ds-1;
??beep=1;
}
??
??}
?? if(KeyV==2){
??jsflag=1;
???
}
??}
?}
???if(jsflag==1){
???JDQ=1;
???}
???if(ds==0){
???JDQ=1;
???jsflag=1;
???KeyV=0;
???}
??
??P0=LEDDis[ds/100];
P35=0;
??Delay500(5);
??P35=1;
??P0=LEDDis[(ds-(ds/100)*100)/10];
P36=0;
??Delay500(5);
?P36=1;
?P0=LEDDis[(ds-(ds/100)*100)-((ds-(ds/100)*100)/10)*10];
P37=0;
?Delay500(5);
??P37=1;
?
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2009-10-22?22:04??999秒倒計時程序\
?????文件????????4887??2009-10-22?22:01??999秒倒計時程序\daojishi
?????文件????????1706??2009-10-22?22:01??999秒倒計時程序\daojishi.hex
?????文件??????????43??2009-10-22?22:01??999秒倒計時程序\daojishi.lnp
?????文件????????7772??2009-10-22?22:01??999秒倒計時程序\daojishi.M51
?????文件?????????967??2009-10-22?22:04??999秒倒計時程序\daojishi.Opt
?????文件?????????369??2009-10-22?22:04??999秒倒計時程序\daojishi.plg
?????文件????????2118??2009-10-22?21:54??999秒倒計時程序\daojishi.Uv2
?????文件?????????965??2009-10-22?21:54??999秒倒計時程序\daojishi_Opt.Bak
?????文件????????2147??2008-07-08?11:12??999秒倒計時程序\daojishi_Uv2.Bak
?????文件????????2040??2009-10-22?22:01??999秒倒計時程序\djs.c
?????文件????????5827??2009-10-22?22:01??999秒倒計時程序\djs.LST
?????文件????????5646??2009-10-22?22:01??999秒倒計時程序\djs.OBJ
?????文件??????123392??2008-07-10?15:51??999秒倒計時程序\實(shí)驗(yàn)說明文檔.doc
評論
共有 條評論