资源描述:
《微机实验二定时计数器(8253)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验二定时/计数器(8253)1.实验原理TPC-USB平台上有一块8253定时/计数器芯片,除了片选引脚,其他信号都已接好。有关结构和编程,请参考本章前几节内容。2.实验内容(1)计数器方式0实验将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动开关逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。步骤如下:1)按图2.1虚线连接电路。U582531189CLK0280H+5V2111CSGATE0121391010+5VOUT0R2R3图2.1TPC-USB平台计数器方式0实验连线图2)根据流程图2.
2、2,编程并运行,观察实验结果。开始设计数器0为工作方式0送计数器初值读计数器值显示计数值No有键按下吗?Yes结束图2.2TPC-USB平台计数器方式0实验流程图实验代码:codesegmentassumecs:codestart:moval,10hmovdx,283houtdx,almoval,0fhmovdx,280houtdx,alll:moval,00hmovdx,283houtdx,almovdx,280hinal,dxcmpal,9jbel1addal,7l1:addal,30hmovdl,almovah,2int21hmovdl,0dhmovah,02hint21hm
3、ovdl,0ahmovah,02hint21hmovah,6movdl,0ffhint21hjzllmovah,4chint21hcodeendsendstart(2)计数器方式3实验将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1Hz)。步骤如下:1)按图2.3连接电路。U5825313OUT114GATE1+5V15CLK1280H21CS10OUT011GATE0+5V9CLK01MHz图2.3TPC-USB平台计数器方式3实验连线实验代码:codesegmentassumecs:codestart:moval,37hmo
4、vdx,283houtdx,almoval,00hmovdx,280houtdx,almoval,10houtdx,almoval,77hmovdx,283houtdx,almoval,00hmovdx,281houtdx,almoval,10houtdx,almovah,4chint21hcodeendsendstart2)根据流程图2.4,编程并运行,观察实验结果。开始设计数器0为工作方式3向计数器0送初值1000(先送低字节,后送高字节)设计数器1为工作方式3向计数器1送初值1000(先送低字节,后送高字节)结束图2.4TPC-USB平台计数器方式3实验流程图(3)计数器级联
5、实验将计数器0设置为方式3(方波),计数器1设置为方式2(分频)。实现计数器0的输出为方波,计数器1的输入是计数器0输出。人机交互界面设计:实现在显示屏幕上提示输入计数器0(方波)的参数和计数器1(分频信号)的参数。如下所示:Counter0:____Counter1:____continue?(y/n)____实现用键盘直接输入修改程序中方波的参数和分频信号的参数,以改变方波的宽度,分频信号的周期和分频数,不需重新修改源代码。用示波器观察计数器0和计数器1的输出波形及其关系,并在纸上画出CLK0、OUT0、OUT1的波形。步骤如下:1)按图2.5连接电路。U5825313OUT1
6、14GATE1+5V15CLK1280H21CS10OUT011GATE0+5V9CLK01MHz图2.5TPC-USB平台计数器级联实验连线2)根据流程图2.6,编程并运行,观察实验结果。开始显示提示,输入计数器0的初值和计数器1的初值设置计数器0为工作方式3设置计数器1为工作方式2设置计数器0的初值设置计数器1的初值询问是否继续Yes是否是‘y’键?No结束图2.6TPC-USB平台计数器级联实验流程图编程提示:8253控制寄存器地址:283H;计数器0地址:280H;计数器1地址:281H;CLK0连接时钟1MHz。实验代码:datasegmentmesg1db13,10,'
7、Counter0:','$'mesg2db13,10,'Counter1:','$'mesg3db13,10,'Continue?(Y/N)','$'mesg4db13,10,13,10,'ThankYou!',13,10,'$'errormdb13,10,'InputError!','$'Counter0dw0Counter1dw0dataendscodesegmentassumecs:code,ds:datamainprocfarstart:movdx,datam