本文主要是在8086的系统中应用8253来实现对流水线的工件计数,当计数器计满500后,out0端产生一个高电平中断请求信号。cpu响应中断就使通道1的out1端产生频率为1000hz的方波推动扬声器发声,而本文通过对题意的分析以及对程序的解析很好的完成了本次的课程设计。
关键词: 8253的应用 8086 流水线计数。
目录。摘要 i
一、课程题目 1
二、课程设计分析过程 1
简介 12.2、工作原理 2
2.3、控制字分析 2
三、程序原理图 2
3.1、主程序框图 2
3.2、中断程序框图 3
四、课程程序 3
4.1、主程序 3
4.2、中断程序 3
五、总结 3
8086系统中应用8253的通道0来对流水线的工件计数,当计满500个从out0端产生一个高电平中断请求信号。cpu响应中断就使通道1的out1端产生频率为1000hz的方波推动扬声器发声,时间为5s,gate1通过i/o端口接到db总线d0位地址为88h,8253各端口的地址为80---86h,clk1接2mhz信号,delay为延时程序,中断类型码为n,试编写相关程序及中断服务程序,画出原理图。
intel8253是nmos工艺制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异,例如8253(2.6mhz),8253-5(5mhz)
8253内部有三个计数器,分别称为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端clk,一个为门控信号输入端gate,另一个为输出端out。
每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器cr、一个计数执行部件ce和一个输出锁存器ol。
执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的。输出锁存器的值是通过程序设置的。输出锁存器ol用来锁存计数执行部件ce的内容,从而使cpu可以对此进行读操作。
顺便提一下,cr、ce和ol都是16位寄存器,但是也可以作8位寄存器来用。
a、 用8253-5的通道0设定为计数方式计数,计数满500后,由out0输出一个负脉冲,经反向后作为8259a的中断请求信号,在中断服务程序中,启动8253-5通道1工作,有通道1连续输出频率为2mhz的方波信号,持续5秒后结束。
b、 通道0工作于方式2,通道1工作于方式3,通道1的门控信号gate1由8255a的pa0控制。
a、通道0计数器工作于方式2,采用bcd计数,因计数初值为500,采用rl1rl0=11(先读先写计数器的低字节,后读/写高字节),则工作方式字为00110101=35h。
b、通道1计数器工作于方式3,clk1接2mhz时钟,要求产生1000hz的方波,计数初值应为2000000/1000=2000,采用rl1rl0=11 (先读计数器的低8位,再读计数器的高8位)。则工作方式字为01110111=77h。
c、设通道0的地址为40h,通道1的地址为41h,控制口地址为43h,8255a的口地址为80-83h。
mov al,35h通道0初始化,方式2
out 43h,al
mov ax,500h置计数初值。
out 40h,ax
sti开中断。
lpo:hlt等待中断。
jmp lop
mov al,01h通道1的gate1置1,启动计数。
out 80h,al认为8255已经初始化,向8255
端口送数,使pa0为“1”
mov al,77h通道1初始化,方式3
out 43h,al
mov al,50h置计数初值低8位。
out 41h,al
mov al,12h置计数初值高8位。
out 41h,al
call dl5s延时5秒,dl5s为5秒延时程序。
mov al,00h通道1的gate1置0,停止计数。
out 80h,al复位8255端口,使pa0为“0”
iret通过本次的对8086应用计数器8253来对流水线工件技术的设计,首先是我熟悉了8086和8253的芯片,对他们的工作方式,尤其是8253的芯片的四种工作方式有了很好的认知和了解。其次本次的课程设计是我对汇编语言的编程有了一定的了解,通过对课题的分析最后确定了使用通道0 工作于技术状态而让通道1工作于计时状态,而汇编的程序的撰写使我对本次的题目有了更加深刻的理解。最后通过本次课程设计,使我对课本的知识有了很深刻的理解,同时锻炼了我自己的能力。
微机原理课程设计题一
图 1 试题图。8088是一个intel以8086为基础的微处理器,拥有16位元暂存器和8位元外部资料总线。8088使用8位元的设计,所针对的是较为经济之系统。在它推出时候,大的资料总线宽度电路板还是相当地昂贵。8088的预取 prefetch 贮列 queue 是4字节,相对于8086的是6字节。...
微机原理课程设计封面
时间安排 本周开始,下周一前将选题统计表以邮件的方式发给苏老师和张老师。本学期十月末交 课程设计说明书和程序及汇编生成的文件 每个同学以学号姓名建一个文件夹。同时安排答辩。迟交的一律不予接收。选题规则 1 8班同学顺次排号,第一个同学从第一题开始选,到第121个同学轮回再选第一题。每一个班选硬件题目...
微机原理课程设计要求
1 时间安排 16 17周,12月15日 12月25日,完成课程设计任务,包括撰写设计报告。12月26日,答辩 地点由答辩小组老师确定 没在规定时间答辩,以缺考处理,成绩0分。2 编程要求 在pc机上使用汇编语言编写程序。使用dos功能调用或bios调用实现要求的功能3 报告要求 题目分析和设计思路...