可預(yù)置的8位計(jì)數(shù)器程序的主要部分分析
# //器件配置文件
# uchar char //變量類型的宏定義
# uint int
uchar code SEG7[10]={0x038位可逆計(jì)數(shù)器設(shè)計(jì)代碼,0x9f,0x25,0x0d,0x99, //0~9的數(shù)碼管段碼
0x49,0x41,0x1f,0x018位可逆計(jì)數(shù)器設(shè)計(jì)代碼,0x09};
uchar data cnt[8]; //在data區(qū)定義8位長(zhǎng)度的數(shù)組,用來存放計(jì)數(shù)值
uchar data [8]; //在data區(qū)定義8位長(zhǎng)度的數(shù)組,用來存放預(yù)置值
sbit drv=P3^4; //定義輸出驅(qū)動(dòng)端
bit ; //定義工作標(biāo)志
bit ; //定義輸出標(biāo)志
bit ; //鍵按下標(biāo)志
/****************************************************************/
void (void) //掃描S1~S8鍵子程序開始
{uchar i,m=0x01; //定義兩個(gè)字符型局部變量,并賦值0x01給m
P3_6=0;P3_7=1; //禁止發(fā)送給顯示器,消隱有效
for(i=0;i8;i++) //循環(huán)8次
{
SBUF=255-m;while(!TI);TI=0; //依次發(fā)送數(shù)據(jù)使IC2的輸出從右至左的列線為0
if(!P3_5)++; //若檢測(cè)到P3.5為0,說明某列線送出0時(shí)與連接
//該列線的按鍵被按下,數(shù)組中對(duì)應(yīng)的存放單元加1