单片机
返回首页

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

2013-08-03 来源:21ic

/*  名称:用计数器中断实现 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以内的按键计数

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • PIC单片机控制的遥控防盗报警器电路

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 用NE555制作定时器

  • 如何构建一个触摸传感器电路

  • 基于ICL296的大电流开关稳压器电源电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章