单片机课程设计多功能定时器知识讲解

上传人:新** 文档编号:489111637 上传时间:2023-05-24 格式:DOCX 页数:28 大小:173.77KB
返回 下载 相关 举报
单片机课程设计多功能定时器知识讲解_第1页
第1页 / 共28页
单片机课程设计多功能定时器知识讲解_第2页
第2页 / 共28页
单片机课程设计多功能定时器知识讲解_第3页
第3页 / 共28页
单片机课程设计多功能定时器知识讲解_第4页
第4页 / 共28页
单片机课程设计多功能定时器知识讲解_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《单片机课程设计多功能定时器知识讲解》由会员分享,可在线阅读,更多相关《单片机课程设计多功能定时器知识讲解(28页珍藏版)》请在金锄头文库上搜索。

1、一、设计目的:1、在理论学习的基础上,通过完成一个涉及MCS-51 单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用;2、能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识, 在软件编程、排错调试、相关仪器设备的使用技能等方面得到较全面的锻炼 和提高;3、使学生增进对单片机的感性认识,加深对单片机理论方面的理解。使学生掌 握单片机的内部功能模块的应用,如定时器 /计数器、中断、片内外存贮器、 I/O 口、串行口通信等;4、使学生了解和掌握单片机应用系统的软硬件设计过程、方法及实现,为以后 设计和实现单片机应用系统打下良好基础。二、设计功能说明 数字钟是采用数字电路实

2、现对时,分,秒,数字显示的计时装置,由于数字集成 电路的发展和石英晶体振荡器的广泛应用, 使得数字钟的精度, 远远超过老式钟 表,钟表的数字化给人们生产生活带来了极大的方便, 而且大大地扩展了钟表的 报时功能。数字钟已成为人们日常生活中的必需品,本设计可实现如下功能:1、使用实时时钟芯片写入及读取时间2、用 LCD 显示,可显示年、月、日、时、分、秒、星期、农历日期、节日3、选择蜂鸣器电路,实现两个闹钟设置和事件提示功能4、实现时钟校正功能, 12小时/24 小时切换功能5、显示当前时间为上午时间或下午时间6、整点报时功能按键功能如下:1、对显示时间的设置按键0:进入设置模式,实现秒(S)、分

3、(M )、时(H )、年(丫)、月(m)、日(D)、星期(W)设置的切换,并在LCD右下角显示所设置的项目,当各项目 设置完毕后,再按下按键 0 则返回主界面正常显示时间; 按键 1:每按一次按键 1,对所设置的时间加 1,当设置的时间超过它的最大值 时,该项自动为 0,例如:当设置秒为 59时,秒自动清零; 按键 2:每按一次按键 :2,对所设置的时间减 1,当设置的时间小于 0时,该项 自动为它的最大值;按键 3:设置完成后的确认键并可按此键中途退出设置,时间按用户设置值正常 计时;按键 7:实现时钟校正功能, 12 小时/24小时切换功能。2、对闹钟的设置按键4:进入闹钟1的设置,并在L

4、CD右上方显示“ CLOCK1 ”并通过按键0、 1、 2设置用户所需闹钟时间,完成闹钟 1 的设置后,通过按键 0进入闹钟 2的设置,并在LCD右上方显示“ CL0CK2 ”,若无需设置闹钟2,则通过按键3退 出闹钟设置,返回主界面正常显示时间;按键5:设置闹钟是否开启,例如:当设置闹钟 1为开启状态时,在LCD右上 方显示“ *CL0CK1 ”当闹钟,并在返回主界面后显示“ C1”表示闹钟1开启;三、整体设计思路这部分主要介绍工作安排和整体设计的思想。工作过程规划如下:熟悉硬件 了解各引脚功能分块设计各部分电路完成整体电路图将分块的电路组合认真学习C语言确定结构和思路四、主程序流程图Key

