电子钟课程设计报告_第1页
电子钟课程设计报告_第2页
电子钟课程设计报告_第3页
电子钟课程设计报告_第4页
电子钟课程设计报告_第5页
已阅读5页,还剩20页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

目录TOC\o"1-3"\h\u134211前言 1107461.1设计目的 1165201.2设计规定

1278201.3设计背景 1226672设计思想与原理

2176602.1设计思想

211439

2.2设计原理

2304482.2.1内容

2150542.2.2规定

2213102.3设计环境

3148522.

4设计所用设备

384213系统硬件设计 4226133.1设计所用芯片及功能介绍 4298783.1.18259芯片的内部结构及引脚 46883.1.28255芯片的内部结构及引脚 5281243.1.38254芯片的内部结构及引脚 6291163.2电子钟硬件接线图

7184034系统软件设计 8190234.1软件工作流程图 8301664.2必要的程序清单 8221595系统调试及结果 15223765.1调试结果描述

15176625.2

测试结果分析

15246466总结 161284参考文献 171前言1.1设计目的通过本次课程设计学习和掌握计算机中常用接口电路的应用和设计技术,充足结识理论知识相应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。通过这次设计实践可以进一步加深对专业知识和理论知识学习的结识和理解,使设计者的设计水平和对所学知识的应用能力以及分析问题解决问题的能力得到全面提高。掌握8255、8259、8254等芯片使用方法和编程方法,通过本次课程设计,学以致用,进一步理解所学的相关芯片的原理、内部结构、使用方法等,学会相关芯片实际应用及编程,系统中采用8086微解决器完毕了电子秒表系统的独立设计。同时并了解综合问题的程序设计掌握实时解决程序的编制和调试方法,掌握一般的设计环节和流程,使我们以后搞设计时逻辑更加清楚。1.2设计规定

运用8259A中断控制器、8254定期/计数器、8255A接口芯片以及键盘和数码显示电路,设计一个电子时钟,由8254中断定期,小键盘控制电子时钟的启停及初始值的预置。电子时钟的显示格式HH:MM:SS由左到右分别为时、分、秒,最大记时59:59:59超过这个时间时分秒位都清零从00:00:00重新开始。1.3设计背景微机控制即微型计算机原理控制。是集CPU,RAM,ROM,定期,微型计算机原理控制应用技术飞速发展,纵观我们现在生活的各个通讯与数据传输,到工业自动化过程的实时控制和数据解决,这些都离不开微型计算机原理控制。8254,82598255。在编辑1时,用到了中断控制器8259。

2设计思想与原理

2.1设计思想

本系统设计的电子时钟以8088微解决器作为CPU,用8254做定期计数器产生时钟频率,8255做可编程并行接口显示时钟和键盘电路,8259做中断控制器产生中断。在此系统中,8254的功能是定期,接入8254的CLK信号为周期性时钟信号。8254采用计数器0,工作于方式2,使8254的OUT0端输出周期性的负脉冲信号。即每隔20ms,8254的OUT0端就会输出一个负脉冲的信号,此信号接8259的IR2,当中断到50次数后,CPU即解决,使液晶显示器上的时间发生变化。

其中8259只需初始化ICW1,其功能是向8259表白IRx输入是电瓶触发方式还是上升沿触发方式,是单片8259还是多片8259。8259接受到信号后,产生中断信号送CPU解决。

2.2设计原理

运用实验台上提供的定期器8254和扩展板上提供的8259以及键盘和数码显示电路,设计一个电子时钟,由8254中断定期,小键盘控制电子时钟的启停及初始值的预置。电子时钟的显示格式HH:MM:SS由左到右分别为时、分、秒,最大记时59:59:59超过这个时间时分秒位都清零从00:00:00重新开始。

基本工作原理:每百分之一秒对百分之一秒寄存器的内容加一,并依次对秒、分、小时寄存器的内容加一,六个数码管动态显示时、分、秒的当前值。

2.2.1内容

运用实验台上提供的定期器8254和扩展板上提供的8259以及键盘和数码显示电路,设计一个电子时钟,由8254中断定期,小键盘控制电子时钟的启停及初始值的预置。

电子时钟的显示格式HH:MM:SS由左到右分别为时、分、秒,最大记时59:59:59超过这个时间时分秒位都清零从00:00:00重新开始。

2.2.2规定

本实验规定设计一个定期显示装置,用六个数码管显示时间,用小键盘控制计时,设立和显示时间。系统一运营就从00点00分00秒开始计时,并在数码管上显示时、分、秒当前值,并且,可以用键盘设立当前时间。

基本工作原理:每百分之一秒对百分之一秒寄存器的内容加一,并依次对秒、分、小时寄存器的内容加一;六个数码管动态显示时、分、秒的当前值。

