你好!欢迎来到 !
语言
当前位置: 首页>> 技术中心>> 单片机入门>> 单片机C语言程序设计:用计数器中断实现100以内的按键计数

单片机C语言程序设计:用计数器中断实现100以内的按键计数

关键字: 单片机 C语言 程序设计 作者:admin 来源:不详 发布时间:2018-05-18 浏览:9

/* 名称:用计数器中断实现 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;

}

单片机C语言程序设计:用计数器中断实现100以内的按键计数
扩展阅读:10s的秒表程序

编辑:admin 最后修改时间:2018-05-19

联系方式

0755-82591179

传真:0755-82591176

邮箱:vicky@yingtexin.net

地址:深圳市龙华区民治街道民治大道973万众润丰创业园A栋2楼A08

Copyright ? 2014-2023 All Rights Reserved.粤ICP备14043402号-4

Baidu
map