当前位置:首页 > 电子时钟系统设计
附 录
附录1 总体设计电路图
15
附录2 PCB图
16
附录3 元件清单
序号 1 2 3 4 元件名称 单片机 显示驱动三极管 晶振 电容 规格型号/参数 AT89C51 Q1 12MHz 33pF 10μF 5 6 7 按键 排阻 电阻 S1 102 10K 4.7K 8 9 10
数量(个) 1 1 1 2 1 1 1 1 1 1 2 1 蜂鸣器 数码管 驱动芯片 LS1 4BIT_8SEG_LED 74LS245 17
附录4 总程序
//****************头文件及宏定义******************************* #include
#define uchar unsigned char #define uint unsigned int
//****************软件延时程序********************************* void delay(uint ii) { while(--ii); }
//****************定义数码管驱动码****************************** uchar duan[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,
0XBF,0XFF,0X7F}; //段选,0 1 2 3 4 5 6 7 8 9 - 灭 .
uchar wei[]={0X01,0X02,0X04,0X08,0X10,0X20,0X40,0X80};//位选,共阳,从右至左 //****************定义变量************************************** uchar t=0,sec=0,min=0,hour=0;
//正常走时时间变量
uchar sec1=0,min1=0,hour1=0; //时间设定值变量 uchar sec2=0,min2=0,hour2=0; //闹钟设定值变量 uchar alarm_en=0; //闹钟开关变量 uchar alarm_flag=0; //闹钟定时到达标志变量 uchar p3=0,moshi=0,mov=0; //P3口查询,模式值,调整位 //显示缓冲区,依次为正常、调时、闹钟设定、调整位带点标记 uchar temp[8],temp1[8],temp2[8],temp3[8];
//****************函数声明************************************* void initialize(void); //初始化 void show(void); //正常走时显示 void show1(void); //时间设定显示 void show2(void); //闹钟设定显示 void show3(void); //调整位标记 void show4(void); //闹钟开关标记 void keyscan(void); //键盘扫描
void add(void); //调时调闹钟加数程序 void confirm(void); //调时确认,闹钟开关 void alarm_judge(void); //闹钟定时到达判定 void beep(void); //闹钟响铃程序 //******************主函数*************************** void main()
18
共分享92篇相关文档