微机原理8253实验

    技术2022-07-10  97

    一、实验题目: 1.8253定时实验,利用8253完成1秒的延时。 2.利用8253硬件延时控制跑马灯运行。 3.选做8255键盘显示实验。 二、实验目的: 熟悉汇编语言编程环境,掌握8253芯片工作原理、电路设计及利用汇编语言编写接口软件。 三、实验电路图 四、软件设计程序流程图 五、实验软件代码(加注释) 8253延时程序: CODE SEGMENT ASSUME CS:CODE START: MOV DX,29BH MOV AL,00110101B;8253初始化,选择通道0,采用BCD计数方式 OUT DX,AL MOV DX,298H MOV AL,00H;写计数器初值,先写低字节,后写高字节 OUT DX,AL MOV AL,50H OUT DX,AL MOV DX,29BH MOV AL,01110111B;8253初始化,选择通道1,采用BCD计数方式 OUT DX,AL MOV DX,299H MOV AL,00H;写计数器初值,先写低字节,后写高字节 OUT DX,AL MOV AL,04H OUT DX,AL CODE ENDS END START

    硬件延时控制跑马灯: CODE SEGMENT ASSUME CS:CODE MOV AL,10010010H;8255初始化 MOV DX,283H OUT DX,AL ;8253硬件延时程序 START: MOV DX,29BH MOV AL,00110101B;8253初始化,选择通道0,采用BCD计数方式 OUT DX,AL MOV DX,298H MOV AL,00H;写计数器初值,先写低字节,后写高字节 OUT DX,AL MOV AL,50H OUT DX,AL MOV DX,29BH MOV AL,01110111B;8253初始化,选择通道1,采用BCD计数方式 OUT DX,AL MOV DX,299H MOV AL,00H;写计数器初值,先写低字节,后写高字节 OUT DX,AL MOV AL,04H OUT DX,AL ;8255输出程序 MOV AL,01H MOV BL,AL;将Al值送到BL暂存 ;8253输出电平上升沿进入 XUN1: MOV DX,281H;从8255B口输入 IN AL,DX TEST AL,01H;测试8253是否为高电平 JNZ XUN1;否,继续循环测试 XUN2: MOV DX,280H;从8255A口输入 IN AL,DX TEST AL,01H;测试开关输出是否为高电平 JNZ XUN2;否,继续循环测试 ;8255输出 MOV AL,BL;将暂存在BL中的值送到AL中 MOV DX,282H OUT DX,AL;C口输出 ;8253输出电平下降沿退出 XUN3: MOV DX,281H;从8255B口输入 IN AL,DX TEST AL,01H;测试8253是否为高电平 JZ XUN3;是,继续循环测试 ;左移一位,暂存在BL中,防止AL被修改 ROL BL,1 JMP XUN1;循环检测该程序 CODE ENDS END START 六、实验结果 与实验一结果相同,各个灯在打开开关后依次循环亮起,不同的是延时的方式,本次实验为硬件延时。 七、实验小结 本次实验主要是对8253芯片延时功能的考察,通过这次实验实践了8253的硬件延时功能,同时也结合了8253和8255两个芯片的使用,对于汇编程序也更加熟悉。

    Processed: 0.018, SQL: 9