ImageVerifierCode 换一换
格式:DOC , 页数:30 ,大小:420.54KB ,
资源ID:2372424      下载积分:12 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2372424.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(电子时钟毕业设计方案.doc)为本站上传会员【天****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

电子时钟毕业设计方案.doc

1、1 概述1.1设计目标经过一个学期对微机原理及接口技术学习,掌握知识还停留在理论上。不过这是一门实践性较强课程,让学生在学完该课程以后,进行一次课程设计,使学生将课堂所学知识和实践有机结合起来,初步掌握计算机应用系统设计步骤和接口设计方法,提升分析和处理实际问题能力。经过设计实践,培养学生查阅专业资料,工具书或参考书,了解相关工业标准,掌握现代设计手段和软件工具,并能以图纸和说明书表示设计思想和结果能力。经过设计,不仅要培养和提升学生处理工程具体问题,动脑动手技术工作能力,而且还要逐步建立科学正确设计和科研思想,培养良好设计习惯,牢靠树立实事求是和严厉认真工作态度。具体要求以下:l 1、掌握D

2、MA工作原理,中止工作原理,定时计数原理,并行通信原理,A/D和D/A工作原理。l 2、掌握8237芯片,8259芯片,8254芯片,8255芯片,ADC0809芯片功效,结构。l 3、掌握8237芯片,8259芯片,8254芯片,8255芯片,ADC0809芯片编程。l 4、能利用所提到芯片,设计系统并进行程序开发,满足用户需求。1.2设计要求总体内容:设计一电子时钟,能在数码管上显示时间并计时。 接口设计:依据题目和所用接口电路芯片设计出完整接口电路,并在试验系统上完成电路连接和调试经过.程序设计:要求画出程序框图,设计出全部程序并给出程序设计说明和程序注释。课程设计汇报:正文字数约400

3、0字以上(不包含程序清单),内容关键有总体设计方案,工作和组成原理(框图)或设计说明,采取技术路线,接口电路设计,程序设计(程序框图和程序清单及注释),对设计中所存在问题和不足进行分析和总结,提出处理方法,方法,提议。 前期完成试验有:8259A中止控制器试验,8254定时计数器试验,8255并行接口试验。 1.2.1在课程设计汇报中实现在实际试验当中,因为试验设备上差异,所以极难实现时、分等较为完美显示,但在课程设计汇报中则没有这些限制。所以在课程设计汇报中必需实现功效有:用4个数码管试验0分0秒到59分59秒显示。2)将数码管上信息同时显示在显示器上。1.3电子时钟电子时钟从原理上讲是一个

4、经典数字电路,其中包含了组合逻辑电路和时序电路。传统设计方法有两种,一是利用组合逻辑电路和时序电路等中小规模集成电路来设计;一是利用单片机编程技术来设计。这两种设计全部存在硬件复杂,设计周期长,成本高等缺点。而且本学期经过对现代微机原理和接口技术学习,利用掌握知识进行实践是必需,以巩固基础知识,培养独立操作能力。而此次课程设计要实现功效为:利用定时器从0开始进行计时,将计时结果显示在数码管上。每隔1秒,秒钟计时一次,到60秒,分钟加1,到60分小时加1。依据需要,需选择芯片有8254,8259,8255,系统时钟频率1.041667MHz;2 概要设计2.1设计内容此次课程设计内容为电子时钟设

5、计和实现,利用定时器从0开始进行计时,将计时结果显示在数码管上。每隔1秒,秒钟计时一次,到60秒,分钟加1,到60分小时加1。依据需要,需选择芯片有8254,8259,8255,系统时钟频率1.041667MHz;因为试验箱上数码管一次只能用一个,设计者可考虑先完成下面试验要求:利用8254计时,计时从0秒到9秒,到9秒后又从0秒重新开始计时,同时将0秒9秒数字变动信息经过8255送数码管显示。由系统时钟频率1.041667MHz,同学们考虑怎样利用8254计数器实现1秒计时。2.2设计环境和器材(1)PC微机一台 用于对程序编译测试等,同时还需要对试验设备进行控制,提供整个程序运行平台,而且

