




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE4PAGE1Hefei微机原理与接口技术课程设计学科专业:自动化(3)班课程题目:数字电子钟完成时间:2011-1-自动化专业微机原理课程设计任务书论文题目数字电子钟的设计设计类型设计型导师姓名刘伟主要内容及目标要求:①具有24/12小时计时;②正点报时;③设置时间;④设置闹钟;⑤显示用数码管;⑥设置按键尽量少;⑦可扩展秒表功能;具有的设计条件PC机一台,EL教学实验箱一台及汇编程序;计划学生数及任务3人(1):明确课题对程序功能,运算精度等方面的要求及硬件条件(2):把复杂问题分解为若干模块,确定各模块处理方法,画出流程图。(3):存储器资源分配(4):编制程序,根据流程图精心选择合适的指令和寻址方式来编制源程序(5):对程序进行汇编,调试和修改,直到程序运行结果正确为止。计划设计进程(按课程设计周计算)第一周设计任务:(1):明确课题对程序功能,运算精度等方面的要求及硬件条件(2):把复杂问题分解为若干模块,确定各模块处理方法,画出流程图。(3):存储器资源分配第二周设计任务:(4):编制程序,根据流程图精心选择合适的指令和寻址方式来编制源程序(5):对程序进行汇编,调试和修改,直到程序运行结果正确为止。参考文献《微型计算机原理及接口技术》中国科技大学出版社吴秀清周荷琴编著《16-32位微型计算机技术及应用》清华大学出版社戴梅萼史嘉权编著<<汇编语言程序设计》南京大学出版社姚君遗编著《汇编语言程序设计教程》清华大学出版社杨记文编著《微型计算机原理及接口技术》实验指导书目录引言 41.设计目的 12.设计要求 13.总体设计: 14.硬件设计: 24.1、8259A芯片的内部结构及引脚 24.2、8255芯片的内部结构及引脚 34.3、8253芯片的内部结构及引脚 34.4.设计方案 55.软件设计: 65.1原理框图 65.2系统模块详细设计与调试 65.3用定时器8253输出的脉冲 75.4完整程序如下: 96.设计总结: 15引言计算机的产生加快了人类改造世界的步伐,但是体积大,随着人们的生活越来越离不开计算机。微型处理器在这种情况下应运而生。纵观各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及生活中使用的各种智能IC卡、电子宠物等,这些都离不开微型计算机。微机即是集CPU,RAM,ROM,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。这次课程设计的题目是:数字电子钟的设计。计时精确的电子钟在我们生活中能处处能见到。钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。通过对一个学期的微机原理与接口技术的学习,我们可以利用我们所学过的知识来实现数字电子钟的工作过程。我们选择LED显示,8253定时功能、8255基本输入输出的功能、8259的中断功能来实现数字电子钟的设计。其中附有电路原理图,电路接线图和源程序。因水平有限,难免有疏落不足之处,敬请指导老师批评指正。
PAGE161.设计目的熟悉编程及调试程序的方法。掌握8259中断控制器的工作原理和应用编程方法,练习编写中断程序的方法。掌握8255的各种工作方式及其应用编程。掌握8253定时/计数器的工作原理、工作方式及其应用编程。数码管的显示编程方法。2.设计要求设计一个接口与七段LED显示器,显示一个计时时钟,显示初值为0,LED显示器循环显示时、分的动态值,具有校时校分功能。3.总体设计:利用8253可编程定时/计数器、8259中断控制器、8255可编程并行接口芯片和七段数码管设计一个电子钟的电路,并编制一程序使得该电子钟能正常运行。电子钟除了能够完成正常的计时、显示功能外,还必须具备正常时、分、秒的数值显示功能、时间设定功能等。绘制相应的硬件电路原理图并完成接线。编制相应控制程序实现电子钟的计时、显示等功能。控制程序设计规范,应有适当的注释,表达清楚。钟的时分秒显示分别采用6个7段LED数码管实现。利用8253做定时器,对其送入一个计数初值,然后将输出的脉冲送到的8259的IR0产生中断,在8259中断处理程序中,对时、分、秒进行计数,在等待中断的循环中,采用8255芯片,利用LED显示时间,将8255的两个输出端口A口与B口实现其位选与段选。在主程序中要分别对8253、8259、8255进行初始化编程,8253的计数器1可在方式3下工作。时、分、秒分别对应6个存储单元,分别存放时、分、秒的个位和十位。当中断来时,将秒的个位加1,判断是否到10,如到了则十位加1,个位清零;再判断十位是否到了6,如到了则十位清零,分的个位加1,同理对分、时作相应处理。七段数码管显示作为子程序,将时、分、秒对应存储单元的内容分别取出并转换成相应的代码,利用缓冲区和延时子程序进行显示。修改时间通过8255的C口低三位实现,当K1按下的时候将时间复位为初始时间00:00:00,当K2按下的一次将时位加1,当K3按下的一次将分位加1.4.硬件设计:4.1、8259A芯片的内部结构及引脚中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片。它将中断源优先排队、辨别中断源以及提供中断矢量的电路集中于一片中。因此无需附加任何电路,只需对8259A编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。在MD微机系统中,8259芯片工作于单片方式。8259引脚图如图3.3,各引脚功能如下。D7~D0——八条双向数据线;WR(低电平有效)——写输入信号;RD(低电平有效)——读输入信号;CS(低电平有效)——片选输入信号;A0——地址信号;INT——中断请求信号;INTA(低电平有效)——中断响应信号;CAS0~CAS2——级联信号,形成一条专用8259A总线,以便多片8259A的级联;图3.18259A引脚图SP/EN——从编程/允许级联。在缓冲方式中,可用做输出信号以控制总线缓冲器的接收和发送。在非缓冲方式中,作为输入信号用于表示主片还是从片;图3.18259A引脚图IR0~IR7——外部中断请求输入线。要求输入的中断请求信号是由低电平到高电平的上升沿(并保持高电平到CPU响应时为止)或者是高电平。4.2、8255芯片的内部结构及引脚8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种工作方式下工作:图3.28255引脚图方式0—基本输入/输出方式图3.28255引脚图方式1—选通输入/输出方式方式2—双向选通输入/输出方式8255引脚图如图3.2示,各引脚功能如下。D7~D0——与CPU侧连接的八条双向数据线;WR(低电平有效)——写输入信号;RD(低电平有效)——读输入信号;CS(低电平有效)——片选输入信号;A0、A1——片内寄存器选择输入信号;PA7~PA0——A口外设双向数据线;PB7~PB0——B口外设双向数据线;PC7~PC0——C口外设双向数据线;RESET——复位输入信号4.3、8253芯片的内部结构及引脚8253可编程定时/计数器是Intel公司生产的通用外围芯片之一,有3个独立的十六位计数器,技术频率范围为0~2MHZ,它所有的技术方式和操作方式都通过编程控制。8253的功能用途是:(1)延时中断(2)可编程频率发生器(3)事件计数器(4)二进倍频器(5)实时时钟(6)数字单稳(7)复杂的电机控制器8253有六种工作方式:(1)方式0:计数结束中断(2)方式1:可编程频率发生器(3)方式2:频率发生器(4)方式3:方波频率发生器(5)方式4:软件触发的选通信号(6)方式5:硬件触发的选通信号8253各引脚功能如下。D7~D0——八条双向数据线;WR(低电平有效)——写输入信号;RD(低电平有效)——读输入信号;CS(低电平有效)——片选输入信号;A0、A1——片内寄存器地址输入信号;CLK——计数输入,用于输入定时基准脉冲或计数脉冲;OUT——输出信号,以相应的电平指示计数的完成,或输出脉冲波形;GATE——选通输入(门控输入),用于启动或禁止计数器的操作,以使计数器和计测对象同步。4.4.设计方案在整个电子钟的设计中。我们使用8253用于定时功能,由于8259的中断只能是电平与电缘触发,所以我们选择电缘触发。由于我们选择一次写入计数初值后的能循环进行,所以我们选择工作方式2在每次的计数初值的N-1是产生一个脉冲。在CLK0引脚接入10KHZ的时钟周期,而将计数初值写为10000时,继而在OUT0会在每1s产生脉冲,在控制字的时候采用十进制计数,所以其控制字为35H,所以8253能产生准确的计时功能。8255A芯片,将8255A的A,B口均工作在工作方式0的下,且为输出控制LED的位选与片选,而C口用于修改时间用,同样工作于方式0低四位输出。所以其控制字为81H。8259A芯片用于产生中断信号去自动修改秒针。所以只需将8259的IR0产生中断,其他未屏蔽,单片8259,上升沿中断,要写ICW4,中断号为20H,工作在8086/88方式。硬件连接图:5.软件设计:5.1、原理框图上图为主程序流程图;5.2.系统模块详细设计与调试1.在主程序中要分别对8253、8259、8255进行初始化编程。具体如下:8253的方式控制字:MOVAX,0MOVDS,AXMOVAL,35HMOVDX,CONTROLOUTDX利用8253计数器0:MOVAX,00HMOVDX,COUNT1OUTDXMOVAX,00HOUTDX8259初始化命令字和操作命令字:MOVDX,CS8259AMOVAL,ICW1OUTDXMOVDX,CS8259BMOVAL,ICW2OUTDXMOVAL,ICW4OUTDXMOVAL,OCW1OUTDX利用计算机内部8255:MOVAL,MD8255MOVDX,CTL8255OUTDX5.3.用定时器8253输出的脉冲8259产生中断一次时、分、秒的处理。中断服务程序详见程序中IENTER模块:IENTERPROCNEARPUSHAXPUSHDXINCSECOND;秒加1MOVAL,SECONDCMPAL,60;秒数与60比较JNEEXITMOVSECOND,0;秒清零INCMINUTE;分加1MOVAL,MINUTECMPAL,60;分数与60比较JNEEXITMOVMINUTE,0;分清零INCHOUR;时加1MOVAL,HOURCMPAL,24;时数与24比较JNEEXITMOVHOUR,0;时清零利用按键K1,K2,K3修改时间程序:CHANGEPROCNEARMOVDX,34HINAL.DX;读入C口是否有键按下ANDAL,07H;屏蔽高5位CMPAL,07H;检查是否全为零JZEXIT;没有键按下不需要修改退出CALLDELAY;延迟20ms消键盘抖动INAL,DX;再次读入C口ANDAL,07HCMPAL,07JZEXIT;确认第一次检查为干扰键盘退出MOVBL,AL;不是干扰存开关量入寄存器BLRESET:ANDAL,01H;复位JZMINMOVHOUR,00HMOVMINUTE,00HMOVSECOND,00HJMPEXITMIN:MOVAL,BLANDAL,02HJZHOUINCMINUTEHOU:MOVAL,BLANDAL,04HINCHOUREXIT:NOPCHANGEEDNP5.4完整程序如下:MD8253EQU35H;8253控制字CONTROLEQU86H;8253控制口COUNT0EQU80HCOUNT1EQU82HCOUNT2EQU84HMD8255EQU81H;8255控制字CTL8255EQU36H;8255控制口OUTBITEQU30H;位控制口OUTSEGEQU32H;段控制口CHANGEEQU34H;C口地址用于修改时间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:DATA,ES:DATADELAYPROCNEAR;延时子程序在显示时能供调用PUSHAXPUSHCXMOVAL,0MOVCX,AXLOOP$POPCXPOPAXRETDELAYENDPCHANGEPROCNEARMOVDX,34HINAL.DX;读入C口是否有键按下ANDAL,07H;屏蔽高5位CMPAL,07H;检查是否全为零JZEXIT;没有键按下不需要修改退出CALLDELAY;延迟20ms消键盘抖动INAL,DX;再次读入C口ANDAL,07HCMPAL,07JZEXIT;确认第一次检查为干扰键盘退出MOVBL,AL;不是干扰存开关量入寄存器BLRESET:ANDAL,01H;复位JZMINMOVHOUR,00HMOVMINUTE,00HMOVSECOND,00HJMPEXITMIN:MOVAL,BLANDAL,02HJZHOUINCMINUTEHOU:MOVAL,BLANDAL,04HINCHOUREXIT:NOPCHANGEEDNPDISPLAYLEDPROCNEARMOVBX,OFFSETLEDBUFMOVCL,6;共6个八段管MOVAH,00100000B;从左边开始显示DLOOP:MOVDX,OUTBITMOVAL,0OUTDX,AL;关所有八段管MOVAL,[BX]MOVDX,OUTSEGOUTDXMOVDX,OUTBITMOVAL,AHOUTDX,AL;显示一位八段管PUSHAXMOVAH,1CALLDELAYPOPAXSHRAH,1INCBXDECCLJNZDLOOPMOVDX,OUTBITMOVAL,0OUTDX,AL;关所有八段管RETDISPLAYLEDENDPIENTERPROCNEARPUSHAXPUSHDXINCSECOND;秒加1MOVAL,SECONDCMPAL,60;秒数与60比较JNEEXITMOVSECOND,0;秒清零INCMINUTE;分加1MOVAL,MINUTECMPAL,60;分数与60比较JNEEXITMOVMINUTE,0;分清零INCHOUR;时加1MOVAL,HOURCMPAL,24;时数与24比较JNEEXITMOVHOUR,0;时清零EXIT:MOVDX,CS8259A;结束中断MOVAL,20HOUTDX,POPAX;恢复AXIRETIENTERENDPIINITPROCNEAR;初始化8259的命令字和操作命令字MOVDX,CS8259AMOVAL,ICW1OUTDXMOVDX,CS8259BMOVAL,ICW2OUTDXMOVAL,ICW4OUTDXMOVAL,OCW1OUTDXRETIINITENDPSTART:MOVAX,DATAMOVDS,AXMOVHOUR,0;时、分、秒清零MOVMINUTE,0MOVSECOND,0CLI;清除中断标志位MOVAX,0MOVDS,AXMOVAL,MD8253;8253控制字MOVDX,CONTROLOUTDXMOVAL,00;利用8253计数器0MOVDX,COUNT0OUTDXMOVAL,00OUTDX,AL;两次写入,先写低字节,后写入高字节MOVAL,MD8255;8255初始化MOVDX,CTL8255OUTDXMOVBX,4*ICW2;中断号*4得到入口地址MOVAX,CODESHLAX,4;*16ADDAX,OFFSETIENTER;中断入口地址(段地址为0)MOV[BX],AXMOVAX,0INCBXINCBXMOV[BX],AX;代码段地址为0CALLIINITMOVAX,DATAMOVDS,AXSTI;开中断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,AL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第五单元任务三《演出与评议》教学设计-2023-2024学年统编版语文九年级下册
- 第二单元写作《审题立意》教学设计 2023-2024学年统编版语文九年级下册
- 2024内蒙古铁路投资集团有限责任公司及其所属公司公开招聘5人笔试参考题库附带答案详解
- 2025至2030年中国橡胶后处理包装线数据监测研究报告
- 第二单元图像处理的基本方法第8课一、《认识颜色通道》教学设计 2023-2024学年人教版初中信息技术七年级下册
- 江西省部分学校2023-2024学年高二上学期12月月考地理试题(解析版)
- 湖南省邵阳市2022-2023学年高二上学期12月月考地理试题(解析版)
- 第二单元第三节《图片是信息好助手-插入图形图像》教学设计 2023-2024学年西交大版(2014)初中信息技术七年级下册
- 2025年贵州应用技术职业学院单招职业适应性测试题库完美版
- 2025年口腔化学品:牙膏项目发展计划
- 职业素养的内容(含事例)课件
- 工艺美术专业-工艺品设计课程标准
- 环卫市场化运营方案PPT
- 二年级下册综合实践活动说课稿-我是清洁小卫士 全国通用
- 教师师德考核表
- 人教版(2023)必修三 Unit 3 Diverse Cultures 单元整体教学设计(表格式)
- 单层工业厂房排架结构设计正文
- 两人合伙开旅行社合同范本
- 小学生漫画独立学习力(全3册)
- 马来西亚风俗
- 2024年电梯安装质量手册、程序文件含质量记录表符合特种设备许可规范TSG07-2019
评论
0/150
提交评论