单片机课程设计说明书内容及格式要求.doc_第1页
单片机课程设计说明书内容及格式要求.doc_第2页
单片机课程设计说明书内容及格式要求.doc_第3页
单片机课程设计说明书内容及格式要求.doc_第4页
单片机课程设计说明书内容及格式要求.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

中北大学信息商务学院 单片机课程设计说明书1 引言11 数字时钟的发展史电子钟有着很长的历史,从民国19年的电钟,研制始於60年代中期的国内电晶体、半导体管钟,到研制始於70年代末的石英电子钟,再到今天我们所用的智能电子钟。以前的电子钟存在着很多缺点,其外观体积庞大,在功能上有死摆、走时时间不长、走时精确度不高等缺点。如今的电子数字时钟无论是外观,还是在功能上,都有了很大的改进。12 设计的目的与意义我们大学生的生活包括:学习、休息以及参与社会的多种实践活动,环环有条理,丰富多彩。时钟的计时功能与我们的各种行为和活动有着密切的联系,于是时钟的作用便体现出来,只有合理安排时间,养成良好的时间观念,才能给我们的生活、学习带来极大的方便,这就需要电子钟时刻提醒我们。因此,在这里设计一个较简单的电子钟,它能完成计时的功能。这个时钟系统很简单,但对于我们学生很实用。13 设计的基本思路与主要内容设计一个电子产品,首先了解它能实现的功能,时钟系统最基本的功能就是实现计时,在这里设计的数字数字时钟,它能实现计时的功能,给数字时钟加上电自动计时。设计一个数字时钟,要求:开机时,显示00:00:00的时间开始计时, “秒”的调整,每按一次加1s;“分”的调整,每按一次加1min;“时”的调整,每按一次加1h。计时满23:59:59时,返回00:00:00重新计时。 硬件设计很简单,主要包括:单片机、按键电路、驱动显示电路,以及LED显示器四个部分。单片机选用AT89C51芯片,它无须外扩程序存储器,设计电路很简单。显示时、分、秒加两个分隔符,采用8位的数码管,用74LS245来驱动LED数码管显示字符。以秒计数并显示时、分、秒。其中秒和分为60进制,小时为24进制计数。2 数字时钟系统的整体设计21 系统的功能要求以单片机技术为核心,充分应用各种外围电路元器件,设计一个通过显示器显示时间(时、分、秒)的数字时钟。要求:1、开始时,时、分、秒显示为00:00:00;2、P0.0/AD0控制“秒”的调整,每按一次加1s;3、P0.1/AD1控制“分”的调整,每按一次加1min;4、P0.2/AD2控制“时”的调整,每按一次加1h。5、计时满23:59:59时,返回00:00:00重新计时。22 整体方案 电子钟的电路图主要由单片机(AT89C51)、键盘电路、驱动显示电路和LED显示器四部分组成,它用于实现时钟的显示,以及对时、分、秒进行调整,即实现调时的功能。其数字钟系统整体结构如图2-1所示。七段数码管AT89C51驱动LED显示器位选按 键图2-1 电子钟系统整体结构(1)显示方案采用动态显示方案,一位一位地轮流点亮显示器地各个位。对于显示器的每一位而言,每隔一段时间点亮一次(2)键盘方案采用独立式键盘。独立式键盘的各个按键相互独立,每个按键独立地与一根数据输入线(单片机并行接口或其他芯片的并行接口)连接。(3)计时方案采用软件控制,利用单片机内部的定时/计数器进行定时,配合软件定时实现时、分、秒的计时。3 硬件设计与分析31 硬件设计原理时钟电路的核心是AT89C51单片机,系统配备8位LED数码管显示和3个独立式按键,用P0口作为键盘接口电路,P1口和P3口作为段码和位码输出口,并在字段码输出口接74LS245芯片,用该芯片来驱动LED数码管显示。利用P0.0、P0.1和P0.2作为功能按键输入口。32 各单元电路介绍3.2.1 显示电路LED显示器由若干个发光二极管组成。七段LED通常构成字型“8”,还有一个发光二极管用来显示小数点。每段LED分别引出一个电极,电极的名为a、b、c、d、e、d、g、dp,其中dp是小数点段的引出电极。当发光二极管导通时,相应的一个笔画或一个点就发光。控制相应的二极管导通,就能显示出对应字符。说明:在该设计中,没有用到电极(dp),而是用单位的数码管来显示分隔符,其七段LED显示器如图3-4所示图3-4 七段LED显示器本设计共用了八位LED显示器,因此采用动态显示方式。所谓动态显示就是一位一位的轮流点亮显示器的各个位。对于显示器的每一位而言,每隔一段时间点亮一次。显示器的位数不大于8位,则控制显示器公共极电位只需要一个I/O接口,称为扫描口或字位口,控制各位LED显示器所显示的字型也需要一个8位接口,称为段数据口或字型口。3.2.2 键盘及其接口键盘是由若干个按键组成的,它是单片机最简单的输入设备。通过键盘输入数据或命令,就可实现简单的人机对话。按键电路,独立式键盘的各个按键相互独立,每个按键独立地与一根数据输入线(单片机并行接口或其他芯片的并行接口)连接。这次的设计只用了三个按键,来实现功能控制。在运行状态下,按动控制按扭S-SET,可对秒进行调整;按动控制按扭M-SET,可对分进行调整;按动控制按扭H-SET,可对时进行调整;因此采用独立式键盘方式,设计起来比较简单。33 系统原理图当接入电源时,数字电子钟以秒为单位开始计时。运行状态下,按下控制按键S-SET,对秒进行调整;按下M-SET调整分钟;按下H-SET对小时进行调整。这样通过三个按键,分别对时、分、秒进行调整,从而实现调时4 软件设计在软件设计中,整个程序的主框架是以定时1s计算的方式来实现数字时钟。定时1s的程序段,使用动态显示程序实现延时,既完成了延时,也完成了数字的显示。在计算程序中,使对应于时、分、秒的变化量按照60进制和24进制进行计算,动态显示程序直接引用这些变量,达到显示的数字也随之不断变化,即完成了数字时钟的功能。其软件功能模块主要有键输入程序、中断程序、显示程序,以及延时程序。41 各个程序说明(1)主程序:初始化将时、分、秒各单元的内容清空,置T0为计数器方式1,分别给计数器的高8位和低8位赋计数初值,启动T0工作。键入一个按键,如执行此动作,秒值加1,否则重新键如按键。(2)键输入程序:键输入程序用于调整时间。以秒为例,按下按键S-SET,判断S-SET是否真的被按下,若没有键按下,转到A1程序段,再次键入按键,重新判断。若按键按下了秒值加1,当秒值大于60时,秒清零,进行下一次计时,同时分加一。此过程循环执行。(3)中断程序:主要用于控制显示的字符。当秒值大于60时,秒清零,重新计数,分值加1,秒、分同时显示;当分值大于60时,分清零,重新计数,小时加1,秒、分、时同时显示,当小时大于23时,一天的计时完毕,秒、分、时均清零,进行第二天的计时。此任务循环执行。42 程序流程图设置定时器,定时5ms开始显示时间M键按下S键按下H键按下到60秒?否按下秒计数加1到60分?否按下分计数加1到24小时?否按下小时数加1所有计数值请0否是是是否否是是是否否否程序流程图 5 源程序代码S_SET BIT P1.0 ;数字时钟秒钟控制位M_SET BIT P1.1 ;数字时钟分钟控制位H_SET BIT P1.2 ;数字时钟小时控制位SECOND EQU 30HMINUTE EQU 31HHOUR EQU 32HTCNT EQU 34H ORG 00H SJMP START ORG 0BH LJMP INT_T0START: MOV DPTR,#TABLE MOV HOUR,#0 ;初始化 MOV MINUTE,#0 MOV SECOND,#0 MOV TCNT,#0 MOV TMOD,#01H MOV TH0,#(65536-50000)/256 ;定时50ms MOV TL0,#(65536-50000)/MOD 256 MOV IE,#82H SETB TR0A1: LCALL DISPLAY JNB S_SET,S1 JNB M_SET,S2 JNB H_SET,S3 LJMP A1S1: LCALL DELAY ;去抖动 JB S_SET,A1 INC SECOND ;秒值加1 MOV A,SECOND CJNE A,#60,J0 ;判断是否加到60s MOV SECOND,#0 LJMP K1S2: LCALL DELAY JB M_SET,A1K1: INC MINUTE ;分钟值加1 MOV A,MINUTE CJNE A,#60,J1 ;判断是否加到60min MOV MINUTE,#0 LJMP K2S3: LCALL DELAY JB H_SET,A1K2: INC HOUR ;小时加1 MOV A,HOUR CJNE A,#24,J2 ;判断是否加到24h MOV HOUR,#0 MOV MINUTE,#0 MOV SECOND,#0 LJMP A1J0: JB S_SET,A1 LCALL DISPLAY SJMP J0J1: JB M_SET,A1 LCALL DISPLAY SJMP J1J2: JB H_SET,A1 LCALL DISPLAY SJMP J2INT_T0:MOV TH0,#(65536-50000)/256 MOV TL0,#(65536-50000)/MOD 256 INC TCNT MOV A,TCNT CJNE A,#20,RETUNE 计时1s INC SECOND MOV TCNT,#0 MOV A,SECOND CJNE A,#60,RETUNE INC HOUR MOV MINUTE,#0 MOV A,HOUR CJNE A,#24,RETUNE MOV HOUR,#0 MOV MINUTE,#0 MOV SECOND,#0 MOV TCNT,#0RETUNE:RETIDISLAY:MOV A,SECOND ;显示秒 MOV B,#10 DIV AB CLR P3.6 MOVC A,A+DPTR MOV P0,A LCALL DELAY SETB P3.6MOV A,BCLR P3.7MOVC A,A+DPTRMOV P0,ALCALL DELAYSETB P3.7CLR P3.5MOV P0,#40H ;显示分隔符LCALL DELAYSETB P3.5MOV A,MINUTE ;显示分钟MOV B,#10DIV ABCLR P3.3MOVC A,A+DPTRMOV P0,ALCALL DELAYSETB P3.3MOV A,BCLR P3.4MOVC A,A+DPTRMOV P0,ALCALL DELAYSETB P3.4CLR P3.2MOV P0,#40H ;显示分隔符LCALL DELAYSETB P3.2MOV A,HOUR ;显示小时MOV B,#10DIV ABCLR P3.0MOVC A,A+DPTRMOV P0,ALCALL DELAYSETB P3.0MOV A,BCLR P3.1MOVC A,A+DPTRMOV P0,ALCALL DELAYSETB P3.0MOV A,BCLR P3.1MOVC A,A+DPTRMOV P0,ALCALL DELAYSETB P3.1RETTABLE: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FHDELAY: MOV R6,#10D1: MOV R7,#250 DJNZ R7,S DJNZ R6,D1RETEND6 仿真过程及结果(1)仿真过程:将设计设计的电路在单片机仿真软件Proteus7中进行仿真,先找仿真电路图需要的元件,过程如下图:“接地ground”元件“Power”元件“AT89C51”元件“CAP”元件“CAP-ELEC”元件“CRYSTAL”元件“RES”元件“7SEG-MPX6-CC-BLUE”元件“74LS245”元件“BUTTON”元件连接好电路图,如下:在KEIL (单片机汇编) C51软件中编写好的程序,将程序放入单片机仿真软件中,结合硬件电路进行调试与运行。通过按键对时间进行调整。(1)按动S-SET键,结果如下图:(2)按动M-SET键,结果如下图:(3)按动H-SET键,结果如下图:通过按键对时间进行调整。如显示时间为06-10-07,即是06点10分07秒,通过以下调整则可实现。(1)按动S-SET键,将秒调到07;(2)按动M-SET键,将分调到10;(3)按动H-SET键,将时调到06。 则将时间调到了所要显示的时间06-10-07,结果如下图:可以计时到23-59-59,结果如下图:7 课程设计体会通过本次的课程设计,我学会了单片机的一般设计过程,对电路设计,单片机的使用等都有了新的认识。通过这次设计学会了Proteus7和Keil3软件的使用方法,掌握了从系统的需要、方案的设计、功能模块的划分、原理图的设计和电路图的仿真的设计流程,积累了不少经验。通过课程设计,我觉得单片机设计的一般过程,通常都要进行系统扩展与配置,因此,要完成一个单片机的设计工作,必须依次做到下述工作:1、硬件电路的设计、组装与调试;2、应用软件的编写、调试;3、完整应用软件的调试、固化和脱机运行。而在进行硬件系统设计时我们应当尽量做到:1、尽可能的选择典型电路,并符合单片机的常规使用方法;2、在充分满足系统功能要求前提下,留余地以便于二次开发;3、硬件结构设计应与软件设计方案一并考虑;4、整个系统相关器件要力求性能的匹配;5、硬件上要有可靠性与抗干扰设计;6、充分考虑单片机的带载驱动能力。这次电路的设计和仿真,基本上达到了设计要求。在以后的实践中,我将继续努力学习电路设计方面的理论知识,并联系实际,争取在电路设计方面能有所提升。参 考 文 献1 李朝青编著单片机原理及接口技术第三版北京

温馨提示

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

最新文档

评论

0/150

提交评论