6、搜集和释放硬件信号,实现程序功效。(2)TD-PIT+一台 此设备必需能提供8254、8255、8259和显示灯等必需芯片。而且能经过接收PC机传来信息,显示出对应功效。以支持电子时钟实现。(8)0.55mm单总线若干条 用于电路和芯片之间连接。 2.3设计思想 本系统所要完成是电子钟计时等功效,其中最基础就是实现计时功效,并把对应数值送到数码管上显示出来。在本系统中,用到8254功效只是相当于一个定时计,我们给定时器输入30KHz频率脉冲,这么每隔一秒就会在OUT0端产生0到1跃变,作为中止IRQ请求信号。当然,时钟计数也有其特定规则,那就是秒、分个位逢十进一,十位逢六进一,所以,我们能够经

7、过中止处理程序来控制其进位。这么我们便完成了计时功效。然而,假如仅仅将计时得到对应数据送入数码管,我们会发觉,四个数码管同时显示,无法完成其时钟显示功效。不过,我们知道,四个数码管亮灭和小键盘X1,X2,X3,X4各列是否为低电平是相对应(即:X1,X2,X3,X4依次对应从左到右四个数码管,若X1为低电平,则数码管1亮;若X2为低电平,则数码管2亮;),于是,我们就能够将低电平输出到对应键盘上,来实现对应数码管显示。经过以上分析,我们能够用四位二进制码分别对应表示X4X3X2X1逻辑值(1-高电平,0-低电平),这么要实现时钟显示功效,便能够根据以下方法来进行:首先将秒个位数据经过8255B

8、端口送给数码管,同时将二进制码“0111”经过8255A端口送给小键盘X4X3X2X1,这么经过计算机扫描后,就会在数码管4上显示秒个位值;接着将秒十位数据送给数码管,同时将二进制码“1011”送给小键盘X4X3X2X1,这么就会在数码管3上显示对应数值;一样道理,分别将分个位、十位送给数码管,“1101” 、“1110”送给小键盘X4X3X2X1,就会依次在数码管2、1上显示分个位、十位数值。另外,必需注意一点就是,显示时间应该是:XX.XX,中间一点显示在分个位上,也就是说在数码管2上显示那一点,以区分分和秒。所以,我们将显示分个位数码管二进制码最高位置“1”,其它数码管置“0”,便达成了

9、显示点功效。从上面方法我们能够看出,电子钟分秒各位显示并不是同时进行,而是按次序依次循环显示,它利用就是人视觉暂留现象来欺骗大家眼睛,造成一个“四位数值同时显示”假象。2.4电路原理和关键芯片功效 此次设计实现电子时钟功效,电子时钟关键采取可编程并行接口芯片8255A、中止控制器2859A、定时/计数器8253、LED数码显示管和两个按键来设置一个控制灯开关来组合设计。其中关键用8259AIR7中止服务程序完成秒、分、时运算即计时功效,IR6中止服务程序完成调时、调分功效。8253用来产生50ms脉冲作为IR7中止请求信号。8255A负责将内存里时位、分位和秒位数值输出到数码管。8279A用来

10、控制显示器显示时钟。按键K1+和K2+分别作为IR2和IR6中止请求信号。按键K1+开启/关闭对时功效,它决定是否屏蔽IR7和IR6中止源。2.4.1 8255关键功效8255 可编程外围接口芯片是 Intel 企业生产通用并行I/O 接口芯片,它含有A、B、C 三个并行接口,并行接口是以数据字节为单位和I/O 设备或被控制对象之间传输信息。CPU 和接口之间 数据传送总是并行,即能够同时传输8 位、16 位、32 位等。用+5V 单电源供电,能在以下三种方法下工作:方法0-基础输入/出方法、方法1-选通输入/出方法、方法2-双向选通工作方法。8255 内部结构及引脚图2.1所表示:图2.1

11、内部结构及引脚8255 工作方法控制字和C口按位置位/ 复位控制字格式图3-7-2 所表示:图2.2 置位/ 复位控制字格式2.4.2 8259关键功效中止控制器8259A 是Intel 企业专为控制优先级中止而设计开发芯片。它将中止源优先级 排队、分辨中止源和提供中止矢量电路集于一片中,所以无需附加任何电路,只需对8259A 进行编程,就能够管理8 级中止,并选择优先模式和中止请求方法,即中止结构能够由用户编 程来设定。同时,在不需增加其它电路情况下,经过多片8259A 级连,能组成多达64 级矢量中止系统。它管理功效包含:1)统计各级中止源请求,2)判别优先级,确定是否响应 和响应哪一级中

