《数字电子钟课程设计.doc》由会员分享,可在线阅读,更多相关《数字电子钟课程设计.doc(30页珍藏版)》请在金锄头文库上搜索。
1、 西安科技大学基于52单片机 数字电子钟课程设计题 目: 数字电子钟 院 (系): 电气与控制工程学院 专 业: 自动化 学生姓名: 王慧、邵云杰、徐铣蔚 指导教师: 杨良煜 、刘晓荣 2013、01、08 摘 要单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面。本设计采用LCD液晶屏幕显示系统,以AT89C52单片机为核心
2、,由键盘、温度采集、定时闹铃、日期提醒等功能模块组成。基于题目基本要求,本系统对时间显示、闹铃方式进和温度采集系统行了重点设计。本系统大部分功能由软件来实现,吸收了硬件软件化的思想,大部分功能通过软件来实现,使电路简单明了,系统稳定性大大提高。本系统不仅成功的实现了要求的基本功能,多数发挥部分也得到了实现,而且还具有一定的创新功能。关键字:单片机、 LCD液晶显示;温度采集;定时闹铃 目 录摘 要2前 言31设计方案41.1 显示模块41.2 温度模块41.3 键盘模块41.4 时钟模块51.5其他模块52总体框架53硬件电路53.1单片机最小系统:63.2温度测量模块:73.3 LCD液晶显
3、示模块:73.4整体电路图84系统软件设计流程94.1主程序流程84.2 温度测量流程图104.3键值处理流程104.3处理事件流程115程序代码126 元件清单137 心得体会14附程序15参考文献30 前言时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路
4、计时时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求
5、很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。本文主要介绍用单片机内部的定时/计数器来实现电子时钟的方法,本设计由单片机AT89S51芯片和LED数码管为核心,辅以必要的电路,构成了一个单片机电子时钟。1设计方案1.1 显示模块显示模块采用Lcd1602。Lcd1602液晶显示具有丰富多样性、灵活性、电路简单、易于控制而且功耗小等优点,对于信息量多的系统,是比较适合的。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每
6、一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如A。 1.2 温度模块温度模块采用DS18B20,其独特的一线接口,只需要一条口线通信多点能力,简化了分布式温度传感应用 无需外部元件 可用数据总线供电,电压范围为3.0 V至5.5 V 无需备用电源 测量温度范围为-55 C至+125 。华氏相当于是-67 F到257华氏度 -10 C至+85 C范围内精度为0.5 。温度
7、传感器可编程的分辨率为912位 温度转换为12位数字格式最大值为750毫秒,用户可定义的非易失性温度报警设置。应用范围包括恒温控制,工业系统,消费电子产品温度计,或任何热敏感系统。DS18B20的数字温度计提供9至12位(可编程设备温度读数。信息被发送到/从DS18B20 通过1线接口,所以中央微处理器与DS18B20只有一个一条口线连接。为读写以及温度转换可以从数据线本身获得能量,不需要外接电源。 因为每一个DS18B20的包含一个独特的序号,多个DS18B20可以同时存在于一条总线。这使得温度传感器放置在许多不同的地方。它的用途很多,包括空调环境控制,感测建筑物内温设备或机器,并进行过程监
8、测和控制。1.3 键盘模块键盘模块采用44矩阵键盘。在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P2口)就可以构成44=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。1.4时钟模块时钟模块采用定时器0提供时钟源。定时/计数器0可以工作在4种工作方式中。工作方式0是13位的计数器;工作方式1是16位的计数器
9、;工作方式2带有数据自动重装的功能,因此,定时更精确。经常用于波特率发生器。;工作方式3是将它当做两个8位的定时器来用。主要与另一个定时器工作于方式2时配套使用。为了方便处理和提高精度采用方式2。但要提供秒信号还需要一个计数器来记录中断的次数以产生秒信号。1.5其他模块程序提供校时功能,通过44矩阵键盘校时,键盘功能键(即键值大于9的6个键)和键盘的数字键(即键值为09的9个键)来校时。程序可以通过设定的时间计算出当天是星期几。并在Lcd1602的左上角显示出来。程序日期模块的年份区间为2000年到2099年一百年的时间。2总体框架AT89S52Lcd1602DS18B2044矩阵键盘蜂鸣器图
10、1总体框架3硬件电路3.1单片机最小系统: 最小系统包括晶体振荡电路、复位开关和电源部分。图2为AT89C52单片机的最小系统。MCS-51是标准的40引脚双列直插式集成电路芯片,引脚分布请参照-单片机引脚图:l P0.0P0.7 P0口8位双向口线(在引脚的3932号端子)。 l P1.0P1.7 P1口8位双向口线(在引脚的18号端子)。l P2.0P2.7 P2口8位双向口线(在引脚的2128号端子)。 l P3.0P3.7 P3口8位双向口线(在引脚的1017号端子)。P0做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。 P1口只做I/O口使用:其内部有上拉电
11、阻。P3 除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置2 图2 最小系统电路图程序下载接口图3-4如图3-4所示,由AT89S ISP构成的两排十针下载口,板图上有一个小方框,为1号引角;下载线的凸口为正方向,凸口的右侧边的第一个插孔为1号引角。3.2温度测量模块:温度测量传感器采用DALLAS公司DS18B20的单总线数字化温度传感器,测温范围为-55125,可编程为9位12位A/D转换精度,测温分辨率达到0.0625,采用寄生电源工作方式,CPU只需一根口线便能与DS18B20通信,占用CPU口线少,可节省大量引线和逻辑电路。接口电路如图3所示。图3 DS
12、18B20测量电路3.3. LCD液晶显示模块:LCD液晶显示模块采用LCD1602型号,具有很低的功耗,正常工作时电流仅2.0mA/5.0V。通过编程实现自动关闭屏幕能够更有效的降低功耗。LCD1602分两行显示,每行可显示多达16个字符。LCD1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,通过内部指令可实现对其显示多样的控制,并且还能利用空余的空间自定义字符。 3.4. 整体电路图4系统软件设计流程4.1主程序流程开 始初始化Lcd1602初始化时间和日期初始化定时器处理事件 是否有键按下 否 是处理按键结 束图7 系统主程序流程4.2. 温度测量流程图如图11所示: 图11 温度测量程序流程图、键值处理4.3键值处理流程是否有按键 否 读取键值 清屏,状态标志为1键值为0x0a是否清屏,状态标志为2键值为0x0b是否设定时间键值为0x0c是否设定日期键值为0x0d是否状态标志为3键值为0x0e是否状态标志为0键值为0x0e 是结 束图9 键值处理流程图事件处理4.4 处理事件流程图 是否有秒信号秒信号清零 是显示时间和日期状态标志为0 否状态标志为1 是显示温度