用单片机设计8位数显电子时钟_第1页
用单片机设计8位数显电子时钟_第2页
用单片机设计8位数显电子时钟_第3页
用单片机设计8位数显电子时钟_第4页
用单片机设计8位数显电子时钟_第5页
已阅读5页,还剩39页未读, 继续免费阅读

付费下载

下载本文档

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

文档简介

1、毕业设计(论文)题 目: 八位数显时钟 年级专业: 电子信息工程 学生姓名: 指导教师: 2010年8月28日毕业设计任务书1.毕业设计题目:八位数显时钟 题目类型 实验研究 题目来源 教师科研题毕业设计时间从 2010年4月至 2010年5月毕业设计内容要求:(一)设计任务: 1、用单片机设计8位数显电子时钟; 2、走时,误差精度控制在1s/天; 3、调时,小时、分钟加减调整及闪烁显示; 4、闹铃,可以设置三组闹铃,默认闹铃时间为1分钟,可按任意键推出闹铃。 (二)涉及要求: 1、总体方案设计及框图; 2、设计原理电路图及分析; 3、 独立编写程序; 4、完成protues仿真设计; 5、使

2、用protel设计pcb并制作、调试电路。 2.主要参考资料1电子工业出版社51单片机典型系统开发实例精讲白延敏; 2复旦大学出版社单片微型机原理、应用和实验 张友德; 3海纳电子资讯网www.fpga-IC中文资料; 3.毕业设计进度阶段阶 段 内 容起止时间1开讲个人选题报告413-4.152着手收集资料,并报送提纲审定4.15-4.253集中指导与个别指导,提交初稿审查4.26-5194修改,经审稿后定稿交稿5.195.265答辩与鉴定5.27指导老师: 教研室主任: 系主任: 1题目类型:(1)理论研究(2)实验研究(3)工程设计(4)应用研究(5)软件开发2题目来源:(1)教师科研题

3、(2)生产实际题(3)模拟或虚构题(4)学生自选题摘 要单片机即单片微型计算机。(Single-Chip Microcomputer ),是集 CPU,RAM,ROM,定时,计数和多种接口于一体的微控制器。他体积小,成本低,功能强,广泛应用于工业自动化上和智能产品。 时钟,自从它被发明的那天起,就成为了人类的好朋友,但随着时间的推移,科学技术的不断发展,时钟的应用越来越广范,人们对时间计量的精度要求也越来越高。怎样让时钟更好的为人民服务,怎样让我们的老朋友再次焕发青春呢?有没有一款既简单实用价格又便宜的时钟呢? 基于这种情况,经多方查阅资料,反复论证设计出了这款既简单实用,又价格便宜的单片机电

4、子数显时钟。本设计主要采用了1块89S52微处理芯片, 外接五个按键及1个LCD1602液晶显示器,1个排阻,一个蜂鸣器等通过软件编程实现电子数显时钟的功能。与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置采用软件仿真及硬件调试,结合电子产品工艺的流程与调试方法等优点,因而得到了广泛的应用:小到生活中的电子手表,大到车站、码头、机场等公共场所的大型数显电子钟,给人们的生活带来了很大的方便。关键词 单片机;LCD1602液晶显示器;C程序设计 目 录绪 论1第一章 系统设计要求21.1基本功能21.2扩展功能2第二章 方案设计与比较32.1 数字时钟方案32.2显示方案4第三章系统硬

5、件的设计53.1单片机的选择及管脚介绍53.1.1单片机的选择及主要性能53.1.2 单片机管脚介绍53.2 LCD1602的管脚及功能介绍83.2.1 引脚说明83.2.2 控制器接口说明93.3 总体设计103.3.1 系统说明103.3.2 整体系统框图103.4 各部分功能实现113. 5 系统工作电路123.5.1 按键电路及闹铃电路123.5.2 LCD显示电路133.5.3 电源电路133.5.4 整体电路图14第四章 软件总体设计方案164.1 主程序流程图:16第五章 时钟仿真各功能分析及图解185.1 电路仿真各功能图解分析185.2 产品功能及使用说明23第六章 课程设计

6、结果分析25第七章 总结26致 谢27参考文献28附 录29(1)控制电路的C语言源程序29(3)8位数显时钟成品展示图38毕业设计(论文)成绩评定表39绪 论课题背景:20世纪80年代以来,单片机的应用领域越来越广泛,已经深入到工业、农业、国防、科研、机关、教育、商业以及家电、生活、娱乐、玩具等各个领域中。数字时钟便是其中应用最广泛的代表。具有读数方便,便于对其进行设置如:调时,调设闹铃,而且精度高,走时准确以及环境适宜性强等特点。现代科学技术的飞速发展,改变了世界,也改变了人类的生活。作为新世纪的大学生,应当站在时代发展的前沿,掌握现代科学技术知识,调整自己的知识结构和能力结构,以适应社会

7、发展的要求。新世纪需要具有丰富的现代科学知识、能够独立解决面临任务、充满活力、有创新意识的新型人才。设计应用前景:本次设计是基于单片机的8位数显时钟,它在我们的生产和生活中有着越来越广泛的应用前景。这种系统具有很强的适用性、灵活性、先进性。它的应用将使得我们的生活变的更加轻松。大大方便了人们的生活。可广泛应用于各种公众场合告知人们准确的时间。随着信息技术的不断向前发展,一些功能更强的应用系统将出现在我们的各个方面,这将体现着高科技带给人们的无穷魅力。第一章 系统设计要求1.1基本功能(1)能够显示时分秒(2)能够调整时分秒(3)走时,误差精度控制在1s/天1.2扩展功能(1)能够任意设置调时,

8、小时、分钟加减调整及闪烁显示(2)闹铃,可以设置三组闹铃,默认闹铃时间为1分钟,可按任意键推出闹铃第二章 方案设计与比较2.1 数字时钟方案数字时钟是本设计的最主要的部分。根据需要,可利用两种方案实现。方案一:本方案采用Dallas公司的专用时钟芯片DS12887A。该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证

9、芯片的正常运行,以备随时提供正确的时间。方案二:本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。该方案具有硬件电路简单的特点。但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。基于硬件电路的考虑,本设计采用方案二完成数字时钟的功能。2.2显示方案方案一:采用LE

10、D数码管动态扫描,LED数码管价格适中,对于显示数字合适,采用动态扫描法与单片机连接时,虽然占用的单片机口线少,但连线还需要花费一点时间,所以也不用此种作为显示。方案二:采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见 ,和AT89S52比较好接,走线比较简单、明了,不会产生由于布线复杂而产生的不美观或者短路等问题,因而也省去了很多麻烦,同时也提高了电路的成功率。所以在此设计中采用LCD液晶显示屏。第三章系统硬件的设计 3.1单片机的选择及管脚介绍3.1.1单片机的选择及主要性能AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编

11、程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲

12、模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。3.1.2 单片机管脚介绍VCC:电源GND:地 P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1口:P1口是一个具有内部上拉电阻的

13、8 位双向I/O口,p1 输出缓冲器能驱动4个TTL逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。 在flash编程和校验时,P1口接收低8位地址字节。 引脚号第二功能 :P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1

14、.6 MISO(在系统编程用) P1.7 SCK(在系统编程用) P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一

15、些控制信号。 P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在flash编程和校验时,P3口也接收一些控制信号。 P3口亦作为AT89S52特殊功能(第二功能)使用,端口引脚第二功能如下所示。P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断0)P3.3 INT1(外中断1)P3.4 TO(定时/计数器0)P3.5 T1(定时/计数器1)P3.6 WR(外部数

16、据存储器写选通)P3.7 RD(外部数据存储器读选通)RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,

17、应设置ALE禁止位无效。PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。XTAL1:振荡器反向相大器和内部时钟发生电路的输入端。XTAL2:振荡器反向相大器的输出端。3.2 LC

18、D1602的管脚及功能介绍3.2.1 引脚说明LCD1602引脚图 3-11602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线:具体功能如表3-2表 3-2引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。4RSRS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。5R/WR/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。6EE(或EN)端为使能(enable)端,下降

19、沿使能。7DB0底4位三态、 双向数据总线 0位(最低位)8DB1底4位三态、 双向数据总线 1位9DB2底4位三态、 双向数据总线 2位10DB3底4位三态、 双向数据总线 3位11DB4高4位三态、 双向数据总线 4位12DB5高4位三态、 双向数据总线 5位13DB6高4位三态、 双向数据总线 6位14DB7高4位三态、 双向数据总线 7位(最高位)(也是busy flag)15BLA背光电源正极16BLK背光 电源负极3.2.2 控制器接口说明1、基本操作时序:1.1读状态:输入:RS=L,RW=H,E=H;输出:D0D7=状态字1.2写指令:输入:RS=L,RW=L,D0D7=指令码

20、,E=高脉冲 输出:无1.3读数据:输入:RS=H,RW=H,E=H;输出:D0D7=数据1.4写数据:输入:RS=H,RW=L,D0D7=指令码,E=高脉冲 输出:无3.3 总体设计3.3.1 系统说明利用单片机(AT89S52)制作8位数显时钟,由1个LCD1602液晶显示小时十位、小时个位、分钟下位、分钟个位。K1用于一般调时与闹铃设置模式之间的切换,K2用于对小时调整,K3用于对分钟进行调整,K4用于调时过程中加减模式的切换。3.3.2 整体系统框图89S52单片机LCD液晶显示闹铃电路电源电路开关按键 图3-3统框图3.4 各部分功能实现(1)单片机发送的信号通过程序控制最终在显示器

21、上显示出来。(2)单片机通过输出各种电脉冲信号来驱动控制各部分正常工作。(3)为使时钟走时与标准时间一致,校时电路是必不可少的,按键用来校正显示器上显示的时间。(4)单片机通过控制闹铃电路来完成 定时闹钟的功能。表3-1详细元器件列表:表 3-4元器件列表1K电阻1个0.2K电阻1个10K排阻1个10K滑动变阻器1个12MHZ晶振1个20uF电容1个22pF电容2个AT89S521个PNP三极管1个扬声器1个开关铵键1个LM016L显示器1个3. 5 系统工作电路3.5.1 按键电路及闹铃电路 图3-5按键电路 图 3-6闹铃电路 按键电路: 如图3-5所示P1口内部自带上拉电阻,因而确保了所

22、有按键在初始状态为高电平。闹铃电路:蜂鸣器发声原理:是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此要增加一个电流放大的电路。通过一个三极管来放大驱动蜂鸣器。如图3-6所示:当B8即P2.7输出低电平时,三极管饱和导通,电源直接给蜂鸣器供电使它发出鸣叫。3.5.2 LCD显示电路如图3-7所示,LCD1602显示器的显示信号由P0口输出,当P0口作为输出口使用时,内部的写脉冲加在D触发器的CP端,数据写入锁存器,并向端口引脚输出,而P0口内部并未自带上拉电阻,因而当P0口进行一

23、般的I/O口输出时,由于输出电路是漏极开路电路,必须外接上拉电阻才能有高电平输出。LCD1602的1脚接地,2脚接电源为整个显示器供电。 图 3-7显示电路 3.5.3 电源电路如图3-8所示,市电经降压变压器输出8V电压,经桥式整流变成直流,电容滤波(滤除了高频干扰,脉动直流变地更加平滑了), 再由CW7805输出5V电压,给主电路供电。 图 3-8电源电路图3.5.4 整体电路图系统电路原理图(3-9)与PCB板图(3-10): 图 3-9系统电路图本设计采用C语言程序设计,使单片机控制显示器显示时、分、秒,当秒计数计满59时就向分进位,分计数器计满59后向时计数器进位,小时计数器按“23

24、翻0”规律计数。时、分、秒的计数结果经过数据处理可直接送显示器显示。当计时发生误差的时候可以用校时电路进行校正。设计采用的是时、分、秒显示,单片机对数据进行处理同时在显示管上显示。图3-10 PCB板图第四章 软件总体设计方案4.1 主程序流程图:软件程序从开始执行,先通过初始化各个寄存器,经过扫描按键来决定是否设定参数来执行相应功能的程序,进而在显示器上显示。主程序流程图如图4-1 图 4-1主程序流程图按K2、K3分别对时、分的减少得到调时后的时间按K2、K3分别对时、分的增加是否开始调时模式,按K4进行加、减模式设置字符m后显示“1”?按K1进行模式设置屛幕上显示“t”?闹铃模式,按K4

