欢迎来到天天文库
浏览记录
ID:35342223
大小:97.60 KB
页数:5页
时间:2019-03-23
《实验二8253多路定时计数器实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验二8253多路定时/计数器实验一、实验目的1、学习8253扩展定时器的工作原理。2、学习8253扩展定时器的使用方法。3、熟练掌握数码管的显示。二、实验设备8051CPU模块、PC机三、实验内容本实验的原理图如下所示:LED-A本实验利用8253的控制字设置8253定时/计数器0为工作方式5,并实现计数过程的闩锁操作,然后将该定时/计数器0的计数值读取出并由数码管显示。其中CLK1是单片机晶振频率的二分频。四、实验原理8253芯片是可编程定时器/计数器,片内包含有三个独立的通道,每个通道均为16位的计数器。本实验首先启动8253定时/计数器0开始计数,并由单片机内部定时器实现定时一段固
2、定的时间,然后对8253定时/计数器0进行闩锁操作,并将得到的计数数据显示在数码管上。本实验8253的片选信号接CS2,则表明8253相对于单片机的外部地址范围是OxCFBO-OxCFB7,此时8253的计数器0、计数器1、计数器2、控制字寄存器对应于单片机的外部地址为:OxCFBO>OxCFBK0xCFB2、OxCFB3,其对应C51定义可如下例:ftdefineCOXBYTE[OxCFBO]#defineClXBYTE[OxCFBl]#defineC2XBYTE[0xCFB2]ttdefineCTLXBYTE[0xCFB3]对于8253芯片的控制字的各个位含义以及对应的方式可查阅825
3、3芯片的资料。8253芯片在使用时,首先要初始化,如下:CTL=0x3a;//计数器0;工作在方式5;先读低字节,后读高字节方式CO-OxOO;CO-OxOO;//设计数器0初值为0,16位赋两次值CTL=0x7a;//计数器1;工作在方式5;先读低字节,后读高字节方式Cl=0x00;Cl=0x00;//设计数器1初值为0CTL-Oxba;//计数器2;工作在方式5;先读低字节,后读高字节方式C2=0x00;C2=0x00;//设计数器2初值为0对于计数器的其它操作,都是按照先对控制字寄存器设置,后对计数器进行操作的过程来执行即可。例如,对计数器0进行闩锁操作并读取计数值:1)现将控制字寄
4、存器赋值:CTL^OxOa;2)然后进行读计数值,其对应的计数器取值函数如下:voidReadNum(P_Cl)//P_Cl为对应的计数器地址指针,即&C1unsignedcharxdata*P_C1;{unsignedcharH,L;L=*P_C1;//读出16位计数器的计数值低8位P_C1++;P_C1—;//改变指针指向计数器的高8位H二*P_C1;//读出16位计数器的计数值高8位Buf8253二65536-(H*256+L);//8253为减计数,应取其补得到Buf8253}本实验中利用74LS273控制数码管实现计数器数据的显示,单片机的P1O-P13作为数码管的位码,选择哪一
5、数码管点亮,段码由单片机的P0口输入74LS273的输入端锁存,并输出到对应位选的数码管接收段码,进行点亮显示。由于74LS273的片选信号接CS1,贝IJ74LS273相对于单片机而言,其外部地址为OxCFAS,对于数码管的C51编程可参考有关数码管的资料。五、实验步骤1、将74LS273的00~07分别与八段数码管的LED-A至LED-P相连。CS273与CS1相连。2、将8051CPU模块的P1CTP14分别与八段数码管的LED广LED4相连。3、将8253的8253CLK0与CLK1相连,将8253的GATEO与P17相连,将CS8253与CSO相连。4、按实验内容编写程序,实现四
6、位数码管上显示8253定时/计数器0对输入脉冲的计数值,即闩锁数值5、仿真调试,观察数码管的显示情况。六、实验报告要求1、写出实验冃的、实验设备、实验内容,分析实验原理,总结实验步骤。2、画出流程图,并写出实验仿真调试后正确的程序。3、对实验思考题加以分析,按照要求做出回答,并作实验总结。七、实验思考题1、理论计算本实验计数器0的闩锁数值,与实验得到的显示结果进行比较。2、假定8253的三个计数器对同一输入信号计数,在三个输出端分别作2分频、4分频、8分频,画出实现该功能的流程图,并写出对应的控制字。3、实验总结(实验调试过程中的问题和调试体会)。
此文档下载收益归作者所有