实验7 计数器
实验7 定时器T1输出比较

// 把 62500 的低 8 位写入 T1CC0L
T1CC0H = ((62500 & 0xFF00) >> 8); // 把 62500 的高 8 位写入 T1CC0H
T1CC0 周期
/* 给 T1CC2 写入比较值(匹配值)12500 */ T1CC2L =12500 & 0xFF; T1CC2H = ((12500 & 0xFF00) >> 8); // 占空比
*/
/* 配置定时器 1 的 16 位计数器的计数频率
Timer Tick 分频 定时器 1 的计数频率 要获得 0.5s 的
延时,应设置 T1CC2
中的比较值(匹
配值)为
16MHz
/128 125KHz
62500 */
/* 给 T1CC2 写入模的值(周期 0.5S) */
Hale Waihona Puke T1CC0L = 62500 & 0xFF;
****/ #include "ioCC2530.h" // 引用头文件,包含对 CC2530 的寄存器、中断向
量等的定义 /****************************************************************
****/ //定义 led 灯端口:p1.3, p1.4:
T1CTL = 0x0e; // 配置 128 分频,模工作模式,并开始启动
TIMIF &= ~0x40; //不产生定时器 1 的溢出中断
//定时器 1 的通道 2 的中断使能 T1CCTL2.IM 默认使能
IEN1 |= 0x02; //使能定时器 1 的中断
计数器逻辑功能和设计

2.5 计数器逻辑功能和设计1.实验目的(1)熟悉四位二进制计数器的逻辑功能和使用方法。
(2)熟悉二-五-十进制计数器的逻辑功能和使用方法。
(3)熟悉中规模集成计数器设计任意进制计数器的方法。
(4)初步理解数字电路系统设计方法,以数字钟设计为例。
2.实验仪器设备(1)数字电路实验箱。
(2)数字万用表。
(3)数字集成电路:74161 4位二进制计数器74390 2二-五-十进制计数器7400 4与非门7408 4与门7432 4或门3.预习(1)复习实验所用芯片的逻辑功能及逻辑函数表达式。
(2)复习实验所用芯片的结构图、管脚图和功能表。
(3)复习实验所用的相关原理。
(4)按要求设计实验中的各电路。
4.实验原理(1)计数器是一个用以实现计数功能的时序逻辑部件,它不仅可以用来对脉冲进行计数,还常用做数字系统的定时、分频和执行数字运算以及其他特定的逻辑功能。
计数器的种类很多,按构成计数器中的各触发器是否使用一个时钟脉冲源来分,有同步计数器和异步计数器;根据计数进制的不同,分为二进制、十进制和任意进制计数器;根据计数的增减趋势分为加法、减法和可逆计数器;还有可预置数和可编程功能计数器等。
(2)利用集成计数器芯片构成任意(N)进制计数器方法。
①反馈归零法。
反馈归零法是利用计数器清零端的清零作用,截取计数过程中的某一个中间状态控制清零端,使计数器由此状态返回到零重新开始计数。
把模数大的计数器改成模数小的计数器,关键是清零信号的选择。
异步清零方式以N作为清零信号或反馈识别码,其有效循环状态为0~N-1;同步清零方式以N-1作为反馈识别码,其有效循环状态为0~N-1。
还要注意清零端的有效电平,以确定用与门还是与非门来引导。
②反馈置数法。
反馈置数法是利用具有置数功能的计数器,截取从Nb到Na 之间的N个有效状态构成N进制计数器。
其方法是当计数器的状态循环到Na时,由Na构成的反馈信号提供置数指令,由于事先将并行置数数据输入端置成了Nb 的状态,所以置数指令到来时,计数器输出端被置成Nb,再来计数脉冲,计数器在Nb基础上继续计数至Na,又进行新一轮置数、计数,其关键是反馈识别码的确定与芯片的置数方式有关。
计数器及其应用实验报告

