题目就是正文~
关于定时器中断、七段数码管动态显示、74HC138等在CSDN上已经可以找到足够多的解释啦 这里直接上代码。由于本人也是初次接触单片机编程等内容。如果有些错误还请大家批评指正,我们共同进步~
话不多说 直接上一波代码
#include <REG52.H>
typedef unsigned long u32; //对数据类型进行声明定义
typedef unsigned int u16;
typedef unsigned char u8;
sbit LSA=P3^0; //74hc138的A B C引脚定义
sbit LSB=P3^1;
sbit LSC=P3^2;
#define SMG P0 //定义数码管段数据接口P0
u8 buff[8]; //显示缓冲数组
u8 a[]={
0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//分别显示0 1 2 3 4 5 6 7 8 9
static u32 num; //要显示的数据
static u16 t; //延时用
/**************************************************************************
*函数名称:Delay500us()
*函数功能:500微秒延时
**************************************************************************/
void Delay1ms() //@12.000MHz
{
unsigned char i, j;
i =