25、进行加、减模式设置是否得到闹铃时间按K2、K3分别对时、分的增加字符m后显示“1”?按K2、K3分别对时、分的减少是否“走时时间”是否等于“闹铃时间”闹铃开始是否图 4-2 闹铃与调时设置流程图第五章 时钟仿真各功能分析及图解5.1 电路仿真各功能图解分析(1)复位及时钟运行图仿真开始运行时,时钟从12:00:00开始运行,其中K2键对小时进行调整,K3键对分钟进行调整,K1控制时钟是执行正常走时模式还是闹铃设置模式。1当显示器左上角或h之前显示1时,时钟执行正常走时模式,且当按下K2和K3可对时钟的时、分进行加调整。2当显示器左上角或h之前显示0时,时钟执行正常走时模式,且当按下K2和K3可

26、对时钟的时、分进行减调整。3当时钟执行正常走时模式时,按K4键可对时钟加、减调时的模式进行切换。RST引脚是复位信号的输入端,复位信号是高电平有效,复位操作有上电自动复位和按键手动复位两种方式。而此处是脉冲方式的按键手动复位。当按下复位键后,单片机进行初始化操作。图 5-1开机及复位图时钟运行图如图5-2所示:图 5-2时钟运行图(3)闹铃设置图及运行图按下K1使时钟显示器左上角或h之前显示t时,时钟进入闹铃模式,开始定时,分别按K2调时,K3调分设置闹铃时间(此设置过程中的时间加减与时钟运行中的时间加减调置方法一样)。且此时显示器第一排所显示的时间即为所设的闹铃时间(图5-3),当闹铃设置时

27、间到时,蜂鸣器将发出闹铃声(图5-4)。图 5-3闹铃时间设置图图 5-4闹铃运行图该数字钟是用一片AT89S52单片机通过编程去驱动液晶显示器实现的。通过4个开关控制,从上到下4个开关K1-K4的功能分别为:K1,时钟与闹铃设置状态切换;K2,调节时,每调一次时加1;K3, 调节分,每调一次分加1;K4,切换时钟的加减状态;分别与P1.4P1.7口连接其中:1通过P0口和P2口去控制液晶显示器的显示。2在设置的闹钟时间到了从P2.7输出一个信号使三极管导通,可以去驱动扬声器实现闹钟。3闹钟设置的时间为1分钟,在1分钟的闹铃时间内,按下K2-K4中任意键则可退出闹铃,若1分钟的闹铃时间已到仍未

28、进行按键操作则闹铃自动退出。5.2 产品功能及使用说明 本产品具有正常走时,调时,以及闹铃三种功能。 各个控制键的功能介绍如下:1.K1键:正常走时模式与闹铃设置模式切换。2.K2键:小时控制。3.K3键:分钟控制。4.K4键:调时间时的加、减模式切换。5.K5键:复位。6.按下K1,当显示器左上角或h之前显示1或0时,时钟执行正常走时模式。同时按下K4,当显示器右上角或m之后显示1时,时钟执行正常走时加模式,且当按下K2和K3可对时钟的时、分进行加调整。当按键K2按下时,进入调时状态,按一次,时加一,23翻0;按键K3按下时,进入调分状态,按一次,分加一,59翻0。按下K4,当显示器右上角或

29、h之后显示0时,时钟执行正常走时减模式,且当按下K2和K3可对时钟的时、分进行减调整。当按键K2按下时,进入调时状态,按一次,时减一,24一循环;按键K3按下时,进入调分状态,按一次,分减一,60一循环。 按下K1使时钟显示器左上角或h之前显示t时,时钟进入闹铃模式,开始定时,分别按K2调时,K3调分设置闹铃时间(此设置过程中的时间加减与时钟运行中的时间加减调置方法一样)。且此时显示器第一排所显示的时间即为所设的闹铃时间,当闹铃设置时间到时,扬声器将发出闹铃声,按下四个开关按键中的任意一个就会退出闹铃。7.按下K1使时钟显示器左上角或h之前显示t时,时钟进入闹铃模式,开始定时,分别按K2调时,

