8253计数器实验

8253计数器实验
8253计数器实验

本科学生实验报告

5.实验设计思路、步骤及注意事项:

实验设计思路:本实验利用8253芯片工作在方式3下,作为一个秒信号

发生器,其输出带动一个发光二极管,在一个周期内,发光二极管点亮2秒,熄灭2秒,即OUT端输出方波信号,再把方波信号通过8255芯片;并设8255芯片的C口高四位输入,低4位输出,A口输出,之后产生八个方波信号,8255芯片的输出口PA0~PA7接LED灯;用LED灯的亮暗来表示字符‘A’到‘Z’的ASCII码;并编写ASM程序来控制8253芯片和8255芯片的工作方式;

实验步骤:

1.根据实验流程图的要求,按照实验原理图接好电路;

2.打开电源开关,用TPC-USB集成开发软件检查硬件是否连接;

3.对ASM程序进行调试,正确之后运行ASM程序,观察实验箱上LED灯

的亮暗;

4.记录实验现象,对实验现象进行分析总结;

5.完成实验报告;

注意事项:

1.在打开电源开关之前应检查电路是否连接正确,以免损坏实验器件;

2. 仔细观察实验现象,LED灯是否达到了用来显示字符‘A’到‘Z’的

ASCII码的实验目的;

二、实验内容

1.对实验现象、实验结果的分析及其结论:

LED灯的亮暗显示了字符‘H’的ASCII码值

LED灯的亮暗显示了字符‘I’的ASCII码值

LED灯的亮暗显示了字符‘Q’的ASCII码值

实验结果的分析及其结论:通过本实验加深了对8253芯片和8255芯片的各种工作方式的了解;

8255芯片有3种工作方式,这3种工作方式如表1所示。方式0为基本I/O 输入/输出方式,这是8255最常用,也是最基本的工作方式。方式1为应答I/O 方式,当8255工作于应答I/O方式时,上C口作为A口的通信线,下C口作为B口的通信线。方式2为双向应答I/O方式,此方式仅A口使用,B口无双向I/O应答方式。8255的3种工作方式的选择由8255工作方式选择字决定,下面介绍8255的工作方式选择字。

表1 8255的工作方式:

8255芯片初始化:所谓8255芯片初始化,就是要根据工作要求确定8255工作方式选择字,并输入8255控制寄存器。

a.工作方式选择字:

8255芯片工作方式选择字共8位,如图三所示,存放在8255控制寄存器中。最高位D7为标志位,D7=1表示控制寄存器中存放的是工作方式选择字,D7 = 0表示控制寄存器中存放的是C口置位/复位控制字。D3~D6用于A组的控制,D6D5 = 00表示A组工作于基本I/O方式0,D6D5 = 01表示A组工作于应答I/O方式1,D6D5 = 1x表示A组工作于双向应答I/O方式2(x取0或1)。D4 = 1表示A口工作于输入方式,D4 = 0表示A口工作于输出方式,D3 = 1表示上C口工作于输入方式,D3 = 0表示上C口工作于输出方式。

图五工作方式选择字

D0~D2用于B组的控制,各位含义如图3所示。D2 = 0表示B组工作于基本I/O方式0,D2 = 1表示B组工作于应答I/O方式1。D1 = 1表示B口工作于输入方式,D1 = 0表示B口工作于输出方式,D0 = 1表示下C口工作于输入方式,D0 = 0表示下C口工作于输出方式。工作方式字应输入控制寄存器,

按上面的连接方式,控制寄存器的地址为E003H。

b. C口置/复位控制字: 8255的C口可进行位操作,即可对8255C口的每一位进行置位或清0操作,该操作是通过设置C口置/复位字实现的。C口置/复位字共8位,各位含义如图四所示;

图六C口置/复位控制字

由于8255芯片的工作方式选择字与C口置/复位字共用一个控制寄存器,故特别设置D7为标志位,D7=0表示控制字为C口置/复位字,D7 = 1表示控制字为8255芯片工作方式选择字。D6D5D4不用,常取000。D3D2D1为C口8个引脚PC0~PC7的选择位,D3D2D1 = 000选择PC0,D3D2D1 = 001选择PC1,……D3D2D1=111选择PC7。D0为置位或清0选择位,D0 = 0表示由D3D2D1选择的位清0,D0 = 1表示由D3D2D1选择的位置1。C口置/复位字必须输入8255控制寄存器。

8253芯片具有3个独立的计数通道,采用减1计数方式。在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。

一、8253内部结构:8253芯片有24条引脚,封装在双列直插式陶瓷管壳内;

1.数据总线缓冲器:数据总线缓冲器与系统总线连接,8位双向,与CPU 交换信息的通道。这是8253与CPU之间的数据接口,它由8位双向三态缓冲存储器构成,是CPU与8253之间交换信息的必经之路;

2.读/写控制:读/写控制分别连接系统的IOR#和IOW#,由CPU控制着访问8253的内部通道。接收CPU送入的读/写控制信号,并完成对芯片内部各功能部件的控制功能,因此,它实际上是8253芯片内部的控制器。A1A0:端口选择信号,由CPU输入。8253内部有3个独立的通道,加上控制字寄存器,构成8253芯片的4个端口,CPU可对3个通道进行读/写操作3对控制字寄存器进行写操作。这4个端口地址由最低2位地址码A1A0来选择。

3.通道选择:(1) CS#——片选信号,由CPU输入,低电平有效,通常由端口地址的高位地址译码形成;(2) RD#、WR#——读/写控制命令,由CPU 输入,低电平有效。RD#效时,CPU读取由A1A0所选定的通道内计数器的内容。WR#有效时,CPU将计数值写入各个通道的计数器中,或者是将方式

控制字写入控制字寄存器中。

4.计数通道0~2:每个计数通道内含1个16位的初值寄存器、减1计数器和1个16位的(输出)锁存器。8253内部包含3个功能完全相同的通道,每个通道内部设有一个16位计数器,可进行二进制或十进制(BCD码)计数。采用二进制计数时,写入的初值范围为0000H~FFFFH,最大计数值是

0000H,代表65536。采用BCD码计数时,写入的初值范围为0000~9999,最大计数值是0000,代表10000。与此计数器相对应,每个通道内设有一个16位计数值锁存器。必要时可用来锁存计数值。

当某通道用作计数器时,应将要求计数的次数预置到该通道的计数器中、被计数的事件应以脉冲方式从CLK端输入,每输入一个计数脉冲,计数器内容减“1”,待计数值计到“0”。OUT端将有输出。表示计数次数到。当某个通道用作定时器时。由CLK输入一定频率的时钟脉冲。根据要求定时的时间长短确定所需的计数值。并预置到计数器中,每输入一个时钟脉冲,计数器内容减“1”,待计数值计到“0”。OUT将有输出,表示定时时间到。允许从CLK输入的时钟频在1~2MHz范围内。因此,任一通道作计数器用或作定时器用,其内部操作完全相同,区别仅在于前者是由计数脉冲进行减“1”计数。而后者是内时钟脉冲进行减“1”计数。作计数器时,要求计数的次数可直接作为计数器的初值预置到减“1”计数器中。作定时器时,计数器的初值即定时系数应根据要求定时的时间进行如下运算才能得到:

定时系数=需要定时的时间/时钟脉冲周期:

①设置通道:向方式控制字寄存器端口写入方式选择控制字,用于确定要设置

的通道及工作方式;

②计数/定时:向通道写入计数值,启动计数操作;

③读取当前的计数值:向指定通道读取当前计数器值时,8253将计数器值存入

锁存器,从锁存器向外提供当前的计数器值,计数器则继续作计数操作;

④计数到:当计数器减1为0时,通过引脚OUTi向外输出“到”的脉冲信号;计

数初值输入存放在初值寄存器中,计数开始或重装入时被复制到计数器中;

锁存器在非锁存状态,其值随计数器的变化而变化;一旦锁存了计数器的当前值,直到锁存器值被读取后才能解除锁存状态;

5.方式选择控制字;

6.8253的通道工作方式:8253中各通道可有6种可供选择的工作方式,

以完成定时、计数或脉冲发生器等多种功能。8253的各种工作方式如下:

1.方式0:计数结束则中断:工作方式0被称为计数结束中断方式,它

的定时波形如图六所示。当任一通道被定义为工作方式0时,OUTi输出为低电平;若门控信号GATE为高电平,当CPU利用输出指令向该通道写入计数值WR#有效时,OUTi仍保持低电平,然后计数器开始减“1”计数,直到计数值为“0”,此刻OUTi将输出由低电平向高电平跳变,可用它向CPU 发出中断请求,OUTi端输出的高电平一直维持到下次再写入计数值为止;

在工作方式0情况下,门控信号GATE用来控制减“1”计数操作是否进行。当GATE=1时,允许减“1”计数;GATE=0时,禁止减“1”计数;计数值将保持GATE有效时的数值不变,待GATE重新有效后,减“1”计数继续进行。

图七

显然,利用工作方式0既可完成计数功能,也可完成定时功能。当用作计数器时,应将要求计数的次数预置到计数器中,将要求计数的事件以脉冲方式从CLKi端输入,由它对计数器进行减“1”计数,直到计数值为0,此刻OUTi输出正跳变,表示计数次数到。当用作定时器时,应把根据要求定时的时间和CLKi的周期计算出定时系数,预置到计数器中。从CLKi,输入的应是一定频率的时钟脉冲,由它对计数器进行减“1”计数,定时时间从写入计数值开始,到计数值计到“0”为止,这时OUTi输出正跳变,表示定时时间到。但要注意,任一通道工作在方式0情况下,计数器初值一次有效,经过一次计数或定时后如果需要继续完成计数或定时功能,必须重新写入计数器的初值。

2.方式1:单脉冲发生器:工作方式1被称作可编程单脉冲发生器,其定义波形如图七所示。进入这种工作方式,CPU装入计数值n后OUTi输出高电平,不管此时的GATE输入是高电平还是低电平,都不开始减“1”

计数,必须等到GATE由低电平向高电平跳变形成一个上升沿后,计数过程才会开始。与此同时,OUTi输出由高电平向低电平跳变,形成了输出单脉冲的前沿,待计数值计到“0”,OUTi输出由低电平向高电平跳变,形成输出单脉冲的后沿,因此,由方式l所能输出单脉冲的宽度为CLKi周期的n倍。

如果在减“1”计数过程中,GATE由高电平跳变为低电乎,这并不影响计数过程,仍继续计数;但若重新遇到GATE的上升沿,则从初值开始重新计数,其效果会使输出的单脉冲加宽;这种工作方式下,计数值也是一次有效,每输入一次计数值,只产生一个负极性单脉冲;

图八

3.方式2:速率波发生器:工作方式2被称作速率波发生器,其定时波形如图八所示。进入这种工作方式,OUTi输出高电平,装入计数值n后如果GATE为高电平,则立即开始计数,OUTi保持为高电平不变;待计数值减到“1”和“0”之间,OUTi将输出宽度为一个CLKi周期的负脉冲,计数值为“0”时,自动重新装入计数初值n,实现循环计数,OUTi将输出一定频率的负脉冲序列,其脉冲宽度固定为一个CLKi周期,重复周期为CLKi周期的n倍。

如果在减“1”计数过程中,GATE变为无效(输入0电平),则暂停减“1”计数,待GATE恢复有效后,从初值n开始重新计数。这样会改变输出脉冲的速率。如果在操作过程中要求改变输出脉冲的速率,CPU可在任何时候,重新写人新的计数值,它不会影响正在进行的减“1”计数过程,而是从下一个计数操作用期开始按新的计数值改变输出脉冲的速率;

图九

4.方式3:方波发生器:工作方式3被称作方波发生器,其定时波型如图九.所示。任一通道工作在方式3,只在计数值n为偶数,则可输出重复周期为n、占空比为1:1的方波;进入工作方式3,OUTi输出低电平,装入

计数值后,OUTi立即跳变为高电平。如果当GATE为高电平,则立即开始减“1”计数,OUTi保持为高电平,若n为偶数,则当计数值减到n/2时,OUTi 跳变为低电平,一直保持到计数值为“0”,系统才自动重新置入计数值n,实现循环计数。这时OUTi端输出的周期为n×CLKi周期,占空比为1:1的方波序列;若n为奇数,则OUTi端输出周期为n×CLKi周期;占空比为

((n+1)/2)/((n-1)/2)的近似方波序列。如果在操作过程中,GATE变为无效,则暂停减“1”计数过程,直到GATE再次有效,重新从初值n开始减“l”计数。如果要求改变输出方波的速率,则CPU可在任何时候重新装入新的计数初值n,并从下一个计数操作周期开始改变输出方波的速率。

图十

5.方式4:软件触发方式计数:工作方式4被称作软件触发方式,其定时波形如图十所示。进入工作方式4,OUTi输出高电平。装入计数值n后,如果GATE为高电平,则立即开始减“1”计数,直到计数值减到“0”为止,OUTi 输出宽度为一个CLKi周期的负脉冲。由软件装入的计数值只有一次有效,如果要继续操作,必须重新置入计数初值n。如果在操作的过程中,GATE变为无效,则停止减“1”计数,到GATE再次有效时,重新从初值开始减“1”计数;显然,利用这种工作方式可以完成定时功能,定时时间从装入计数值n开始,则OUTi输出负脉冲(表示定时时间到),其定时时间=n×CLK周期。这种工作方式也可完成计数功能,它要求计数的事件以脉冲的方式从CLKi输入,将计数次数作为计数初值装入后,由CLKi端输入的计数脉冲进行减“1”计数,直到计数值为“0”,由OUTt端输出负脉冲(表示计数次数到)。当然也可利用OUTj向CFU发出中断请求。因此工作方式4与工作方式0很相似,只是方式0在OUTi端输出正阶跃信号、方式4在OUTi端输出负脉冲信号。

图十一