12、止,3)响应中止时,向CPU 传送中止类型号。8259A 内部结构和引脚图2.3所表示: 图2.3 内部结构和引脚8259A 命令共有7 个,一类是初始化命令字,另一类是操作命令。8259A 编程就是依据 应用需要将初始化命令字ICW1-ICW4 和操作命令字OCW1- OCW3 分别写入初始化命令寄存器 组和操作命令寄存器组。OCW1-OCW3 各命令字格 式图2.4所表示,其中OCW1 用于设置中止屏蔽操作字,OCW2 用于设置优先级循环方法和 中止结束方法操作命令字,OCW3 用于设置和撤销特殊屏蔽方法、设置中止查询方法和设 置对8259 内部寄存器读出命令。图2.4 OCW1-OCW3

13、 各命令字格2.4.3 8254关键功效8254 是Intel 企业生产可编程间隔定时器。是8253 改善型,比8253 含有更优良性能。8254 含有以下基础功效: 有3 个独立16 位计数器; 每个计数器可按二进制或十进制(BCD)计数; 每个计数器可编程工作于6 种不一样工作方法;每个计数器许可最高计数频率为10MHz(8253 为2MHz); 8254 有读回命令(8253 没有),除了能够读出目前计数单元内容外,还能够读出状态寄存器内容。 计数脉冲能够是有规律时钟信号,也能够是随机信号。计数初值公式为n=fCLKi fOUTi,其中fCLKi是输入时钟脉冲频率,fOUTi是输出波形频

14、率。 图2.5 内部结构框图和引脚图上图是8254 内部结构框图和引脚图,它是由和CPU 接口、内部控制电路和三个计数器组成。8254 工作方法以下述: (1) 方法0 :计数到0 结束输出正跃变信号方法。 (2) 方法1:硬件可重触发单稳方法。 (3) 方法2 :频率发生器方法。 (4) 方法3 :方波发生器。 (5) 方法4 :软件触发选通方法。 (6) 方法5 :硬件触发选通方法。8254 控制字有两个:一个用来设置计数器工作方法,称为方法控制字;另一个用来设 置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。控制字格式如表3-9-1 所表示。读回控制字格式如表3-9

15、-2 所表示。当读回控制字D4 位为0 时,由该读回控制字D1D2 位指定计数器状态寄存器内容将被锁存到状态寄存器中。状态字格式如表2.6所表示:图2.6 8254状态字格式3 具体设计3.1 显示实现使用8259控制,用数码管显示功效来设计,显示部分用八只LED为显示管,这些LED发光二极管阴极是相互连接在一起,所以称为共阴极数码管。经过在这八只发光二极管阳极加+5V或0V电压使不一样二极管发光,形成不一样字符和数字。电子时钟用到是0-9十个数字,它们所对应字符表依次是3FH、06H、5BH、4FH、66H、6DH、7DH、07H、7FH、6FH。图3.1 显示模块步骤图该模块关键是将运算模

16、块和对时模块运算出来并存放在内存单元里十八进制时位、分位和秒位数值转化为十进制,并经过八只数码管显示出来。此模块实现硬件是使用试验箱中LED单元,采取软件译码,即在程序中设置一个段选码表。CPU直接往LED输出八段代码,省去了硬件译码器。8259输出B0-B3,A0-A3作为八段数据输出口,经74LS07驱动后抵达各LED。只要做到每次送一次段选码时也送一次扫描码,而且每送一次位扫描码后,位码中0右移一位作为下一次位扫描码,即可实现从右向右使八只LED依次出现数字显示,这里位扫描码送出和右移是由8259自动实现。显示基础代码以下:MOV AX,SEC ;完成秒计时值显示 CALL DECSHO

