1、Company LOGOCompany Logo目录2系统总体设计3硬件设计4软件设计5总结 1设计目的及意义Company Logo目的和意义 随着微电子技术的高速发展,单片机在国民经济的个人领域得到了广泛的运用。单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头。 而电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的设计。数字显示的日历钟已经越来越流行,特别是适合在家庭居室、办公室、大厅、会议室、车站和广场等使用,壁挂式LED数码管显示的日历钟逐渐受到人们的欢迎。LCD数字显示的日历钟显示清
2、晰直观、走时准确、可以进行夜视,并且还可以扩展出多种功能。 Company Logo系统总体设计 本系统以单片机为控制核心,对系统进行初始化,主要完成对键盘的响应、液晶显示、时间读取、测温等功能的控制,起到总控和协调各模块之间工作的作用。单片机通过驱动蜂鸣器发响声。主控模块单片机时钟模块DS1302温度测量模块DS18B20按键模块液晶显示模块LCD1602蜂鸣器模块Company Logo硬件设计 最小系统设计单片机最小系统有单片机、时钟电路、复位电路组成,时钟电路选用了12MHZ的晶振提供时钟,作用为给单片机提供一个时间基准,其中执行一条基本指令需要的时间为一个机器周期,单片机的复位电路,
3、按下复位按键之后可以使单片机进入刚上电的起始状态。Company Logo硬件设计 液晶显示模块设计如图3-5所示。用STC89C52的P0口作为数据线,用P1.2、P1.1、P1.0分别作为LCD的EN、R/W、RS。其中EN是下降沿触发的片选信号,R/W是读写信号,RS是寄存器选择信号Company Logo硬件设计 键盘模块蜂鸣器模块设计键模块使用的是多位独立按键,按键一端接IO口,一端接地,由于单片机的IO口都有内部上拉,因此当按键没有按下的时候,IO检测到的时候高电平,当按键按下的时候,相当于IO短接地,因此这时候单片机检测到的电平为低电平,通过检测不同时刻的IO口状态就可以判断按下
4、的是那个按键。Company Logo硬件设计 键盘模块蜂鸣器模块设计蜂鸣器的工作电流一般比较大,以致于单片机的I/O口是无法直接驱动的,所以要利用三极管开关电路来驱动。本处选用的是8550三极管,它是一个PNP型的三极管,当基极给低电平的时候三极管导通,这时候蜂鸣器发声,当给高电平的时候,三极管关闭,蜂鸣器不发声。Company Logo硬件设计 时钟模块温度检测模块设计实时时钟芯片DS1302采用串行数据传输,可为掉电保护电源提供可编程的充电功能,也可以关闭充电功能,芯片采用32.768Hz晶振。单片机通过时序可以读出时钟芯片内部的相关时间信息。Company Logo硬件设计 时钟模块温
5、度检测模块设计其中DQ口为该芯片的数据口,单片机通过读取改口的信息可以得出实时的温度值,由于DS18B20是单线通信,即发送和接收都是通过通信脚来进行。其接收时高阻输入,其发送时是开漏输出,即输出0时通过三极管下拉为低电平,而输出1时,则为高阻,需要外接上拉电阻将其拉为高电平,因此是需要外接上拉电阻,否则无法输出1。Company Logo软件设计 主程序设计单片机上电后先进行初始化,清除一些参数的初值,然后把当前的一些时间信息,例如年月日时间等参数,然后判断当前时间是否与所设定一致,一致则驱动闹钟发声,接着读取温度信息,最后把时间信息显示在液晶屏幕上,单片机在每个循环都会检测用户是否按键按键
6、,按下则进入按键扫描子程序进行相关参数的设定。Company Logo软件设计 时钟模块设计一开始先让时钟芯片的复位引脚置高进而启动一次数据传送工作,接着写一位命令字节,接着给SCLK发送脉冲信号,一致循环直到发送8个命令字节为止。接着是写数据进时钟芯片,首先先写入一位数据字节,然后给SCLK引脚发送脉冲,一致循环写入8次,这样就可以把数据写入,最终使复位引脚变低,这样就可以完成一次时钟芯片的一次操作。Company Logo软件设计 键盘扫描程序设计当进入到扫描子函数以后,先后判断按下的按键是按键14的哪个,进行相应的操作,如果是按下按键一的时候,首先单片机判断现在是否处于闹钟闹铃状态,如果
7、是的话,则清楚闹钟标志位,相当于取消闹钟发声,如果不是则令变量gFunctioncount加1,进入时间设置界面。Company Logo软件设计 LCD1602初始化首先先调用液晶自定义的字库,设置好DDRAM地址后在第一行显示,根据程序中的数据设置显示数据的首地址并设置循环量,在循环过程中不断的取字符代码直到终止,第二行的显示过程同一行的显示过程一样,两行显示完毕后便结束子程序。Company Logo软件设计 温度检测进入温度读取子函数的时候,首先初始化DS18B20的参数,单片机发送跳过ROM命令给DS18B20,然后发送温度转换命令等待转换完毕后,单片机在再次初始化DS18B20,发
8、送跳过ROM命令后把得到的温度放到缓冲区,最后调用温度处理子程序存储温度值。Company Logo总结 通过这次毕业设计,我学到了不少课本上没有的知识,也锻炼了自己的动手能力,将以前学过的零散的知识串到一起。经过我长时间的设计及调试,本系统基本能实现万年历系统的所有功能。不足之处有:1.硬件的稳定性有待进一步提高2.系统界面人性化还不足。我的综合设计主要涉及硬件和软件两方面的内容,通过这些我的硬件和软件开发能力都获得了提高。首先硬件方面,基本掌握了Protel99SE原理图的方法,并设计了一个单片机最小系统。通过开发板的设计和硬件搭建的过程,使我对51系单片机的接口有了更深层次的理解,熟悉了
9、一些单片机常用的外围电路引脚和连接方法,如LCD液晶,键盘等。并且我学会了分析问题解决问题的能力,加深了对所学理论知识的理解和运用。Company Logo系统仿真图 P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7P3.5P1.0P1.1P1.2P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7ALEP1.5P1.3P1.4P2.4P2.6P2.7P2.5XTAL218XT
10、AL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C52234567891RP1RESPACK-8X1CRYSTALC130pFC230pFC310uR110K42.0DQ2VCC3GND1U2DS18B20R24k7D714D613D512D411D310D29D18D07E6R W5RS4VSS1VDD2VEE3LCD1LM016LRST5SCLK7I/O6X12X23VCC18VCC21U7DS1302X2CRYSTALCompany Logo系统原理图 Company Logo