51学习2~~数码管
0赞
利用动态扫描和定时器1在数码管上显示出从765432开始以1/10秒的速度往下递减直至765398并保持显示此数,与此同时利用定时器0以500MS速度进行流水灯从上至下移动,当数码管上数减到停止时,实验板上流水灯也停止然后全部开始闪烁,3秒后(用T0定时)流水灯全部关闭、数码管上显示出"HELLO"。到此保持住。
设晶振频率为12MHz。
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit beep="P3"^2;
uchar code table[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e,
0x91,0x61,0xe3,0xe3,0x03};
uchar temp,t0,t1,bai,shi,ge,flag,flag1;
uint shu;
void init();
void display(uchar aa,uchar bb,uchar cc,uchar bai,uchar shi,uchar ge);
void delay(uint z)
{
}
void main()
{
}
void init()
void timer0() interrupt 1
void timer1() interrupt 3
void display(uchar aa,uchar bb,uchar cc,uchar bai,uchar shi,uchar ge) //显示子函数
{
}
{
}
{
}
{