可預(yù)置的8位計(jì)數(shù)器程序的主要部分分析
可預(yù)置的8位計(jì)數(shù)器程序的主要部分分析
本文引用地址:http://m.butianyuan.cn/article/171105.htm#include //器件配置文件
#define uchar unsigned char //變量類型的宏定義
#define uint unsigned int
uchar code SEG7[10]={0x03,0x9f,0x25,0x0d,0x99, //0~9的數(shù)碼管段碼
0x49,0x41,0x1f,0x01,0x09};
uchar data cnt[8]; //在data區(qū)定義8位長度的數(shù)組,用來存放計(jì)數(shù)值
uchar data pre_cnt[8]; //在data區(qū)定義8位長度的數(shù)組,用來存放預(yù)置值
sbit drv=P3^4; //定義輸出驅(qū)動(dòng)端
bit set_flag; //定義工作標(biāo)志
bit out_flag; //定義輸出標(biāo)志
bit keydown_flag; //鍵按下標(biāo)志
/****************************************************************/
void scan_key(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)pre_cnt++; //若檢測到P3.5為0,說明某列線送出0時(shí)與連接
//該列線的按鍵被按下,數(shù)組中對(duì)應(yīng)的存放單元加1
m=1; //m的取值使從右向左的下一條列線為0
} //掃描S1~S8鍵子程序結(jié)束
//----------------------------------------------------------------------------------------
塵埃粒子計(jì)數(shù)器相關(guān)文章:塵埃粒子計(jì)數(shù)器原理
評(píng)論