实验五(1)计数器及应用.
- 格式:ppt
- 大小:810.50 KB
- 文档页数:10
【精品】实验五 8254计数定时器实验1、实验目的学习8254计数定时器的工作原理,掌握8254计数定时器的编程方法,加强对8254计数定时器的认识,并熟练掌握其应用。
2、实验器材计算机、标准信号发生器、万用表等。
3、实验原理8254计数定时器是一种可编程和可复用的计数/定时器,它可以工作在单独的计数、单独的定时、计数与定时相结合等多种工作模式下,既可以用于计数,也可以用于定时。
它有三个独立的可编程计数器(C0,C1,C2),每个计数器都有一个特殊的16位计数寄存器CR,一个读/写工作方式的计数器工作寄存器CR0,以及为不同的应用提供不同带有多种功能的计数/定时输出方式的通用输出寄存器(G0,G1,G2)。
8254计数定时器有4个I/O端口(0x40,0x41,0x42,0x43)与外部设备相连。
通过读/写这四个I/O端口中的寄存器,就可以操作8254计数定时器的寄存器和计数器寄存器。
计算机中将8254计数定时器的三个计数器均放在一块芯片中,称为计数定时器芯片。
掌握8254计数定时器的编程方法是我们进行下一步应用实验的基础。
(1)测量8254计数定时器的计数时间。
将8254计数定时器的输出端与示波器相连,设置8254的计数器工作模式,并制作相应的控制程序,运行程序,观察并测量8254计数定时器的计数时间。
5、实验步骤(1)测量8254计数定时器的计数时间。
1)将标准信号发生器输出的方波信号(频率为300Hz)经过电阻分压后,接到8254计数定时器的C0引脚上(可用排针连线连接),8254计数定时器的G0引脚再接到示波器的Y轴输入端,示波器的X轴调为10ms/格,Y轴调为1V/格。
2)编写控制程序,设置8254计数定时器的C0计数器工作模式(计数模式0),计数器初值为0,最后输出计数寄存器中的计数值,通过读取计数器寄存器和计数寄存器可以得到8254计数定时器的计数时间。
3)运行程序,并用示波器观察8254计数定时器的计数输出波形,测量并计算出计时的时间。
实验五中断与定时/计数器实验一、实验目的1.了解单片机中断与定时器工作原理,掌握中断与定时器程序结构;2.掌握在µVision环境中调试中断与定时器程序的方法。
二、实验仪器和设备Keil软件;THKSCM-2综合实验装置;三、实验原理及实验内容1.示例及相关设置(1)建立一个文件夹:lx51。
(2)利用菜单File的New选项进入编辑界面,输入下面的源文件,以lx51.asm文件名存盘到lx51文件夹中。
ORG 0000HLJMP MAINORG 0003HMOV P2,ARL ARETIORG 0040HMAIN:MOV SP,#5FHMOV A,#0FEHSETB EASETB EX0SETB IT0SJMP $END(3)在lx51文件夹下建立新工程,以文件名lx51存盘(工程的扩展名系统会自动添加)。
(4)在Project菜单的下拉选项中,单击Opt ions for Target ‘Target1’,在弹出的窗口中要完成一下设置:○1单片机芯片选择A T89C51选择完器件,按“确定”后会弹出一个提示信息框,提示“Copy Startup Code to Project Folder and Add File to Project?”,选择“是”。
○2晶振频率设为11.0592MHz。
○3Output标签下的Create HEX File前小框中要打钩。
○4在Debug标签选择Use Simulator(软件模拟)。
(5)在Project菜单的下拉选项中,单击build Target 选项完成汇编,生成目标文件(.HEX)。
按F5运行程序。
(6)在P3窗口的P3.2位单击鼠标(模拟INT0引脚信号),观察P2窗口变化。
(7)修改程序,使之适合字节数大于8的中断服务情况。
(8)利用单片机最小系统板演示该程序的运行情况。
2.示例及相关设置(1)建立一个文件夹:lx52。
(2)利用菜单File的New选项进入编辑界面,输入下面的源文件,以lx52.asm文件名存盘到lx52文件夹中。
实验五、加法计数器的设计一、实验目的1、掌握计数器的设计与使用;2、掌握时序电路的设计、仿真和硬件测试;3、进一步熟悉VHDL设计技术;二、实验器材PC机一台、EDA教学实验系统一台、下载电缆一根(已接好)、导线若干三、实验要求1、带有使能端,有异步清零,同步置数的模为10进制加法计数器2、在功能允许的情况下,可自由发挥;四、参考程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 ISPORT (CLK,CLRN,ENA,LDN : IN STD_LOGIC;D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT : OUT STD_LOGIC );END CNT 10;ARCHITECTURE behav OF CNT10 ISSIGNAL CQI : STD_LOGIC_VECTOR(3 DOWNTO 0):=“0000”;BEGINPROCESS(CLK, CLRN, ENA,LDN)BEGINIF CLRN = ‘0' THEN CQI<= (OTHERS =>'0') ;ELSIF CLK'EVENT AND CLK='1' THENIF LDN=‘0’ THEN CQ I<=D; ELSEIF ENA = '1' THENIF CQI < 9 THEN CQI <= CQI + 1;ELSE CQI <= (OTHERS =>'0');END IF;END IF;END IF;END IF;Q <= CQI; --将计数值向端口输出END PROCESS;COUT<=CQI(0) AND CQI(3);PROCESS( A ) –-译码电路BEGINCASE A ISWHEN 0 => SG <= "0111111"; WHEN 1 => SG <= "0000110";WHEN 2 => SG <= "1011011"; WHEN 3 => SG <= "1001111";WHEN 4 => SG <= "1100110"; WHEN 5 => SG <= "1101101";WHEN 6 => SG <= "1111101"; WHEN 7 => SG <= "0000111";WHEN 8 => SG <= "1111111"; WHEN 9 => SG <= "1101111";WHEN 10 => SG <= "1110111"; WHEN 11 => SG <= "1111100";WHEN 12 => SG <= "0111001"; WHEN 13 => SG <= "1011110";WHEN 14 => SG <= "1111001"; WHEN 15 => SG <= "1110001";WHEN OTHERS => NULL ;END CASE ;END PROCESS P3;END behav;七、实验报告1、写出实验源程序,画出仿真波形;2、总结实验步骤和实验结果;3、心得体会;4、完成实验思考题。
实验五项目名称:计数器及其应用一、实验目的1、学习用集成触发器构成计数器的方法2、掌握中规模集成计数器的使用及功能测试方法3、运用集成计数计构成1/N分频器二、实验设备1、数字电路实验箱 2 译码显示器3、74LS74*274LS192*374LS00*174LS20*1三、实验内容及步骤1、用74LS74(引脚如图5-7所示)D触发器构成4位二进制异步加法计数器。
(1) 按图5-1接线,R D接至逻辑开关输出插口,将低位CP0端接单次脉冲源,输出端Q3、Q2、Q3、Q0接数码管显示输入插口D、C、B、A(如图5-8所示),各S D接高电平“1”。
(2) 令R D=1,清零后,逐个送入单次脉冲,观察并列表记录Q3~Q0状态。
(3) 将单次脉冲改为1HZ的连续脉冲,观察Q3~Q0的状态。
图5-7 74LS74引脚图图5-8 数码管接口2、测试74LS192同步十进制可逆计数器的逻辑功能计数脉冲由单次脉冲源提供,清除端CR、置数端LD、数据输入端D3 、D2、D1、D0 分别接逻辑开关,输出端 Q3、Q2、Q1、Q0接实验设备的一个译码显示输入相应插口D、C、B、A;CO和BO接逻辑电平显示插口。
图4-9 74LS192引脚图(1)清除令CR=1,其它输入为任意态,这时Q3Q2Q1Q0=0000,译码数字显示为0。
清除功能完成后,置CR=0(2)置数CR=0,CP U,CP D任意,数据输入端输入任意一组二进制数,令LD= 0,观察计数译码显示输出,予置功能是否完成,此后置LD=1。
(3)加计数CR=0,LD=CP D=1,CP U接单次脉冲源。
清零后送入10个单次脉冲,观察译码数字显示是否按8421码十进制状态转换表进行;输出状态变化是否发生在CP U的上升沿。
(4)减计数CR =0,LD =CP U =1,CP D 接单次脉冲源。
参照3)进行实验。
****拓展实验图5-3所示,用两片CC40192组成两位十进制加法计数器,输入1Hz 连续计数脉冲,进行由00—99累加计数,记录之。
实验五计数器设计一、实验目的:1)复习计数器的结构组成及工作原理。
2)掌握图形法设计计数器的方法。
3)掌握Verilog HDL语言设计计数器的方法。
4)进一步熟悉设计流程、熟悉数字系统实验开发箱的使用。
二、实验器材:数字系统设计试验箱、导线、计算机、USB接口线三、实验内容:1)用图形法设计一个十进制计数器, 仿真设计结果。
下载, 进行在线测试。
用Verilog HDL语言设计一个十进制的计数器(要求加法计数;时钟上升沿触发;异步清零, 低电平有效;同步置数, 高电平有效), 仿真设计结果。
下载, 进行在线测试。
四、实验截图1)原理图:2)仿真波形:3)文本程序:5)波形仿真:五、实验结果分析、体会:这次实验, , 由于试验箱有抖动, 故在原理图上加了去抖电路, 但是在波形仿真的时候无需考虑抖动, 所以我在波形仿真的时候将去抖电路消除了, 方便观察实验六累加器设计一、实验目的:1)学习了解累加器工作原理;2)了解多层次结构的设计思路;3)学会综合应用原理图和文本相结合的设计方法。
实验器材:数字系统设计试验箱、导线、计算机、USB接口线三、实验内容:1)在文本输入方式下设计分别设计出8位的全加器和8位的寄存器, 并分别存为add8_8.v和reg8.v;3) 2)在原理图输入方式下通过调用两个模块设计出累加器电路, 并存为add8.bdf, 进行功能仿真;下载, 进行在线测试。
四、实验截图1)8位累加器原理图:2)波形仿真:3)文本输入8位加法器语言及符号:生成元器件:4)文本输入8位寄存器:生成图元:五、实验总结:通过本次实验, 学习了解累加器工作原理, 了解多层次结构的设计思路, 学会综合应用原理图和文本相结合的设计方法。
实验五计数器的设计姓名:班级:学号:实验时间:一、实验目的1、熟悉J-K 触发器的逻辑功能2、掌握J-K 触发器构成异步计数器和同步计数器二、实验仪器及器件1、实验箱、万用表、示波器2、74LS73,74LS00,74LS08,74LS20三、实验原理本实验采用集成J-K 触发器74LS73 构成时序电路,其符号、功能、特性方程和状态转换图见下图:符号: JK 触发器功能表:表达式:Q n+1=JQ n+KQ n状态转换图:主从结构的J-K 触发器在结构上和制造工艺的要求尚还有缺点,使用时要求的工作条件较严格,负载能力也往往达不到理论值。
在门电路中往往认为输入端悬空相当于接了高电平,在短时间的试验期间不会出错。
但在J-K 触发器中,凡是要求接“1”的,一定要接入高电平,否则会出现错误的翻转。
触发器的两个输出的负载过分悬殊,也会出现误翻。
J-K 触发器的清零输入端在工作时一定要接高电平或连接到试验箱的清零端子。
下面简要的介绍时序逻辑电路的设计步骤,如下图所示四、实验内容1.用J-K 触发器设计一个16进制异步计数器,用逻辑分析仪观察CP和各输出的波形。
逻辑图:实际波形图:2.用J-K 触发器设计一个16进制同步计数器,用逻辑分析仪观察CP和各输出的波形。
逻辑图:实际波形图:3. 用J-K 触发器和门电路设计一个具有置零,保持,左移,右移,并行送数功能(详见实验四表二)的二进制四位计数器模仿74LS194功能。
(注:在实验箱上可只实现左移或右移功能,在proteus 软件上可实现对五个功能的综合实现)ABCD ,输出为Q A Q B Q C Q D ,因此可以写出 SL S S A S S Q S S Q S S Q B A A 01010101+++=A CB B Q S S B S S Q S S Q S S Q 01010101+++=B DC C Q S S C S S Q S S Q S S Q 01010101+++=C D D Q S S D S S SR S S Q S S Q 01010101+++= 由J-K 触发器的特性方程 n n 1n Q K Q J Q +=+所以可求得A Q K J ==33B Q K J ==22C Q K J ==11D Q K J ==00由上述方程画出逻辑图,如下模拟仿真,(将A=0,B=C=D=1)(ABCD 分别对应A0A1A2A3) 1)S1=S0=1时,实现并行送数;2)S1=1,S0=0时,实现左移,为了让效果更加显著,我把其左移实现为循环左移,将SR 置为Q A ; 逻辑图:模拟波形图:(从0111->1110->1101->1011->0111)3)S1=0,S0=1时,实现右移,为了让效果更加显著,我把其右移实现为循;环右移,将SL置为QD逻辑图:模拟波形图:(从0111->1011->1101->1110->0111)4)S1=S0=0时,实现保持功能,为了让其更加容易看出,我将从右移过程中实现保持功能;模拟波形图:(1011->1101->1110->0111->1011->1011->1011…)4. 用J-K 触发器和门电路设计一个特殊的12 进制计数器,其十进制的状态转换图为:(1)根据实验要求可以的该特殊十二进制计数器状态转换图。
实验五计数器及其应用一、实验目的1.熟悉由集成触发器构成的计数器电路及其工作原理。
2.熟练掌握常用中规模集成电路计数器及其应用方法。
二、实验原理所谓计数,就是统计脉冲的个数,计数器就是实现“计数”操作的时序逻辑电路。
计数器的应用十分广泛,不仅用来计数,也可用作分频、定时等。
计数器种类繁多。
根据计数体制的不同,计数器可分成二进制(即2n进制)计数器和非二进制计数器两大类。
在非二进制计数器中,最常用的是十进制计数器,其它的一般称为任意进制计数器。
根据计数器的增减趋势不同,计数器可分为加法计数器——随着计数脉冲的输入而递增计数的;减法计数器——随着计数脉冲的输入而递减的,可逆计数器——既可递增、也可递减的。
根据计数脉冲引人方式不同,计数器又可分为同步计数器——计数脉冲直接加到所有触发器的时钟脉冲(CP)输入端;异步计数器——计数脉冲不是直接加到所有触发器的时钟脉冲(CP)输入端。
1.异步二进制加法计数器异步二进制加法计数器是比较简单的。
图32 (a)是由4个JK(选用74LS112集成片)触发器构成的4位二进制(十六进制)异步加法计数器,图32 (b)和(c)分别为其状态图和波形图。
对于所得状态图和波形图可以这样理解:触发器FFo(最低位)在每个计数沿(CP)的下降沿(1 → 0)翻转,触发器FF1的 CP 端接 FF0的 Q0端 .因而当 FF0(Q0)由1→0时,FF1翻转。
类似地,当 FF l(Q l)由1→0时,FF2翻转,FF2(Q2)由1→0时,FF3翻转。
(a)逻辑图(b)状态图(c)波形图图32 4位二进制(十六进制)异步加法计数器4位二进制异步加法计数器从起始态0000到1111共十六个状态,因此,它是十六进制加法计数器,也称模16加法计数器 (模M = 16)。
从波形图可看到,Q0的周期是CP周期的二倍;Q l是Q0的二倍,CP的四倍;Q2是Q1的二倍,Q0的四倍,CP的八倍;Q3是Q2的二倍,Q l的四倍,Q0的八倍,CP 的十六倍。
《数字逻辑实验》报告五:中规模元件及综合设计一.中规模时序元件测试1.实验目的:在计数器74LS161芯片上,分别用反馈置数法和清零法构造模10计数器,并进行测试。
2.原理:74LS161是四位可预置数二进制加计数器,采用16脚双列直插式封装的中规模集成电路。
外形如下图。
RD异步复位输入端;ET、EP计数使能输入端;CP 时钟输入端;RCO 是进位输出端;VCC电源输入端;GND接地端;A、B、C、D 预置数据输入端LD预置端;QA、QB、QC、QD 计数值输出端。
在复位端高(RD)电平、预置端(LD)低电平时为同步预置功能,即时钟信号能使输出状态QA、QB、QC、QD等于并行输入预置数A、B、C、D。
在复位和预置端都为无效电平时,计数使能端输入使能信号(ET、EP=1)时,74161为模16加法计数功能。
而ET、EP =0 时,实现状态保持功能。
在QA、QB、QC、QD=1111时,进位输出端RCO=1 。
1)反馈清零法:74LS161从Q3Q2Q1Q0=0000开始计数,经过M-1个时钟脉冲状态对应二进制数最大,下一个CP后计数器应复位,开始新一轮M计数。
复位信号在M个CP时产生,所以复位信号在Q3Q2Q1Q0=1100时,使计数器复位Q3Q2Q1Q0=0000。
由状态1100产生的低位电平复位信号可用与非门实现。
即/RD=/Q3Q2。
接线图与状态图如图所示2)反馈置数法一:通过反馈产生置数信号/LD,将预置的D3D2D1D0数预置到输出端。
预置数D3D2D1D0=0000,应在Q3Q2Q1Q0=1011时预置端变为低电平,故/LD=/Q3Q1Q0 接线图和状态图如图所示3)反馈置数法二:预置数D3D2D1D0=0100,进位输出CO作为预置信号/LD,即/LD=/CO。
电路图与时序图如图所示3.实验步骤:①用74LS161芯片按照实验指导书中,反馈置零法和反馈置数法的接线图,分别连接芯片引脚;②进行测试。
实验五定时/计数器查询方式应用一、定时器工作方式0、1、2的应用(工程文件名:05定时器方式012.DSN)已知单片机晶体振荡器频率为12MHz,使用定时器编制延时程序,采用查询溢出方式控制红灯D1交替闪烁,将定时器工作方式分别设置为方式0、方式1和方式2,实现上述功能。
1.1定时器工作方式0(文件名:05定时器方式0.ASM,填空并回答问题)P1_0 EQU P1.0ORG 0000HMain:CLR P1_0MOV TMOD,# 00 H ; 定时器0,工作方式0(13位计数值)MOV TH0,#00H ; 计数初值MOV TL0,#01HSETB TR0; 启动T0,从1开始增1计数,计满溢出LP1: JBC TF0, LP2;查询定时器0是否计满溢出,溢出转LP2处理SJMP LP1LP2: CPL P1_0 ;溢出P1.0取反,灯明暗变化MOV TH0,#00H ; 重装定时器计数初值MOV TL0,#01HSJMP LP1END1.2定时器工作方式1(文件名:05定时器方式1.ASM,填空并回答问题)P1_0 EQU P1.0ORG 0000HMain:CLR P1_0MOV TMOD,# 01 H ; 定时器0,工作方式1(16位)MOV TH0,#00H ; 计数初值MOV TL0,#010HSETB TR0 ; 启动T0,从16开始增1计数,计满2^16=65536溢出LP1: JBC TF0, LP2 ;查询定时器0是否计满溢出,若溢出转LP2处理SJMP LP1LP2:CPL P1_0 ; P1.0取反,灯明暗变化MOV TH0,#00H; 重新赋计数初值MOV TL0,#010HSJMP LP1END1.3定时器工作方式2(文件名:05定时器方式2.ASM,填空并回答问题)P1_0 EQU P1.0ORG 0000HMain:CLR P1_0MOV R1,#250MOV TMOD,# 02 H ; 定时器0,工作方式2(8位重装初值)MOV TH0,#01H ; 计数初值MOV TL0,#01HSETB TR0; 启动T0,定时器0从1开始增1计数,满2^8=256溢出LP1: JBC TF0, LP2;查询定时器值是否计满溢出,若溢出转JP2处理SJMP LP1LP2: DJNZ R1,LP1;有无溢出250次,若没有,继续查询是否溢出;若有执行下一句,改变灯的明暗CPL P1_0; 溢出250次P1.0取反,灯明暗变化SJMP LP1END二、计数器工作方式0、1、2的应用(文件名:计数器方式012.DSN)已知单片机晶体振荡器频率为12MHz,使用计数器编制延时程序,采用查询溢出方式控制红灯D1交替闪烁,将计数器工作方式分别设置为方式0、方式1和方式2,实现上述功能。