📄 shumaguan.c
字号:
#include <reg51.h>
#define unchar unsigned char
/**************************全局变量定义*****************************/
unchar seg_count=0;
unsigned char data display_date[4] = {0x01,0x04,0x03,0x04} ;
/****************************函数声明*******************************/
void delay_us(unchar delay); // 延时us级
/**************
函数名:void display(uchar seg_count)
函数功能:将数据送到数码管中显示。
调用函数:被void timer0() interrupt 1函数调用。
**********************************/
void display( unchar i)
{
switch(i)
{
case 0: P2=0xfe; //通过seg_count函数的值判断选通那个数码管
P0=display_date[0];
break;
case 1: P2=0xfd;
P0=display_date[1];
break;
case 2: P2=0xfb;
P0=display_date[2];
break;
break;
default: break;
}
}
/*****************************
函数名:void timer0() interruption 1
函数功能:数码管动态扫描中断,让数码管显示现在的时间
所用变量:seg_count,调用void display(uchar seg_count)
******************************/
void timer0() interrupt 1
{
TF0=0;
TH0=((65536-5000)/256);
TL0=((65536-5000)%256); //定时器重装载。
display(seg_count);
seg_count++;
if(seg_count>2)seg_count=0; //当按键数大于3时清零
}
/********************************************************************
*延时函数,us级
*函数名称:delay_us(unchar delay)
*说明:不精确延时
********************************************************************/
void delay_us(unchar delay)
{
while(--delay);
}
/******************************************************************/
/****************************************/
void main()
{
P2=0xff;
TMOD=0x11;
TH0=((65536-5000)/256);
TL0=((65536-5000)%256);
EA=1;
ET0=1;
TR0=1;
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -