ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:1.17MB ,
资源ID:11548895      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(电子钟王天宇 PB12210258李韧 PB12210238杨征元 PB12210247.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

电子钟王天宇 PB12210258李韧 PB12210238杨征元 PB12210247.docx

1、电子钟 王天宇 PB12210258李韧 PB12210238杨征元 PB12210247微机原理与系统综合实验实验题目:电子钟小组成员:李韧 杨征元 王天宇 PB12210238 PB12210247 PB12210258 院系:信息科学技术学院时间:2014年夏季学期综合实验 电子钟王天宇 PB12210258,李韧 PB12210238,杨征元 PB12210247一实验目的1. 熟练掌握8254定时和计数的应用,了解各方式的波形特征,熟悉8254的编程。2. 掌握8255的工作方式及其应用,了解数码显示的基本原理,熟悉8255的编程。3. 熟练掌握中断向量的设置程序的编写,掌握8259

2、中断控制器的工作原理。4. 能够利用各个芯片的特性,掌握各芯片连接方法,开发思维,自主设计,完成实际应用。二实验设备IA-32 架构的微机系统及应用教学平台一套。三实验基本原理1. 8254计数初值公式为:n=fCLKifOUTi 其中fCLKi是输入时钟脉冲的频率,fOUTi是输出波形的频率。图3-3-1 是8254 的内部结构框图和引脚图,它是由与CPU 的接口、内部控制电路和三个计数器组成。8254 的工作方式如下述:(1)方式0:计数到0 结束输出正跃变信号方式。(2)方式1:硬件可重触发单稳方式。(3)方式2:频率发生器方式。(4)方式3:方波发生器。(5)方式4:软件触发选通方式。

3、(6)方式5:硬件触发选通方式。图3-3-1 8254的内部接口和引脚8254 的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。控制字格式如表3-3-1所示。表3-3-1 8254的方式控制字格式2. 8255并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。CPU 和接口之间的数据传送总是并行的,即可以同时传递8 位、16 位或32 位等。8255 可编程外围接口芯片是Intel 公司生产的通用并行I/O 接口芯片,它具有A、B、C 三个并行接口,用+5V 单电源供电,能在以下三

4、种方式下工作:方式0-基本输入/输出方式、方式1-选通输入/输出方式、方式2-双向选通工作方式。8255 工作方式控制字和C 口按位置位/复位控制字格式如图3-1-1 所示。图3-1-1 8255控制字格式3. 82598259 的命令共有7 个,一类是初始化命令字,另一类是操作命令。8259 的编程就是根据应用需要将初始化命令字ICW1-ICW4 和操作命令字OCW1- OCW3 分别写入初始化命令寄存器组和操作命令寄存器组。ICW1-ICW4 各命令字格式如图2-1-2 所示,OCW1-OCW3各命令字格式如图2-1-3 所示,其中OCW1 用于设置中断屏蔽操作字,OCW2 用于设置优先级

5、循环方式和中断结束方式的操作命令字,OCW3 用于设置和撤销特殊屏蔽方式、设置中断查询方式以及设置对8259 内部寄存器的读出命令。图 2-1-2(a) ICW1格式图 2-1-2(b) ICW2格式图 2-1-2(c) ICW3格式图 2-1-2(d) ICW4格式图 2-1-3 OCW 命令字格式 在硬件系统中,8259仅占用两个外设接口地址,在片选有效的情况下,利用A0来寻址不同的寄存器和命令字。对寄存器和命令的访问控制如表2-1-1所示。表 2-1-1 8259 寄存器及命令的访问控制四.实验内容利用8254,8255,8259制作电子钟要求在数码管上显示时分秒。(1).接线8254:

6、CLK0接18.342KHZ时钟,GATE0接+5V,OUT0接8259的IR18255:PB0PB6接数码管引脚,PA5PA0接X1X6。(2).实验设计过程8254产生1s脉冲充当中断信号,8259产生中断,8255控制刷新数码管,计数函数以及显示函数。其中显示函数死循环实现,计数函数在中断服务程序内操作。8254:使用提供的时钟源经方式3分频产生1Hz的方波时钟脉冲,分频参数为4500。8259:接收8253产生的中断,给CPU提供中断,使程序进入中断调用,中断一秒一次。8255:通过A口选通使数码管轮流显示,通过B口控制数码管引脚电平,产生相应的数字。中断服务程序:计时值由空间TIME

7、存放,定义有六个DB数据域,初值均为0,低位到高位依次分别代表秒:分钟:小时。中断服务程序内首先对其中最低位自增,并逐位判断是否需要进位。由于中断服务程序每一秒触发一次,便可实现电子钟功能。时间显示程序:显示通过刷新数码管实现。即以刷新显示一遍(6个数)为一周期。先显示最低位:由TIME最低位数值换码得到相应信号,由8255B口方式0输出,8255A口方式0输出对应选通信号(0FEH)。之后显示次低位,选通信号移位(通过ROL),在第五个数码管上显示次低位。直至一个周期全部显示完。显示后引入较小的延迟,增加显示稳定性(因为输出新的时间与选通信号始终有一个很小的延迟,故将正确的显示加延迟可提升那

8、部分占空比,使显示更稳定),但仍使刷新率高到人眼无法分辨以实现刷新显示。完成一个周期后,循环重新初始化,继续进行显示。显示过程中收到中断信号就终止显示,转入中断(计数)处理。(3).程序代码IRQ_IVADD EQU 01C8H ;IRQ10对应的中断矢量地址IRQ_OCW1 EQU 0A1H ;IRQ10对应PC 机内部8259 的OCW1 地址IRQ_OCW2 EQU 0A0H ;IRQ10对应PC 机内部8259 的OCW2 地址IRQ_IM EQU 0FBH ;IRQ10对应的中断屏蔽字 CS2 EQU 3040H ;片选CS2 对应的端口始地址MY8254_COUNT0 EQU CS

9、2+00H ;8254 计数器0 端口地址MY8254_MODE EQU CS2+03H ;8254 控制寄存器端口地址 CS0 EQU 3000H MY8255_A EQU CS0+00H MY8255_B EQU CS0+01H MY8255_C EQU CS0+02H MY8255_MODE EQU CS0+03H DATA SEGMENT IMRR DB (?)DTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H, 7FH,6FH,77H,7CH,39H,5EH,79H,71HTIME DB 0,0,0,0,0,0 ;时间数值存到TIME,由低到高依次是

10、秒个位、秒十位、分个位、分十位、小时的个位,小时的十位PICK DB 0FEHDATA ENDSSTACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV DX,MY8255_MODE ;初始化8255 MOV AL,00000000B OUT DX,AL MOV DX,MY8254_MODE ;初始化8254 MOV AL,00110111B OUT DX,AL MOV DX,MY8254_COUNT0 MOV AL,00H OUT

11、 DX,AL MOV AL,45H ;设置1s中断 OUT DX,AL CLI MOV AL,72H ;设置中断向量 MOV AH,35H INT 21H PUSH ES PUSH BX PUSH DS MOV DX,OFFSET CHIHAYA MOV AX,SEG CHIHAYA MOV DS,AX MOV AL,72H MOV AH,25H INT 21H POP DS IN AL,IRQ_OCW1 MOV DX,IRQ_OCW1 MOV IMRR,AL AND AL,0FBH OUT DX,AL STI ;打开中断,之后触发端有脉冲即可进入服务程序,无中断则不断刷新数码管以显示时间SH

12、OWPP:MOV DX,MY8255_A ;数码管显示程序 MOV AL,0FEH MOV PICK,AL ;PICK用于存储AL的数值,以循环显示 OUT DX,AL MOV DI,OFFSET TIME MOV CX,6SHOWP: MOV AL,DI MOV BX,OFFSET DTABLE XLAT MOV DX,MY8255_B OUT DX,AL CALL DELAY INC DI MOV DX,MY8255_A MOV AL,PICK ROL AL,1 ;循环移位,依次选通 OUT DX,AL MOV PICK,AL LOOP SHOWP JMP SHOWPP QUIT:CLI

13、POP DX POP DS MOV AL,72H MOV AH,25H INT 21H MOV DX,IRQ_OCW1 MOV AL,IMRR OUT DX,AL STI MOV AX,4C00H INT 21H CHIHAYA PROC NEAR ;时间计数及处理中断程序,中断一次秒数加一,然后判断是否需要进位。需要,则进位,然后判断高位是否需要进位,依次进行下去;不需要则退出中断。 PUSH AX MOV AX,DATA MOV DS,AX MOV DI,OFFSET TIME MOV AL,DI INC AL CMP AL,10 JNZ NEXT MOV AL,0 MOV DI,AL I

14、NC DI MOV AL,DI INC AL CMP AL,6 JNZ NEXT MOV AL,0H MOV DI,AL INC DI MOV AL,DI INC AL CMP AL,10 JNZ NEXT MOV AL,0H MOV DI,AL INC DI MOV AL,DI INC AL CMP AL,6 JNZ NEXT MOV AL,0H MOV DI,AL INC DI MOV AL,DI INC AL CMP AL,10 JNZ NEXT MOV AL,0H MOV DI,AL JMP QUIT1NEXT: MOV DI,AL QUIT1: MOV DI,OFFSET TIME

15、;判断是不是24点,若是则“小时”清零 MOV AL,DI+4 CMP AL,4 JNZ QUIT2 MOV AL,DI+5 CMP AL,2 JNZ QUIT2 MOV AL,0 MOV DI+5,AL MOV DI+4,ALQUIT2: MOV DX,IRQ_OCW2 ;向PC机内部8259发送中断结束命令 MOV AL,20H OUT DX,AL MOV AL,20H OUT 20H,AL POP AX STI IRET CHIHAYA ENDP DELAY PROC NEAR ;延时,调整数码管显示频率,使数字显示清晰而无其他混杂 PUSH CX MOV CX,0FFFH D1: MO

16、V AX,00FFH D2: DEC AX JNZ D2 LOOP D1 POP CX RET DELAY ENDP CODE ENDS END START(4).实验结果 时钟格式X1 X2:X3 X4:X5 X6 (时:分:秒)X6不断加一计数,计到10,则X5加一,X6清零;X5计到6,则X4加一,X5清零;X4计到10,则X3加一,X4清零;X3计到6,则X2加一,X3清零;X2计到10,则X1加一,X2清零。下为实验室的实物照:五.实验总结本实验综合性较强,综合应用了8255,8259,8254三个芯片,很好地锻炼了综合能力,将平常所学的分立的知识有机的结合了起来。实验过程中也遇到了一些问题,比如延时不够理想,出现了字形不清晰等,通过对程序进行了多次调试和修改,最终理想地得到了符合要求的最终结果。多次实验下来,我们都感觉到了实际应用和理论学习确实有一定的差距,也在实验过程中不断强化了课本上的知识,受益匪浅。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1