📄 pc51
字号:
#include "reg51.h"
#include "com.h"
#define TimeLen 2000 // 定时器定时时间长度
unsigned short Loop_Num ; // 转动圈数
unsigned char Led_Buf[4] ={1,2,3,4}; // 存放数码管显示的数
unsigned char Led_Sel = 0 ; // 动态扫描中选中的数码管号
#define LEDDAT_P P0 // 数码管数据管脚
#define LEDSEL_P P2 // 数码管使能选择管脚
#define LED_NUM 4 // 数码管个数
// 数码管数据
code unsigned char LED_CODE[21]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0xbf};
void InitCom( void );
// 定时器0初始
void Time0Init(void)
{
TMOD= 0x01 ;
TR0= 1 ;
ET0= 1 ;
EA= 1 ;
TL0= ( 65536-TimeLen ) % 256 ;
TH0= ( 65536-TimeLen ) / 256 ;
}
// 每20毫秒调用 动态扫描
void timer0(void) interrupt 1
{
TL0= ( 65536-TimeLen ) % 256 ;
TH0= ( 65536-TimeLen ) / 256 ;
LEDDAT_P = ~LED_CODE[Led_Buf[Led_Sel]] ; // 动态扫描显示
LEDSEL_P = 0x01 << Led_Sel ;
Led_Sel++;
if( Led_Sel == LED_NUM )Led_Sel=0;
}
main()
{
//Time0Init() ;
//InitCom() ;
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -