- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于单片机的多功能闹钟综合设计报告论文
福州大学至诚学院
综合电子设计报告
设计题目: 基于单片机的多功能闹钟
专业: 班级:
姓名: 学号:
同组姓名: 学号:
指导老师:
2012年11月
设计要求和目的
以单片机为核心,实现显示时间、闹钟和温度的采集和显示
设计原理(包括设计原理图,关键器件等)
系统框图主要介绍了软件整体的设计思路。在软件框图2-2中,系统上电自动复位以后首先进行系统的液晶显示、时钟芯片DS12887初始化,然后读写日期、时间等信息,待数据读写结束后显示时钟,再进入按键扫描,进行判断,功能设置与闹钟比较,最终返回显示界面。
主函数的流程设计:主程序部分主要做的是开机后对硬件的初始化,分别是DS18B20传感器,DS12C887时钟芯片,定时器,1602液晶屏,外部中断。启动后进入一个大循环,这个循环里面主要做的是按键事件的处理,启动DS18B20的温度转换,时间和温度的校正和最后的时间和温度的显示。如右图
时钟12887程序流程设计:如下图
液晶显示流程设计 温度测量流程设计
总体的模块连接图如下
液晶显示屏
编号 符号 引脚说明 1 VSS 电源地 2 VDD 电源正极 3 VL 液晶显示偏压信号 4 RS 数据/命令选择端(H/L) 5 R/W 读写选择端(H/L) 6 E 使能信号 7 D0 Data I/O 8 D1 Data I/O 9 D2 Data I/O 10 D3 Data I/O 11 D4 Data I/O 12 D5 Data I/O 13 D6 Data I/O 14 D7 Data I/O 15 BLA 背光源正极 16 BLK 背光源负极 1602型LCD的接口信号说明
基本操作程序:
读状态:输入:RS=L,RW=H,E=H 输出:D0~D7=状态字
读数据:输入:RS=H,RW=H,E=H 输出:无
写指令:输入:RS=L,RW=L,D0~D7=指令码,E=高脉冲 输出:D0~D7=数据
写数据:输入:RS=H,RW=L,D0~D7=数据,E=高脉冲 输出:无
调试和结果
调试:按键进行功能选择,分别调整时间和日期。然后设定一个闹钟的时间点等待。
结果,闹钟会响,但是声音很小。但是屏幕有闪烁提示。
总结,存在问题和改进
基本实现了设计具有的功能,但是出现较多的问题,比如程序的错误导致液晶显示屏无法显示,在改正后才得以显示。闹钟声音过小。
心得体会
通过这次的电子设计,让我对单片机有了进一步的了解,一个看似简单的东西,其实做起来并不容易,在程序的方面,还有许多不明白的地方,通过上网找资料才得到解决的办法,了解到了自己的不足。也感谢老师和同学在这次的设计中对我的帮助,这次的设计才得以完成。
附录:(不计页数)
程序代码
//主函数
void main()
{
char Temp[2]; //温度,Temp[0]为整数部分,Temp[1]为小数部分
char last_temp;
buzzer=0;
DelayXms(1);
DS18B20_Start_Convert();
IAP_Data_Init();
DS_Init(0);
DS_Write(Second_Alarm,00);
DS_Write(Minute_Alarm,AMinute);
DS_Write(Hour_Alarm,AHour);
Timer0_Init();
LCM1602_Init();
LCM_1602_Chinese4(3, 40);
LCM_1602_Write_Temp_Week();
LCM_1602_N_Cur_Bli();
DS18B20_Wait_Convert();
DS18B20_Read(Temp);
DS18B20_Start_Convert();
EX0=1;
LCM1602_Door_Open(Disp1,Disp2, LCM1602_Door_Time);
t1_init();
int1_init();
while(1)
{
KeyHandle();
switch(sys_sta)
{
case 0:
last_temp = Temp[0];
DS18B20_Wait_Convert(); //等待温度转换结束
DS18B20_Read(Temp); //读取温度值
sys_sta
您可能关注的文档
- 2017年七年级语文上册 13 植树的牧羊人教学设计(新人教版).doc
- 2017年七年级语文上册 12 纪念白求恩课堂实 录(新人教版).doc
- 2017年七年级语文上册 12《纪念白求恩》课堂实 录(新人教版).doc
- 2017年七年级语文上册 13《植树的牧羊人》教学实 录(默读、勾画、批注、关键句)(新人教版).doc
- 2017七年级语文上册 第3单元 第10课《再塑生命的人》教案(新人教版).doc
- 2017年七年级语文上册 13《植树的牧羊人》教学设计(新人教版).doc
- 2017年七年级语文上册 5《秋天的怀念》教学设计(三首歌造氛围)(新人教版).doc
- 2017年七年级语文上册 4 古代诗歌四首教案2(新人教版).doc
- 2017年七年级语文上册 6《散步》教学设计、实 录、点评及反思(新人教版).doc
- 2017年七年级语文上册 6《散步》教学纪实(新人教版).doc
文档评论(0)