单片机课程设计(论文)_电子万年历的设计

上传人:大米 文档编号:431707518 上传时间:2023-12-15 格式:DOC 页数:14 大小:305.50KB
返回 下载 相关 举报
单片机课程设计(论文)_电子万年历的设计_第1页
第1页 / 共14页
单片机课程设计(论文)_电子万年历的设计_第2页
第2页 / 共14页
单片机课程设计(论文)_电子万年历的设计_第3页
第3页 / 共14页
单片机课程设计(论文)_电子万年历的设计_第4页
第4页 / 共14页
单片机课程设计(论文)_电子万年历的设计_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《单片机课程设计(论文)_电子万年历的设计》由会员分享,可在线阅读,更多相关《单片机课程设计(论文)_电子万年历的设计(14页珍藏版)》请在金锄头文库上搜索。

1、目 录1设计要求32方案论证与比照3液晶显示器控制方式选择32.2 并行接口动态显示电路选择32.3 LCD液晶显示器的接口方法选择4液晶显示器限流电阻选择53系统硬件电路的设计6主控模块AT89C5263.2 显示模块电路设计74系统软件设计84.1 系统软件概述84.2 主要子程序设计94.2.1 时钟中断效劳子程序设计9时间调整子程序设计104.2.3 判断闰年子程序设计104.2.4 精度分析分析与计算114.2.5 第一次初值的设置114.2.6 重载初值的方法115系统仿真与测试125.1 系统仿真12功能测试126总结13参考文献141设计要求本课题以AT89C52单片机为核心,

2、设计并制作出智能LCD电子钟,具有以下根本功能:能进行时间、年份、日期、星期显示;能区分是否闰年;能检测室温并显示。扩展功能局部可以通过控制按键使时间暂停、可以调整校正时间并通过按键切换轮流显示时间、年份、日期、星期。2方案论证与比照2.1液晶显示器控制方式选择采用LCD液晶显示,具有超精致影像画质、十足平面显示、节省空间、节省能源等优点,但按控制方式不同,LCD可分为被动矩阵式LCD及主动矩阵式LCD两种。可根据不同需要采用不同的方式。方案一 被动矩阵式LCD被动矩阵式LCD在亮度及可视角方面受到较大的限制,反响速度也较慢。由于画面质量方面的问题,使得这种显示设备不利于开展为桌面型显示器,但

3、本钱低廉。方案二 主动矩阵式LCD目前应用比拟广泛的主动矩阵式LCD,也称TFT-LCD(Thin Film Transistor-LCD,薄膜晶体管LCD)。TFT液晶显示器是在画面中的每个像素内建晶体管,可使亮度更明亮、色彩更丰富及更宽广的可视面积。与CRT显示器相比,LCD显示器的平面显示技术表达为较少的零件、占据较少的桌面及耗电量较小,但CRT技术较为稳定成熟。相比之下,本设计当中选用方案二主动矩阵式LCD方式。2.2 并行接口动态显示电路选择可以采取串行接口动态显示电路或者并行接口动态显示电路,比拟如下:方案一 串行接口动态显示电路利用8051系列单片机内部的串行接口,也可以实现动态

4、显示及键盘处理。这样不但可以节省8051的并行I/O接口,而且在大多数不用单行口的情况下,可免于扩展接口。在这种方法中,串行口工作在方式0状态,相当于一个移位存放器,其输入/输出通过RXD引脚,移位脉冲那么由TXD输出。每次输入或输出8位数据一个字节。每输出一个字节,8051的硬件即自动使SCON存放器中的中断TI置位,通过测试TI的状态,即可确定一个字节是否发送完毕。见图2-1。 图2-1串行接口动态显示电路框图方案二 并行接口动态显示电路直接用P0口作线选,P2作位选连接数码显示管。见图2-2图2-2动态显示电路框图方案一中的串行接口动态显示电路显示方法有个很大的缺点,一旦计算机不执行显示

