单片机课程设计定时闹钟(3)

2018-11-18 21:37

武汉工程大学《微机原理与接口技术》课程设计

是否按下5个按键 NO

初始化LCD 初始化计时器,初始化闹铃

扫描显示器更新时间数据, 闹钟时间是不是到了? YSE

K1:调时

K2:调分 K3:完成 K4:打开闹铃 图6 程序流程图

4.2 源代码

#include #define uint unsigned int #define uchar unsigned char

9

武汉工程大学《微机原理与接口技术》课程设计

sbit key1=P1^0; sbit key2=P1^1; sbit key3=P1^2; sbit key4=P1^3; sbit lcden=P2^2; sbit lcdrs=P2^0; sbit lcdrw=P2^1; sbit led=P2^4; sbit sound=P2^5;

uint a,b,i,min,hour,minge,minshi,hourge,hourshi,amin,ahour,aminge,aminshi,ahourge,ahourshi,sec; //unsigned

char

code

x[]={0xFF,0xC7,0x83,0x01,0x00,0x00,0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF,0xFF}; //unsigned

char

code

z[]={0xFF,0xE3,0xC1,0x80,0x00,0x00,0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0x7F,0xFF,0xFF}; uchar code table1[]={'0','1','2','3','4','5','6','7','8','9'}; uchar code table2[]=\ \

;

uchar code Alarm_1[]=\ %uchar code nul[]=\ %uchar num1,num2;

void delay(unsigned int xms) //???? {

uint i,j;

for(i=xms;i>0;i--)

10

武汉工程大学《微机原理与接口技术》课程设计

}

for(j=124;j>0;j--);

void write_com(uchar com) //?LCD命令控制

{ delay(5) ; lcdrs=0; P0=com; delay(5); lcden=1; delay(5); lcden=0;

}

void write_data(uchar date) { delay(5); lcdrs=1; P0=date; delay(5); lcden=1; delay(5); lcden=0;

}

//?LCD数据控制

11

武汉工程大学《微机原理与接口技术》课程设计

void time() {

while(1) { if(key1==0)

{

delay(10); if(key1==0) {

if(hour==23)

hour=0;

else

hour++; hourge=hour;

hourshi=hour/10;

write_com(0x0f);

delay(2);

write_com(0x80+6); write_data(table1[hourge]);

delay(5);

// 设置时间

12

武汉工程大学《微机原理与接口技术》课程设计

write_com(0x80+5); delay(2);

write_data(table1[hourshi]); while(!key1); //delay(1);

}

}

if(key2==0)

{ delay(10); if(key2==0) {

if(min==59)

min=0;

else

min++; minge=min;

minshi=min/10;

//分钟设置

13


单片机课程设计定时闹钟(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:年产360万吨熔剂石灰岩生产线项目可行性研究报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: