数字时钟的显示及修改
实验目的
掌握定时器的使用、按键检测及数码管的动态显示。
实验内容
1、绘制如下proteus仿真图
2、利用定时器的定时功能,用6位数码管实现时、分、秒的显示及更新;
3、三个按键实现时间的修改。
代码
#include<reg52.h>
#define u8 unsigned char
#define u16 unsigned int
sbit SW1 =P3^0;
sbit SW2 =P3^1;
sbit SW3 =P3^2;
sbit LED = P3^7;
u8 Data[]={
0x3f , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d,
0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c ,
0x39 , 0x5e , 0x79 , 0x71 , 0x00 } ;
enum fun
{
confirm=0,set_sec,set_min,set_hour
};
enum fun SetTime;
//u8 SetTime;
bit SMG_SS_FLAG=0;
u8 key_hour=8;
u8 key_min =56;
u8 key_sec =0;
void delay_ms(u16 ms);
void Display(u8 Hour,u8 Min,u8 Sec);
void Key(void);
main()
{
LED=1;
TMOD=0x01