单片机多功能电子钟程序编程参考.docVIP

  • 15
  • 0
  • 约 26页
  • 2016-08-28 发布于河南
  • 举报
单片机多功能电子钟程序编程参考

附录A 程序 程序A.1 主程序 //主程序的功能是对子程序进行调用,并设定显示延时时间 #include reg51.h //头文件; #include typedef.h #include lcd.h #include key.h #include alarm_clock.h #include ds1302.h sbit DAT=P1^0; //74LS164的A、B脚接单片机P1.0; sbit CLK=P1^1; //74LS164的CLOCK脚接单片机P1.1; sbit Calendar=P2^7; //定义日历显示按键K7接单片机P2.7; sbit WDZ=P2^6; //定义温度显示按键K6接单片机P2.6; sbit FUN=P2^5; //定义功能选择键K5接单片机P2.5; sbit UP=P2^4; //定义加1键K4接单片机P2.4; sbit DOWN=P2^3; //定义减1键K3接单片机P2.3; sbit Ente_Snooze=P2^2; //定义确认/贪睡键K2接单片机P2.2; sbit Alarm=P2^1; //定义闹铃开关键K1接单片机P2.1; sbit beeper= P2^0; //定义闹铃接口P2.0; #define uint unsigned int #define uchar unsigned char #define true 1 //定义true=1; #define false 0 //定义false=0; #define FUNCTION 0xDF //定义FUN键值为DFH; #define UP 0xEF //定义UP键值为EFH; #define DOWN 0xF7 //定义DOWN键值为F7H; #define ALARM 0xFB //定义ALARM键值为FBH; #define Ente_Snooze 0xFB //定义E/S键值为BFH; void key_task(void); void process(uchar current_key); extern bit flash_flag; //定义全局变量(标志位); extern uchar function_count; extern bit alarm_flag; extern bit key_enable; void dis(); void sendbyte(); void reset_3w(); void wbyte_3w(uchar); uchar rbyte_3w(); void write_byte(uchar Clock_Add,uchar Clock_Data); uchar read_byte(uchar); void write_clock_burst(); voidds1302_init(); void ds1302_task(); void lcd_disp_time1(); void dis_WD(); void ds18b20(); void alarm_clock(void); void delay(unsigned int time) //10ms延时 { unsigned char a,b,c; for(a=0;atime;a++) for(b=0;b10;b++) for(c=0;c120;c++); } void main() //主程序; { ds1302_init(); //初始化DS1302; beeper=1; //初始化闹铃管脚; while(1) //循环; { key_task();

文档评论(0)

1亿VIP精品文档

相关文档