/* 名称:用计数器中断实现 100 以内的按键计数
说明:本例用 T0 计数器中断实现按键技术,由于计数寄存器初值为 1,因此
P3.4 引脚的每次负跳变都会触发 T0 中断,实现计数值累加。
计数器的清零用外部中断 0 控制。
*/ #include #define uchar unsigned char #define uint unsigned int //段码 uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00}; uchar Count=0; //主程序 void main() { P0=0x00; P2=0x00; TMOD=0x06; //计数器 T0方式 2 TH0=TL0=256-1; //计数值为1 ET0=1; //允许 T0 中断 EX0=1; //允许 INT0中断 EA=1; //允许 CPU中断 IP=0x02; //设置优先级,T0 高于 INT0 IT0=1; //INT0 中断触发方式为下降沿触发 TR0=1; //启动 T0 while(1) { P0=DSY_CODE[Count/10]; P2=DSY_CODE[Count%10]; } } //T0 计数器中断函数 void Key_Counter() interrupt 1 { Count=(Count+1)%100; //因为只有两位数码管,计数控制在 100 以内(00~99) } //INT0 中断函数 void Clear_Counter() interrupt 0 { Count=0; } proteus仿真图:
3
|
|
|
|
向24C02中存放一个数字,并读取出来用数码管显示,proteus仿真
|
|
|
|
|
向24C02中存放一个数字,并读取出来用数码管显示,proteus仿真
|
|
|
|
|
向24C02中存放一个数字,并读取出来用数码管显示,proteus仿真
|
|
|
|
|
啊实打实讽德诵功的功夫多个地方都是都是给 反倒是 过分的事
|
|
|
|
|
落霞与孤鹜起飞,秋水共长天一***,王勃,滕王阁序
|
|
|
|
|
qiuzhu ...................
|
|
|
|
|
感谢分享试试是是是所所所所所所所所所所所所所所所所所所
|
|
|
|
|
看一下咯
!!!!!!!!!!!!!!!!!!!!1
|
|
|
|
|
我觉得你其实可以尝试另外的一种做法,不一定用这个方法,或者你先中断看看
|
|
|
|
|