📄 ex5_2.c
字号:
//程序:ex5_2.c
//功能:六位数码管动态显示“012345”
#include <reg51.h>
//函数名:delay50ms
//函数功能:采用定时器1、工作方式1实现50ms延时,晶振频率12MHz
//形式参数:无
//返回值:无
void delay50ms()
{
TH1=0x3c; // 置定时器初值
TL1=0xb0;
TR1=1; // 启动定时器1
while(!TF1); // 查询计数是否溢出,即定时到,TF1=1
TF1=0; // 50ms定时时间到,将定时器溢出标志位TF1清零
}
void main() //主函数
{
unsigned char led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92}; //设置数字0~5字型码
unsigned char i,w;
TMOD=0x10; //设置定时器1工作方式1
while(1) {
w=0x01; //位选码初值为01H
for(i=0;i<6;i++)
{
P2=~w; //位选码取反后送位控制口P2口
w<<=1; //位选码左移一位,选中下一位LED
P1=led[i]; //显示字型码送P1口
delay50ms(); //延时50ms
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -