[优秀毕业设计] 带温度显示的可调时钟_第1页
[优秀毕业设计] 带温度显示的可调时钟_第2页
[优秀毕业设计] 带温度显示的可调时钟_第3页
[优秀毕业设计] 带温度显示的可调时钟_第4页
[优秀毕业设计] 带温度显示的可调时钟_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、毕 业 论 文毕业论文题目:带温度显示的可调时钟学生姓名:学 号:院(系):海事与港航学院专 业:机电一体化(自动化)班 级:093班 指导教师: 起止时间: 2011 年11 月 2011 年 12 月带温度显示的可调时钟摘要:单片微型计算机(Single Chip Microcomputer)简称单片机,是指集成在一个芯片上的微型计算机,它的各种功能部件,包括CPU(Central Processing Unit)、存储器(Memory)、基本输入/输出(Input/Output,简称I/O)接口电路、定时/计数器和中断系统等,都制作在一块集成芯片上,构成一个完整的微型计算机。本课题通过M

2、CS-51单片机来设计,通过C语言编程。可以实现以下的一些功能:时、分、秒和星期以及当前温度的显示。本系统由温度电路、LCD显示电路、按键调整电路、蜂鸣器提示电路组成。51单片机通过编程在LCD1602上显示时间和温度。利用DS1820来实现温度的检测,通过三个按键来实现时间的调整:一个用于启动时间调整;一个用于时间的加;还有一个用于时间的减,每按下一次按键蜂鸣器发声提示一下。本次设计的时钟温度计通过仿真成功实现能比较准确的实现期望实现的功能。 关键词:单片机;LCD1602;DS18B20;可调时钟Adjustable Clock With ThermometerAbstract: The

3、single chip microcomputer (Single Chip Microcomputer)referred to as SCM, is integrated on a single chip microcomputer, its various features, including the CPU(Central Processing Unit),memory(Memory),basic input/output(Input/Output, referred to as the I/O)interface circuit timer/counters and interrup

4、t system etc. are produced in an integrated chip, a complete micro-computer.The issue by the MCS-51 to design through the C programming language. Can achieve some of the following functions hours minutes, seconds and day of week and the current temperature display. The system consists of temperature

5、 circuit. LCD display circuit push button circuit, buzzer circuit by programming the microcontroller 51 on the LCD1602 display time and temperature. Temperature using DS18B20 to achieve the detection time by the three keys to achieve the adjustment: one for start-up time to adjust; a plus for the ti

6、me; there is a reduction for the time; every time you press the send button buzzer sounder minder. The design of the clock thermometer can be successfully achieved through the simulation to achieve more accurate expectations of the functions.Keywords: Microcontroller; LCD1602;DS18B20;Adjustable cloc

7、k目 录 TOC o 1-3 h z u HYPERLINK l _Toc310805987 1 第一章 理论基础 PAGEREF _Toc310805987 h 1 HYPERLINK l _Toc310805988 什么是单片机 PAGEREF _Toc310805988 h 1 HYPERLINK l _Toc310805989 单片机的几个概念 PAGEREF _Toc310805989 h 2 HYPERLINK l _Toc310805990 单片机的内部组成及信号引脚 PAGEREF _Toc310805990 h 2 HYPERLINK l _Toc310805991 单片机的

8、基本组成 PAGEREF _Toc310805991 h 2 HYPERLINK l _Toc310805992 89C51的信号引脚 PAGEREF _Toc310805992 h 3 HYPERLINK l _Toc310805993 单片机的中断系统 PAGEREF _Toc310805993 h 4 HYPERLINK l _Toc310805994 中断的各个功能部件 PAGEREF _Toc310805994 h 4 HYPERLINK l _Toc310805995 中断优先级的说明 PAGEREF _Toc310805995 h 5 HYPERLINK l _Toc310805

9、996 显示和接口键盘技术 PAGEREF _Toc310805996 h 5 HYPERLINK l _Toc310805997 液晶显示 PAGEREF _Toc310805997 h 5 HYPERLINK l _Toc310805998 按键 PAGEREF _Toc310805998 h 7 HYPERLINK l _Toc310805999 1.5 A/D转换 PAGEREF _Toc310805999 h 8 HYPERLINK l _Toc310806000 单片机的应用 PAGEREF _Toc310806000 h 9 HYPERLINK l _Toc310806001 单

10、片机的发展方向 PAGEREF _Toc310806001 h 10 HYPERLINK l _Toc310806002 2 第二章 整体方案设计 PAGEREF _Toc310806002 h 11 HYPERLINK l _Toc310806003 带温度显示可调时钟背景 PAGEREF _Toc310806003 h 11 HYPERLINK l _Toc310806004 制定设计方案 PAGEREF _Toc310806004 h 12 HYPERLINK l _Toc310806005 单片机的选择 PAGEREF _Toc310806005 h 12 HYPERLINK l _T

11、oc310806006 显示器的选择 PAGEREF _Toc310806006 h 12 HYPERLINK l _Toc310806007 温度转换芯片的选择 PAGEREF _Toc310806007 h 13 HYPERLINK l _Toc310806008 时钟芯片的选择 PAGEREF _Toc310806008 h 13 HYPERLINK l _Toc310806009 设计的最终方案 PAGEREF _Toc310806009 h 13 HYPERLINK l _Toc310806010 硬件电路设计 PAGEREF _Toc310806010 h 14 HYPERLINK

12、 l _Toc310806011 单片机最小系统设计 PAGEREF _Toc310806011 h 14 HYPERLINK l _Toc310806012 LCD显示电路设计 PAGEREF _Toc310806012 h 18 HYPERLINK l _Toc310806013 温度转换电路设计 PAGEREF _Toc310806013 h 19 HYPERLINK l _Toc310806014 按键电路设计 PAGEREF _Toc310806014 h 20 HYPERLINK l _Toc310806015 蜂鸣器电路设计 PAGEREF _Toc310806015 h 21

13、HYPERLINK l _Toc310806016 软件设计 PAGEREF _Toc310806016 h 21 HYPERLINK l _Toc310806017 流程图设计 PAGEREF _Toc310806017 h 21 HYPERLINK l _Toc310806018 程序设计 PAGEREF _Toc310806018 h 24 HYPERLINK l _Toc310806019 3 第三章 系统仿真 PAGEREF _Toc310806019 h 40 HYPERLINK l _Toc310806020 3.1 PROTEUS软件介绍 PAGEREF _Toc3108060

14、20 h 40 HYPERLINK l _Toc310806021 系统PROTEUS仿真 PAGEREF _Toc310806021 h 41 HYPERLINK l _Toc310806022 4 第四章 调试与功能说明 PAGEREF _Toc310806022 h 41 HYPERLINK l _Toc310806023 调试 PAGEREF _Toc310806023 h 41 HYPERLINK l _Toc310806024 软件调试问题及解决 PAGEREF _Toc310806024 h 41 HYPERLINK l _Toc310806025 硬件调试 PAGEREF _T

15、oc310806025 h 42 HYPERLINK l _Toc310806026 系统性能测试与功能说明 PAGEREF _Toc310806026 h 43 HYPERLINK l _Toc310806027 系统时钟误差分析 PAGEREF _Toc310806027 h 43 HYPERLINK l _Toc310806028 致谢 PAGEREF _Toc310806028 h 45 HYPERLINK l _Toc310806029 参 考 文 献 PAGEREF _Toc310806029 h 46带温度显示的可调时钟09机电一体化(自动化)3班 吴基晴指导教师:冯建第一章 理

16、论基础本设计主要以MCS-51单片机为核心,进而控制其它部件实现时钟和温度测量的功能。主要涉及了单片机以及少量模拟电路和数字电路方面的知识。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。 HYPERLINK :/baike.baidu /view/35448.htm t _blank 导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能 HYPERLINK :/baike.baidu /view/4189.htm t _blank IC卡,民用豪华轿车的安全保障系统, HYPERLINK :/bai

17、ke.baidu /view/111680.htm t _blank 录像机、 HYPERLINK :/baike.baidu /view/45678.htm t _blank 摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。 什么是单片机单片微型计算机简称单片机,是指集成在一个芯片上的微型计算机,单片机的各个功能部件包括:CPU、存储器、基本输入输出接口电路、定时/计数器和中断系统等,都集成在一块芯片上,构成一个完整的微型计算机。是典型的嵌入式微型控制器,常用英文字母MCU表示单片机。 单片机的几

18、个概念单片机最小系统:单片机可独立运行的小模块,具备电源电路、复位电路、晶振电路。单片机应用系统:单片机的应用系统主要以单片机为核心,配以输入输出,显示等外围接口电路和软件,能实现一种或多种功能的系统。 单片机的内部组成及信号引脚单片机的基本组成1.中央处理器(CPU):是单片机的核心,完成运算和控制功能。2.内部数据存储器(RAM):8051内部共有256个RAM单元,可读可写,掉电后数据会丢失。3.内部程序存储器(ROM):8051内部共有4KB掩模ROM,只能读不能写,掉电后数据不会丢失,用于存放程序或程序运行构成中不会改变的原始数据,通常称为程序存储器。4.并行I/O端口:8051内部

19、有4个8位并行I/O端口(称为P0、P1、P2、P3),可以实现数据的并行输出。5.串行口:8051内部有一个全双工一步串行口,可以实现单片机于其它设备之间的串行数据通信。6.定时/计数器:8051内部有两个16位的定时/计数器,可实现定时或计数功能。7.中断系统:8051内部共有5个中断源,分为高级和低级两个优先级。8.时钟电路:8051内部有时钟电路,只需外接石英晶振和微调电容即可。频率基准源中断系统可编程串行口定时器0定时器1128BRAM振荡器4KBROM并行端口CPUP0 P1 P2 P3 图1.2 8051单片机的内部组成89C51的信号引脚89C51单片机采用标准双列直插式封装。

20、40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用,其中P3口有第二功能。 P0口8位双端口线P1口8位双端口线P2口8位双端口线P3口8位双端口线ALE地址锁存控制信号PSEN外部程序存储器读选通信号-EA访问程序存储控制信号RST复位信号XTAL1和XTAL2外接晶体引线端Vcc+5V电源Vss地线图1.3 89C51引脚 表1.1 引脚对应功能单片机的中断系统中断系统是单片机中很重要的一个功能,中断是通过改变CPU的运行方向。计算机在执行程序的过程中,外部设备向CPU发出中断请求信号,要求CPU暂时中断当前程序的执行而转去执行相应

21、的处理程序,待处理程序执行完毕后,在执行原来被中断的程序。中断的各个功能部件中断的SFR位76543210符号EAECET2ESET1EX1ET0EX0 中断使能控制寄存器IEEA: 总中断使能位,总阀门。EC: PCA中断使能位ET2:定时器2中断使能位ES: 串口中断ET1:定时器1溢出中断使能EX1:外部中断1使能ET0:定时器0溢出中断使能EX0:外部中断0使能位76543210符号保留PPCPT2PSPT1PX1PT0PX0位76543210符号保留PPCHPT2HPSHPT1HPX1HPT0HPX0H PPC:PCA中断优先级PT: 定时器中断优先级PS:串口中断优先级PX:外部中

22、断优先级中断优先级的说明当设置为默认中断优先级时: 当几个中断同时发生时,则先处理中断优先级高的中断程序,在处理任意中断期间发生中断,都不会响应。当人为配置了中断优先级: 同时发生中断,优先级高的先响应,在处理任意中断时,发生同级别或低级的中断,则不响应,发生优先级更高的中断时,则先处理高优先级中断,处理完毕,再回来处理当前中断。显示和接口键盘技术单片机应用系统经常需要连接一些外部设备,其中键盘和显示器是构成人机对话的一种基本方式,使用最为频繁。液晶显示本设计主要用LCD1602液晶显示。LCD液晶显示器是一种功耗极低的显示器件,它广泛的用于便携式电子产品中。它不仅省电,而且能够显示大量的信息

23、,如文字、曲线、图形等。以下是51系列单片机与1602的连接方式: 1602有16个接口,以下是每个接口信号的说明:编号符号引脚说明1Vss电源地2Vdd电源正极3VL液晶显示偏压信号4RS数据/命令选择端(H/L)5R/W读/写选择端(H/L)6E使能信号7D0Data I/O8D1Data I/09D2Data I/010D3Data I/011D4Data I/012D5Data I/013D6Data I/014BLA背光源正极15BLK背光源负极 操作LCD1602的时序如下:读操作时序: 写操作时序: 按键按键有独立按键和矩阵按键,根据实际情况选择按键的种类。以下是按键的接法: 当

24、用手按下一个键时,如下图所示,往往按键在闭合位置和断开位置之间跳几下才稳定到闭合状态的情况;在释放一个键时,也回会出现类似的情况。这就是抖动。抖动的持续时间随键盘材料和操作员而异,不过通常总是不大于10ms。很容易想到,抖动问题不解决就会引起对闭合键的识别。用软件方法可以很容易地解决抖动问题,这就是通过延迟10ms来等待抖动消失,这之后,在读入键盘码。键按下前沿抖动后沿抖动闭合稳定图1.8 按键抖动信号波形A/D转换在单片机应用系统中,经常需要把单片机中的数字信号转变为连续变化的物理量,即模拟量,如电压、电流、压力等送到外部去控制某些外设;反之,需要把外部连续变化的模拟信号送入单片机进行处理,

25、完成这种由数字量到模拟量的转换器件分别称为数模(D/A)转换器和模数(A/D)转换器。它们是单片机(数字世界)同外部世界的模拟信号(模拟世界)交换数据时不可缺少的器件。本设计用DS18B20进行温度的采集用转换。以下是18B20的封装: GND:地;DQ:数字输入/输出Vdd:可选的+5V电源18B20的操作:设置18B20个数B初始化 匹配ROM跳过ROM 读存储器变换温度存储缓冲区指针加1YNB-1=0?初始化初始化等待1s 单片机的应用单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴: HYPERLINK :/baike.

26、baidu /view/1540405.htm t _blank 智能仪器仪表上的应用 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的 HYPERLINK :/baike.baidu /view/16431.htm t _blank 传感器,可实现诸如电压、 HYPERLINK :/baike.baidu /view/44147.htm t _blank 功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或 HYPERLINK :

27、/baike.baidu /view/635019.htm t _blank 数字电路更加强大。例如精密的测量设备( HYPERLINK :/baike.baidu /view/1608633.htm t _blank 功率计, HYPERLINK :/baike.baidu /view/130973.htm t _blank 示波器,各种分析仪)。 2.在工业控制中的应用 用单片机可以构成形式多样的控制系统、 HYPERLINK :/baike.baidu /view/2102581.htm t _blank 数据采集系统。例如工厂流水线的智能化管芯片管理,电梯智能化控制、各种报警系统,与计

28、算机联网构成二级控制系统等。 3.在家用电器中的应用 可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他 HYPERLINK :/baike.baidu /view/68529.htm t _blank 音响视频器材、再到 HYPERLINK :/baike.baidu /view/287613.htm t _blank 电子秤量设备,五花八门,无所不在。 4.在计算机网络和通信领域中的应用 现代的单片机普遍具备 HYPERLINK :/baike.baidu /view/1296283.htm t _blank 通信接口,可以很方便地与计算机进行

29、数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从 , 机、小型 HYPERLINK :/baike.baidu /view/84642.htm t _blank 程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动 ,集群移动通信, HYPERLINK :/baike.baidu /view/19599.htm t _blank 无线电对讲机等。 5.单片机在医用设备领域中的应用 单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。 6.在各种大型电器中的模

30、块化应用 某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。 在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。 7.单片机在汽车设备领域中的应用 单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于CAN总线的汽车发动机智能 HYPERLINK :/baike.baidu /vi

31、ew/2066657.htm t _blank 电子控制器,GPS导航系统, HYPERLINK :/baike.baidu /view/1029.htm t _blank abs防抱死系统,制动系统等等。 单片机的发展方向1多功能 单片机中尽可能地把所需要的存储器和I/O口都集成在一块芯片上,使得单片机可以实现更多的功能。比如A/D、PWM、PCA(可编程计数器阵列)、WDT(监视定时器看家狗)、高速I/O口及计数器的捕获/比较逻辑等。 有的单片机针对某一个应用领域,集成了相关的控制设备,以减少应用系统的芯片数量。例如,有的芯片以51内核为核心,集成了USB控制器、SMART CARD接口、

32、MP3解码器、CAN或者I*I*C总线控制器等,LED、LCD或VFD显示驱动器也开始集成在8位单片机中。2、高效率和高性能 为了提高执行速度和执行效率,单片机开始使用RISC、流水线和DSP的设计技术,使单片机的性能有了明显的提高,表现为:单片机的时钟频率得到提高;同样频率的单片机运行效率也有了很大的提升;由于集成度的提高,单片机的寻址能力、片内ROM(FLASH)和RAM的容量都突破了以往的数量和限制。 由于系统资源和系统复杂程度的增加,开始使用高级语言(如C语言)来开发单片机的程序。使用高级语言可以降低开发 难度,缩短开发周期,增强软件的可读性和可移植性,便于改进和扩充功能。3、低电压和

33、低功耗 单片机的嵌入式应用决定了低电压和低功耗的特性十分重要。由于CMOS等工艺的大量采用,很多单片机可以在更低的电压下工作(1.2V或0.9V),功耗已经降低到uA级。这些特性使得单片机系统可以在更小电源的支持下工作更长的时间。4、低价格单片机应用面广,使用数量大,带来的直接好处就是成本的降低。目前世界各大公司为了提高竞争力,在提高单片机性能的同时,十分注意降低其产品的价格。第二章 整体方案设计带温度显示可调时钟背景20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产

34、品更新换代的节奏也越来越快。现代生活的人们越来越重视起了时间观念,可以说是时间和金钱划上了等号。对于那些对时间把握非常严格和准确的人或事来说,时间的不准确,会带来非常大的麻烦,所以以液晶为显示器的时钟比指针式的时钟表现出了很大的优势。液晶显示的时间简单明了而且读数快、时间准确显示到秒。而机械式的依赖于晶体震荡器,可能会导致误差。本设计中的数字钟是采用数字电路实现对“时”、“分”、“秒”“星期”数字显示的计时装置。数字钟的精度、稳定度远远超过老式机械钟。同时,现在很多的人也都很关注温度的变化。为此,在本设计中,采用LCD1602显示时、分、秒,以24小时计时方式的同时也显示当前的温度。用12MH

35、z的晶振产生振荡脉冲,定时器定时,DS18B20采集温度及温度转换。在此次设计中,电路具有显示时间和温度的其本功能,还可以实现对时间的调整,而且每当按下按键时都会有蜂鸣器的发声进行提示。数字钟是其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱,因此得到了广泛的使用。制定设计方案单片机的选择目前国内生产的单片机的型号有很多,在本设计中我选择了AT89C51。因为Atmel公司的MCS-51单片机,价格便宜,而且提供了丰富的外围接口和专用控制器,例如电压比较,US控制、MP3解码及CAN控制等。内部含Flash存储器,在系统开发的过程中很容易修改;和80C51插座兼容;

36、采用静态时钟方式;可反复系统试验。基于这些条件,完全能够满足本设计的要求,故选择AT89C51这款单片机。显示器的选择方案一:采用LED数码管进行动态显示。LED数码管价格比较便宜,但在显示需要显示“时”“分”“秒”“星期”以及“温度”所用的数码管会比较多,价格上并没有占据大的优势,而且所需要的面积会比较大。方案二:采用点阵式数码管显示。点阵式数码管采用8行8列的发光二极管显示,用于显示文字比较合适,用于显示数字就太浪费了。方案三:采用LCD显示。考虑到本设计需要显示的内容较多,而且LCD的显示功能强大,若想要拓展显示其它的东西会比较方便,故本设计选用LCD1602进行显示。温度转换芯片的选择

37、方案一:采用A/D转换芯片ADC0809,进行温度的采集与转换。ADC0809通用性好,操作比较简单,但ADC0809占用的I/O口多,而且还需要74LS74芯片进行辅助。设计电路时会比较麻烦。方案二:采用DS18B20进行温度的采集与转换。DS18B20接口少,设计电路简单,故采用本芯片。时钟芯片的选择方案一:采用DS1302实时时钟芯片。实时时钟芯片能准确的显示年、月、日、星期、时、分、秒,但是本设计中主要的目的是时钟的设计,若用DS1302会显得有点浪费。方案二:不使用芯片,而用单片机中的定时计数器及中断配合控制,这样虽然会造成时间的误差,但在不是很高要求的场合中运用是能够满足要求的,这