一、实验目的1. 理解计数器的基本原理和构成方式。
2. 掌握中规模集成计数器的使用方法和功能测试。
3. 了解计数器在数字系统中的应用,如定时、分频、数字运算等。
二、实验原理计数器是一种时序逻辑电路,用于对输入脉冲进行计数。
根据计数进制、触发器翻转方式、计数功能等不同,计数器可以分为多种类型。
1. 计数进制:二进制、十进制、任意进制。
2. 触发器翻转方式:同步、异步。
3. 计数功能:加法、减法、可逆(加/减)。
常见的集成计数器有74LS161(4位二进制同步加法计数器)、74LS193(4位二进制同步可逆计数器)等。
三、实验器材1. 数字电路实验箱2. 同步十进制可逆计数器74LS1923. 2输入四与门74LS001四、实验步骤1. 搭建实验电路:根据实验要求,搭建计数器实验电路,包括计数器芯片、时钟源、复位端等。
2. 功能测试:分别对计数器进行加法计数、减法计数、可逆计数等功能的测试,观察输出波形和计数结果。
3. 应用实验:利用计数器实现定时、分频等功能,观察实际效果。
五、实验结果与分析1. 功能测试:- 加法计数:输入时钟脉冲,观察计数器输出端Q0~Q3的变化,验证加法计数功能。
- 减法计数:输入时钟脉冲,观察计数器输出端Q0~Q3的变化,验证减法计数功能。
- 可逆计数:输入时钟脉冲,观察计数器输出端Q0~Q3的变化,验证可逆计数功能。
2. 应用实验:- 定时功能:利用计数器实现定时功能,例如,通过计数器计数1000个脉冲,实现1秒定时。
- 分频功能:利用计数器实现分频功能,例如,将输入的50Hz时钟信号分频为5Hz。
六、实验总结通过本次实验,我们掌握了计数器的基本原理、构成方式和使用方法,了解了计数器在数字系统中的应用。
实验过程中,我们学会了如何搭建实验电路、进行功能测试和应用实验。
本次实验有助于提高我们对数字电路和时序逻辑电路的理解,为后续学习打下基础。
七、实验心得1. 计数器在数字系统中应用广泛,掌握计数器的基本原理和构成方式非常重要。
FPGA_触发器与计数器实验报告

电力学院FPGA应用开发实验报告实验名称:触发器与计数器专业:电子科学与技术姓名:班级:学号:1.触发器功能的模拟实现实验目的:1.掌握触发器功能的测试方法。
2.掌握基本RS触发器的组成及工作原理。
3.掌握集成JK触发器和D触发器的逻辑功能及触发方式。
4.掌握几种主要触发器之间相互转换的方法。
5.通过实验,体会EPLD芯片的高集成度和多I/O口。
实验说明:将基本RS触发器,同步RS触发器,集成J-K触发器,D触发器同时集一个FPGA芯片中模拟其功能,并研究其相互转化的方法。
实验的具体实现要连线测试,实验原理如图所示:2.计数器在VHDL中,可以用Q<=Q+1简单地实现一个计数器,也可以用LPM来实现。
下面分别对这两种方法进行介绍。
方法一:第1步:新建一个Quartus项目。
第2步:建立一个VHDL文件,实现一个8位计数器。
计数器从“00000000”开始计到“11111111”,计数器的模是256。
计数器模块还需要包含一个时钟clock、一个使能信号en、一个异步清0信号aclr和一个同步数据加载信号sload。
模块符号如下图所示:第3步:VHDL代码如下:第4步:将VHDL文件另存为counter_8bit.vhd,并将其设定为项目的最顶层文件,再进行语法检查。
第5步:语法检查通过以后,用KEY[0]表示clock,SW[7..0]表示data,SW[8~10]分别表示en、sload和aclr;LEDR[7..0]表示q。
第6步:引脚分配完成后,编译并下载。
第7步:修改上述代码,把计数器的模更改为100,应如何操作。
模为100的计数器,VHDL代码如下:方法二:使用LPM实现8位计数器。
LPM是指参数化功能模块,用LPM可以非常方便快捷地实现一个计数器。
第1步:选择Tools->MegaWizard Plug-In Manager命令,打开如下图所示的对话框。
第2步:直接单击Next按钮,出现如下图所示的对话框。
实验七集成计数器

