第四组 多功能台历的制作

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

•组员介绍•设计任务与要求•主要芯片的资料•硬件电路原理图•程序设计流程图•程序清单•故障问题•心得体会任务:利用单片机实验板,并制作一定的外围电路,编写程序设计制作一个多功能电子台历要求:1.具有时钟功能,能显示实时时间、日期2.具有修改功能,能方便修改时间、日期3.具有定时功能,能设定最多20组定时4.具有定时模式选择,可以选择每天/每周重复5.实时温度功能温度传感器DS18B20DS18B20的引脚DS18B20内部结构图DS18B20电路连接图根据DS18B20的通讯协议,主机(总线控制器)每次访问DS18B20都必须遵循以下顺序:初始化18B20;ROM操作命令;存贮器操作命令:执行/数据。协议包括几种单线信号类型:复位信号、存在信号、写0、写1、读0、读1。除存在信号外,全部由主机产生。DS18B20的读写DS18B20的温度测量操作流程初始化DS18B20跳过ROM匹配开始温度转换转换结束了否?初始化DS18B20跳过ROM匹配读温度值结束开始YN时钟芯片DS1302DS1302的外部引脚分配DS1302的内部结构DS1302各引脚的功能为:Vcc1:主电源;Vcc2:备份电源。当Vcc2Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2Vcc1时,由Vcc1向DS1302供电。SCLK:串行时钟,输入;I/O:三线接口时的双向数据线;CE:输入信号,在读、写数据期间,必须为高。该引脚有两个功能:第一,CE开始控制字访问移位寄存器的控制逻辑;其次,CE提供结束单字节或多字节数据传输的方法。•DS1302与单片机的连接也仅需要3条线:CE引脚、SCLK串行时钟引脚、I/O串行数据引脚,Vcc2为备用电源,外接32.768kHz晶振,为芯片提供计时脉冲。DS1302的电路原理图LCD1602的主要参数LCD1602的连接12345678910111213141516VSSVDDVORSR/WEDB0DB1ADB3DB2DB5DB4DB7DB6KLCD模块Vss:+5V电源管脚(Vcc)VDD:地管脚(GND)Vo:液晶显示驱动电源(0V~5V)LCD1602液晶显示12345678910111213141516VSSVDDVORSR/WEDB0DB1ADB3DB2DB5DB4DB7DB6KLCD模块DB0~DB7:数据线,可以用8位连接,也可以只用高4位连接,节约单片机资源,本实验中采用的是八位连接方法。12345678910111213141516VSSVDDVORSR/WEDB0DB1ADB3DB2DB5DB4DB7DB6KLCD模块单片机与LCD模块之间有四种基本操作:写命令读状态写显示数据读显示数据12345678910111213141516VSSVDDVORSR/WEDB0DB1ADB3DB2DB5DB4DB7DB6KLCD模块RSR/W操作00写命令操作(初始化、光标定位等)01读状态操作(读忙标志)10写数据操作(要显示的内容)11读数据操作(可以把显示存储区中的数据反读出来)12345678910111213141516VSSVDDVORSR/WEDB0DB1ADB3DB2DB5DB4DB7DB6KLCD模块RS:数据和指令选择控制端,RS=0:命令/状态;RS=1:数据R/W:读写控制线,R/W=0:写操作;R/W=1:读操作E:数据读写操作控制位,E线向LCD模块发送一个脉冲,LCD模块与单片机之间将进行一次数据交换12345678910111213141516VSSVDDVORSR/WEDB0DB1ADB3DB2DB5DB4DB7DB6KLCD模块A:背光控制正电源K:背光控制地读状态操作•状态字的最高位的BF为忙标志位,1表示LCD正在忙,0表示不忙。•通过判断最高位BF的0、1状态,就可以知道LCD当前是否处于忙状态,如果LCD一直处于忙状态,则继续查询等待,否则进行下面的操作。查询忙状态程序段如下:•do{•i=lcd_r_start();//调用读状态函数,读取LCD状态字•i&=0x80;//采用与操作屏蔽掉低7位•delay(2);//延时•}while(i!=0);//LCD忙,继续查询,否则退出循环写命令操作•LCD上电时,都必须按照一定的时序对LCD进行初始化操作,主要任务是设置LCD的工作方式、显示状态、清屏、输入方式、光标位置等编号指令名称控制信号命令字D7D6D5D4D3D2D1D01清屏00000000012归home位000000001×3输入方式设置00000001I/DS4显示状态设置0000001DCB5光标画面滚动000001S/CR/L××6工作方式设置00001DLNF××7CGRAM地址设置0001A5A4A3A2A1A08DDRAM地址设置001A6A5A4A3A2A1A09读BF和AC01BFAC6AC5AC4AC3AC2AC1AC0初始化操作LCD初始工作方式设置显示状态设置清屏返回输入方式设置001DLNF**—设置单片机与LCD接口数据位数DL、显示行数N、字型FDL=1:8位、DL=0:4位;N=1:2行、N=0:1行F=1:5×10、F=0:5×7例:00111000B(38H)设置数据位数8位,2行显示,5×7点阵字符00001DCB—设整体显示开关D、光标开关C、光标位的字符闪耀BD=1:开显示;C=0:不显示光标;B=0:光标位字符不闪烁例:00001100B(0CH)打开LCD显示,光标不显示,光标位字符不闪烁清屏命令字01H,将光标设置为第一行第一列000001I/DS—设光标移动方向并确定整体显示是否移动I/D=1:增量方式右移、I/D=0:减量方式左移S=1:移位、S=0:不移位例:00000110B(06H)设置光标增量方式右移,显示字符不移动写数据操作光标位置与相应命令字列行123456789101112131415161808182838485868788898A8B8C8D8E8F2C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF开始初始化读、写日期、时间和温度分离日期\时间\温度显示值显示子程序农历自动更新子程序日期、时间修改子程序闰月子程返回定时闹铃子程序主程序流程图C51送复位脉冲送SKIPROM命令送CONVERT命令DQ为高电平?C51送复位脉冲送读温度命令结束开始YNDS18B20温度测量程序流程18B20送存在脉冲18B20送存在脉冲送SKIPROM命令读低字节温度值读高字节温度值观赏

1 / 35
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功