微机原理实验哈尔滨工程;分支循环程序
;子程序
一、形式
子程序名PROCAttribute
…
RET
子程序名ENDP
Attribute是指类型属性,NEAR或FAR,
标号(子程序名):
...
...
RET
;;子程序和中断服务程序现场保护;实验的具体要求
一、分支循环程序
查找数列中的最大值,最小值,或者正负数个数。或者自理任务,但要采用分支循环结构。
二、子程序
1、将上面的分支循环程序编成子程序的形式,通过寄存器或者变量传递子程序操作数列的头地址和操作的结果。
2、编写子程序显示实验一中的结果。要求设计成独立的模块,具有通用性。显示数据通过寄存器传递。
;接口实验硬件介绍;;二、注意事项
1、实验台在断电状态下连线
2、断电后要重新下载程序
3、实验只连接带圈的线;8259中断控制器实验;;四、中断服务程序编写注意事项
1、现场保护
1)CPU自动保护断点和PSW
2)中断服务程序中压栈保护寄存器的值。
2、响应中断CPU自动关系统中断,为了中断嵌套需开中断STI。
3、尽量不要在短定时中断服务程序中做复杂运算
4、中断返回前发中断结束命令(EOI)
MOVAL,20H
OUT20H,AL;8259实验要求
1、将中断入口管脚改为IRQ6
2、在中断服务程序实现屏幕显示中断次数
3、中断次数采用变量计数
说明:在实验中使用了INT10H中的01H显示字符的功能
;8255实验
一、8255的作用和使用现状
1、拓展系统的I/O口;
2、所有新的MCU多集成有I/O模块,相当于8255的工作在方式0;
3、方式0。有用于管理键盘、显示器、打印机以及单一开关量的输入输出(灯、继电器等);
4、方式1和方式2被其他芯片的接口形式所替代;;二、实验系统中8255;3、外围电路
;;人机接口实验
1、显示接口
数码管
液晶屏
2、数码管管理
1)一对一
2)动态刷新
3)专用芯片
;一对一;3、动态刷新数码管管理实现
利用人眼滞留原理,显示多位数字。数码管动态显示程序主要设计步骤:
1)要显示的数据查表得到对应七段码;
2)段码从8255的端口A输出;
3)对应的位选为低,其他位为高;
4)延时一段时间;
5)下一次循环。
;4、键盘
1)形式
单列式
矩阵式行列
2)管理方法
利用普通I/O
专用芯片;;8253实验
一、8253的作用
1、计数
脉冲流量传感器
2、定时(8253外部基准脉冲,其他MCU自带定时器一般为内部)
3、分频
外部时钟信号。
二、8253使用注意事项
1、计数器。
需要浪费一个脉冲将预置计数器的计数值送入计数寄存器。;2、定时器
定时器的最大计数为216,如果定时计数值超过最大值。如果定时2秒,2S/(1/1.19MMHZ)216
解决方法:
1)通道级联,利用第二级通道中断。
2)一个通道定时,在中断服务程序计数判断。
3、定时中断服务程序所花时间不能超过定时时间。;8253实验要求
1、改造8253定时器实验,去掉中断服务程序中的延时子程序,通过计数器级联和单通道中断计算两种方法实现慢速显示。
2、通过计数器级联和单通道中断计算实现2S定时,采用定时中断使LED灯闪烁。
;26;单一计数器中断实现任意定时思路;IRQ0:INCINT_NUM_1S
CMPINT_NUM_1S,100;判断1S到吗?
JBOUTT;未到中断返回
MOVINT_NUM_1S,0;清零从新计数
…..;做定时1S到的工作
OUTT:MOVAL,20