5、value=getkey()五、电气原理图(见附图)六、实验程序1、键盘程序( Keyprocess) 键盘与 848 相连接,采用矩阵键盘的方式 等待键释放的程序,将最终正确的结果置于 #includeaduc848.hvoid KeyDelay(unsigned int KeyJsTime); unsigned char GetKey(); unsigned char GetKey() static unsigned char KeyHaveFree=1; static unsigned int KeyJs=0; unsigned char temp,KeyTemp=0xff; P1&=0

6、xf0; P2&=0xf0;temp=P1&0x0f;if(KeyHaveFree)if(temp!=0x0f)KeyDelay(1000); if(temp=(P1&0x0f) P2|=0x0e; switch(P1&0x0f) case 0x0e:KeyTemp=3;break; case 0x0d:KeyTemp=7;break; case 0x0b:KeyTemp=11;break case 0x07:KeyTemp=15;break case 0x0f:break; default:KeyTemp= 0x80;break; P2&=0xf0;P2|=0x0d;switch(P1&0x

7、0f)case 0x0e:KeyTemp= 2;break;P2 用于列扫描, P1 用于行扫描,经过消抖及 getkey(); 程序实现如下:/键盘扫描延时函数声明/扫描后获取键值/ 将低四位置零做 I/O 口/延时消除抖动/延时后确认是否有键按下, 并获取具体键值case 0x0d:KeyTemp= 6;break;case 0x0b:KeyTemp= 10;break;case 0x07:KeyTemp= 14;break;case 0x0f:break;default:KeyTemp= 0x81;break;P2&=0xf0;P2|=0x0b;switch(P1&0x0f)case 0

8、x0e:KeyTemp= 1;break;case 0x0d:KeyTemp= 5;break;case 0x0b:KeyTemp= 9;break;case 0x07:KeyTemp= 13;break;case 0x0f:break;default:KeyTemp= 0x82;break;P2&=0xf0;P2|=0x07;switch(P1&0x0f)case 0x0e:KeyTemp= 0;break;case 0x0d:KeyTemp= 4;break;case 0x0b:KeyTemp= 8;break;case 0x07:KeyTemp= 12;break;case 0x0f:b

9、reak; default:KeyTemp= 0x83;break;KeyHaveFree=0; /LCDPrintNumber(6,11,5,KeyTemp);elseKeyJs+;if(KeyJs70)KeyHaveFree=1;KeyJs=66; if(temp=0x0f)KeyHaveFree=1;KeyJs=0; KeyTemp=0xf0;return KeyTemp; void KeyDelay (un sig ned int KeyJsTime) un sig ned char temp;un sig ned int JsKeyDelay; for(JsKeyDelay=0;Js

10、KeyDelay0;x-)for(y=110;y0;y-);void write_com (un sig ned char com)/RS=0;RW=0;P0=com;delay(5);EN=1;delay(5);EN=0;void write_data(unsigned char date)RS=1;RW=0;P0=date;delay(5);EN=1;delay(5);EN=0;3、iic 程序( RTC ) /实时时钟#includeaduc848.hvoid iic_start(void);void iic_stop(void);void iic_ack(void);bit read_

11、ack(void);void iic_nack();unsigned char get_byte(void);void out_byte(unsigned char dd);void IIC_Delay_us(unsigned int times);void ReadTime(unsigned char TIME7);void SetTime(unsigned char TIME7);void SwitchRTC(unsigned char SWITCH);void ReadTime(unsigned char TIME7)bit EATemp;unsigned char temp;EATem

12、p=EA;iic_start(); out_byte(0xd0);read_ack();out_byte(0x00);read_ack();iic_stop();IIC_Delay_us(1);iic_start(); out_byte(0xd1); read_ack(); TIME0=get_byte(); iic_ack();TIME1=get_byte();iic_ack();TIME2=get_byte();iic_ack();TIME3=get_byte();iic_ack();TIME4=get_byte();iic_ack();TIME5=get_byte();iic_ack();TIME6=get_byte();iic_nack();iic_stop();IIC_Delay_u

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号