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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(电子时钟设计最终版讲解Word格式文档下载.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

电子时钟设计最终版讲解Word格式文档下载.docx

1、分计算到 60时,要 自己清零并向时进 1;时计算到 24 时,要清零。这样,才能循环 记时。本系统设计的电子时钟以 8088 微处理器作为 CPU,用 8253 做定时计数器产生时钟频率, 8255 做可编程并行接口显示时钟和 键盘电路, 8259 做中断控制器产生中断。在此系统中, 8253 的功 能是定时,接入 8253的CLK 信号为周期性时钟信号。 8253采用 计数器 0,工作于方式 2,使 8253的 OUT0端输出周期性的负脉 冲信号。即每隔 20ms,8253的 OUT0 端就会输出一个负脉冲的信 号,此信号接 8259的 IR2,当中断到 50次数后, CPU即处理, 使液

2、晶显示器上的时间发生变化。其中 8259 只需初始化 ICW1,其功能是向 8259表明 IRx 输入是电瓶 触发方式还是上升沿触发方式, 是单片 8259 还是多片 8259。8259 接收到信号后,产生中断信号送 CPU 处理。1、 中断控制器 8259A 是 Intel 公司专为控制优先级 中断而设计开发的芯片。它将中断源优先排队、辨别 中断源以及提供中断矢量的电路集中于一片中。因此 无需附加任何电路,只需对 8259A编程,就可以管理8 级中断,并选择优先模式和中断请求方式,即中断图 3.1 8259A 引脚图结构可以由用户编程来设定。 在 MD微机系统中,8259芯片工作于单片方式。

3、2、 8259 引脚图如图 3.3,各引脚功能如下 D7D0八条双向数据线; WR(低电平有效)写输入信号; RD(低电平有效)读输入信号; CS(低电平有效)片选输入信号; A0地址信号; INT中断请求信号; INTA(低电平有效)中断响应信号;CAS0CAS2级联信号,形成一条专用8259A总线,以便多片 8259A的级联;SP/EN从编程 / 允许级联。在缓冲方式中,可用做输出信号以 控制总线缓冲器的接收和发送。在非缓冲方式中,作为输入信号 用于表示主片还是从片;IR0IR7 外部中断请求输入线。 要求输入的中断请求信号是由 低电平到高电平的上升沿(并保持高电平到 CPU响应时为止)或

4、 者是高电平。3、 8259 中断矢量地址与中断信号之间的关系如表 3.1 所示:表 3.1 8259A 中断矢量表中断序号1234567功能调用08H09H0AH0BH0CH0DH0EH0FH矢量地20H24H28H2CH30H34H38H3CH址23H27H2BH2FH33H37H3BH3FH说明时钟键盘可用串行口1、 8255可编程外围接口芯片是 Intel 公司生产的通用并行 I/O接 口芯片,它具有 A、B、C三个并行接口,用 +5V 单电源供电,能 在以下三种工作方式下工作:方式 0基本输入 /输出方式方式 1选通输入 / 输出方式 方式 2双向选通输入 / 输出方式 8255 引

5、脚图如图 3.2示,各引脚功能如下。 D7D0与 CPU 侧连接的八条双向数据线; A0、A1片内寄存器选择输入信号; PA7PA0 A 口外设双向数据线; PB7PB0 B 口外设双向数据线; PC7PC0 C 口外设双向数据线; RESET复位输入信号2、 8255端口地址表 3.2 8255 端口地址表信号线寄存器编址IOY3A口60HB口61H62HC口控制寄存器 63H3.3 8253 芯片的内部结构及引脚1、 8253可编程定时/计数器是 Intel 公司生产的通用外围芯片之 一,有 3 个独立的十六位计数器,技术频率范围为 02MHZ ,它 所有的技术方式和操作方式都通过编程控制

6、。8253 的功能用途是:(1)延时中断(2)可编程频率发生器(3)事件计数器(4)二进倍频器(5)实时时钟(6)数字单稳(7)复杂的电机控制器2、 8253有六种工作方式: 图 3.3 8253 引脚图1) 方式 0:计数结束中断2) 方式 1:3) 方式 2:频率发生器4) 方式 3:方波频率发生器5) 方式 4:软件触发的选通信号6)方式 5:硬件触发的选通信号3、 8253引脚图如图 3.3 示,各引脚功能如下。D7D0八条双向数据线;WR(低电平有效)写输入信号;RD(低电平有效)读输入信号;CS(低电平有效)片选输入信号;A0、A1片内寄存器地址输入信号;CLK 计数输入,用于输入

7、定时基准脉冲或计数脉冲;OUT输出信号,以相应的电平指示计数的完成,或输出脉冲 波形;GATE选通输入(门控输入) ,用于启动或禁止计数器的操作, 以使计数器和计测对象同步。4、 8253 端口地址表 3.3 8253 端口地址表IOY20#计数器40H1#计数器41H2#计数器42H控制寄存器43H第四章 电路实现1、显示模块 利用数码管的显示功能来设计。数码管是由八个条形发光二 极管组成的,这些发光二极管的阴极是互相连接在一起的,所以 称为共阴极数码管。通过在这八个发光二极管的阳极加 +5 V 或0 V 的电压使不同的二极管发光,形成不同的字符和数字。电子时钟 用到的是 0到 9十个数字,

8、他们所对应的字符表依次是 3FH、06H、 5BH、4FH、66H、6DH、7DH、07H、7FH、6FH。该模块主要是 将时钟运算模块和对时模块运算出来并存放在内存单元里的十六 进制表示的时位和分位数据转化十进制,并通过四个数码管显示 出来。该模块实现的硬件是 TND86/88 的 LED-KEYBOARD UNIT 。2、时钟运算模块该模块的主要功能是对时、分、秒的运算,并把运算出的最 终结果存到事先已经开辟的内存单元里,以便显示模块即时地显 示出来。该模块可以细分为秒定时模块和运算模块。秒定时模块 负责提供中断信号,由于 CPU 运算模块中的指令消耗一定的时间, 所以中断信号最好通过硬件

9、来实现, 可以选择 TND86/88 实验箱中 的 8253 定时/计数器来提供,但又因为 8253 所能提供的信号的周 期时毫秒级的,因此必须通过软件的方法在运算模块中设置一个 统计中断次数的变量,并且这一变量必须事先在内存里开辟存储 单元。中断信号是 8253的通道 2工作方式为方式 3 时,产生一个 40ms的脉冲信号。运算模块负责时、分、秒的计算,该模块主要 通过 8259 的 IRQ7 号中断来实现,首先将秒定时模块提供的中断 信号为 8259的 IRQ7中断请求信号。但由于每 40ms一次中断请 求。所以在中断服务程序必须利用已申请内存单元 count 来统计中 断请求的次数,只有

10、当 count 的值为 25 时,才能让秒单元内的数 值加 1。另外,在中断服务程序里,必须对秒、分和时的单元内的 数值进行判断,当秒加到 60 时,分必须加 1 、秒清零;当分加到 60 时,时加 1、分清零。当时加到 24 啊,直接清零。3、对时模块 该模块主要功能是修改时、分内存单元的数值。在对时的时 候,秒应停止不变,并且在对分进行调整的时,时单元内的数值 不变。由以上分析可见,对时、分的调整用两个优先级高于 IRQ7的中断来完成。因此,可以用 8259的 IRQ2 中断来实现,两个中 断源的中断请求信号只需直接接在两个按键即可起到对时作用。电子时钟的完整电路图如下:电子时钟主要由 8