6.方式5:硬件触发方式计数:工作方式5被称为硬件触发方式,其定时波形如图十一所示。进入工作方式5,OUTi输出高电平,硬件触发信号由GATE端引入。因此,开始时GATE应输入为0,装入计数初值n后,减“1”计数并不工作,一定要等到硬件触发信号由GATE端引入一个正阶跃信号,减“1”计数才会开始,待计数值计到“0”,OUTi将输出负脉冲,其宽度固定为一个CLKi周期,表示定时时间到或计数次数到。这种工作方式下,当计数值计到“0”后,系统将自动重新装入计数值n,但并不开始计数,一定要等到由GATE端引入的正跳沿,才会开始进行减“1”计数,因此这是一种完全由GATE 端引入的触发信号控制下的计数或定时功能。如果由CLKi输入的是一定频率的时钟脉冲,那么可完成定时功能,定时时间从GATE上升沿开始,到OUTi 端输出负脉冲结束。如果从CLKi端输入的是要求计数的事件,则可完成计数功能,计数过程从GATE上升沿开始,到OUTi输出负脉冲结束。GATE可由外部电路或控制现场产生,故硬件触发方式由此而得名;如果需要改变计数初值,CPU可在任何时候用输出指令装入新的计数初值m,它将不影响正在进行的操作过程,而是到下一个计数操作周期才会按新的计数值进行操作;GATE作为各通道的门控信号,对于各种不同的工作方式,它所起的作用各不相同。在8253的应用中,必须正确使用GATE信号,才能保证各通道的正常

操作;

图十二

7.读取计数器的当前值:

⑴直接读计数器:输出锁存器在非锁存状态会跟随计数器计数的变化而变化,直接读计数器是从锁存器得到计数器的当前值。但由于计数器处于工作状态,读出值不一定能稳定;

⑵先锁存再读取:①通过方式选择控制字对指定通道(SC1、SC0)的计数值锁入锁存器(RL1RL0=00),锁存器一旦锁存了当前计数值,就不再随计数器变化直到被读取。②读计数器通道(有锁存器);

PLC实验定时器计数器实验

实验二定时器、计数器实验 一、目的要求 1、了解和熟悉编程软件的使用方法。 2、了解写入和编辑用户程序的方法。 3、掌握定时器、计数器的使用。 二、实验设备 台达可编程序控制器一台;PLC实验箱一台;装有WPL编程软件和开发软件的计算机一台;编程连接电缆一根。 三、实验内容 1、实验原理 定时器相当于继电器电路中的时间继电器,可在程序中作延时控制。 可编程控制器中的定时器是根据时钟脉冲累积计时的,时钟脉冲有 1ms、10ms、100ms等不同规格。(定时器的工作过程实际上是对时钟脉冲计数)因工作需要,定时器除了占有自己编号的存储器位外,还占有一个设定值寄存器(字),一个当前值寄存器(字)。设定值寄存器(字)存储编程时赋值的计时时间设定值。当前值寄存器记录计时当前值。这些寄存器为16位二进制存储器。其最大值乘以定时器的计时单位值即是定时器的最大计时范围值。定时器满足计时条件开始计时,当前值寄存器则开始计数,当当前值与设定值相等时定时器动作,常开触点接通,常闭触点断开,并通过程序作用于控制对象,达到时间控制的目的。 TMR为十六位定时器,当该指令执行时,其所指定的定时器线圈受电,定时器开始计时,当到达所指定的定时值(计时值≥设定值),其接点动作如下:CNT为十六位计数器,当该指令由Off→On执行,表示所指定的计数器线圈由失电→受电,则该计数器计数值加1,当计数到达所指定的定数值(计数值 = 设定值),其接点动作如下:?? 当计数到达之后,若再有计数脉冲输入,其接点及计数值均保持不变,若要重新计数或作清除的动作,请利用RST指令。 编程使PLC输出Y0输出3秒的脉冲,PLC输入1对脉冲计数,计数值为10时,PLC输出Y1输出为1,第11个脉冲清零。 OUTPUT00

实验三单片机定时计数器实验

实验三单片机定时/计数器实验 1、实验目的 1、学习计数器的使用方法。 2、学习计数器程序的编写。 3、学习定时器的使用方法。 4、学习定时器程序的编写。 5、熟悉汇编语言 2、实验说明 1、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。 2、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转 3、实验仪器和条件 计算机 伟福实验箱(lab2000P) 4、实验内容 1、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。 2、外部事件计数脉冲由P3.4引入定时器T0。单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。同时这就决定了输入波形的频率不能超过机器周期频率。 3、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转 4、定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD

用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON 主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。 5、在例程的中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。 五、思考题 1、使用其他方式实现本实验功能; 2、改为门控方式外部启动计数; 3、如果改为定时间隔为200us,如何改动程序; 4、使用其他方式实现本实验功能,例如使用方式1,定时间隔为10ms,如何改动程序。 六、源程序修改原理及其仿真结果 思考题一:使用其他方式实现本实验功能 方法一: movTMOD, #00000100b;方式0,记数器 movTH0, #0 movTL0, #0 setbTR0;开始记数;由于方式0的特点是计数时使用TL0的低五位和八位 TH0,故用加法器a用“与”(ANL)取TL0的低五位,再用yiwei子程序实现TH0的低三位变为高三位与TL0相加,这样赋给P1时就是八位计数的结果。 Loop: mova,TL0 anla,#1fh

8253计数器定时器接口实验

微机原理实验报告 实验五 8253计数器/定时器接口实验 1.实验目的 1)学会通过PC总线、驱动器、译码器等在PC机外部扩充为新的芯片; 2)了解8253计数器/定时器的工作原理; 3)掌握8253初始化的程序设计; 4)掌握8253方式0的计数方式的使用方法和方式3方波产生的方法。 2.实验内容 将实验装置上的1片8253定时器/计数器接入系统,具体做两个内容的实验。 1)实验一:将8253的计数器0设置为工作于方式0,设定一个计数初值,用手 动逐个输入单脉冲,观察OUT0的电平变化。 硬件连接:断开电源,按图2-1将8253接入系统。具体包括: (1)将8253的CS接I/O地址输出端280H-287H; (2)将8253的计数器0的CLK0与单脉冲信号相连,以用来对单脉冲进行计数; (3)将8253的GATE0用专用导线接向+5V,以允许计数器0工作; (4)将8253的OUT0接到LED发光二极管,以显示8253计数器0的输出OUT0的 状态。 图2-1 8253实验一的连线图 2)实验二:将8253的计数器0、1均设置为工作于方式3(方波),按图2-2重 新接线。要求是当CLK0接1MHz时,OUT1输出1Hz的方波,OUT的输出由LED 显示出来。将计数器0与计数器1串联使用,计数器0的输出脉冲OUT0作为计数器1的时钟输入CLK1。