30、K3调分设置闹铃时间(此设置过程中的时间加减与时钟运行中的时间加减调置方法一样)。且此时显示器第一排所显示的时间即为所设的闹铃时间,当闹铃设置时间到时,蜂鸣器将发出闹铃声,在1分钟的闹铃时间内,按下K2-K4中任意键则可退出闹铃,若1分钟的闹铃时间已到仍未进行按键操作则闹铃自动退出。第六章 课程设计结果分析此时钟设计是利用protues仿真软件进行仿真,基本上实现了课程设计要求实现的功能。硬件部分设置了的五个按键。当按键K1按下时,进入走时校正与闹铃设置模式切换。1当显示器左上角或h之前不显示t时,时钟执行正常走时模式。2当时钟执行调整时,按K4键可对时钟加、减调时的模式进行切换。3当显示器右

31、上角或m之后显示1时,时钟执行正常走时加模式,且当按下K2和K3可对时钟的时、分进行加调整。当按键K2按下时,进入调时状态,按一次,时加一,60一循环;按键K3按下时,进入调分状态,按一次,分加一,60一循环。4当显示器右上角或m之后显示0时,时钟执行正常走时减模式,且当按下K2和K3可对时钟的时、分进行减调整。当按键K2按下时,进入调时状态,按一次,时减一,60一循环;按键K3按下时,进入调分状态,按一次,分减一,60一循环。5按下K1使时钟显示器左上角或h之前显示t时,时钟进入闹铃模式,开始定时,分别按K2调时,K3调分设置闹铃时间(此设置过程中的时间加减与时钟运行中的时间加减调置方法一样

32、)。且此时显示器第一排所显示的时间即为所设的闹铃时间,当闹铃设置时间到时,扬声器将发出闹铃声,按下k2、k3、k4开关按键中的任意一个就会退出闹铃。第七章 总结 经过两周的单片机课程设计,现已基本完成课题要求。功能上基本达标:时钟的显示,定时闹铃功能,调时功能。时钟显示功能,精确度完全可以满足日常生活显示时间的需要;调时功能,方便快捷;定时功能准确可靠,还有扩展成音乐闹钟的余地。硬件设施合乎要求,软件设计可以配合硬件实现要求功能。但是由于设计不够慎密,出现部分不足:硬件电路设计一次性不够完整因而导致出现了一根飞线使电路不够美观。 另外,在本次设计的过程中,我发现很多的问题,虽然以前没有做过这样

33、的设计但通过这次设计我学会了很多东西,单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法,虽然以前写过次程序,但我觉得写好一个程序并不是一件简单的事,比如写一个程序看其功能很少认为编写程序简单,但到编的时候才发现一些细微的知识或低级错误经常犯做不到最后常常失败,所以有些东西只有学精弄懂并且要细心才行,只学习理论有些东西是很难理解的,更谈不上掌握。从这次的毕业设计中,我们真真正正的意识到,在以后的工作中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的练习的过程中才能提高,我想这就是我在这次毕业设计中的最大收获。致 谢从四月中旬接受课题到现在完

34、成毕业设计论文, 在此我要感谢我的指导老师蒋 老师。蒋老师给予了我精心的指导和热情的帮助,在我被问题困惑不解时,为我指点迷津,帮助我开拓思路,精心点拨。尤其在我陷入困境想放弃时老师的热忱鼓励使我又对自己充满信心。正是有了蒋老师的大力指导和帮助,才使我能在答辩之前顺利地完成该设计。还有邓 老师,虽然邓老师不是我的辅导老师,但是每向邓老师请教时,老师都是很热忱很细心地帮助。两位老师不仅专业知识丰富,而且在教学上也有自己特色,老师渊博的知识,敏锐的思路和实事求是的工作作风给我留下了深刻的印象,这将使得我终身受益。我想这对于我以后的工作和学习来说是一种巨大的帮助。同时还要感谢湖南LG技术学院全体老师对

35、我的教育和培养。特别是信息工程系的老师们,是你们给予了我们知识与无微的关爱,使我们能在这里健康快乐的成长。在此,我向各位老师表示衷心的感谢和崇高的敬意! 参考文献1 李叶紫王喜斌.胡辉.孙东辉.编著MCS_51单片机应用教程M.清华大学出版社2008.6.2 陆剑单片机应用技术指导书M 河南工业职业技术学院2005.12)3 黄庆华、张永格.单片机开发 与实例M.电子工业出版社(127162页 数字式电子时钟的设计).4 闫玉德、俞红.MCS-51单片机原理与应用(C语言版)M.机械工业出版社(49104页 单片机的C程序设计).5 求是科技.单片机典型模块设计实例导航M.人民邮电出版社(85

36、90页 单片机数字时钟).6 刘守义,王静霞。单片机应用技术M.西安电子科技大学出版社,2002.287.7 金龙国.单片机原理与应用M.北京:中国水利水电出版社,2005.256.8 朱一纶.智能仪器基础M.北京:电子工业出版社,2007.141158.9胡宴如.模拟电子技术M.北京:高等教育出版社,2006.237258附 录(1)控制电路的C语言源程序根据流程图,经过认真分析得出控制电路的源程序如下:#include<reg51.h>unsigned char code str1=" h m "unsigned char code str2="