38、样既能满足要求又能节约成本。设计的最终方案综上各方案所述,本设计采用AT89C51作为主控制系统,使内部时钟电路外接晶振,提供时钟震荡电路,用DS18B20进行温度的采集及转换,用LCD1602进行显示。硬件电路设计单片机最小系统设计 单片机的最小系统是由电源、复位、晶振、/EA=1组成,下面分别介绍每一个组成部分。1.电源引脚 Vcc40电源端GND20接地端工作电压为5V,另有AT89LV51工作电压则是2.7-6V, 引脚功能一样。 图2.2 晶振连接的内部、外部方式图XTAL119XTAL218 XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡

39、信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz内选择。电容取30PF左右。系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。AT89单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快

40、速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为22F。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。3. 复位RST9在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P0P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。复位是由外部的复位电路来实现的。片内复位电路是复位引脚RST通过一个斯密

41、特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路。当时钟频率选用6MHz时,C取22F,Rs约为200,Rk约为1K。复位操作不会对内部RAM有所影响。常用的复位电路如下图所示:图2.3 常用复位电路图(1) P0端口P0.0-P0.7 P0是一个8位漏极开路型双向I/O端口,端口置1(对端口写1)时作高阻抗输入端。作为输出口时能驱动8个TTL。对内部Flash程序存储器编程时,接收指令字节;校验程序时输出指令字节,要求外接上拉电阻。在访问外部程序和外部数

42、据存储器时,P0口是分时转换的地址(低8位)/数据总线,访问期间内部的上拉电阻起作用。(2) P1端口P1.0P1.7 P1是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收低8位地址信息。(3) P2端口P2.0P2.7 P2是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。而在访问8位地址的外部

43、数据存储器时其引脚上的内容在此期间不会改变。(4) P3端口P3.0P3.7 P2是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接控制信息。除此之外P3端口还用于一些专门功能,具体请看下表。P3引脚兼用功能串行通讯输入(RXD)串行通讯输出(TXD)外部中断0( INT0)外部中断1(INT1)定时器0输入(T0)定时器1输入(T1)外部数据存储器写选通WR外部数据存储器写选通RD表2.1 P3端口引脚兼用功能表LCD显示电路设计 LCD1602液晶显示电路设计时,因为数据端口连接的是P

44、0口,P0口内部没有上拉电阻,所以在设计时要加上大小在4.7K-10K之间的上拉电阻。本设计采用4.7K的排阻。DS18B20转换后的温度通过单片机P0口输入到液晶上显示,时间也是通过PO口输入到液晶进行显示。温度转换电路设计 DS18B20采用的是单总线的接法,2口接单片机I/O口要接4.7K或10K的上拉电阻,是数据的输入输出端,3口接5V电源,1口接地。按键电路设计 按键用于调整时间,因为按键数比较少,所以采用独立按键,按键的一端用总线串联在一起接地。通过按键的来调节时钟。蜂鸣器电路设计 蜂鸣器用作在用户按下按键时发声提示,蜂鸣器的设计中,用到了三极管进行信号的放大,在基极串接上一个10

45、K的电阻起到限流的作用。 软件设计软件设计分为两部分:一是流程图设计;二是程序设计。流程图设计开始 说明:按键1:a按键2:b按键3:c1602初始化18B20初始化时间初始化显示时间启动18B20按下a1602显示温度时钟停止温度变化?按键按下次数n=n+1n=1?n=1?n=2?n=4?n=3?调整小时n=0调整秒调整星期调整分按c按b时间减时间加 说明:秒:sec分:mit时:hour星期:u中断响应 cnt=cnt+1cnt=20?sec+sec=60?mit+mit=60?hour+hour=60?u+u=7?u=0返回 程序设计#define uchar unsigned char

