已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录目 录目 录1第一章 课程设计内容与要求分析11.1课程设计内容11.2课程设计要求分析1第二章 课程设计原理2第三章 课程设计步骤3课程设计总结15参考文献17评语及成绩18第一章 课程设计内容与要求分析第一章 课程设计内容与要求分析1.1 课程设计内容该课程设计是利用80C51单片机内部的定时计数器、中断系统和LED显示器等部件,设计一个单片机数字时钟。设计的数字时钟通过数码管显示。采用共阳极LED的动态显示方式,用扩展74LS164的并行输出做段选,74LS164的CLK接P1.3,数据输入端接P1.2,通过软件编程,用P1.2、P1.3模拟移位寄存器工作方式。P1.4P1.7作位选。1.2课程设计要求分析功能要求:时间以24小时进制,时间误差小于2秒,保证计时的稳定及准确须由晶体振荡器提供表针时间基准信号。原理及方法:结合实验设备实现时硬件电路、原理、方法、说明(初始化、存储分配、工作方式)等。程序设计:计时、比较、显示。调试:遇到的问题、解决方法。最小计时单位是秒,获得1s的定时时间,可设置定时器工作在方式1,最大定时时间也只能131ms。可将定时器的定时时间定为5ms,中断方式进行溢出次数的累计,计满20次,即得秒计时。而计数20次可用循环程序的方法实现。 从秒到分,从分到时是通过软件累加并比较来实现。要求每满1秒,则“秒”单元32H中的内容加1;“秒”单元满60,则“分”单元31H中的内容加1;“分”单元满60,则将32H、31H的内容全部清“0”。 19第二章 课程设计原理第二章 课程设计原理1. 利用MCS-51系列单片机的可编程定时/计数器、中断系统来实现时钟计数。计数初值计算:把定时器设为工作方式1,定时时间为5ms,则计数溢出20次即得时钟计时最小单位秒,而20次计数可用软件方法实现。假设使用T/C0,方式1,5ms定时,fosc=12MHz。则初值X满足(65536-X)12/12MHz100Ms =55536sX=555361110110101111000EC78H采用中断方式进行溢出次数累计,计满10次为秒计时(1秒);从秒到分和从分到时的计时是通过累加和数值比较实现。2. 硬件原理图采用共阳极LED的动态显示方式,用扩展74LS164的并行输出做段选,74LS164的CLK接P1.3,数据输入端接P1.2,通过软件编程,用P1.2、P1.3模拟移位寄存器工作方式。P1.4P1.7作位选。如图1所示。图1硬件电路原理图第三章 课程设计步骤第三章 课程设计步骤一、设计方案的选择1.计时方案方案1:采用实时时钟芯片现在市场上有很多实时时钟集成电路,如DS1287、DS12887、DS1302等。这些实时时钟芯片具备年、月、日、时、分、秒计时功能和多点定时功能,计时数据的更新每秒自动进行一次,不需要程序干预。因此,在工业实时测控系统中多采用这一类专用芯片来实现实时时钟功能。方案2:使用单片机内部的可编程定时器。利用单片机内部的定时计数器进行中端定时,配合软件延时实现时、分、秒的计时。该方案节省硬件成本,但程序设计较为复杂。2.显示方案对于实时时钟而言,显示显然是另一个重要的环节。通常LED显示有两种方式:动态显示和静态显示。静态显示的优点是程序简单、显示亮度有保证、单片机CPU的开销小,节约CPU的工作时间。但占有I/O口线多,每一个LED都要占有一个I/O口,硬件开销大,电路复杂。需要几个LED就必须占有几个并行口,比较适用于LED数量较少的场合。当然当LED数量较多的时候,可以使用单片机的串行口通过移位寄存器的方式加以解决,但程序编写比较麻烦。LED动态显示硬件连接简单,但动态扫描的显示方式需要占有CPU较多的时间,在单片机没有太多实时测控任务的情况下可以采用。本系统需要采用4位LED数码管来分别显示分、秒,因数码管个数较多,故本系统选择动态显示方式。二、硬件部分1、STC89C51单片机介绍STC89C51单片机是由深圳宏晶公司代理销售的一款MCU,是由美国设计生产的一种低电压、高性能CMOS 8位单片机,片内含8kbytes的可反复写的FlashROM和128bytes的RAM,2个16位定时计数器。 STC89C51单片机内部主要包括累加器ACC(有时也简称为A)、程序状态字PSW、地址指示器DPTR、只读存储器ROM、随机存取存储器RAM、寄存器、并行I/O接口P0P3、定时器/计数器、串行I/O接口以及定时控制逻辑电路等。这些部件通过内部总线联接起来,构成一个完整的微型计算机。其管脚图如图所示。STC89C51单片机管脚结构图VCC:电源。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程 序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作 输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻 拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存 储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器 的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器 时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时, /EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。2、上电按钮复位电路本设计采用上电按钮复位电路:首先经过上电复位,当按下按键时,RST直接与VCC相连,为高电平形成复位,同时电解电容被电路放电;按键松开时,VCC对电容充电,充电电流在电阻上,RST依然为高电平,仍然是复位,充电完成后,电容相当于开路,RST为低电平,单片机芯片正常工作。其中电阻R2决定了电容充电的时间,R2越大则充电时间长,复位信号从VCC回落到0V的时间也长。3、晶振电路本设计晶振电路采用12M的晶振。晶振的作用是给单片机正常工作提供稳定的时钟信号。单片机的晶振并不是只能用12M,只要不超过20M就行,在准许的范围内,晶振越大,单片机运行越快,还有用12M的就是好算时间,因为一个机器周期为1/12时钟周期,所以这样用12M的话,一个时钟周期为12us,那么定时器计一次数就是1us了,电容范围在20-40pF之间,这里连接的是30pF的电容。机器周期=10*晶振周期=12*系统时钟周期4.下载端口设计用到的STC89C52单片机芯片的ISP下载线是通过单片机的TXD,RXD引脚把程序烧进去的。管脚TXD和RXD用于异步串行通信。其实STC89C52单片机的ISP下载线就是一个max232芯片连接STC和计算机的串行通信口。计算机把程序从九针串口送到max232芯片,电平转换后送进单片机的串行口,也就是TXD和RXD。然后单片机的串行模块把数据送到程序区。5、显示电路 就时钟而言,通常可采用液晶显示或数码管显示。由于一般的段式液晶屏,需要专门的驱动电路,而且液晶显示作为一种被动显示,可视性相对较差;对于具有驱动电路和微处理器接口的液晶显示模块(字符或点阵),一般多采用并行接口,对微处理器的接口要求较高,占用资源多。另外,89C2051本身无专门的液晶驱动接口,因此,本时钟采用数码管显示方式。数码管作为一种主动显示器件,具有亮度高、价格便宜等优点,而且市场上也有专门的时钟显示组合数码管。对于实时时钟而言,显示显然是另一个重要的环节。通常LED显示有两种方式:动态显示和静态显示。静态显示的优点是程序简单、显示亮度有保证、单片机CPU的开销小,节约CPU的工作时间。但占有I/O口线多,每一个LED都要占有一个I/O口,硬件开销大,电路复杂。需要几个LED就必须占有几个并行口,比较适用于LED数量较少的场合。当然当LED数量较多的时候,可以使用单片机的串行口通过移位寄存器的方式加以解决,但程序编写比较麻烦。LED动态显示硬件连接简单,但动态扫描的显示方式需要占有CPU较多的时间,在单片机没有太多实时测控任务的情况下可以采用。本系统需要采用4位LED数码管来分别显示分、秒,因数码管个数较多,故本系统选择动态显示方式。三、软件部分软时钟是利用单片机内部的定时器计数器来实现的,它的处理过程如下:首先设定单片机内部的一个定时器计数器工作于定时方式,对机器周期计数形成基准时间,然后用另一个定时器计数器或软件计数的方法对基准时间计数形成秒,秒计60次形成分,然后通过数码管把它们的内容在相应位置显示出来。数码管显示可以采用静态显示方法或动态显示方法。静态显示方法需要数据锁存器等硬件,接口复杂,时钟显示用6个数码管。由于系统没有其他的复杂的任务处理,而且显示的时钟信息随时都可能变化,一般采用动态显示方式。动态显示方法线路相对简单,但需动态扫描,扫描频率要大于人眼视觉暂留频率,信息看起来才稳定。译码方式可分为软件译码和硬件译码,软件译码通过译码程序查得显示信息的字段码;硬件译码通过硬件译码器得到显示信息的字段码,实际中通常采用软件译码。在具体处理时,定时器计数器采用中断方式工作,对时钟的形成在中断服务程序中实现。在主程序中只需对定时器计数器初始化、调用显示子程序和控制子程序。根据上述电子时钟的工作流程,软件设计可分为以下几个功能模块:(1)主程序模块。主程序主要用于系统初始化:设置计时缓冲区的位置及初值,设置定时器的工作方式和计数初值等参数。(2)计时模块。即定时器0中断子程序,完成刷新计时缓冲区的功能。系统使用12MHz的晶振,假设定时器0工作在方式1,则定时器的最大定时时间为131ms,这个值远远小于1s。因此本系统采用定时器与软件循环相结合的定时方法。设定时器0工作在方式1,每隔5ms溢出中断一次,则循环中断20次延时时间是1s,上述过程重复60次为1分。因定时器0工作在方式1,则100ms定时对应的定时器初值为:6553650ms/1us=55536=EC08H,即TH0=ECH,TH0=08H。但应当指出:CPU从响应T0中断到完成定时器初值重装这段时间,定时器T0并不停止工作,而是继续计数。因此,为了确保T0能准确定时100ms,重装的定时器初值必须加以修正,修正的定时器初值必须考虑到从原定时器初值中扣除计数器多计的脉冲个数。由于定时器计数脉冲的周期恰好和机器周期吻合,因此修正量等于CPU从响应中断到重装完TL0为止所用的机器周期数。CPU响应中断通常要38个机器周期。经过测试,定时器0重装的计数初值设为3CB0H3CBFH,可以满足精度要求。另外,MCS-51单片机只有二进制加法指令,而时间是按十进制递增,因此用加法指令后必须进行二-十进制转换。(3)显示模块。该模块完成时分秒4位LED的动态显示。因为显示为4位,二计时是4个字节单元,为此,必须将4字节计时缓冲区中的时分秒压缩BCD码拆分为8字节BCD码,并送入显示缓冲区中。程序:ORG 0000HAJMP MAIN;上电,跳向主程序ORG 000BH;T0中断入口AJMP T00KORG 0030HMAIN:MOV SP,#60H;设置堆栈指针STRT:MOV P1,#0FFHMOV TMOD,#01H;设置T0为方式1MOV TH0,#0ECH ;5MSMOV TL0,#78HMOV 14H,#20 ;中断次数SETB TR0;开启T0SETB ET0;允许T0申请中断SETB EA ;总中断允许MOV 30H,#0 ;显示缓冲单元MOV 31H,#0MOV 32H,#0MOV 33H,#0MOV 10H,#0EFH ;记录显示位置MOV 11H,#30H ;记录显示单元CLR 05H ;交替闪烁标志MOV 3CH,#0 ;秒起始值MOV 3DH,#0MOV 41H,3CH ;41H是秒计数MOV 42H,3DH ;42H是分计数MOV R0,#3CHHH:SJMP HH ;等待中断,调用显示子程序T00K:PUSH ACC ;T0中断子程序PUSH PSW;T0中断程序入口地址,保护现场PUSH 00HPUSH 01HMOV TH0,#0ECH ;定时中断,重装初值MOV TL0,#78HDJNZ 14H,Z1MOV 14H,#20CPL 05H ;05H交替闪烁标志SETB 04H ;1秒钟到标志CPL P1.0 ;秒闪烁SJMP Z1Z1:NOPORL P1,#0F0H ;灭MOV A,11HMOV R0,AMOV A,R0MOV DPTR,#DDBMOVC A,A+DPTR ;取段吗MOV SCON,#00HMOV SBUF,AZ2:JNB TI,Z2MOV A,10HANL P1,ARL AMOV 10H,AINC 11HJB ACC.0,TK1MOV 10H,#0EFHMOV 11H,#30HTK1:DEC 13H ;健扫描延时JNB 04H,RETUN ;1S没到,返回CLR 04HINC 40H ;秒加1MOV A,40HCJNE A,#10,T01MOV 40H,#00HMOV A,41HADD A,#1DA AMOV 41H,ACJNE A,#60H,T01 MOV 41H,#0MOV A,42HADD A,#1DA AMOV 42H,ACJNE A,#60H,T01T01:MOV R0,#41HACALL BCDFRETUN:POP 01HPOP 00HPOP PSWPOP ACCRETIDDB:DB 0C0H,0F9H,0A4H,0B0H,99H ;段码表DB 92H,82H,0F8H,80H,90H ;09BCDF:MOV A,R0 ;把41h,42h分解送显示缓冲区ANL A,#0FHMOV 33H,AMOV A,R0SWAP AANL A,#0FHMOV 32H,AINC R0MOV A,R0ANL A,#0FHMOV 31H,AMOV A,R0SWAP AANL A,#0FHMOV 30H,ARET课程设计总结单片机课程设计是对单片机知识的验证,可以帮助我们理解巩固所学知识,激发我们对单片机课程的兴趣,更锻炼了我们独立思考、开拓创新的能力。对于单片机设计,其硬件电路是比较简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此在整个设计过程中大部分时间是用在程序上面的。很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对单片机的结构很熟悉。因此可以说单片机的设计是软件和硬件的结合,二者是密不可分的。这次单片机课程设计不仅巩固了以前所学过的知识,而且学到了很多在书本上没有学到过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。同时在设计的过程中发现了自己的不足之处. 这是一个磨练意志的过程。从课题的选择开始,计算器的设计、硬件和软件系统的设计、到最后的上机实践,直至报告完成这其中经历了很多困难,但是更重要的是在这个过程中我得到了很大的锻炼。一方面通过80C51单片机等一些器件的设计让我学习和掌握了单片机技术的基础知识和技术要点,也使以前学的很多知识都得到了运用;这是一个需要不断的尝试,不断的校核,不断的修改,最后完成一个合理的设计的过程。需要的是细心和耐心。在很大程度上培养了我拼搏的工作精神。使我受益匪浅,更加明确了自己专业的方向。另一方面我不仅学到了关于单片机技术方面
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2027届天津市河西区环湖中学数学七年级第一学期期末经典模拟试题含解析
- 江苏省无锡市江阴市第二中学2027届数学七上期末调研试题含解析
- 河南省宝丰市2027届数学九年级第一学期期末质量检测试题含解析
- 2026年河南省永城市高三数学下册期末考试模拟试卷必考附答案
- 2026年山东省莱西市高三数学下册期末考试模拟卷及参考答案(黄金题型)
- 2026年四川省彭州市高三数学下册期末考试模拟考试卷及答案【基础+提升】
- 2026年湖北省枝江市高三数学下册期末考试模拟考试卷附答案(基础题)
- 【行政诉讼公正问题研究的国内外文献综述1800字】
- 浙江省嘉兴市南湖区实验2027届数学九年级第一学期期末达标测试试题含解析
- 2025-2026学年冲量导入说课稿
- 2026-2027学年五年级数学上册第一次月考综合测评卷人教版
- 2026年江西省中考英语试题卷参考答案
- 2026年重庆市高考物理试卷(含答案)
- 这是我们班课件2025-2026学年统编版二年级上册道德与法治
- 亚硝酸盐检测方法培训
- 【昭通】2025年云南昭通市市直事业单位公开选调工作人员42人笔试历年典型考题及考点剖析附带答案详解
- 2025年河南大学研究生笔试及答案
- 活动礼品提供协议合同
- Unit 2 Helping at home 大单元教学任务单-2025外研版(三起)四年级英语上册
- 《中小学跨学科课程开发规范》
- 金融支持实体经济的效率与路径研究
评论
0/150
提交评论