图2-2 8253实验二的连线图3.程序及框图 1)程序框图 图4-1给出了8253实验一的流程图。 图4-1 程序流程图 图4-2给出了8253实验二的流程图。 2)程序代码 实验一程序代码: CTRL EQU 283H TIME0 EQU 280H TIME1 EQU 281H DATA SEGMENT MESS DB 'ENTER ANY KEY RETURN TO DOS!',0DH,0AH,'$' DATA ENDS CODE SEGMENT

实验报告五 定时器计数器实验

信息工程学院实验报告 课程名称:微机原理与接口技术Array 实验项目名称:定时器/计数器实验实验时间: 班级:姓名:学号: 一、实验目的 1. 掌握8254 的工作方式及应用编程。 2. 掌握8254 典型应用电路的接法。 二、实验设备 PC 机一台、TD-PITD+实验系统一套。 三、实验原理 8254 是Intel 公司生产的可编程间隔定时器。是8253 的改进型,比8253 具有更优良的性能。8254 具有以下基本功能: (1)有 3 个独立的16 位计数器。 (2)每个计数器可按二进制或十进制(BCD)计数。 (3)每个计数器可编程工作于 6 种不同工作方式。 (4)8254 每个计数器允许的最高计数频率为10MHz(8253 为2MHz)。 (5)8254 有读回命令(8253 没有),除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容。 (6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为: n=f CLKi ÷f OUTi、其中f CLKi 是输入时钟脉冲的频率,f OUTi 是输出波形的频率。 图5-1 是8254 的内部结构框图和引脚图,它是由与CPU 的接口、内部控制电路和三个计数器组成。8254 的工作方式如下述: (1)方式0:计数到0 结束输出正跃变信号方式。 (2)方式1:硬件可重触发单稳方式。 (3)方式2:频率发生器方式。 (4)方式3:方波发生器。 (5)方式4:软件触发选通方式。 (6)方式5:硬件触发选通方式。

图5-1 8254 的内部接口和引脚 8254 的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。控制字格式如表5-1~5-3 所示。 表5-1 8254 的方式控制字格式 表5-2 8254 读出控制字格式 表5-3 8254 状态字格式 8254 实验单元电路图如下图所示:

8254定时计数器应用实验报告

XX 大学实验报告 课程名称: 实验项目名称:8254定时/计数器应用实验学院:信息工程学院 专业:通信工程 指导教师: 报告人:学号:班级: 实验时间: 实验报告提交时间:

教务处制

单元的内容外,还可以读出状态寄存器的内容。 (6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为: n=fCLKi÷fOUTi、其中fCLKi 是输入时钟脉冲的频率,fOUTi 是输出波形的频率。 图(1)是8254 的内部结构框图和引脚图,它是由与CPU 的接口、内部控制电路和三个计数器组成。8254 的工作方式如下述:(1)方式0:计数到0 结束输出正跃变信号方式。 (2)方式1:硬件可重触发单稳方式。 (3)方式2:频率发生器方式。 (4)方式3:方波发生器。 (5)方式4:软件触发选通方式。 (6)方式5:硬件触发选通方式。 图(1)8254的内部借口和引脚8254 的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。控制字格式如表

1所示。 表1 8254的方式控制字 表2 8254 读出控制字格式 表3 8254 状态字格式 8254 实验单元电路图如下图所示:

五、实验步骤及相应操作结果 1. 计数应用实验 编写程序,将8254 的计数器0 设置为方式3,计数值为十进制数4,用单次脉冲KK1+ 作为CLK0 时钟,OUT0 连接MIR7,每当KK1+按动5 次后产生中断请求,在屏幕上显示字符“M”。 实验步骤: (1)实验接线如图2所示。 (2)编写实验程序,经编译、链接无误后装入系统。 (3)运行程序,按动KK1+产生单次脉冲,观察实验现象。(4)改变计数值,验证8254 的计数功能。

8253定时器(微机原理)1

接口实验三 8253定时器 / 计数器 一、实验目的 ⒈学会8253芯片和微机接口的原理和方法。 ⒉. 掌握8253定时器/计数器的工作方式和编程原理。 二、实验内容 1. 用8253的0通道产生周期为30毫秒的方波,去控制发光二极管的亮和灭。 2.用8253的0通道和1通道级联的工作方式,产生周期为20秒的方波,去控制发光二极管的亮和灭。 3. 用8253的0通道产生1、2、3、4、5、6、7、8(1的高音)这八个音阶频率的方波信号,送到小喇叭去控制其发声。 三、实验接线图 图1

图2 图3 图6-5 四、实验原理 对8253编程,使OUT1输出周期为2MHZ(周期为0.5μS)的时钟直接加到CLK1,则OUT1输出的脉冲周期最大只有0.5μS*65536=32768μS=32.768MS,达不到20秒的延时要求,为此,需用几个通道级连的方案来解决这个问题。 设N0=5000,工作于方式2,则从OUT0端可得到序列负脉冲,频率为2MHZ/5000=400HZ,周期为2.5MS。再把该信号连到CLK1,并使通道1工作于方式3,使OUT1输出周期为20秒(频率为1/20=0.05HZ)的方波即可,应取时间常数N1=400HZ/0.05HZ=8000。

分频电路由一片74LS393组成, T0-T7为分频输出插孔。该计数器在加电时由RESET信号清零。当脉冲输入为8.0MHZ时,T0-T7输出脉冲频率依次为4.0MHZ,2.0MHZ,1.0MHZ,500KHZ,250KHZ,125KHZ,62500HZ,31250HZ。 五、编程指南 ⒈8253芯片介绍 8253是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz,用+5V单电源供电。 8253的功能用途: ⑴延时中断⑸实时时钟 ⑵可编程频率发生器⑹数字单稳 ⑶事件计数器⑺复杂的电机控制器 ⑷二进制倍频器 2,8253的六种工作方式: ⑴方式0:计数结束中断⑷方式3:方波频率发生器 ⑵方式l:可编程频率发生⑸方式4:软件触发的选通信号 ⑶方式2:频率发生器⑹方式5:硬件触发的选通信号 六、实验程序框图 七、实验步骤 ⒈按图1连好实验线路 ⑴8253的GATE0接+5V。

定时器实验报告

电子信息工程学系实验报告 课程名称:单片机原理及接口应用Array实验项目名称:51定时器实验实验时间: 班级:姓名:学号: 一、实验目的: 熟悉keil仿真软件、protues仿真软件的使用和单片机定时程序的编写。了解51单片机中定时、计数的概念,熟悉51单片机内部定时/计数器的结构与工作原理。掌握中断方式处理定时/计数的工作过程,掌握定时/计数器在C51中的设置与程序的书写格式以及使用方法。 二、实验环境: 软件:KEIL C51单片机仿真调试软件,proteus系列仿真调试软件 三、实验原理: 1、51单片机定时计数器的基本情况 8051型有两个十六位定时/计数器T0、T1,有四种工作方式。MCS-51系列单片机的定时/计数器有几个相关的特殊功能寄存器: 方式控制寄存器TMOD; 加法计数寄存器TH0、TH1 (高八位);TL0、TL1 (低八位); 定时/计数到标志TF0、TF1(中断控制寄存器TCON) 定时/计数器启停控制位TR0、TR1(TCON) 定时/计数器中断允许位ET0、ET1(中断允许寄存IE) 定时/计数器中断优先级控制位PT0、PT1(中断优IP) 2、51单片机的相关寄存器设置 方式控制寄存器TMOD: TMOD的低四位为T0的方式字,高四位为T1的方式字。TMOD不能位寻址,必须整体赋值。TMOD各位的含义如下: 1. 工作方式选择位M1、M0 3、51单片机定时器的工作过程(逻辑)方式一 方式1:当M1M0=01时,定时器工作于方式1。

T1工作于方式1时,由TH1作为高8位,TL1作为低8位,构成一个十六位的计数器。若T1工作于定时方式1,计数初值为a,晶振频率为12MHz,则T1从计数初值计数到溢出的定时时间为t =(216-a)μS。 4、51单片机的编程 使用MCS-51单片机的定时/计数器的步骤是: .设定TMOD,确定: 工作状态(用作定时器/计数器); 工作方式; 控制方式。 如:T1用于定时器、方式1,T0用于计数器、方式2,均用软件控制。则TMOD的值应为:0001 0110,即0x16。 .设置合适的计数初值,以产生期望的定时间隔。由于定时/计数器在方式0、方式1和方式2时的最大计数间隔取决于使用的晶振频率fosc,如下表所示,当需要的定时间隔较大时,要采用适当的方法,即将定时间隔分段处理。 计数初值的计算方法如下,设晶振频率为fosc,则定时/计数器计数频率为fosc/12,定时/计数器的计数总次数T_all在方式0、方式1和方式2时分别为213 = 8192、216 = 65536和28 = 256,定时间隔为T,计数初值为a,则有 T = 12×(T_all – a)/fosc a = T_all – T×fosc/12 a = – T×fosc/12 (注意单位) THx = a / 256;TLx = a % 256; .确定定时/计数器工作于查询方式还是中断方式,若工作于中断方式,则在初始化时开放定时/计数器的中断及总中断: ET0 = 1;EA = 1; 还需要编写中断服务函数: void T0_srv(void)interrupt 1 using 1 { TL0 = a % 256; TH0 = a / 256; 中断服务程序段} .启动定时器:TR0(TR1)= 1。 四、实验内容过程及结果分析: 利用protues仿真软件设计一个可以显示秒表时间的显示电路。利用实验板上的一位led数码管做显示,利用中断法编写定时程序,控制单片机定时器进行定时,所定时间为1s。刚开始led数码管显示9,每过一秒数码管显示值减一,当显示到0时返回9,依此反复。然后设计00-59的两位秒表显示程序。 (1)实现个位秒表,9-0

接口定时器与计数器实验定时器实验

同组同学学号:同组同学姓名:

实验框图: 主程序框图 源程序及分析: CONTROL equ 0c003h ;设置命令寄存器 COUNT0 equ 0c000h ;设置计数器0 COUNT1 equ 0c001h ;设置计数器1 COUNT2 equ 0c002h ;设置计数器2 code segment assume cs:code start proc near ;第一次定时器设定: mov al, 36h; ; 计数器0,16位,方式3,二进制(00110110B=36h) mov dx, CONTROL out dx, al mov ax, 1000

实验电路及连线: 连线连接孔1 连接孔2 1 8253_CS CS0 2 8253_OUT0L0 3 8253_GATE0VCC 4 8253_CLK0单脉冲 实验说明: 本实验中计数器按方式0工作。即十六位二进制计数器。当计数设置好后,计数器就开始计数。如果要读入计数器的值,要先锁存计数值,才能读到计数值。本实验所设计数值为5,也就是外部5个脉冲,计数器值加1。同时OUT脚输出一个高电平。实验时,可以将OUT0 接到LED上,观察计数器是否工作。 实验框图: 主程序框图 源程序及分析: CONTROL equ 08003h COUNT0 equ 08000h COUNT1 equ 08001h COUNT2 equ 08002h code segment assume cs:code start proc near mov al, 30h ; 通道0,方式0 mov dx, CONTROL out dx, al mov al, 5 ; 计数器初始值。

单片机实验之定时器计数器应用实验二

一、实验目的 1、掌握定时器/计数器计数功能的使用方法。 2、掌握定时器/计数器的中断、查询使用方法。 3、掌握Proteus软件与Keil软件的使用方法。 4、掌握单片机系统的硬件和软件设计方法。 二、设计要求 1、用Proteus软件画出电路原理图,单片机的定时器/计数器以查询方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满100个脉冲,则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。 2、用Proteus软件画出电路原理图,单片机的定时器/计数器以中断方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满200个脉冲,则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。 三、电路原理图 六、实验总结 通过本实验弄清楚了定时/计数器计数功能的初始化设定(TMOD,初值的计算,被计数信号的输入点等等),掌握了查询和中断工作方式的应用。 七、思考题 1、利用定时器0,在P1.0口线上产生周期为200微秒的连续方波,利用定时器1,对 P1.0口线上波形进行计数,满50个,则取反P1.1口线状态,在P 1.1口线上接示波器观察波形。 答:程序见程序清单。

四、实验程序流程框图和程序清单。 1、定时器/计数器以查询方式工作,对外部连续周期性脉冲信号进行计数,每计满100个脉冲,则取反P1.0口线状态。 汇编程序: ORG 0000H START: LJMP MAIN ORG 0100H MAIN: MOV IE, #00H MOV TMOD, #60H MOV TH1, #9CH MOV TL1, #9CH SETB TR1 LOOP: JNB TF1, LOOP CLR TF1 CPL P1.0 AJMP LOOP END C语言程序: #include sbit Y=P1^0; void main() { EA=0; ET1=0; TMOD=0x60; TH1=0x9C; TL1=0x9C; while(1) { TR1=1; while(!TF1); TF1=0; Y=!Y; } } 开始 TMOD初始化 计数初值初始化 中断初始化 启动定时器 计数溢出 清计数溢出标志 Y N P1.0口线取反

8254定时与计数器实验

XX学院 实验报告 实验名称 姓名 学号 班级 教师 日期

一、实验容与要求 1.1 实验容 本次实验分为如下2个子实验: (1)计数应用实验:编写程序,应用8254的计数功能,使用单次脉冲模拟计数,使每当按 下‘KK1+’5次后,产生一次计数中断,并在屏幕上显示一个字符‘M’; (2)定时应用实验:编写程序,应用8254的定时功能,产生一个1s的方波,并用本装置的 示波器功能来观察。 1.2 实验要求 本次实验中2个子实验的实验要求如下: (1)计数应用实验:将8254的计数器0设置为方式3,计数值为十进制数4,用单次脉冲 KK1+作为CLK0时钟,OUT0连接MIR7,每当KK1+按动5次后产生中断请求,在屏 幕上显示字符“M”; (2)定时应用实验:将8254的计数器0和计数器1都设置为方式3,用信号源1MHz作为 CLK0时钟,OUT0为波形输出1ms方波,再通过CLK1输入,OUT1输出1s方波。 二、实验原理与硬件连线 2.1 实验原理 8254是Intel公司生产的可编程间隔定时器。是8253的改进型,比8253具有更优良的性能。8254具有以下基本功能: (1)有三个地理的16位计数器。 (2)每个计数器可按二进制或十进制(BCD)计数。 (3)每个计数器可编程工作于6种不同的工作方式。

(4)8254每个计数器允许的最高计数频率为10MHz(8253为2MHz)。 (5)8254有读回命令(8253,没有),除了可以读出当前计数单元的容外,还可以读出状态寄 存器的容 (6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为: n=f CLKi÷f OUTi,其中f CLKi是输入时钟脉冲的频率,f OUTi是输出波形的频率。 图2-1是8254的部结构框图和引脚图,它是由与CPU的接口,部控制电路和三个计数器组成。8254的工作方式如下述: (1)方式0:计数到0结束输出正跃变信号方式。 (2)方式1:硬件可重触发单稳方式。 (3)方式2:频率发生器方式。 (4)方式3:方波发生器。 (5)方式4:软件触发选通方式。 (6)方式5:硬件触发选通方式 D:[7: RD A0 A1 CS CLK0 GATE0 OUT0 CLK1 GATE1 OUT1 CLK2 GATE2 OUT2图2-1 8254部结构图

实验一 8253方波实验

实验一8253方波实验 一、实验目的 (1)学会8253芯片和微机接口原理和方法。 (2)掌握8253定时器/计数器的工作方式和编程原理。 二、实验仪器 示波器教学机电脑 三、实验内容 8253的0通常工作在方式3,产生方波。 四、程序框图 五、实验电路 六、编程提示 8253芯片介绍 ,用+5V 8253是一种可编程定/计数器,有三个十六位计数器,其计数频率范围为0~2MH Z 单电源供电。 8253的功能用途: (1)延时中断 (2)可编程频率发生器 (3)事件计数器 (4)二进制倍频器 (5)实时时钟 (6)数字单稳 (7)复杂的电机控制器 8253的六种工作方式: (1)方式0:计数结束中断 (2)方式1:可编程频率发生 (3)方式2:频率发生器 (4)方式3:方波频率发生器 (5)方式4:软件触发的选通信号 (6)方式5:硬件触发的选通信号

8253的0号通道工作在方式3,产生方波。 七、程序清单 通道0工作在方式3:00110110H=36H 计数器0:0FFE0H 控制计数器:0FFE3H code segment assume cs:code,ds:code,es:code org 3000H start: MOV DX,0FFE3H MOV AL,36H OUT DX,AL MOV DX,0FFE0H MOV AL,00H OUT DX,AL MOV AL,10H OUT DX,AL JMP $ code ends end start 八、实验步骤 (1)按实验电路图连接线路: ①8253的GATE0接+5V。 (已 ②8253的CLK0插孔接分频器74LS393的T2插孔,分频器的频率源为:4.9152MH z 连好)。 ③8253的CS孔与138译码器的Y0孔相连。 ④对一体机而言,将SIO区D0~D7用排线与BUS区D0~D7相连。 (2)运行实验程序 (3)用示波器测量8253的OUT0输出插孔有方波产生。 九、实验数据及结果 当程序清单中MOV AL 10H 时,其频率为149.9HZ,T=6.7ms 当程序清单中MOV AL 15H 时,其频率为114.3HZ,T=8.7ms

可编程定时器计数器(8253) 实验报告

实验名称可编程定时器/计数器(8253)学生姓名 学生学号 专业班级 指导老师 2015-1-7

实验六可编程定时器/计数器(8253) 一、实验目的 掌握8253芯片和微机接口原理和方法,掌握8253定时器/计数器的工作方式和编程原理。 二、实验内容 1.设计8253定时器/技术器仿真电路图; 2.根据仿真电路图,编写代码,对8253定时器/计数器进行仿真。 三、实验要求 1.要求计数器2工作于模式1(暂稳态触发器),计数初值为1250; 2.计数器0工作于方式3(方波模式),输出一个1KHz的方波,8253的 输入时钟为1MHz,计数初始值格式为BCD。 3.8253与系统的连接如图1所示。 图1计数器8253与8086连接原理图

注:实验过程中,发现图1有误。应将8253定时器/计数器右边部分的电阻R2与按钮交换位置。 四、实验原理 8253具有3个独立的计数通道,采用减1计数方式。在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。 8253的工作方式3被称作方波发生器。任一通道工作在方式3,只在计数值n为偶数,则可输出重复周期为n、占空比为1:1的方波。 进入工作方式3,OUTi输出低电平,装入计数值后,OUTi立即跳变为高电平。如果当GATE为高电平,则立即开始减“1”计数,OUTi保持为高电平,若n为偶数,则当计数值减到n/2时,OUTi跳变为低电平,一直保持到计数值为“0”,系统才自动重新置入计数值n,实现循环计数。这时OUTi端输出的周期为n×CLKi周期,占空比为1:1的方波序列;若n为奇数,则OUTi端输出周期为n×CLKi周期,占空比为((n+1)/2)/((n-1)/2)的近似方波序列。 8253定时器/计数器控制字决定这定时器0,1,2的工作模式。一旦CPU对控制字进行写操作,且对相应的定时器有效,则相应定时器改变工作模式,可能准备接收计时初值。控制字的格式如图2所示。

实验三 8253定时器

实验三8253定时器/计数器实验 姓名:张朗学号:11121535 一、实验目的 1. 学会8255芯片与微机接口的原理和方法。 2. 掌握8255定时器/计数器的工作原理和编程方法。 二、实验内容 编写程序,将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;(单脉冲与时钟单元) 四、程序框图 五、编程

1.T=1.48s CODE SEGMENT ASSUME CS:CODE ORG 1200H START: CLI MOV DX, 0043H MOV AL, 34H OUT DX, AL MOV DX, 0040H MOV AL, 0EEH OUT DX, AL MOV AL, 02H OUT DX, AL MOV DX, 0043H MOV AL, 76H ;01110110设置计数器1,方式3,16位二进制计数OUT DX, AL MOV DX, 0041H MOV AL, 0E8H OUT DX, AL MOV AL, 03H OUT DX, AL JMP $ ;8253自行控制led灯 CODE ENDS END START

单片机实验-定时器计数器应用实验二教学文稿

单片机实验-定时器计数器应用实验二

定时器/计数器应用实验二 一、实验目的和要求 1、掌握定时器/计数器计数功能的使用方法。 2、掌握定时器/计数器的中断、查询使用方法。 3、掌握Proteus软件与Keil软件的使用方法。 4、掌握单片机系统的硬件和软件设计方法。 二、实验内容或原理 1、利用单片机的定时器/计数器以查询方式计数外 部连续周期性矩形波并在单片机口线上产生某一频率的连续周期性矩形波。 2、利用单片机的定时器/计数器以中断方式计数外 部连续周期性矩形波并在单片机口线上产生某一频率的连续周期性矩形波。 三、设计要求 1、用Proteus软件画出电路原理图,单片机的定时 器/计数器以查询方式工作,设定计数功能,对 外部连续周期性脉冲信号进行计数,每计满100 个脉冲,则取反P1.0口线状态,在P 1.0口线上 接示波器观察波形。 2、用Proteus软件画出电路原理图,单片机的定时 器/计数器以中断方式工作,设定计数功能,对 外部连续周期性脉冲信号进行计数,每计满200

个脉冲,则取反P1.0口线状态,在P 1.0口线上 接示波器观察波形。 四、实验报告要求 1、实验目的和要求。 2、设计要求。 3、电路原理图。 4、实验程序流程框图和程序清单。 5、实验结果(波形图)。 6、实验总结。 7、思考题。 五、思考题 1、利用定时器0,在P1.0口线上产生周期为200微秒的连续 方波,利用定时器1,对 P1.0口线上波形进行计数,满 50个,则取反P1.1口线状态,在P 1.1口线上接示波器观察波形。 原理图:

程序清单: /*功能:用计数器1以工作方式2实现计数(查询方式)每计满100个脉冲,则取反P1.0口线状态*/ ORG 0000H START:MOV TMOD,#60H MOV TH1,#9CH MOV TL1,#9CH MOV IE,#00H SETB TR1

定时计数器实验

包头师范学院信息科学与技术学院 实验报告 课程名称:单片机原理及接口技术实验项目:定时/计数器实验 指导老师:陈静老师实验室:物理楼四日期:2011,5,13 专业:电子信息科学与技术班级:08电子姓名:刘宁学号0814830007 一﹑实验目的及要求 1.学习80C51内部定时/计数器使用方法 2.学习计数器各种工作方式的用法 3.进一步掌握中断处理程序的编写方法 二﹑实验仪器及设备 THDPJ-1/2型单片机开发综合实验箱 THKL-C51型仿真器 ISP下载线 计算机一台 三﹑实验内容及原理 内容:定时器与计数器的使用。 四﹑实验步骤(或过程) 实验(一):计数器 1.用8P数据线连接80C51 MCU模块的P1口到八位逻辑电平显示模块的JD1E5口,用二号导线连接80C51 MCU模块的T0口到单次脉冲模块的任一输出端。 2.用串行数据通信线连接计算机与仿真器,把仿真器插到80C51 MCU模块的40P锁紧插座中,请注意仿真器的方向:缺口朝上。 3.将80C51 MCU模块的电源扭子开关S1C拨到上端。将直流稳压电源模块的直流控制开关S1G1打到ON,本实验所用到的相关模块的电源指示灯VCC亮。 4.打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加“TH4_计数器.ASM”源程序,进行编译,编译无误后,全速运行程序。 5.实验现象:连续按动单次脉冲的按键,8位发光二极管显示按键次数。

6.也可以把源程序编译成可执行文件,把可执行文件用ISP烧录器烧录到89S52芯片中运行(注意:芯片缺口朝上)。(ISP烧录器的使用查看附录二) 源程序如下: 实验(一):计数器 ORG 0000H LJMP START ORG 0030H START:MOV TMOD, #01H ;置T0计数器方式1 MOV TH0,#00H ;置T0高八位、低八位均赋值初值为0 MOV TL0,#00H SETB TR0;T0运行 LOOP: MOV P1,TL0 ;记录P1口脉冲个数 LJMP LOOP ;返回 END 流程图如下: 1.用二导线连接80C51 MCU模块的P1.0到八位逻辑电平显示模块的任一只发光二极管上。 2.用串行数据通信线连接计算机与仿真器,把仿真器插到80C51 MCU模块的40P锁紧插座中,请注意仿真器的方向:缺口朝上。 3.将80C51 MCU模块的电源扭子开关S1C拨到上端。将直流稳压电源模块的直流控制开关S1G1打到ON,本实验所用到的相关模块的电源指示灯VCC亮。 4.打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加“TH4_定时器.ASM”源程序,进行编译,编译无误后,全速运行程序。 5.实验现象:发光二极管隔一秒点亮一次,点亮时间为一秒。 6.也可以把源程序编译成可执行文件,把可执行文件用ISP烧录器烧录到89S52芯片中运行(注意:芯片缺口朝上)。(ISP烧录器的使用查看附录二) 实验(二)源程序:定时器 Tick EQU 5000 ; 10000 x 100us = 1s; 10000用于将100us的定时中断重复10000次即为1sec钟 T100us EQU 156 ; 100us时间常数(12M) 156这个定时常数用于定100us就定时器中断一次 C100us EQU 5H ; 100us记数单元 LEDBuf BIT 00H LED BIT P1.0 ORG 0000H LJMP START

8253定时

8253定时/计数器实验 一、实验目的 了解8253定时器的硬件连接方法及时序关系,掌握8253工作方式以及编程方法。二、实验内容 编程将8253定时器0设定为方式3,定时器1设定在方式2,定时器2设定在方式2,定时器0输出作为定时器1的输入,定时器1的输出作为定时器2的输入,定时器2的输出接在一个LED上,运行后可观察到该LED在不停闪烁。 1.8253是一种可编程计数器/定时器,它是用软、硬技术结合的方法实现定时和计数控制。其主要有以下特点: ①有3个独立的16位计数器,每个计数器均以减法计数。 ②每个计数器都可按二进制计数或十进制(BCD码)计数。 ③每个计数器都可由程序设置6种工作方式。 ④每个计数器计数速度可以达2MHz。 ⑤所有I/O都可与TTL兼容 2.8253部分管脚的功能简介: D0-D7——数据总线缓冲器 A0-A7——地址输入线,用来选择3个计数器和控制寄存器中的一个。 CLK——时钟脉冲输入端。计数脉冲加到CLK输入端,可进行二进制或十进制减1的计数。 GATE——门控脉冲输入,用以控制计数或复位。通常当其为低电平时,禁止计数器的工作,即此输入信号即可完成外部触发启动定时作用,又可用于中止计数或定时作用。 OUT——计数到零或定时时间到脉冲输出。当预置的数值减到零时,从OUT输出端输出一信号,在不同的方式下,可输出不同形式的信号。可以用作中断请求,也可用作周期性的负脉冲或方波输出。 三、实验内容及步骤 本实验需要用到单片机最小应用系统CPU模块(F1区)、8253模块(H3区)、时钟发生电路模块(C4区)和计数器/频率计(A4区)。 1.用导线单片机最小应用系统P 2.0、P2.1、P2.7、RD、WR分别接8253的A0、A1、CS-8253、RD、WR;单片机最小应用系统的P0口JD4F接8253模块的D0-7口JD0H,时钟发生电路模块的250kHz接8253模块的CLK0; GATE0接+5V,OUT0接计数器/频率计(A4区)的F IN 。 2.用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。 3.打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加“TH20_8253.ASM”,进行编译,直到编译无误。 4.进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。 5.从计数器/频率计可以看到OUT0输出的频率是CLKO的256分频(大约=970Hz)。 四、源程序(见光盘中的程序文件夹) 五、思考题 1.比较8253的六种工作方式的异同,并列表分析。 2.分析如何根据实验电路确定8253的端口地址? 六、实验电路

proteus实验例子8253计时器

proteus实验例子8253计时器 篇一:实验八可编程定时计数器8253的Proteus仿真实验实验八可编程定时/计数器8253的Proteus仿真实验 一、实验要求 利用 8086 外接8253 可编程定时/计数器,可以实现方波的产生。 二、实验目的 1、学习8086 与8253 的连接方法。 2、学习8253 的控制方法。 3、掌握8253 定时器/计数器的工作方式和编程原理 三、实验电路及连线 1、Proteus 实验电路 2、硬件验证实验 硬件连接表 四、实验说明 1、8253 芯片介绍 8253 是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz,用+5V 单电源供电。 2、8253的功能用途: (1)延时中断 (2)可编程频率发生器 (3)事件计数器

(4)二进制倍频器 (5)实时时钟 (6)数字单稳 (7)复杂的电机控制器 3、8253 的六种工作方式: (1)方式0:计数结束中断 (2)方式l:可编程频率发生 (3)方式2:频率发生器 (4)方式3:方波频率发生器 (5)方式4:软件触发的选通信号 (6)方式5:硬件触发的选通信号 五、实验程序流程图 六、实验步骤 1、Proteus 仿真 a.在 Proteus 中打开设计文档“8253_STM.DSN”; b.建立实验程序并编译,仿真; c.如不能正常工作,打开调试窗口进行调试。 参考程序: CODE SEGMENT;H8253.ASM ASSUME CS:CODE START: JMP TCONT

TCONTROEQU0A06H TCON0 EQU0A00H TCON1 EQU0A02H TCON2 EQU0A04H TCONT: MOV DX,TCONTRO MOV AL,16H ;计数器0,只写计算值低8 位,方式3,二进制计数 OUT DX,AL MOV DX,TCON0 MOV AX,20 ;时钟为1MHZ,计数时间=1us*20=20us,输出频率50KHZ OUT DX,AL JMP $ CODE ENDS END START 2、实验板验证 a.通过USB 线连接实验箱 b.按连接表连接电路 c.运行PROTEUS 仿真,检查验证结果 篇二:基于Proteus的单片机计时器设计 基于Proteus的单片机计时器设计 和丽花 :《电子世界》20XX年第15期

单片机定时计数器实验

实验三单片机定时/计数器实验 一、实验目的 1、学习计数器的使用方法。 2、学习计数器程序的编写。 3、学习定时器的使用方法。 4、学习定时器程序的编写。 5、熟悉汇编语言 二、实验说明 1、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。 2、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转 三、实验仪器和条件 计算机 伟福实验箱(lab2000P ) 四、实验内容与软件流程图 实验3-1⑴、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。 ⑵、外部事件计数脉冲由P3.4引入定时器T0。单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。同时这就决定了输入波形的频率不能超过机器周期频率。 ⑶、流程图 ⑷、实验电路及连线 实验3-2①、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转 ②、定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD 用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。 ③、在例程的中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。 ④、软件流程图

实验八 可编程定时计数器8253的Proteus仿真实验

实验八可编程定时/计数器8253的Proteus仿真实验一、实验要求 利用8086 外接8253 可编程定时/计数器,可以实现方波的产生。 二、实验目的 1、学习8086 与8253 的连接方法。 2、学习8253 的控制方法。 3、掌握8253 定时器/计数器的工作方式和编程原理 三、实验电路及连线 1、Proteus 实验电路 2、硬件验证实验 硬件连接表 四、实验说明

1、8253 芯片介绍 8253 是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz,用+5V 单电源供电。 2、8253的功能用途: (1)延时中断 (2)可编程频率发生器 (3)事件计数器 (4)二进制倍频器 (5)实时时钟 (6)数字单稳 (7)复杂的电机控制器 3、8253 的六种工作方式: (1)方式0:计数结束中断 (2)方式l:可编程频率发生 (3)方式2:频率发生器 (4)方式3:方波频率发生器 (5)方式4:软件触发的选通信号 (6)方式5:硬件触发的选通信号 五、实验程序流程图

六、实验步骤 1、Proteus 仿真 a.在 Proteus 中打开设计文档“8253_STM.DSN”; b.建立实验程序并编译,仿真; c.如不能正常工作,打开调试窗口进行调试。 参考程序: CODE SEGMENT;H8253.ASM ASSUME CS:CODE START: JMP TCONT TCONTROEQU0A06H TCON0 EQU0A00H TCON1 EQU0A02H TCON2 EQU0A04H TCONT: MOV DX,TCONTRO

实验报告定时器计数器实验

实验报告 班级学号姓名同组人 实验日期室温大气压成绩

一、实验目的 1、掌握定时器1计数实验的程序,并能作出简单的修改并实现其功能; 2、通过本次实验,了解对定时器的计数功能和看门狗的喂狗过程及其错误喂狗产生的中断的功能; 3、掌握将CAP1.2的下降沿捕获改成CAP1.3的下降沿捕获,并且实现在按KEY3计数的 同时,LED1根据T1TC的值闪烁相应的次数,当T1TC的值大于9时,LED1闪烁相 应的次数后,系统会错误喂狗产生中断,中断执行蜂鸣器报警。 二、实验设备 微型电子计算机(含软件H-JTAG V0.3.1和ADSv1_2)、Easy ARM2131开发板。 三、实验原理

四、实验内容(对书上299页的程序进行修改,阴影部分为修改部分) #include "config.h" #define BEEP 1 << 7 // P0.7控制蜂鸣器,低电平蜂鸣 #define WDT 0// WDT中断号 const uint32 LED1 = (1 << 18); // P1.18控制LED1,低电平点亮 ********************************************************************************************* ************ ** 函数名称:main() for CAP1.2 ** 函数功能:Timer1的计数器实验-CAP1.2下降沿 ** 调试说明:需要将跳线JP10连接KEY2。 ******************************************************************************* void __irq WDT_Int (void) { uint32 i; T1TC=0; IO0CLR = BEEP; // 蜂鸣器报警 for (i=0; i<0x7fffff; i++); IO0SET = BEEP; VICIntEnClr = 1 << WDT; // 看门狗喂狗中断,只能通过禁止VIC中断的方法返回} void DelayNS (uint32 dly) { uint32 i; for ( ; dly>0; dly--) for (i=0; i<50000; i++); } int main (void) { uint32 cnt,cnt2,i; PINSEL0 = 0x00000000; // P0.7管脚连接GPIO PINSEL1 = 1 << 4; // P0.18连接捕获1.3 PINSEL2 = PINSEL2 & (~0x08); // P1[25:16]连接GPIO IO1DIR = LED1; // 设置LED1控制口为输出 IO1SET = LED1; // LED1熄灭 IO0DIR = BEEP; // 蜂鸣器控制口输出 IO0SET = BEEP;

相关文档
最新文档