17、W MOV AX,0E0DH ;回车,置光标到行首 INT 10H 这是对秒显示,以这类推能够得到显示分、时代码。3.2 计时实现该模块关键功效是对时、分、秒运算,并把运算出最终止果存放到事先已经开辟内存单元里,方便显示模块即时地显示出来。该模块可细分为秒定时模块和运算模块。秒定时模块负责提供中止信号,因为CPU运算模块中指令消耗一定时间,所以中止信号最好经过硬件来实现,能够选择试验箱中8253或8254定时/计数器来提供,但又因为8254所能提供信号周期是毫秒级,所以必需经过软件方法在运算模块中设置一个统计中止次数变量,而且这一变量必需事先在内存里开辟存放单元。中止信号是8254通道2工作方

18、法3时,产生一个30HZ脉冲信号。运算模块负责时、分、秒计算,该模块关键经过8259IR7号中止来实现,但因为每30HZ一次中止请求,所以在中止服务程序必需利用已申请内存单元COUNT来统计中止请求次数,只有当COUNT值为30时,才能让秒单元内数值加1。另外,在中止服务程序里,必需对秒、分和时单元内数值进行判定,当秒加到60时,分必需加1,秒清零;当分加到60时,时加1,分清零;当初加到24时,直接清零,然后转到调用处。运算模块步骤图以下图所表示:IR7中止Count=count+1Count=30?S=s+1 Count=0Y S=60? NNYM=m+1S=0 M=60? YH=h+1

19、M=0 H=24? NH=0 IRET YN图3.2 运算模块步骤图这是计时基础代码,为是实现正确计时1秒。利用了8254OUTO 30HZ输出一个脉冲。即1/30秒产生一次中止。所以count自加到30则记数1秒。其它以次类推。INC COUNT CMP COUNT,30 JNZ OVER MOV COUNT,0 INC SEC CMP SEC,10 ;计时值自增,到10即归0 JNE DIS MOV SEC,0MOV AX,HOUR MOV DX,0 ;完成时计时值显示 MOV BX,10 DIV BX3.3主程序步骤图图3.3系统实现步骤图 主程序步骤图是对整个程序逻辑图象表示。首先是设

20、置8254、8255、8259各个端口地址。接着初始化各个芯片,开始计时,并经过8259中止控制时间正确显示。在整个过程中全部在检测是否有铵键响应。有则停止,没有则返回继续实施。3.4试验连接线路图 系统连线图关键由五个部分组成。8259中止控制器、8255并口控制器、8254定时计数器、键盘及数码管显示单元、开关及LED显示单元组成。以下图所表示:图3.4 实物连线图总结体会经过近两周课程设计时间,课程设计基础目标达成了。另外还有很多其它有益地方。本系统完成了电子时钟基础功效。利用8254定时器从0开始进行计时,将计时结果显示在数码管上。每隔1秒,秒钟计时一次,到60秒,分钟加1,到60分小

21、时加1,数字变动信息经过8255送数码管显示。期间经过8259中止控制器实现秒到分,分到时转变,正确实现了计时。伴随科技进步电子时钟实现方法已经很多,由传统物理实现转变到软件实现,而且起正确程度也大大提升,且实现方法也越来越简单。在这里是在学完了微机原理及接口技术进行课程设计,所以这里是基于微机原理基础知识来实现电子时钟,首先应该画出硬件设计图,这个过程是基础,然后是步骤图,这个是关键,步骤图完成在很大程度上等于程序完成,然后是程序编写。经过教导老师指导,同学们相互帮助,我收获了很多,也经过设计增强了自己动手能力,同时也对自己所学到知识作一个肯定。学好这门课程在自己以后学习和工作中全部有很大作

22、用,对自己以后帮助也很大.这次课程设计给我最大印象就是假如自己有了爱好,就动手去做,困难在你勇气和毅力下是抬不了头。而在这次课程设计中,也是对汇编语言复习。同时在设计中使我编程水平提升了一大步,使我认识到合作可贵。这次设计包含到很多芯片应用,最大特点是软,硬件结合,对动手能里要求很大。也使我愈加体会到,在一定程度和科技水平上,硬件和软件是能够实现对等转化。电子时钟发展史就很好诠释了这个过程。从物理硬件实现到软件实现。 致 谢 在这个课程设计过程中得到了张亚军/伍建全/王成敏老师悉心指导。每个老师全部数次问询课程设计进程,并为我指点迷津,帮助我开拓处理问题思绪,精心点拨、热忱激励。老师门一丝不苟

