实验三8253定时器/计数器实验一、实验目的1.学会8253芯片与微机接口的原理和方法。2.掌握8253定时器/计数器的工作原理和编程方法。二、实验内容编写程序,将8253的计数器0设置为方式2(频率发生器),计数器1设置为方式3(方波频率发生器),计数器0的输出作为计数器1的输入,计数器1的输出接在一个LED上,运行后可观察到该LED在不停地闪烁。1.编程时用程序框图中的二个计数初值,计算OUT1的输出频率,用表观察LED,进行核对。2.修改程序中的二个计数初值,使OUT1的输出频率为1Hz,用手表观察LED,进行核对。3.上面计数方式选用的是16进制,现若改用BCD码,试修改程序中的二个计数初值,使LED的闪亮频率仍为1Hz。三、实验区域电路连接图CS3→0040H;JX8→JX0;IOWR→IOWR;IORD→IORD;A0→A0;A1→A1;GATE0→+5V;GATE1→+5V;OUT0→CLK1;OUT1→L1;CLK0→0.5MHz;(单脉冲与时钟单元)四、程序框图8253方式控制字D7D6D5D4D3D2D1D0SC1SC0RL1RL0M2M1M0BCD00:选择计数器001:选择计数器110:选择计数器211:未使用00:锁定计数器01:选择低8位10:选择高8位11:选择16位(先读写低8位后读写高8位)000:选择方式0001:选择方式1x10:选择方式2x11:选择方式3100:选择方式4101:选择方式5计数码制选择:0:二进制计数1:BCD码计数五、编程程序codesegmentassumecs:codeorg1000hstart:movdx,43h/控制字地址/moval,00110100boutdx,almovdx,40h/计时器0地址/moval,0F4houtdx,almoval,01h/计数器0写入初值01F4H/outdx,almovdx,43hmoval,01110110boutdx,almovdx,41h/计时器1地址/moval,0E8houtdx,almoval,3h/计数器1写入初值03E8H/outdx,al/分两次赋值,先低八位0E8H,后高八位03H/jmp$/8253自行控制led灯/codeendsendstart六、实验步骤1.按连线图连接好,检查无误后打开实验箱电源。2.在PC端软件开发平台上输入设计好的程序,编译通过后下载到实验箱。3.运行程序后,观察LED闪烁周期(可以看10次或更多次闪烁时间,以提高观察准确度)。再按要求调整初始值,使得闪烁周期为1S时间。4.如果运行不正常就要检查连线,程序。排查错误,修改程序,直到运行程序正常。七、思考题1.8253初始化编程时需要遵循的原则是什么?(1)对计数器设置初始值前必须先写控制字。(2)初始值设置时,要符合控制字中的格式规定,即只写低位字节还是写高位字节,或者高低位字节都写(分两次写入),控制字中一旦规定,具体初始值设定时就要一致。2.简述8253初始化编程的步骤。先写控制字到8253的控制端口,再写计数器初值到相应的计数器端口。