用开关(模块A5)控制计时和显示:K1键(清除):显示00-00-00;K2键(启动):显示XX-XX-XX变化的时间值;K3键(停止):显示XX-XX-XX不变;K4键(设立):设立XX-XX-XX时间值,时间值由模块B2开关输入。2.3设计环境

PC机一台、windows

XP系统、实验箱,导线若干。2.

4设计所用设备

8254定期器:用于产生秒脉冲,其输出信号可作为中断请示信号送IRQ2。8255并口:用做接口芯片,和小键盘相连。

8259中断控制器:用于产生中断。

LED:六个LED用于显示时:分:秒值。

小键盘:用于控制设立。

3系统硬件设计3.1设计所用芯片及功能介绍3.1.18259芯片的内部结构及引脚中断控制器8259是Intel公司专为控制优先级中断而设计开发的芯片。它将中断源优先排队、辨别中断源以及提供中断矢量的电路集中于一片中。因此无需附加任何电路,只需对8259编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。在MD微机系统中,8259芯片工作于单片方式。8259引脚图如图3.1所示。图3.18259引脚图各引脚功能如下:D7-D0——八条双向数据线;WR(低电平有效)——写输入信号;RD(低电平有效)——读输入信号;CS(低电平有效)——片选输入信号;A0——地址信号;INT——中断请求信号;INTA(低电平有效)——中断响应信号;CAS0-CAS2——级联信号,形成一条专用8259A总线,以便多片8259A的级联;SP/EN——从编程/允许级联。在缓冲方式中,可用做输出信号以控制总线缓冲器的接受和发送。在非缓冲方式中,作为输入信号用于表达主片还是从片;IR0-IR7——外部中断请求输入线。规定输入的中断请求信号是由低电平到高电平的上升沿(并保持高电平到CPU响应时为止)或者是高电平。8259中断矢量地址与中断信号之间的关系如表3-1所示:表3-18259中断矢量表中断序号01234567功能调用08H09H0AH0BH0CH0DH0EH0FH矢量地址20H~23H24H~27H28H~2BH2CH~2FH30H~33H34H~37H38H~3BH3CH~3FH说明时钟键盘可用可用串行口可用可用可用3.1.28255芯片的内部结构及引脚8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种工作方式下工作:方式2—双向选通输入/输出方式8255引脚图如图3.2示,图3.28255引脚图各引脚功能如下:D7~D0——与CPU侧连接的八条双向数据线;WR(低电平有效)——写输入信号;RD(低电平有效)——读输入信号;CS(低电平有效)——片选输入信号;A0、A1——片内寄存器选择输入信号;PA7~PA0——A口外设双向数据线;PB7~PB0——B口外设双向数据线;PC7~PC0——C口外设双向数据线;RESET——复位输入信号。8255端口地址表如表3-2所示:表3-28255端口地址表信号线寄存器编址IOY3A口60HB口61HC口62H控制寄存器63H3.1.38254芯片的内部结构及引脚8254是Intel公司生产的可编程计时器,具有以下功能:(1)有3格独立的16位计数器(2)每个计数器可按二进制或十进制计数;(3)每个计数器可编程工作于6种不同工作方式;(4)8254每个计数器允许的最高计数频率为10MHZ;(5)8254有读回命令,除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容;图3.3是8254芯片的内部结构及引脚图,它是由与CPU的接口、内部控制电路和三个计数器组成。8254的工作方式如下述:(1)方式0:计数到0结束输出正跃变信号方式。(2)方式1:硬件可重触发单稳方式。(3)方式2:频率放生器方式。(4)方式3:方波发生器。(5)方式4:软件触发选通方式。(6)方式5:硬件触发选通方式。图3.38254芯片引脚图3.2电子钟硬件接线图

图3.4电子钟硬件接线图