23、作风,严谨求实态度,踏扎实实精神,不仅授我以文,而且教我做人,即使只有断断两周时间,却给以终生受益无穷之道。对各位老师感激之情是无法用言语表示。 感谢学校对我们此次课程设计大力支持,在学校教学设备相对担心情况下,仍然为我们安排了充足时间使用学校机房。为我们安排了三个出色而且负责老师来解答我们疑虑。在重庆如此热夏天,学校也在机房配置空调,是同学门静心学习。感谢我同学在这个时间段对完成课程设计支持。是你们在我碰到困难时,立即帮助了我,使得程序等进展顺利。最终我还要感谢我父母、亲人。是她们养育并培养了我。才有了今天。在这里对你们辛勤付出,才有了我今天。参考文件1 陈忠强.现代微机原理和接口技术.冶金

24、工业出版社.2 郭兰英. 微机原理和接口技术. 清华大学出版社. 3 西安唐全部科教仪器企业.32位微机原理和接口技术试验教程.4 西安唐全部科教仪器企业.32位微机原理和接口技术用户手册.5 胡汉才. 微机原理和接口技术课程设计M. 北京:清华大学出版,19966 付家才. 微型计算机及其接口技术学习指导和题典M. 北京:化学工业出版社,.57 潘新民.微型计算机控制技术M.北京:人民邮电出版社,1999.98 余锡存 .曹国华. 汇编语言、微机原理及接口技术M.陕西:西安电子科技大学出版社,.79 雷丽文.微机原理和接口技术M.北京:电子工业出版社,1997.210 李银华.电子线路技术指

25、导.北京航空航天大学出版社,附 录;*依据CHECK配置信息修改下列符号值*INTR_IVADD EQU 01CCH ;INTR对应中止矢量地址INTR_OCW1 EQU 0A1H ;INTR对应PC机内部8259OCW1地址INTR_OCW2 EQU 0A0H ;INTR对应PC机内部8259OCW2地址INTR_IM EQU 0F7H ;INTR对应中止屏蔽字PCI_INTCSR EQU 0DF38H ;PCI卡中止控制寄存器地址IOY0 EQU 0DA00HIOY1 EQU 0DA40H;*MY8254_COUNT0 EQU IOY0+00H*4 ;8254计数器0端口地址MY8254_

26、COUNT1 EQU IOY0+01H*4 ;8254计数器1端口地址MY8254_COUNT2 EQU IOY0+02H*4 ;8254计数器2端口地址MY8254_MODE EQU IOY0+03H*4 ;8254控制寄存器端口地址MY8255_A EQU IOY1+00H*4 ;8255A口地址MY8255_B EQU IOY1+01H*4 ;8255B口地址MY8255_C EQU IOY1+02H*4 ;8255C口地址MY8255_MODE EQU IOY1+03H*4 ;8255控制寄存器地址STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 END

27、SDATA SEGMENT CS_BAK DW ? ;保留INTR原中止处理程序入口段地址变量IP_BAK DW ? ;保留INTR原中止处理程序入口偏移地址变量IM_BAK DB ? ;保留INTR原中止屏蔽字变量SEC DW 0 ;秒计时变量MIN DW 9HOUR DW 0COUNT DB 0DATA ENDSDATA1 SEGMENT VALUE DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH,77HDATA1 ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA1START: MOV A

28、X,DATA MOV DS,AX CLI MOV DX,PCI_INTCSR SUB DX,19H IN AL,DX MOV DX,PCI_INTCSR ;初始化PCI卡中止控制寄存器 MOV AX,1F00H ;向PCI_INTCSR中写入003F1F00H OUT DX,AX ADD DX,2 MOV AX,003FH OUT DX,AX MOV AX,0000H ;替换INTR中止矢量 MOV ES,AX MOV DI,INTR_IVADD MOV AX,ES:DI MOV IP_BAK,AX ;保留INTR原中止处理程序入口偏移地址 MOV AX,OFFSET MYISR MOV ES

