您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 实验二-----可编程定时计数器
实验报告课程名称微机原理与接口技术实验项目_实验二可编程定时/计数器实验实验仪器TPC-USB通用微机接口实验系统系别______计算机系_________专业_______网工1101_______班级/学号_____1班/2011011303___学生姓名________靳晓颖_________实验日期______2013/11/26_______成绩_______________________指导教师_____王欣__-1-一、实验目的1.进一步学习掌握汇编程序的设计、掌握TPC-USB通用微机接口实验系统的使用方法。2.掌握8253的基本工作原理和编程方法,观察不同方式下的输出(波形)。二.实验设备1.PC微机系统一套2.TPC-USB通用微机接口实验系统一套三.实验要求1.实验前要作好充分准备,包括程序框图、源程序清单、调试步骤、测试方法、对运行结果的分析等。2.熟悉与实验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序等)使用方法。在程序调试过程中,有意识地了解并掌握TPC-USB通用微机接口实验系统的软硬件环境及使用,掌握程序的调试及运行的方法技巧。3.实验前仔细阅读理解教材相关章节的相关内容,实验时必须携带教材及实验讲义。四.实验内容及步骤1.按图1虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。图1实验连接参考电路图之一2.按图2连接电路,将计数器0、计数器1分别设置为方式3,计数初值均设为1000,用逻辑笔观察OUT1输出电平的变化(OUT1输出频率应为1Hz)。图2实验连接参考电路图之二3.参考流程图8253控制寄存器地址:283H、计数器0地址:280H;计数器1:281H;CLK0连接时钟1MHz。-2-图3实验电路之一参考流程图图4实验电路之二参考流程图五、实验程序设计和调试运行1.实验程序之一设计如下(参考):;*************************;;*8253方式0计数器实验*;;*************************;io8253aequ283hio8253bequ280hcodesegmentassumecs:codestart:moval,--------;设置8253通道0为工作方式0,二进制计数movdx,io8253aoutdx,almovdx,io8253b;送计数初值为0FHmoval,0fhoutdx,allll:moval,---------;锁存命令movdx,io8253aoutdx,almovdx,io8253b;inal,dx;读计数初值calldisp;调显示子程序pushdxmovah,06hmovdl,0ffhint21hpopdxjzlllmovah,4ch;退出int21hdispprocnear;显示子程序pushdxandal,0fh;首先取低四位movdl,alcmpdl,9;判断是否=9-3-jlenum;若是则为'0'-'9',ASCII码加30Hadddl,7;否则为'A'-'F',ASCII码加37Hnum:adddl,30hmovah,02h;显示int21hmovdl,0dh;加回车符int21hmovdl,0ah;加换行符int21hpopdxret;子程序返回dispendpcodeendsendstart2.实验程序之二设计如下(参考):;*******************;*8253分频*;*******************io8253aequ280hio8253bequ281hio8253cequ283hcodesegmentassumecs:codestart:movdx,io8253c;向8253写控制字moval,----;使0通道为工作方式3outdx,almovax,1000;写入循环计数初值1000movdx,io8253aoutdx,al;先写入低字节moval,ahoutdx,al;后写入高字节movdx,io8253cmoval,----;设8253通道1工作方式3outdx,almovax,1000;写入循环计数初值1000movdx,io8253boutdx,al;先写低字节moval,ahoutdx,al;后写高字节movah,4ch;程序退出int21hcodeendsendstart3.实验过程和实验结果说明(1)按图1连接实验电路;(2)在TPC-IDE操作环境下,用文本编辑器编辑实验源程序(work2.asm);(3)在IDE操作环境下,对源程序(work2.asm)进行编译和连接,生成生成链接文件(work4.obj)和可执行文件(work2.exe);(4)运行IDE操作环境下的调试命令,调试可执行文件(work2.exe);(5)运行IDE操作环境下的执行命令,运行可执行文件(work2.exe),结果显示为:-4-没有换行和回车代码的效果有回车但没有换行代码的效果没有回车但有换行代码的效果-5-有回车和换行代码的效果实验结果符合实验程序设计要求。-6-六、实验总结1.对实验过程中所涉及的主要操作进行总结;答:编写代码、调试程序、编译、运行用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化;2.对实验过程中出现的主要问题进行分析并给出解决方案说明;a)问题主要在于对照原理图连线,如果线路连对,就为接下来的调试铺好了基础。我开始就忘记了连接8253芯片的+5V;b)开始我没有INAL,DX,所以计数器中每次脉冲减一后的数就不能传到CPU中,所以每次按完脉冲后屏幕上数并没有减一,加上INAL,DX后实现了自动减一计数的功能c)分别实验了加上回车和换行的代码,给脉冲后屏幕出现了不同的效果,见上图3.对比设计要求,对实验结果及完成情况进行说明;完成了实验的基本操作要求,连线和代码编写调试。并进行了进一步实验:换行和回车代码4.实验后的体会、感想和建议。答:实验中代码部分主要是对于流程图的一种理解的实现,即代码是跟着步骤走的,这是学习了微机之后的一个比较明显的体会。还有对于一些修饰性语句的应用学会了分清主次,先把基础语句打好,再对一些功能进行更改添加,还有就是多动手写代码,这样才能更清楚的认识到汇编程序的运行。
本文标题:实验二-----可编程定时计数器
链接地址:https://www.777doc.com/doc-4263751 .html