需求:使用4位共阴极段码表及共阳极数码管,通过外部中断方式,实现两个按钮分配加1、减1功能。
今天我就来讲解一下这道题:
目录
1.5.1IE寄存器(中断允许控制)(interrupt enable)
1.代码
1.1定义头文件
首先我们定义单片机头文件<reg51.h>
#include<reg51.h>//单片机头文件
1.2定义延时函数(毫秒)
我们在定义一下延时函数DelayMs(后面会用到),这里我们用两个for循环与一个传参来实现。
第二个for循环循环120次得出1毫秒。
第一个for循环与传参ms完成我们需要延时的毫秒。
void DelayMs (const int ms)//延时函数(毫秒)
{
int i;
for(i = 0;i < ms;i++)//循环几亳秒
{
int j;
for(j = 0;j < 120;j++);
}
}
1.3定义主函数
因为是单片机,所以不需要返回值,所以用void main来定义主函数。
void main()//主函数
{
}
1.4定义0~15共阴极数码管字符码
因为这个共极数码管字符码不需要做改变,所以我们用const把他锁上。
int mian()
{
//定义0~15共阴极数码管字符码
const unsigned char 1ed[] = {0X3F, 0X06, 0X5B, 0X4E, 0X66, 0X6D, 0X7D,0X7,0X7E,0X6E, 0X77, 0X7C, 0X39, 0X5E, 0X79, 0X71};
}
1.5定义中断
首先我们先了解亿点点中断知识