11、259A 中断控制器、8253 定时 /计数器、8255A接口芯片、 LED 数码显示管和两个按键组成。主要用 8259A 的 IRQ7 的中断服务程序完成秒、分、时的运算即计时功能, IRQ6 的中断服务程序完成调时、调分功能。 8253 用来产生 50ms的脉 冲信号作为 IRQ7 的中断请求信号。按键 KK1+和 KK2+分别作为 IRQ2 和 IRQ6 的中断请求信号。按键 KK1+ 启动/关闭对时功能。 它决定是否屏蔽 IRQ7 和 IRQ6 中断源。 8255A 负责将内存里的时 位和分位值输出到数码管1、8259A 的主要功能:(1)每片 8259A 可管理 8级优先级中断源,通

12、过开关,最 多可管理 64 级优先权的中断源。(2)对任何一个级别的中断源都可单独进行屏蔽, 使该级中 断请求暂时被挂起,直到取消屏蔽时为止。(3)能向 CPU 提供可编程的标识码。(4)具有多种中断优先权管理方式。 有完全嵌套方式、 自动 循环方式、特殊循环方式、特殊屏蔽方式和查询方式五种。这些 管理方式均可通过程序动态地进行变化。在本设计中用到了这四 种功能,电子时钟的灵活调时功能就是通过对级别的屏蔽或开启 来实现的。2、 8255A 的主要功能 : 可编程外设接口芯片可由程序改变其功能,通用性强、使用 灵活。通过 8255A,CPU可直接同外设相连接,其负责 CPU 和外 设之间的数据传

13、送。3、8253的主要功能 :可编程定时器 /计数器,其定时与计数功能可由程序灵活地设定,设定后与 CPU并行工作,不占用 CPU的时间。通道 2 工作 在 3 方式下,提供计算一秒的中断请求信号4.5 程序框图1、显示模块流程图2、中断服务程序 IRQ7 流程图IRQ6 流程图IRQ2 流程图OFF=OFF+1YesOFF=3?NoIRQ6中断服务IRQ2 中断程序 IRQ2OFF=1?3、中断服务程序4、中断服务程序OFF=2?M=M+1IRETM=60H=H+1H=24?M=0服务IRQ6 中断开 IRQ2 和 IRQ6 中OFF=0 屏蔽 IRQ7中断程序H=0OFF=0 屏蔽 IRQ

14、6 中断, 开 IRQ2 和 IRQ7 中断第五章 原程序编写STACK SEGMENT STACKDW 64 DUP(?)STACK ENDSDATA SEGMENTH DW 000CHM DW 0000HS DW 0000HCOUNT DW 0000HOFF DW 0000HTABLE DB 3FH,06H,5BH,4FH ,66H,6DH, 7DH,07H,7FH,6FHDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXPUSH DS ;把 DS 压入堆栈MOV AL,81H ;8255初始化 A

15、口方式 0,输出,B口方式 0,输出,OUT 63H,ALMOV AX,0000HMOV DS,AX ;设置中断向量表,将内存段设置在最低端MOV AX,OFFSET IRQ2 ;取中断处理子程序 IRQ2 首地址 之段内偏移地址ADD AX,2000HMOV SI,0028H ; 4*n 地址MOV SI,AX ;将段内偏移地址写入中断向量表MOV AX,0000H ;使中断处理子程序 IRQ2 首地址之段地址为 0MOV SI,002AH ; 4*n+2 地址将段地址写入中断向量表 48*n+2 处MOV AX,OFFSET IRQ6 ;取中断处理子程序 IRQ2首地址之段内偏移地址MOV

16、 SI,0038HMOV SI,AX使中断处理子程序 IRQ2 首地址 之段地址为 0MOV SI,003AHMOV AX,OFFSET IRQ7 ;取中断处理子程序 IRQ6 首地址之段内偏移地址MOV SI,003CH使中断处理子程序 IRQ7 首地址 之段地址为 0MOV SI,003EHMOV AL,0B6H ;8253 初始化,计数器 2,先低 后高两字节,方式 3,二进制计数OUT 43H,AL ;写入控制字MOV AL,68HOUT 42H,AL ;写入低字节MOV AL,0BAH写入高字节POP DS ;把 DS 弹出堆栈MOV AL,1B ;8259 初始化,写 ICW1OU