46、#define uint unsigned intsbit DQ = P13;sbit RS = P25;sbit RW = P26;sbit EN = P27;sbit key1 = P20;sbit key2 = P21;sbit key3 = P22;sbit beep = P14;uchar code week = SUN MON TUE WED THU FRI SAT;uchar code table = TEM;uchar data disdata5; /温度暂存uint tvalue;/温度值uchar tflag;/温度正负标志uchar hour,mit,sec;uchar

47、cnt = 0,knum = 0,u = 0;void timer0_init();void di();void delay1ms(uint ms);void wr_com(uchar com);void wr_dat(uchar dat);void lcd_init();void wrchar(uchar *p);void disp_hms(uchar add,uchar num);void disp_week(uchar w);void init_time();void init_temp();void delay_18B20(uchar i);void ds1820rst();uchar

48、 ds1820rd();void ds1820wr(uchar wdata);void start_temp_sensor();uint read_temp();void ds1820disp();void key1_ctrl();void key2_ctrl();void key3_ctrl();/*主程序*/void main() SP=0 x50;lcd_init(); /1602初始化init_time(); /初始化时间init_temp(); /初始化温度while(1)read_temp(); /读取温度ds1820disp(); /显示温度disp_hms(10,sec); /

49、刷新时间disp_hms(7,mit);disp_hms(4,hour);disp_week(u);if(key1 = 0)while(1) key1_ctrl(); key2_ctrl(); key3_ctrl(); if(knum = 5)TR0 = 1;knum = 0;wr_com(0 x0c);break; void time() interrupt 1 using 0 /时钟计时TH0 = 0 x3c;TL0 = 0 xb0;cnt+;if(cnt = 20) cnt = 0; sec+;if(sec = 60) sec = 0; mit+;if(mit = 60) mit= 0;

50、 hour+;if(hour = 24)hour = 0; u+; if(u = 7) u = 0;void key1_ctrl() /时间光标定位 if(key1 = 0)delay1ms(5);if(key1 = 0)while(!key1);di();knum+;if(knum = 1)TR0 = 0;wr_com(0 x80+5);wr_com(0 x0f);if(knum = 2)wr_com(0 x80+8);if(knum = 3)wr_com(0 x80+11);if(knum = 4)wr_com(0 x80+15);void key2_ctrl() /时间加if(knum!

51、=0)if(key2 = 0)delay1ms(5);if(key2 = 0)while(!key2);di();if(knum = 1)hour+;if(hour = 24)hour = 0;disp_hms(4,hour);wr_com(0 x80+5);if(knum = 2)mit+;if(mit = 60)mit = 0;disp_hms(7,mit);wr_com(0 x80+8);if(knum = 3)sec+;if(sec = 60)sec = 0;disp_hms(10,sec);wr_com(0 x80+11);if(knum = 4)u+;if(u = 7)u = 0;

52、disp_week(u);wr_com(0 x80+15);void key3_ctrl()/时间减if(knum!=0)if(key3 = 0)delay1ms(5);if(key3 = 0)while(!key3);di();if(knum = 1)hour-;if(hour = -1)hour = 23;disp_hms(4,hour);wr_com(0 x80+5);if(knum = 2)mit-;if(mit = -1)mit = 59;disp_hms(7,mit);wr_com(0 x80+8);if(knum = 3)sec-;if(sec = -1)sec = 59;dis

53、p_hms(10,sec);wr_com(0 x80+11);if(knum = 4)u-;if(u = -1)u = 6;disp_week(u);wr_com(0 x80+15);void timer0_init()/初始化定时器TMOD = 0 x01;TH0 = 0 x3c;TL0 = 0 xb0;TR0 = 1;EA = 1;ET0 = 1;void di() /蜂鸣器beep = 0;delay1ms(100);beep = 1;/*lcd1602程序*/void delay1ms(uint ms)/延时大概1毫秒 uint i,j; for(i=0; ims; i+) for(j=0; j100; j+);void wr_com(uchar com)/写指令 delay1ms(1); RS = 0; RW = 0; EN = 0; P0 = com; delay1ms(1); EN = 1; delay1ms(1); EN = 0;void wr_dat(uchar dat)/写数据 delay1ms(1); RS = 1; RW = 0; EN = 0; P0 = dat; delay1ms(1); EN = 1; dela

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论