资源描述:
《实验三--可编程定时器/计数器.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、计算机科学系实验报告课程名称微型计算机技术及应用实验班级实验名称实验三可编程定时器/计数器指导教师学生姓名学生学号一、实验目的掌握8253的基本工作原理和编程方法。二、实验设备1.PC机一台2.专用导线若干3.TPC-H通用微机接口实验系统一台4.MASM汇编及调试程序三、实验原理和内容1.按图1虚线连接电路,将计数器0设置为方式0,计数器初值为N(N0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。2.按图2连接电图,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用
2、逻辑笔观察OUT1输出电平的变化(频率1HZ)。图2注意:8253控制寄存器地址283H计数器0地址280H计数器1地址281HCLK0连接时钟1MHZ实验的流程图如下:一、程序代码1.参考程序1codesegmentassumecs:codestart:moval,10h;设置8253计数器0为工作方式0,二进制计数movdx,283houtdx,almovdx,280h;送计数初值为0FHmoval,0fhlll:inal,dx;读计数器计数值calldisp;调显示子程序movah,1;判断是否有键按下outdx,alint16hjelll;若没有则转lll
3、movah,4ch;退出int21hdispprocnear;显示子程序pushdxandal,0fh;首先取低四位movdl,alcmpdl,9;判断是否<=9jlenum;若是则为'0'-'9',ASCII码加30Hadddl,7;否则为'A'-'F',ASCII码加37Hnum:adddl,30hmovah,02h;显示int21hmovdl,0dh;回车int21hmovdl,0ah;换行int21hpopdxret;子程序返回dispendpcodeendsend1.参考程序2codesegmentassumecs:codestart:movdx,283
4、h;向8253写控制字moval,36h;使0计数器为工作方式3outdx,almovax,1000;写入计数初值1000movdx,280houtdx,al;先写入低字节moval,ahoutdx,al;后写入高字节movdx,283hmoval,76h;设8253计数器1工作方式3outdx,almovax,1000;写入计数初值1000movdx,281houtdx,al;先写低字节moval,ahoutdx,al;后写高字节movah,4ch;返回DOSint21hcodeendsendstart一、实验现象1.连线后打开试验箱电源,运行程序,一次一次地按
5、手动脉冲,屏幕上显示计数递减,逻辑笔显示低电平,直至递减至0,同时逻辑笔显示高电平,即计数停止产生一个中断。2.逻辑笔的高低电平灯交错闪烁,周期为1秒。二、心得体会在这次的实验中,了解了8253的工作方式,掌握了这个芯片和微机接口的硬件连接方法,基本明白这个实验的编程方法。但是,由于实验室中部分导线有问题,导致实验效果不佳,每次连接线路时,都要测试导线能否导通,在一定程序上,降低了实验效率。另外,由于本人不熟悉使用示波器,只能看着别的同学做完这一部分实验后,自己再重新做这一部分实验。