实验七集成计数器一、实验目的1.熟悉集成计数器的逻辑功能和各控制端作用。
2.掌握计数器使用方法。
二、实验原理中规模集成电路计数器的应用十分普及。
然而,定型产品的种类是很有限的。
常用的多为十进制、二进制、十六进制几种。
因此必须学会用已有的计数器芯片构成其它任意进制计数器的方法。
本实验采用中规模集成电路计数器74LS93芯片,它的集成单元是二进制计数器,它是由四个主从JK触发器和附加电路组成的,最长计数周期是16,适当改变外引线,可以构成不同长度的计数周期。
74LS93逻辑图外引线排列如图所示。
如果使用该计数器的最大长度(四位二进制),可将B IN 输入同A IN输出连接,由A IN输入计数脉冲。
接电平显示置零/计数功能表三、实验仪器和器件1.实验仪器(1)DZX-2B 型电子学综合实验装置 1台 (2)双踪四迹示波器(YB4320A 型) 2.器件(1)74LS00 (二输入端四与非门) (2)74LS20 (四输入端二与非门) (5)74LS93 (异步二进制计数器) 四、实验内容1.集成计数器74LS93功能测试。
1 2 3 4 5 6 774LS93引脚排列1Hz 方波接逻辑电平图7-1二—十六进制计数器接电平显示表6-12.用集成计数器74LS93构成计数周期为6、10、7、9、14、15的二进制计数器。
表7-21Hz 方波接电平显示 图7-2二—六进制计数器表7-31Hz 方波接电平显示 图7-3二—十进制计数器1Hz 方波接电平显示 图7-4二—七进制计数器1Hz 方波接电平显示 图7-5二—九进制计数器冲或 1Hz 波接电平显示 图7-6二—十四进制计数器表7-7五、实验报告要求1.自行设计实验电路和实验表格,记录、整理实验数据; 参见图7-1~图7-2和表7-1~表7-2。
2.集成计数器74LS93是同步还是异步计数器?是加法还是减法计数器? 集成计数器74LS93是异步加法计数器。
数字电路实验

34
实验5:数据选择器及其应用
74LS153是一个双四选一数据选择器
35
74LS00 4与非门
36
实验内容及步骤
1. 测试74LS153的逻辑功能 将地址A1、A0分别接数据 开关SW1、SW2,使能端 接数据开关SW3,输出端Q 接发光二极管显示器L1
输入 A1 x A0 x E 1 输出 Q 0
74LS00 4与非门
17
74LS86 4异或门
18
74LS51 2与或非
19
74LS283 四位超前进位全加器
20
可以用74LS00与非门实现非的关系:
(Q1Q2 ) ' (Q1 ) ' 当Q2 1(TTL悬空)
可以用74LS00与非门实现或的关系:
Q1
Q1’
Q1 Q2 (Q1 ' Q2 ') '
实验内容及步骤
3. 中规模集成全加器
根据图3-4(b)所给引脚功能 图 连 线,输 入端 A 、A3、 A2、A1和B4、B3、B2、 B1数码分别接数据开关SW 上,输出端S4、S3、S2和 S1分别接显示器L1、L2、 L3和L4,C4接万用表,最 低位进位C0接地。
做完不要拆电路,接着做4
24
可调电源调 至输出电压 为2.7V
输出为2.7V时, 再用电压档测试
13
实验内容及步骤
⑨ 扇出系数No
可调电阻
先用导线连接,万 用表测输出电压为 0.35V时,再用电 流档测试IL
14
实验内容及步骤
3.TTL与非门逻辑功能的测试
只接其中一 个与非门
15
思考题
P.13: 1. 2. 3.
数字电路 实验 计数器及其应用 实验报告

