设计需求:
秒表(定时中断)设计需求:使用定时器中断,实现每秒共阳极数码管自加1。
流程:
1.4.1IE寄存器(中断允许控制)(interrupt enable)
1.4.3定时控制寄存器TCON ( Timer control register )
1.代码
1.1定义头文件
首先我们定义单片机头文件<reg51.h>
//单片机头文件
#include<reg51.h>
1.2定义主函数
因为是单片机,所以不需要返回值,所以用void main来定义主函数。
//主函数
void main()
{
}
1.3定义全局量与初始化
定义我们需要的两个变量与一个存放0~15共阳极数码管字符码的字符组。
//定义一个记次数-5毫秒一次
int time_sum = 0;
//定义一个显示数0~15
int number = 0;
//定义0~15共阳极数码管字符码
const unsigned char led[] = { 0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0X88,0X83,0XC6,0XA1,0X86,0X8E };
1.4定义中断
首先我们先了解亿点点中断知识。
1.4.1IE寄存器(中断允许控制)(interrupt enable)
EXO(IE.0) | 外部中断0允许位;(interrupt controller of external interrupt) |
ETO(IE.1) | 定时/计数器TO中断允许位 (interrupt controller of Timer0 interrupt) |
EX1(IE.2) | 外部中断0允许位 |
ET1(IE.3) | 定时/计数器T1中断允许位 |
ES (IE.4) |