資源簡介
這是一個8255擴展c51的綜合性應用,帶鍵盤,時間可調,用c語言寫成,有proteus仿真,希望對大家有用。
代碼片段和文件信息
#include?“reg51.h“
xdata?unsigned?char?P_8255?_at_?0x003; //8255的控制口
xdata?unsigned?char?PA_8255?_at_?0x000; //8255的PA口
xdata?unsigned?char?PB_8255?_at_?0x001; //8255的PB口
xdata?unsigned?char?PC_8255?_at_?0x002; //8255的PC口
code?unsigned?char?TAB[]?={0xfc0x600xda0xf20x660xb60xbe0xe00xfe0xf60xee0x3e0x9c0x7a0x9e0x8e0x020x010x0};
data?unsigned?char??LEDcash[8]secminhourhanglie;
data?unsigned?char?bufferkeyflag;
bit?bsec;
bit bkey;
//延時1ms
void?Delay1ms()
{
unsigned?char?i;
i?=?0;
while?(--i);
}
//顯示
Display()
{?
unsigned?char?i?=?0xfe;
? unsigned?char?j;
? for?(j?=?0;?j?8;?j++)
{
PA_8255?=?i;
PB_8255?=TAB[LEDcash[j]];
? i?=(i<<1)|0x01;
Delay1ms();
}
}
void?Delay10ms()
{
unsigned?ijk;
for(i=0;i<0x0a;i++)
for(j=0;j<0x04;j++)
for(k=0;k<0xf9;k++);
}
//外中斷0服務函數
void?Int0()?interrupt?0
{????EX0=0;
??if((PC_8255&0x0f)!=0x0f)??
???{??Delay10ms();???????????????????????//消抖
?????if((PC_8255&0x0f)!=
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2825??2009-11-29?14:07??clock\2.ABS
?????文件???????3601??2009-11-29?14:04??clock\2.c
?????文件????????820??2009-11-29?14:07??clock\2.DOB
?????文件?????123960??2009-11-29?14:06??clock\2.DSN
?????文件???????2269??2009-11-29?14:07??clock\2.hex
?????文件??????11625??2009-11-29?14:07??clock\2.lst
?????文件??????11988??2009-11-29?14:07??clock\2.M51
?????文件???????4500??2009-11-29?14:07??clock\2.obj
?????文件????????766??2009-11-29?14:07??clock\2.PWI
?????文件???????3215??2009-11-29?14:07??clock\2.SYM
?????目錄??????????0??2009-11-29?14:24??clock
-----------?---------??----------?-----??----
???????????????165569????????????????????11
- 上一篇:西北大學 數據結構 試卷集錦,大家來
- 下一篇:小型校園網的規劃和設計
評論
共有 條評論