实验六计数器及其应用一、实验目的1.学习用集成触发器构成计数器的方法2.掌握同步计数的逻辑功能、测试方法及功能扩展方法3.掌握构成任意进制计数器的方法二、实验设备和器件1.+5V直流电源2.双踪示波器3.连续脉冲源4.单次脉冲源5.逻辑电平开关6.逻辑电平显示器7.译码显示器8.CC4013×2(74LS74)CC40192×3(74LS192)CC4011(74LS00)CC4012(74LS20)三、实验原理计数器是一个用以实现计数功能的时序部件,它不仅可用来计脉冲数,还常用作数字系统的定时、分频和执行数字运算以及其它特定的逻辑功能。
计数器种类很多。
计数器计数时所经历的独立状态总数为计数器的模(M)。
计数器按模可分为二进计数器(M=2n)、十进计数器(M=10n)和任意进制计数器(M≠2n、M≠10n)。
按计数脉冲输入方式不同,可分为同步计数和异步计数。
按计数值增减趋势分为:加法计数器、减法计数器和可逆(加/减)计数器。
1.用D触发器构成异步二进制加/减计数器图6-1是用四只D触发器构成的四位二进制异步加法计数器,它的连接特点是将每只D触发器接成T 触发器,再由低位触发器的Q端和高一位的CP端相连接。
若将图6-1稍加改动,即将低位触发器的Q端与高一位的CP端相连接,即构成了一个4位二进制减法计数器。
2.中规模十进制计数器、十六进制计数器(1)CC40192是同步十进制可逆计数器,具有双时钟输入,并具有清除和置数等功能。
当清除端CR为高电平“1”时,计数器直接清零;CR置低电平则执行其它功能。
当CR为低电平,置数端LD也为低电平时,数据直接从置数端D0、D1、D2、D3置入计数器。
当CR为低电平,LD为高电平时,执行计数功能。
执行加计数时,减计数端CP D接高电平,计数脉冲由CP U输入;在计数脉冲上升沿进行8421码十进制加法计数。
执行减计数时,加计数端CP U接高电平,计数脉冲由减计数端CP D 输入,表6-2为8421码十进制加、减计数器的状态转换表。
电子线路基础数字电路实验7 时序逻辑电路设计