29、:DI,AX ;设置目前中止处理程序入口偏移地址 ADD DI,2 MOV AX,ES:DI MOV CS_BAK,AX ;保留INTR原中止处理程序入口段地址 MOV AX,SEG MYISR MOV ES:DI,AX ;设置目前中止处理程序入口段地址 MOV DX,INTR_OCW1 ;设置中止屏蔽寄存器,打开INTR屏蔽位 IN AL,DX MOV IM_BAK,AL ;保留INTR原中止屏蔽字 AND AL,INTR_IM OUT DX,AL MOV DX,MY8255_MODE ;初始化8255工作方法 MOV AL,80H ;工作方法0,A口输出 OUT DX,AL MOV DX,

30、MY8255_A ;写A口发出起始数据 MOV AL,3FH OUT DX,AL STI MOV SEC,0 MOV AX,SEC CALL DECSHOW MOV AX,0E0DH ;回车,置光标到行首 INT 10H MOV DX,MY8254_MODE ;初始化8254工作方法 MOV AL,34H ;计数器0,方法2 OUT DX,AL MOV DX,MY8254_COUNT0 ;装入计数初值 MOV AL,0A2H OUT DX,AL MOV AL,87H OUT DX,ALWAIT1: MOV AH,1 ;判定是否有按键按下 INT 16H JZ WAIT1 ;无按键则跳回继续等候

31、,有则退出QUIT: CLI MOV DX,PCI_INTCSR ;恢复PCI卡中止控制寄存器 MOV AX,0000H OUT DX,AX MOV AX,0000H ;恢复INTR原中止矢量 MOV ES,AX MOV DI,INTR_IVADD MOV AX,IP_BAK ;恢复INTR原中止处理程序入口偏移地址 MOV ES:DI,AX ADD DI,2 MOV AX,CS_BAK ;恢复INTR原中止处理程序入口段地址 MOV ES:DI,AX MOV DX,INTR_OCW1 ;恢复INTR原中止屏蔽寄存器屏蔽字 MOV AL,IM_BAK OUT DX,AL STI MOV AX,

32、4C00H ;返回到DOS INT 21HMYISR PROC NEAR ;中止处理程序MYISR MOV AX,DATA MOV DS,AX INC COUNT CMP COUNT,30 JNZ OVER MOV COUNT,0 INC SEC CMP SEC,10 ;计时值自增,到10即归0 JNE DIS MOV SEC,0 add MIN,1 CMP MIN,10 JNE DIS MOV MIN,0 add HOUR,1DIS: MOV AX,SEC ;完成秒计时值显示 CALL DECSHOW MOV AX,0E0DH ;回车,置光标到行首 INT 10HOVER: MOV DX,P

33、CI_INTCSR SUB DX,19H IN AL,DX MOV DX,PCI_INTCSR ;清PCI卡中止控制寄存器标志位 ADD DX,2 MOV AX,003FH OUT DX,AX MOV DX,INTR_OCW2 ;向PC机内部8259发送中止结束命令 MOV AL,20H OUT DX,AL MOV AL,20H OUT 20H,AL IRETMYISR ENDPDECSHOW PROC NEAR MOV AX,DATA MOV DS,AX MOV AX,HOUR MOV DX,0 ;完成时计时值显示 MOV BX,10 DIV BX ADD AL,30H ;显示计时值十位 M

34、OV AH,0EH INT 10H ADD DL,30H ;显示计时值个位 MOV AL,DL MOV AH,0EH INT 10Hmov al,3ahmov ah,0ehint 10h MOV AX,MIN MOV DX,0 ;完成份计时值显示 MOV BX,10 DIV BX ADD AL,30H ;显示计时值十位 MOV AH,0EH INT 10H ADD DL,30H ;显示计时值个位 MOV AL,DL MOV AH,0EH INT 10Hmov al,3ahmov ah,0ehint 10h MOV AX,SEC MOV DX,0 ;完成秒计时值显示 MOV BX,10 DIV BX ADD AL,30H ;显示计时值十位 MOV AH,0EH INT 10H XOR BX,BX MOV BL,DL ADD DL,30H ;显示计时值个位 MOV AL,DL MOV AH,0EH INT 10H MOV DX,MY8255_A ;写A口 MOV AX,DATA1 MOV ES,AX LEA DI,VALUE ;ES: DATA1, DI: VALUE MOV AL,ES:DI+BX OUT DX,AL RETDECSHOW ENDPCODE ENDS END START

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服