4系统软件设计4.1软件工作流程图主程序流程图如图4.1所示,服务程序流程图如图4.2所示。图4.1主程序流程图图4.2服务程序流程图4.2必要的程序清单电子钟的程序:controlequ0c003h;8253控制口count0equ0c000hcount1equ0c001hcount2equ0c002hmd8255equ82h;8255控制字pa8255equ8000hctl8255equ8003houtbitequ08002h;位控制口outsegequ08004h;段控制口icw1equ00010011b;8259,上升沿中断,要写icw4icw2equ00100000b;中断号为20hicw4equ00000001b;工作在8086/88方式ocw1equ11111110b;只响应int0中断cs8259aequ0d000h;8259地址cs8259bequ0d001hdatasegmentcntdb0ledbufdb6dup(?);显示缓冲numdb1dup(?);显示的数据delaytdb1dup(?)hourdb0minutedb0seconddb0ledmap:;八段管显示码db3fh,06h,5bh,4fh,66h,6dh,7dh,07hdb7fh,6fh,77h,7ch,39h,5eh,79h,71hdataendscodesegmentassumecs:code,ds:datadelayprocnear;延时子程序pushaxpushcxmoval,0movcx,axloop$popcxpopaxretdelayendpdisplayledprocnear;数码管显示控制子程序movbx,offsetledbufmovcl,6;共6个八段管movah,00100000b;从左边开始显示dloop:movdx,outbitmoval,0outdx,al;关所有八段管moval,[bx]movdx,outsegoutdx,almovdx,outbitmoval,ahoutdx,al;显示一位八段管pushaxmovah,1calldelaypopaxshrah,1incbxdeccljnzdloopmovdx,outbitmoval,0outdx,al;关所有八段管retdisplayledendpienterprocnear;8253中断服务程序pushaxpushdxincsecond;秒加1moval,secondcmpal,60;秒数与60比较jneexitmovsecond,0;秒清零incminute;分加1moval,minutecmpal,60;分数与60比较jneexitmovminute,0;分清零inchour;时加1moval,hourcmpal,24;时数与24比较jneexitmovhour,0;时清零exit:movdx,cs8259amoval,20houtdx,al;结束本次中断popdxpopaxiretienterendpiinitproc;初始化8259的命令字和操作命令字movdx,cs8259amoval,icw1outdx,almovdx,cs8259bmoval,icw2outdx,almoval,icw4outdx,almoval,ocw1outdx,alretiinitendpstart:movax,datamovds,axmovhour,0;时、分、秒清零movminute,0movsecond,0cli;清除中断标志位movax,0movds,axmoval,76h;8253控制字movdx,controloutdx,almovax,62500;运用8253计数器1分频movdx,count1outdx,almoval,ahoutdx,almoval,md8255movdx,ctl8255outdx,almovbx,4*icw2;中断号movax,codeshlax,4;*16addax,offsetienter;中断入口地址(段地址为0)mov[bx],axmovax,0incbxincbxmov[bx],ax;代码段地址为0calliinitmovax,datamovds,axmovcnt,0;计数值初始为0moval,cntmovdx,pa8255outdx,alsti;开中断lp:moval,hourmovah,0movcl,10divclmovch,ahmovah,0movbx,offsetledmapaddbx,axmoval,[bx];时的十位转换成显示码movledbuf,al;显示码存入显示缓冲区movbx,offsetledmapmoval,chmovah,0addbx,axmoval,[bx];时的个位转换成显示码oral,80hmovledbuf+1,al;显示码存入后一位显示缓冲区moval,minutemovah,0movcl,10divclmovch,ahmovah,0movbx,offsetledmapaddbx,axmoval,[bx];分的十位转换成显示码movledbuf+2,almovbx,offsetledmapmoval,chmovah,0addbx,axmoval,[bx];分的个位转换成显示码oral,80hmovledbuf+3,almoval,secondmovah,0movcl,10divclmovch,ahmovah,0movbx,offsetledmapaddbx,axmoval,[bx];秒的十位转换成显示码movledbuf+4,almovbx,offsetledmapmoval,chmovah,0addbx,axmoval,[bx];分的个位转换成显示码oral,80hmovledbuf+5,alcalldisplayledjmplpcodeendsendstart

5系统调试及结果5.1调试结果描述

本系统设计实现后进行了为期一周左右的调试。调试涉及电路板的调试和汇编程序的调试。下面就系统调试情况作一介绍:

(1)系统对于输入有格式规定,不能输入不对的的时间格式。

(2)系统对于临界值进行了验证。(3)系统预计各功能的实现。

5.2

测试结果分析

测试结果表白,电子钟系统已能初步实现重要功能,但是由于我的能力有限,开发实践经验局限性,系统功能不是十分完善,还存在着许多问题,目前通过测试等发现系统存在以下几个问题:

(1)

由于实验条件的限制,开机有时候不能自动复位。

(2)对于多次连续输入错误格式的时间值,系统也许出现异常。

(3)由于是教学模拟课题,不能适应实际使用中复杂的需求,只能根据其他一些简朴的调查和推测来设定系统的功能和规定,不管是功能和内容都相对简朴。尚有不满足规定的地方,一些技术问题也没有克服。

6总结课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.

通过这次课程设计,使我对8250A有了更深一步的结识。同时使我结识到RS-232C是微型计算机与通信工业中应用最为广泛的一种串行通信接口标准。加深了对芯片接口可编程原理的理解,加深了对课堂上知识的巩固。此外,通过亲手编写汇编程序的过程也增强了程序设计的能力,学到了很多知识。回顾起课程设计,至今我仍感慨颇多

温馨提示

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

最新文档

评论

0/150

提交评论