17、T 20H,ALMOV AL,70H ;写 ICW2,写中断向量码OUT 21H,ALMOV AL,7BH ;写 OCW1 ,屏蔽 IRQ6 中断,开 IRQ2 和 IRQ7BEGIN: CALL DIS ;调用显示程序STI ;使 IF 置 1,开中断JMP BEGINIRQ7: INC COUNTCMP COUNT,25;判断是否到 1 秒JNZ RETURNMOV AX,0MOV COUNT,AX ;够 1 秒时将 COUNT 清零MOV AX,S ;取秒INC AX ;秒加 1MOV S,AXCMP AX,003CH ;判断是否到 60 秒MOV S,AX ;秒清零MOV BX,M ;

18、取分INC BX ;分加 1MOV M,BXCMP BX,003CH ;判断是否到 60 分MOV BX,0MOV M ,BX ;分清零MOV DX,H ;取时INC DX ;时加 1MOV H,DXCMP DX,0018H ;判断是否到 24 小时MOV DX,0MOV H,DX ;时清零RETURN: MOV AL,7BHOUT 21H,AL ;MOV AL,20HOUT 20H,AL ;写 OCW2 ,一般 EOIIRET;中断返回IRQ6: MOV AX,OFF; 取,OFF 值CMP AX,0001H ;判断 OFF 是否为 1JNZ HR 否,转到 HRHR:R0: 和 IRQ6I

19、RQ2:R1: 和 IRQ7JNZ R0到 60 分则清零JMP R0CMP AX,0002H ;判断 OFF 是否为 2MOV BX,H ;MOV H,BXCMP BX,0018H ;MOV H ,BX ;MOV AL,0BBH ;初始化 8259写 OCW1 ,屏蔽 IRQ7 中断,开 IRQ2INC OFF ;加 1MOV BX,OFF ;取 OFF 值CMP BX,0003H ;判断 OFF 是否为 3JZ R1;是则转到 R1CMP BX,0001H ;JZ R2 ;是则转到 R2CMP BX,0002H ;MOV BX,0000HMOV OFF,BX ;OFF 清零8259 初始化

20、写OCW1 ,屏蔽 IRQ6中断,开 IRQ2R2: MOV AL,0BBH ;写 OCW1 ,屏蔽 IRQ7 中断,开 IRQ2 和 IRQ6DIS: PUSH AXMOV SI,3000HMOV AX,M ;MOV BL,10DIV BL ;将分的十六进制转为十进制MOV SI,AH ;存分个位MOV SI+1,AL ;存分十位MOV AX,H ;将时的十六进制转为十进制MOV SI+2,AH ;MOV SI+3,AL ;MOV DL,0F7H ;使分个位的数改变MOV AL,DL AGAIN: OUT 60H,ALMOV AL,SIMOV BX,OFFSET TABLE ; 取 TABL

21、E 中的偏移地址放到 BX 中AND AX,00FFH ;取低八位ADD BX,AXMOV AL,BX ;找到对应的数码管字符OUT 61H,AL ;输出相应数字CALL DALLYINC SI ;取下一个数 MOV AL,DLTEST AL,01H 判断 DL 最低位是否为 1 JZ OUT ;是则跳出ROR AL,1 ;使 AL 向右循环移位,将最低位移到最高位MOV DL,ALJMP AGAINOUT:POP AXRETDALLY:PUSH CXMOV CX,000FHT1:MOV AX,0020HT2:DEC AXJNZ T2LOOP T1POP CXCODE ENDSEND START本电子时钟可以 24小时循环计时,并且具有调时功能, 操作方 法如下: 开机运行后,即显示初始时间 12:00 整。按动一下 KK1+按键即可 启动调分,此时每按动一下 KK2+ 按键分位数字加 1,完成对分的调 整;再按动一下 KK1+ 按键启动调分,此时每按动一下 KK2+ 按键时 位加 1,完成对时的调整。 再按一下 KK1+ 按键即关闭功能正常计时。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2