37、: : "unsigned char data disdata1;unsigned int snum=0;unsigned int tip=0;sbit RS=P20;sbit RW=P21;sbit EN=P22;sbit buzzer=P27; sbit time=P14;sbit jh=P15;sbit jm=P16;sbit js=P17;sbit l1=P30; sbit l2=P37; /*延时*/ void delay1ms(unsigned int t)unsigned int i,j; for(i=0;i<t;i+) for(j=0;j<100;j+);

38、/*写指令(单片机给1602写命令)*/void wr_com(unsigned char com) /1602接收到命令后,不用存储,直接由HD44780执行并产生相应动作 delay1ms(1); RS=0; /选择指令寄存器 RW=0; /选择写 EN=0; P0=com; /把命令字送入P0 delay1ms(1); /延时一小会儿,让1602准备接收数据 EN=1; /使能线电平变化,命令送入1602的8位数据口 delay1ms(1); EN=0;/*1602写数据*/void wr_dat(unsigned char dat) delay1ms(1); RS=1; RW=0; /

39、选择写 EN=0; P0=dat; /把要显示的数据送入P0 delay1ms(1); /延时一小会儿,让1602准备接收数据 EN=1; /使能线电平变化,数据送入1602的8位数据口 delay1ms(1); EN=0;/*1602初始化设置*/void lcd_init()delay1ms(15);wr_com(0x38); /8位数据,双列,5*7字形 delay1ms(5);wr_com(0x80); /显示地址设为80H(即00H,)上排第一位(也是执行一条命令) delay1ms(5);wr_com(0x01); /清屏 delay1ms(5);wr_com(0x06); /显示

40、地址递增,即写一个数据后,显示位置右移一位 delay1ms(5);wr_com(0x0c); /开启显示屏,关光标,光标不闪烁 delay1ms(5);/*循环显示数字*/void numpro() unsigned int h1,h2,h3,h4,h5,h6,ht,m1,m2,m3,m4,m5,m6,mt,s1,s2,s3,tip,t,i,ck;unsigned char *n1;tip=0;h1=12;m1=0;s1=0;h4=0;m4=0;ck=0;for(h1=12;h1<24;h1+)for(m1=0;m1<60;m1+)for(s1=0;s1<60;s1+)/*

41、当按下K4进行加/减模式的切换-走时调整*/if(js=0) tip+;ck=1; if(tip=2) tip=0;/如果tip=2,则tip清0以备下次if(jh=0)if(tip=1)h1+;ck=1;elseh1-;ck=1;buzzer=1;/如果时(K2)按下时,奇偶判断-如果tip=1则时加,否则时/减if(h1=24)h1=0;if(h1>24)h1=23;if(jm=0)if(tip=1)m1+;ck=1;elsem1-;ck=1;buzzer=1;if(m1=60)m1=0; if(m1>60)m1=59;/如果分钟大于60,则分钟if(time=0)i=1;n1

42、="t"/如果K1被按下,n1="t",将进入闹铃的设置模式while(i)while(h1<24)while(m1<60)while(s1<60)/*当按下K4进行加/减模式的切换-闹铃调整*/if(js=0) tip+;ck=1; if(tip=2) tip=0;if(jh=0)if(tip=1)h4+;ck=1;elseh4-;ck=1;buzzer=1;if(h4=24)h4=0;if(h4>24)h4=23;if(jm=0)if(tip=1)m4+;ck=1;elsem4-;ck=1;buzzer=1;if(m4=60)m4=0; if(m4>60)m4=59;if(h1=h4)if(m1=m4)if(ck=0) buzzer=0; delay1ms(250);delay1ms(250);delay1ms(25

温馨提示

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

评论

0/150

提交评论