❶ 计数器电路怎么设计
计数器电路设计:
该计数器可实现按键计数、增减控制、手/自动清零等功能。需要准备下列元件:共阴极7段数码管、按键开关、4511(BCD锁存/7段译码/驱动器)、4516(可预置4位二进制加/减计数器)、40106(或7414,六反相施密特触发器)、4001(或7400,四2输入与非门)、4093(或74132,四与非施密特触发器)以及面包板、电阻、电容若干。另外还需要准备+5V稳压电源一台,或自制电源模块.
❷ 可编程计数器设计图
恩,可编程计时器设计这个还能给您。
❸ 数字电路的计数器设计
计数器是一种能够记录脉冲数目的装置,是数字电路中最常用的逻辑部件。计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能。计数器由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成。计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数。
计数器按进位制不同,分为二进制计数器和十进制计数器;按运算功能不同,分为加法计数器、减法计数器和可逆计数器。下面我们以T触发器构成二进制加法、减法计数器为例介绍计数器的原理。
2.计数器原理—加法计数器
用T触发器构成二进制加法计数器,如下图所示。
3位二进制加法器
如上图所示,是由3个下降沿触发的T触发器组成的3位二进制异步加法器,图中各个触发器的J、K输入端的输入信号均为1,主要由脉冲信号控制其输出信号,计数器从Q2 Q1 Q0 =000状态开始计数。
Q0、Q1、Q2的工作波形,如下图所示,即在计数输入脉冲CP的下降的触发下,触发器FF0的输出Q0要翻转。0变为1或1变为0。由于CP1取自Q0,所以在Q0的下降沿触发下,FF1的输出Q1要翻转。同理,由于CP2=Q1,所以在Q1的下降沿触发下,FF2的输出Q2要翻转。
若用上升沿触发的T′触发器同样可以组成异步二进制加法计数器,但每一级触发器的进位脉冲应改为Qˉ端输出。原因很简单,当低位触发器输出端Q端由1变为0时,Qˉ端的上升沿正好可以作为高位的触发脉冲。
3.计数器原理—减法计数器
如果将T′触发器之间按二进制减法规则连接,就可以得到二进制减法计数器。根据二进制减法计数规则。若低位触发器已经为0,则再输入一个减法计数脉冲后应翻转为1,同时向高位发出借位信号,使高位翻转。
3位二进制减法器
上图就是按上述规则接成的3位二进制减法计数器。图中采用上升动作的D触发器接成的T′触发器,其中所有D触发器的D= Qˉ即成为T′触发器。它的时序图如下图所示
❹ 数电,计数器设计。怎么画
把Y输出端接到公共复位端即可。当计数到110(十进制的6)时,Y输出复位信号,使计数器复位为000,从新开始计数。
❺ 课程设计题目:电子计数器
单片机C51计数器要求:编写一个计数器程序,将T0作为计数器来使用,对外部信号计数,将所计数字显示在数码管上。
该部分的硬件电路如图所示,U1的P0口和P2口的部份引脚构成了6位LED数码管驱动电路,数码管采用共阳型,使用PNP型三极管作为片选端的驱动,所有三极管的发射极连在一起,接到正电源端,它们的基极则分别连到P2.0…P2.5,当P2.0…P2.5中某引脚输是低电平时,三极管导通,给相应的数码管供电,该位数码管点亮哪些笔段,则取决于笔段引脚是高或低电平。图中看出,所有6位数码管的笔段连在一起,通过限流电阻后接到P0口,因此,哪些笔段亮就取决于P0口的8根线的状态。
编写程序时,首先根据硬件连线写出LED数码管的字形码、位驱动码,然后编写程序如下:
#include "reg51.h"#define uchar unsigned char#define uint unsigned int uchar code BitTab[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB};//位驱动码uchar code DispTab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF};//字形码uchar DispBuf[6]; //显示缓冲区 void Timer1() interrupt 3{ uchar tmp;uchar Count; //计数器,显示程序通过它得知现正显示哪个数码管TH1=(65536-3000)/256;TL1=(65536-3000)%256; //重置初值tmp=BitTab[Count]; //取位值P2=P2|0xfc; //P2与11111100B相或P2=P2&tmp; //P2与取出的位值相与tmp=DispBuf[Count];//取出待显示的数 tmp=DispTab[tmp]; //取字形码P0=tmp;Count++;if(Count==6)Count=0; }void main(){ uint tmp;P1=0xff;P0=0xff;TMOD=0x15; //定时器0工作于计数方式1,定时器1工作于定时方式1TH1=(65536-3000)/256;TL1=(65536-3000)%256; //定时时间为3000个周期TR0=1; //计数器0开始运行TR1=1;EA=1;ET1=1;for(;;){ tmp=TL0|(TH0<<8);//取T0中的数值DispBuf[5]=tmp%10;tmp/=10;DispBuf[4]=tmp%10; tmp/=10;DispBuf[3]=tmp%10;tmp/=10;DispBuf[2]=tmp%10;DispBuf[1]=tmp/10;DispBuf[0]=0;}} 这个程序中用到了一个新的知识点,即数组,首先作一个介绍。 数组是C51的一种构造数据类型,数组必须由具有相同数据类型的元素构成,这些数据的类型就是数组的基本类型,如:数组中的所有元素都是整型,则该数组称为整型数组,如所有元素都是字符型,则该数组称为字符型数组。 数组必须要先定义,后使用,这里仅介绍一维数组的定义,其方式为: 类型说明符数组名[整型表达式] 定义好数组后,可以通过:数组名[整型表达式]来使用数组元素。 在定义数组时,可以对数组进行初始化,即给其赋予初值,这可用以下的一些方法实现:
1.在定义数组时对数组的全部元素赋予初值:例:int a[5]={1,2,3,4,5};
2.只对数组的部分元素初始化;例:int a[5]={1,2}; 上面定义的a数组共有5个元素,但只对前两个赋初值,因此a[0]和a[1]的值是1、2,而后面3个元素的值全是0。
3.在定义数组时对数组元素的全部元素不赋初值,则数组元素值均被初始化为0
4.可以在定义时不指明数组元素的个数,而根据赋值部分由编译器自动确定例:uchar BitTab[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB};则相当于定义了一个BitTab[6]这样一个数组。
5.可以为数组指定存储空间,这个例子中,未指定空间时,将数组定义在内部RAM中,可以用code关键字将数组元素定义在ROM空间中。uchar code BitTab[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB}; 用这两种定义分别编译,可以看出使用了code关键字后系统占用的RAM数减少了,这种方式用于编程中不需要改变内容的场合,如显示数码管的字形码等是很合适的。
6.C语言并不对越界使用数组进行检测,例如上例中数组的长度是6,其元素应该是从BitTab[0]~BitTab[5],但是如果你在程序中写上BitTab[6],编译器并不会认为这有语法错误,也不会给出警告(其他语言如BASCI等则有严格的规定,这种情况将视为语法错误),因此,编程者必须自己小心确认这是否是你需要的结果。
程序分析:程序中将定时器T1用作数码管显示,通过interrupt 3关键字定义函数Timer1()为定时器1中断服务程序,在这个中断服务程序中,使用 TH1=(65536-3000)/256;TL1=(65536-3000)%256;
来重置定时器初值,这其中3000即为定时周期,这样的写法可以直观地看到定时周期数,是常用的一种写法。其余程序段分别完成取位码以选择数码管、从显示缓冲区获得待显示数值、根据该数值取段码以点亮相应笔段等任务。其中使用了一个计数器,该计数器的值从0~5对应第1到第6位的数码管。
主程序的第一部分是做一些初始化的操作,设置定时器工作模式、开启定时器T1、开启计数器T0、开启T1中断及总中断,随后进入主循环,主循环首先用unsigned int型变量tmp取出T0中的数值,这里使用了“tmp=TL0|(TH0<<8);”这样的形式,这相当于tmp=TH0*256+TL0,但比之于后一种形式,该方式可以得到更高的效,其后就是将tmp值不断地除10取整,这样将int型数据的各位分离并送入相应的显示缓冲区
❻ 电子计数器的设计
这个比较复杂,不好用语言说。你可以设计一个比如0-100的计数器。并用七段数码管显示。康华光主编的《电子技术基础》(数电)P259就有很详细的一道题目。
象这种都是用几个计数芯片以串接或是并接的方式组合在一起。输出的接到译码芯片上,用于驱动七段数码管。
你看看,还有什么不清楚的可以再问我。我可以详细的和你讲
❼ 毕业论文,计数器的设计方法探讨,谁写一下,谢谢!!!
提供一些电子信息工程专科毕业论文的题目,供参考。
精密检波器的设计
简易电子血压计的设计
电子听诊器的设计
简易数码相机的设计
直流电机转动的单片机控制
高频功率合成网络的研究
多功能气体探测器
车用无线遥控系统
家用门窗报警器
智能型全自动充电器
医用病房多路呼叫系统
多功能数字钟
数字电压表的设计与仿真
虹膜识别技术的认识及其在电子学科的发展探讨
基于Orcad的电子线路特性分析及优化设计
恒温热熔胶枪的设计
步进电机的数字控制器设计
虹膜图像的预处理(算法分析及探讨)
四位密码电子锁的设计
旋转LED屏的制作
基于PC机的LCD实时显示控制系统设计(pc机部份)
基于PC机的LCD实时显示控制系统设计(单片机部份)
ICL7135的串行采集方式在单片机电压表中的应用
用89C51和8254-2实现步进式PWM输出
桌面行走智能小车
双音频电话信息传输系统
车库控制管理系统(基于PC机)
车库控制系统车位识别(基于PC机)
数控音频功率放大电路
刚体转动实验平台的改进设计
谐振频率测试仪
高频宽带放大器的制作
高频窄带放大器的设计
宽带功率放大器的设计
程控滤波器的设计
高频电压测试棒的制作
基于TMS320VC5402的DSP创新试验系统
U-BOOT在ARM9(AT91RM9200)上的移植
ARM9(AT91RM9200)启动过程的研究与启动代码的设计
基于ARM9(AT91RM9200)的嵌入式Linux移植调试环境的研究与建立
嵌入式Linux在ARM9(AT91RM9200)上的移植
ARM9(AT91RM9200)简易JTAG仿真器设计
基于单片机的电动机测速系统
基于单片机的单元楼门铃及对讲系统
基于单片机的自来水管的恒流控制
基于单片机的电子脉搏测量仪
基于单片机的自来水水塔控制系统
洗衣机控制系统设计
基于力敏传感器的压力检测
湿敏传感器应用电路系统设计
基于气敏传感器的大气环境测量系统设计
基于光敏传感器的机器人控制电路设计
基于温敏传感器的应用电路设计
基于磁敏传感器的检测电路设计
超声波传感器在倒车雷达系统中的应用
温度传感器在现代汽车中的应用
电子秤中的应变片传感器
光电开关在自动检测的应用
热释电传感器的应用
浅谈各种接近开关
基于单片机的自行车码表设计
基于单片机的图形温度显示系统
基于单片机的自动打铃器设计
基于EDA技术的自动打铃器设计
通用示波器字符(图案)显示电路设计
基于EDA技术的时钟设计
用matlab实现数字电子技术数据传输电路设计
在matlab环境下实现同步计数器电路仿真
锂电池充电器的设计与实现
脉冲调宽(PWM)稳压电源作光源的设计与实现
压电式传感器的应用
矩形脉冲信号发生器的设计
可编程交通控制系统设计
多功能数字钟
实用电子称
多点温度检测系统
可编程微波炉控制器系统设计
智能型充电器显示的设计
电子显示屏
电源逆变器
数字温度计
简易数字电压表
声光双控延迟照明灯
可遥控电源开关
无刷直流电机控制装置整流电路的设计
PLC控制系统与智能化中央空调
PLC在电梯变频调速中的应用
PLC在输电线路自动重合闸的应用
异步电机变频调速系统的设计
电机故障诊断系统的设计
数控稳压源
4-20mA电流环设计
单总线多点温度检测系统
单片机控制的手机短信发送设备
简易恒温浸焊槽设计
单片机控制的手机短信发送设备
基于MATLAB的IIR数字滤波器设计与仿真
基于MATLAB的FIR数字滤波器设计与仿真
平稳随机信号功率谱估计及在MATLAB中的实现
智能红外遥控电风扇的设计
单片机控制的消毒柜
数字秒表的设计
基于VGA显示的频谱分析仪设计
基于FPGA红外收发器设计
基于FPGA 的FSK调制器设计
基于FPGA的多频电疗仪的设计
基于FPGA幅度调制信号发生器设计
基于FPGA全数字锁相环设计
单片机之间的串口数据通信
微机与单片机间的串口数据通信
模型自适应系统控制器设计
神经网络PID控制器设计
带误差补偿环节的PID控制系统
具有模糊系统控制的PID控制系统
限电自动控制器
单片机实现三位电子秒表
开关稳压电源设计
新型锂电池充电器
自制温度检测报警器
限流直流稳压电源设计
微波测速计
自由落体实验仪
风力发电机转速控制
风力发电电池组运行状态检测
光伏电能的储存及合理应用控制装置
车库门自动开闭
小功率风力发电机研制
利用车内电源(12V)给笔记本电脑供电电源(19V)
基于PWM控制的七彩灯设计
红外遥控电风扇
基于串口通信的GPS定位系统
数控电压源
20mA电流环模块设计
基于GSM的汽车防盗系统的设计