实验七时序逻辑电路设计一、实验目的1. 学习用集成触发器构成计数器的方法。
2. 熟悉中规模集成十进制计数器的逻辑功能及使用方法。
3. 学习计数器的功能扩展。
4. 了解集成译码器及显示器的应用。
二、实验原理计数器是一种重要的时序逻辑电路,它不仅可以计数,而且用作定时控制及进行数字运算等。
按计数功能计数器可分加法、减法和可逆计数器,根据计数体制可分为二进制和任意进制计数器,而任意进制计数器中常用的是十进制计数器。
根据计数脉冲引入的方式又有同步和异步计数器之分。
1. 用D触发器构成异步二进制加法计数器和减法计数器:图10—1是用四只D触发器构成的四位二进制异步加法计数器,它的连接特点是将每只D触发器接成T'触发器形式,再由低位触发器的Q端和高一位的CP端相连接,即构成异步计数方式。
若把图10—1稍加改动,即将低位触发器的Q端和高一位的CP端相连接,即构成了减法计数器。
图10—1本实验采用的D触发器型号为74LS74A,引脚排列见前述实验。
2. 中规模十进制计数器中规模集成计数器品种多,功能完善,通常具有予置、保持、计数等多种功能。
74LS182同步十进制可逆计数器具有双时钟输入,可以执行十进制加法和减法计数,并具有清除、置数等功能。
引脚排列如图10—2所示。
其中LD−−置数端;CP u−−加计数端;CP D−−减计数端;DO−−非同步进位输出端;CO−−非同步借位输出端;Q A、Q B、Q C、Q D−−计数器输出端;D A、D B、D C、D D−−数据输入端;CR−−清除端。
表10—1为74LS192功能表,说明如下:当清除端为高电平“1”时,计数器直接清零(称为异步清零),执行其它功能时,CR置低电平。
当CR为低电平,置数端LD为低电平时,数据直接从置数端D A、D B、D C、D D置入计数器。
当CR为低电平,LD为高电平时,执行计数功能。
执行加计数时,减计数端CP D接高电平,计数脉冲由加计数端Cp u输入,在计数脉冲上升沿进行842编码的十进制加法计数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CHANGZHOU INSTITUTE OF TECHNOLOGY
题目7:计数器
二级学院(直属学部):延陵学院
专业:电气工程及其自动化班级:10电Y3 学生姓名:学号:
1、学习80C51单片机计数器的使用和编程
2、熟悉计数器中断处理程序的编程
二、实验电路
四、实验操作和调试
通过引脚T0从外部输入3个计数脉冲后触发中断,在T0的计数中断服务程序中,接在P0口的绿色LED闪烁3次,返回主程序。
引脚T1从外部输入6个计数脉冲后触发中断,在T1的计数中断服务程序中,接在P2口的红色LED闪烁6次,返回主程序。
T0和T1总的中断次数在P1口的7段BCD数码管中显示。
五、实验程序
#include<intrins.h>
#include<REGX52.H>
#define TRUE 1
#define uchar unsigned char
uchar time0IntCounter=0; //定时器0溢出计数
uchar time1IntCounter=0; //定时器1溢出计数
uchar totalIntTimes=0; //总中断次数
void time(unsigned int ucMs); //延时单位:ms
void main(void)
{
TMOD=0x066; //设置外部中断0和1为外部脉冲输入计数器,设工作方式1,16位计数器
TH0=0xFF;TL0=0xFD; //设置计数器0的初值FFFDH,3个计数脉冲产生中断
TH1=0xFF;TL1=0xFA; //设置计数器1的初值FFFAH,6个计数脉冲产生中断
TR0=1; //开启定时器0
TR1=1; //开启定时器1
IE=0x8a; //开启定时器0和1中断
P1=totalIntTimes; //总中断次数送P1
while(1){} //等待定时器0和1中断
}
/************定时器0中断服务程序*****/
void timer0(void) interrupt 1
{
unsigned char counter; //循环次数计数
EA=0; //关总中断
TR0=0; //停止计时
totalIntTimes++; //总中断次数加1
P1= totalIntTimes; //总中断次数送P1
for(counter=0;counter<255;counter++)
{
P0=0; //点亮P0口LED1
time(300); //延时300ms
P0=0xff; //熄灭P0口LED1
time(300); //延时300ms
}
TH0=0xFF;TL0=0xFD; //设置计数器0的初值FFFDH,3个计数脉冲产生中断
TR0=1; //开启定时器0
EA=1; //开总中断
}
/************定时器1中断服务程序*****/
void timer1(void) interrupt 3
{
unsigned char counter; //循环次数计数
EA=0; //关总中断
TR1=0; //停止计时
totalIntTimes++; //总中断次数加1
P1=totalIntTimes; //总中断次数送P1
for(counter=0;counter<10;counter++)
{
P2=0; //点亮P2口LED1
time(300); //延时300ms
P2=0xff; //熄灭P2口LED1
time(300); //延时300ms
}
TH1=0xFF;TL1=0xFA; //设置计数器1的初值FFFAH,6个计数脉冲产生中断
TR1=1; //开启定时器1
EA=1; //开总中断
}
void delay_5us(void) //延时5us,晶振改变时只改变这一个函数
{
_nop_();
_nop_();
//_nop_();
// _nop_();
}
/*delay_50us*/
void delay_50us(void) //延时50us
{
unsigned char i;
for(i=0;i<4;i++)
{
delay_5us();
}
}
/******************延时100us********************/
void delay_100us(void) //延时100us
{
delay_50us();
delay_50us();
}
/*延时单位:ms*/
void time(unsigned int ucMs)
{
unsigned char j;
while(ucMs>0)
{
for(j=0;j<10;j++)
delay_100us();
ucMs--;
}
}
六、实验效果图。