5、程序,那么显示立即停止。如要维持显示,那么须花费计算机很多时间。而且在本次课程设计中,我们也有足够的I/O口,因此,选择并行接口动态显示电路较好。2.3 LCD液晶显示器的接口方法选择方案一 以硬件为主的LCD显示接口电路这种接口方法的电路图见图2-3,可以看出,在数据总线和LCD之间,必须有锁存器或I/O接口电路,此外,还应有专门的译码/限流电阻。通过译码器把1位十六进制或BCD码译为相应的显示段码,然后由限流电阻限制电流防止显示器因电流过大而烧坏。这种接口方法仅用一条输出指令,就可以进行LCD显示。但是所使用的硬件电路较多,而硬件译码缺乏灵活性,只能显示十进制数或十六进制。图2-3硬件为主

6、的LED显示接口电路框图方案二 以软件为主的LCD显示接口电路这种接口方法的电路如图2-4 ,它以软件查表代替硬件译码的方法,不但省去了译码器,而且还能显示更多的字符,但是电阻限流是必不可少的。本次设计采用这种接口电路。图2-4以软件为主的LCD显示接口电路框图2.4液晶显示器限流电阻选择由于LCD的电流参数较小,为了防止因电流过大而被烧坏,能够帮助内存起到稳压作用,让内存工作更稳定,因此必须参加限流电阻。限流电阻有两种实现方式,比拟如下:方案一 直接用单个电阻限流直接用单个电阻进行限流,散热快,但是既占空间又接线麻烦。方案二 用排阻进行限流用多个电阻排列而成的排阻能减少占用的空间,易于连线。

7、综上分析,本设计采用方案二排阻限流。3系统硬件电路的设计经上述比拟,本次作品采用以AT89C52为核心的单片机最小系统板,显示模块采用数码管动态扫描显示。经过方案论证与比拟,选择出最优方案的系统总体方案框图如图3-1所示。按键模块电源时间调整模块显示模块温度显示星期显示时间显示年份显示显示主控模块图3-1系统总体方案框图3.1主控模块AT89C52主控模块采用的是AT89C52单片机芯片。AT89C52是一个低电压,高性能CMOS 8位单片机,片内8KB ROM全部采用FLASH ROM技术,晶振时钟为12MHz。器件采用ATMEL公司的高密度,肥易失性存储技术生产,兼容标准MCS-51指令系

8、统,骗内置通用8位中央处理器和Flash存储单元。AT89C52是标准的40引脚双列直插式集成电路芯片,有4个八位的并行双向I/O端口,分别记作P0、P1、P2、P3。3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线。第31引脚需要接高电位使单片机选用内部程序存储器。P0-P3为可编成通用输入输出引脚,其功能用途由软件定义。第9引脚是复位引脚,要接一个上电手动复位电路;第40脚为电源端VCC,接+5V电源,第20引脚为接地端VSS,通常在VCC和VSS引脚之间接0.1F高频滤波电容。第18、19脚之间接上一个12MHz的晶振为单片机提供时钟信号。主控模块电路图见图3-2。图3-2

9、AT89C52单片机芯片3.2 显示模块电路设计P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动吸收或输出电流4 个TTL 逻辑门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16 位地址的外部数据存储器例如执行MOVX DPTR 指令时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器如执行MOVX RI 指令时,P2 口输出P2 锁存器的内容。Flash 编程或校验时,P2亦接收高位地址和一些控制信号。 P

10、0 口是一组8 位漏极开路型双向I/O 口, 也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的 方式驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址低8 位和数据总线复用,在访问期间激活内部上拉电阻。 在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。本设计中要对时间、温度进行显示。单片机AT89C52的P2口分别接LCD控制屏幕的显示。而P0口用来显示信息的输入,为了防止电流过大而烧坏LCD,所以用排阻RESPACK-8来限流。液晶显示电路图见图3-3

