还剩1页未读,继续阅读
文本内容:
实验三定时器/计数器实验8253
一、实验目的
1.学会8253芯片与微机接口的原理和方法
2.掌握8253定时器/计数器的工作原理和编程方法
二、实验内容编写程序,将8253的计数器0设置为方式2(频率发生器),计数器1设置为方式3(方波频率发生器),计数器0的输出作为计数器1的输入,计数器1的输出接在一个LED上,运行后可观察到该LED在不停地闪烁
1.编程时用程序框图中的二个计数初值,计算0UT1的输出频率,用表观察LED,进行核对
2.修改程序中的二个计数初值,使0UT1的输出频率为1Hz,用手表观察LED,进行核对
3.上面计数方式选用的是16进制,现若改用BCD码,试修改程序中的二个计数初值,使LED的闪亮频率仍为1Hzo
三、实验区域电路连接图U2182538OUTO7GATED6CLKO5438MHz13OUT1GATE115CLK121CS0040H25RD23WR17OUT21916AO GATE22018Al CLK2EO.SqCS3-0040H;JX8-JXO;I0WR-I0WR;IORD-IORD;AO-AO;Al^Al;GATE0^+5V;GATE1-+5V;OUTO-CLK1;OUT1-L1;CLK0-
0.5MHz;(单脉冲与时钟单元)
四、程序框图关中断设置定时罂方式O3送初值2EEH设置定时器方式12送初值3E8H驱动LED8253方式控制字D7D6D5D4D3D2D1DOSCI SCORL1RL0M2Ml M0BCD锁定计数器选择方式计数码制选择00000000100选择计数器001选择低8位选择方式1X10选择0二进制计数01选择计数器110选择高8位方式2xll选择方式1BCD码计数10选择计数器211选择16位3100选择方式411未使用(先读写低8位101选择方式5后读写高8位)
五、编程程序code segmentassume cs:code orglOOOh start:mov dx,43h/控制字地址/mov al,00110100bout dx,almov dx,40h/计时器0地址/mov al,0F4h out dx,almov al,01h/计数器0写入初值01F4H/out dx,al movdx,43h mov al,01110110bout dx,almov dx,41h/计时器1地址/moval,0E8h outdx,almov al,3h/计数器1写入初值03E8H/outdx,al/分两次赋值,先低八位0E8H,后高八位03H/jmp$/8253自行控制led灯/code endsend start
六、实验步骤
1.按连线图连接好,检查无误后打开实验箱电源
2.在PC端软件开发平台上输入设计好的程序,编译通过后下载到实验箱
3.运行程序后,观察LED闪烁周期可以看10次或更多次闪烁时间,以提高观察准确度再按要求调整初始值,使得闪烁周期为1S时间
4.如果运行不正常就要检查连线,程序排查错误,修改程序,直到运行程序正常
七、思考题初始化编程时需要遵循的原则是什么?1对计数器设置初始值前必须
1.8253先写控制字2初始值设置时,要符合控制字中的格式规定,即只写低位字节还是写高位字节,或者高低位字节都写分两次写入,控制字中一旦规定,具体初始值设定时就要一致简述初始化编程的步骤2,8253先写控制字到8253的控制端口,再写计数器初值到相应的计数器端口。