11、。 图3-3 显示模块电路4系统软件设计4.1 系统软件概述在编程上,首先进行了初始化,定义程序的入口地址以及中断的入口地址,在主程序的开始定义了一组固定单元用来存储计数的分、秒、年、月、日、星期的存储单元。调用闰年判断程序后,进入主程序中循环。在主程序中,对不同的按键进行扫描,实现秒表,时间调整、开关屏设置等扩展功能。时钟计时利用定时器T0中断子程序实现,秒表和时间调整闪烁程序由定时器T1的中断效劳子程序实现。考虑到实用性,在该电子钟的时间调整时采用了闪烁,而开关屏设置采用了符号标志。在自动开、关屏设置子程序中,另外开辟内存单元用来存放开、关屏设置时间,而在另外的子程序中不断比拟当前时间是否

12、和设置时间相等并设置标志位,然后程序中检测标志位,从而实现开、关屏操作。系统总体流程图见图4-1。图4-1 系统总体流程图4.2 主要子程序设计显示完毕后,P2口和P1口复位,准备下一轮的显示。在系统总体流程设计思想的指导下,分模块对程序进行设计,主要模块设计有时钟中断效劳子程序设计、时间调整子程序设计、判断闰年子程序设计等。各子程序分析如下:4 时钟中断效劳子程序设计首先设定定时器T0的初值,T0的最大定时缺乏1s,为便于计算,取定时50ms。这样每50ms中断1次,中断20次为1s。50ms的定时初值的计算如下:0.05/1/12*106/12)=C350H ,补码为3CB0H。启动定时器

13、后,运行中断效劳程序。在中断效劳程序中,由秒信号来计数,当到达60后向“分进位;分计数,当到达60后向“时进位;时计数,当到达24后向“日进位;日计数,日超出当月上限后进位到“月;月计数,当月计数到达12后向“年进位,在日计数程序中,日每增加一天,都对星期进行调整,具体为:假设上一天不是星期日,那么直接在星期上加一,假设上一天是星期日,那么当前星期变为星期一。4时间调整子程序设计在主程序中通过按键进入时间调整界面,可实现年、月、日、星期及时间的调整。每次调整时,调用闪烁程序,使相应的位闪烁,再通过按键进行加减调整。闪烁程序也采用定时器T1中断实现,每次计时50ms,中断6次也就是0.3秒过后,

14、闪烁标志位取反,显示熄灭。在时间显示子程序中,单片机向P0口送段选信号,向P2口送位选信号,数码管采用动态扫描方式,位选信号每次左移一位,每次点亮一个数码管,一轮4 判断闰年子程序设计程序中年每加一,那么调用一次判断闰年子程序,再通过置标志平20H.3,以便于以后的程序识别如在月加一程序中,就需要知道是否是闰年的2月还是平年的2月。判断闰年子程序的设计思想是:不能被4整除的年份不是闰年;能被100整除但不能被400整除的年份不是闰年。闰年判断流程图见图4-2。图4-2显示子程序流程图 精度分析分析与计算在MCS-51单片机中,脉冲源是由系统的晶振经过12分频后获得的,故定时器计数脉冲4周期为:T=12/fosc (1) 第一次初值的设置根据(1)式可以分别算出定时器四种工作方式的最大计时时间。但实际应用中,经常会有不同定时值的要求,可以采用预置数的方法来实现。例如,方式1的最大计数为65536,现在假设需要定时计数100,那么我们可以设预置数为65436,让定时器经过100个脉冲周期后,就可到达65536。我们称定时器中这种预置数为定时器的第一次初值。下面推导第一次初值设置的公式。设定时器在某种工作方式下计数的最大值为M(见表1),X0为第一次初值,T为(1)式的计数周期,t为要求定时的溢出时间,那么有: t=(M -X0)*T (2)上式可化为: X0=M

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

最新文档


当前位置:首页 > 商业/管理/HR > 商业计划书

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