产品计数器设计
简易计数器的设计与制作
简易计数器的设计与制作该计数器可实现按键计数、增减控制、手/自动清零等功能。
需要准备下列元件:共阴极7段数码管、按键开关、4511(BCD锁存/7段译码/驱动器)、4516(可预置4位二进制加/减计数器)、40106(或7414,六反相施密特触发器)、4001(或7400,四2输入与非门)、4093(或74132,四与非施密特触发器)以及面包板、电阻、电容若干。
另外还需要准备+5V稳压电源一台,或自制电源模块.本电路以计数器集成块为核心,其输人为:计数、清零、增减切换三个按键,其输出经译码驱动器处理后,由数码管显示。
原理框图如下图所示。
一、计数器根据设计要求能增减计数,应选用可逆计数器,本设计选用可预置4位二进制加/减计数器4516,如下图。
计数脉冲从CP输入,每到来1个脉冲上升沿,二进制输出数据改变1。
如果U/D端为高电平,就增加1;反之减少l。
RD为异步清零端,RD为高电平时、计数器清零。
本设计就是要对这三个输入端进行控制。
此外,其他控制端也应合理设定:LD为异步数据预置控制端,当LD高电平时,DO~D3上的数据置入计数器中,为计数控制端,控制计数器的计数操作,CI=O时、允许计数,CI=1时、保持。
至于究竟设置为高电平还是为低电平,请自行考虑。
二、按键控制按键开关一般有两种接法,一种是平时为低电平,按下变成高电平,如下图(a)所示,图中A点为控制信号输入端子;另一种相反,平时高,按下后变低,如下图(b)所示。
读者可自行选择脉冲按键的接法,但清零键必须按(a)图接,读者可自行分析其原因。
三、译码驱动计数器输出的4位二进制数据不能直接送至数码管进行显示,并且4516也无法驱动点亮发光二极管。
本设计选用7段译码/驱动器4511,引脚排列下如图所示。
其中Al、A2、A3、A4为BCD码输入,A1为最低位。
LT为灯测试端,加高电平时,显示器正常显示,加低电平时,显示器一直显示数码'8',各笔段都被点亮以检查显示器是否有故障。
基于单片机的产品自动计数器设计
的物 体 的 变化 转 换 成 电信号,计 数 显示 电路开 始 计数 ,并 将 其显 间 内输 入的 脉冲 数 目,并将 其 结果 以 数字 的 形式 显 示 出来。具 有
示 出来。当数字 达到 设定值 时,报 警电路 报警 ,延时 3秒后 自动关 闭, 体 积小 、功 能强 、可靠性 高、抗干扰性 好、性能 价格 比高等 特点 ,可
Digital Space R291
技术 交流
基于单片机 的产品自动计数器设计
蒋琳 徐忠根 商丘工学院 摘 要 :本文设计了一 种基于 STC89C52单片机 控制 的产品自动计数 器,系统由 ^/D、D/A转换 、显示 电路、报警 电路 等 组成 ,利 用红外发光 管发射 红外线,红外接 收管接 收此 红外 线识 别和接 收产品信号,信号送入单 片机 进行控制 计数 ,并通过数 码管显示数值 。 关 键 谭:单片机 自动计数器 红外检 测 STC89052
当有物 体 经过 自动 计数 器时 ,红 外发 光二 极管 发 出的信 号被 [33】郭天祥 .《5l单片机 C语言教程—· 入门、提高、开发、拓展全攻略》 物 体 反 射至 光 电接收 管 ,被 其接 收 ,红 外发 射与 接收 电路 把被 计 M .北京 :电子工业 出版社 ,2013.
报 警 电路 主要 由蜂 鸣器 、三 极 管和 电 阻组 成 。当电流 通 过 电
磁 线圈 时,通过 产生磁 场来 驱动膜 发 声,驱 动蜂 鸣器需 要 电流 。当
计 数器 的显 示值与 设定 的 报警 值相 同时 或 者超 出时 ,发 出信 号到
报 警电路 ,由蜂 鸣器 发 出报 警信 号,报警 延 时 3秒 自动关 闭 ,开始
1系统 结构 设 计 本文 设 计 的产 品 自动 计数 器主 要 由 LED显 示 、红 外 线 发 射 和 接 收电路 、报警 电路和 单片机 中控 组成 。系统结 构如 图 1所示 。
基于单片机的产品计数器
《智能仪表课程设计》设计报告课题名称产品计数器目录第一章产品计数器方案设计 (2)1.1 课题名称 (2)1.2 设计内容及设计要求 (2)第二章选择方案 (2)2.1 采用组合逻辑电路和时序逻辑电路实现 (2)2.2 采用单片机编程实现 (2)2.3 方案比较 (2)第三章硬件设计 (3)3.1 光电感应器件内部原理图 (3)3.2 单片机引脚图 (4)3.3 MAX232电路图 (4)3.4 ZLG7290电路图 (5)3.5 总电路图 (6)第四章软件设计 (7)4.1 软件框图 (8)第五章课程设计小结 (10)5.1 器件清单 (11)5.2 参考文献 (11)5.3 成品展示 (11)附录1 源程序 (12)附录2 任务书 (14)第一章产品计数器方案设计1.1 课题名称产品计数器1.2 设计内容及设计要求(1)有产品经过的时候数码管自动计数(2)可用拨码盘设定计数初值(3)有开始,复位,停止键实现其功能第二章选择方案2.1采用组合逻辑电路和时序逻辑电路实现主要设计思路为:没有瓶子挡光时,光接收电路输出低电平,有瓶子挡光时,光接收电路输出高电平。
所以每当有一个瓶子通过时,光电转换电路输出一个正脉冲通过单稳态电路给计数电路,计数电路累加计数。
2.2采用单片机编程实现利用单片机外部中断方式,当光电转换电路检测到外界有物体移动时,输出由高电平变为低电平。
将这一负跳变信号传送给单片机可使其产生一次外部中断,进而执行中断中的指令,由中断服务程序控制计数。
2.3方案比较方案一采用组合与时序逻辑电路,采用模块化方法设计电路图,易于实现对电路的检查,且制作成本较低。
但其运用了较多的模拟器件,比较容易受到外界的影响。
方案二运用单片机编程,可降低设计电路的周期,具有很高的精确性。
综合考虑后,我们决定采用了方案二完成本次课程设计。
第三章硬件设计3.1 光电感应器件内部原理图如图3-1所示为光电感应元件的内部原理图,当没有物体遮挡时一直是处于低电平状态,当有物体时就会产生高电平,这样就会产生脉冲,输入到单片机中。
传送带产品计数器的设计(LCD)
目录1题目 (1)2 电路原理图的设计 (1)2.1 传送带产品计数器设计的电路原理图 (1)2.2 LCD显示模块 (3)2.3 计数模块 (3)2.4 键盘模块 (3)3 软件系统设计 (3)3.1 软件系统的流程结构 (3)3.2 LCD显示程序模块.................................. 错误!未定义书签。
3.3 计数程序模块..................................... 错误!未定义书签。
4 仿真及调试 (7)5 总论 (8)参考文献 (9)致谢 (9)1题目2 电路原理图的设计2.1 传送带产品计数器设计的电路原理图图2.1 电路原理图2.2 LCD显示模块[11]2.4 键盘模块3软件系统设计3.1 软件系统的流程结构3.2 LCD显示程序模块/*-----------------------------------------------------------文件名:lcd1602.h头文件功能:LCD1602驱动函数的声明-----------------------------------------------------------*/ #ifndef _LCD1602_H_#define _LCD1602_H_#include <reg52.h>#define uint unsigned int#define uchar unsigned char//接口定义sbit LcdRs = P2^0;sbit LcdRw = P2^1;sbit LcdEn = P2^2;sfr DBPort = 0x80; //P0口为LCD数据总线/*-----------------------------------------------------------功能:LCD初始化函数-----------------------------------------------------------*/void LCD_Initial();/*-----------------------------------------------------------功能:LCD显示字符(ASIIC码)函数参数:x-列0~15;y-行0~1;str-要显示的字符串指针-----------------------------------------------------------*/void LCD_Prints(uchar x, uchar y,uchar *str);#endif/*-----------------------------------------------------------文件名:lcd1602.c函数功能:LCD1602的驱动函数原理:采用普通IO口方式模拟LCD1602时序,未采用总线方式-----------------------------------------------------------*/#include <REG52.H>#include <intrins.h> //次头文件中定义有_nop_()函数#include "lcd1602.h"/*-----------------------------------------------------------功能:内部等待函数返回参数:P0数据-----------------------------------------------------------*/uchar LCD_Wait(void){LcdRs=0;LcdRw=1; _nop_();LcdEn=1; _nop_();//while(DBPort&0x80);/* 在用Proteus仿真时,屏蔽此语句,否则会进入死循环,实际硬件操作时打开此语句.*/LcdEn=0;return DBPort;}/*-----------------------------------------------------------功能:写LCD命令/数据函数参数:style为写命令/数据,0-命令,1-数据;input为写入的8位命令/数据-----------------------------------------------------------*/#define LCD_COMMAND 0 // 命令#define LCD_DATA 1 // 数据#define LCD_CLEAR_SCREEN 0x01 // 清屏#define LCD_HOMING 0x02 // 光标返回原点void LCD_Write(bit style, uchar input){LcdEn=0;LcdRs=style;LcdRw=0; _nop_();DBPort=input; _nop_();LcdEn=1; _nop_();LcdEn=0; _nop_();LCD_Wait();}/*-----------------------------------------------------------功能:设置LCD显示模式参数:DisplayMode 见下面的定义-----------------------------------------------------------*///显示模式定义#define LCD_SHOW 0x04 //显示开#define LCD_HIDE 0x00 //显示关#define LCD_CURSOR 0x02 //显示光标#define LCD_NO_CURSOR 0x00 //无光标#define LCD_FLASH 0x01 //光标闪动#define LCD_NO_FLASH 0x00 //光标不闪动void LCD_SetDisplay(uchar DisplayMode){LCD_Write(LCD_COMMAND, 0x08|DisplayMode); }/*-----------------------------------------------------------功能:设置LCD输入模式参数:InputMode 见下面的定义-----------------------------------------------------------*/#define LCD_AC_UP 0x02 // 地址计数器增加方式#define LCD_AC_DOWN 0x00 // 此为缺省设置#define LCD_MOVE 0x01 // 画面可平移#define LCD_NO_MOVE 0x00 // 画面不可平移void LCD_SetInput(uchar InputMode){LCD_Write(LCD_COMMAND, 0x04|InputMode);}//初始化LCD 详见LCD1602.h中的说明void LCD_Initial(){LcdEn=0;LCD_Write(LCD_COMMAND,0x38); //8位数据端口,2行显示,5*7点阵LCD_Write(LCD_COMMAND,0x38); //此句不能省LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); //开启显示, 无光标LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); //清屏LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); //AC递增, 画面不?}/*-----------------------------------------------------------功能:液晶字符显示的位置函数参数:x-列0~15;y-行0~1;-----------------------------------------------------------*/void LCD_Pos(uchar x, uchar y){if(y==0)LCD_Write(LCD_COMMAND,0x80|x);if(y==1)LCD_Write(LCD_COMMAND,0x80|(x-0x40));}//将字符(ASIIC码)输出到液晶显示详见LCD1602.h中的说明void LCD_Prints(uchar x, uchar y,uchar *str){LCD_Pos(x,y);while(*str!='\0'){ LCD_Write(LCD_DATA,*str); str++;}}3.3计数程序模块#include"lcd1602.h"#define uchar unsigned char#define uint unsigned intuchar out[6];sbit STAR_KEY =P3^2;//定义键与单片机的连接引脚sbit L0=P1^0; //定义SFR中引脚的位sbit L1=P1^1;sbit L2=P1^2;sbit L3=P1^3;sbit L4=P1^4;sbit L5=P1^5;sbit L6=P1^6;sbit L7=P1^7;sbit MOTOR=P3^0;uchar n[2]={1,0};void delayms(uint x) //延时子程序{uchar y;while(x--){for(y=0;y<123;y++){;}}uchar Keynum() //按键子程序1{uchar key=0;STAR_KEY=1; //置初值if(STAR_KEY==0){delayms(10);if(STAR_KEY==0)n[0]=0;n[1]=1;} //按下STAR键则n[0]=0;n[1]=1return n[1]; //返回n值}void xianshi(uint dispbuf) //显示子程序{out[0]=dispbuf/10000+0x30;out[1]=((dispbuf%10000)/1000)+0x30;out[2]=((dispbuf%1000)/100)+0x30;out[3]=((dispbuf%100)/10)+0x30;out[4]=dispbuf%10+0x30;out[5]='\0';LCD_Initial(); //LCD初始化LCD_Prints(1, 0,"The Speed Is"); //LCD输出LCD_Prints(10, 1,"n/min");LCD_Prints(4, 1,out); }uint qiuzhi() //求用拨码盘所置数的值的子程序{ uchar a;uchar b;uchar c;uchar d;uchar e;uchar f;uchar g;uchar h;uint p=0;if (L0==1) {a=1;} else {a=0;} //将电平信号变为数字的值if (L1==1) {b=1;} else {b=0;}if (L2==1) {c=1;} else {c=0;}if (L3==1) {d=1;} else {d=0;}if (L4==1) {e=1;} else {e=0;}if (L5==1) {f=1;} else {f=0;}if (L6==1) {g=1;} else {g=0;}if (L7==1) {h=1;} else {h=0;}p=a+b*2+c*2*2+d*2*2*2+e*2*2*2*2+f*2*2*2*2*2+g*2*2*2*2*2*2+h*2*2*2*2*2*2*2;return p; // 返回所求的P值}void main(void) //主程序{uint q;IT0=1; //负跳变触发EA=1; //开总允许中断EX0=1; //开INTO中断TMOD=0X05; //置T0为计数器方式1TL0=0; //置计数器初值TH0=0;while(1) //无限循环{ q=qiuzhi(); //调用求值子程序求出所置的数if (MOTOR==1) {xianshi(q);} else {xianshi(TL0);Keynum();TR0=n[1];} //当电动机关闭时显示用薄码盘所置的数并停止计数,电机启动时则开始计数,并显示计数值if (TL0==q) {TR0=0;MOTOR=1;} else {Keynum();MOTOR=n[0];} }}//当计数值与所置数相同时关闭电机,停止计数,当计数值不等时则将电机启动与关闭交由按键控制,所以不存在计数值超过置数值的情况void Int0(void) interrupt 0 //中断服务程序,工作寄存器用0组{ TL0=0;TR0=1; }//重置计数值,重新开始计数4 仿真及调试LCD1LM016LVCC5 总论234567891RP110*8VCCD 714D 613D 512D 411D 310D 29D 18D 07E 6R W 5R S 4V S S 1V D D 2V E E3LCD1LM016LRV11kVCC参考文献致谢。
总结计数器的设计方法
总结计数器的设计方法首先,计数器的设计需要考虑性能。
在高并发的场景下,计数器需要能够快速响应请求,并且能够保持高吞吐量。
为了实现这一点,可以采用分布式计数器的设计,将计数器分散到多个节点上,从而提高系统的并发能力。
此外,采用内存计数器的设计也可以提高计数器的性能,因为内存访问速度快,可以减少IO操作的开销。
其次,计数器的设计需要考虑精度。
在一些场景下,对计数器的精度要求比较高,需要能够准确地记录每一次事件的发生次数。
为了实现这一点,可以采用分布式锁的设计,保证对计数器的操作是原子的,从而避免并发带来的精度问题。
此外,可以采用定时同步的设计,将计数器的数值定时同步到持久化存储中,从而保证计数器的精度。
另外,计数器的设计还需要考虑并发。
在高并发的场景下,计数器需要能够正确地处理多个并发操作,避免出现数据不一致的情况。
为了实现这一点,可以采用乐观锁的设计,通过版本号来保证并发操作的正确性。
此外,可以采用分布式事务的设计,将计数器的操作和业务操作放在同一个事务中,从而保证它们的一致性。
最后,计数器的设计还需要考虑容错和恢复。
在一些场景下,计数器需要能够正确地处理节点故障和数据丢失的情况,保证计数器的可靠性。
为了实现这一点,可以采用多副本的设计,将计数器的数据复制到多个节点上,从而提高系统的容错能力。
此外,可以采用日志重放的设计,将计数器的操作记录下来,从而在发生故障时能够进行数据恢复。
综上所述,总结计数器的设计方法需要考虑性能、精度、并发、容错和恢复等多个方面的因素。
只有综合考虑这些因素,才能设计出高性能、高可靠性的计数器系统。
希望本文的总结能够对计数器的设计提供一些参考和帮助。
产品计数器设计
一、设计任务要求设计光电计数器,实现无接触计数,主要用于工厂生产线工件计数。
可采用遮光式光电传感器或者反射式光电传感器,要求使用红外发光二极管、光电管检测,要求光电发射管和接收管有30mm 以上的间距,在制作实物可用导线引出长度,用LED数码显示器来显示0-999的X围计数,当数字超出999时,能够发出报警,并且能在报警后延时3秒钟自动关闭报警并自动重新计数同时可以手动去除报警,能够实现无接触计数,独立设计光电计数器电路原理图〔包含电源局部〕,画出完整的电路原理图〔包含电源局部〕和PCB板图,查找资料,要求做出实物,可以使用万用板制作实物,独立完成。
二、方案设计1、方案以89C51为核心的计数电路基于单片机的光电计数器,使用89C51单片机,电路简单,需要编写程序,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便,可实现数码显示和键盘设定等多种功能。
采用遮光式光电传感器,将红外发光管与光电接收管相对安放,每当物体通过一次,红外光就被遮挡一次,光电接收管的输出电压就发生一次变化,这个变化的电压信号通过放大和处理后,形成计数脉冲,通过光电隔离耦合并行输入至89C51单片机的P1口,通过软件控制和键盘设定计数值并用LED 加以显示,便可实现对物体的计数统计。
采用光电传感器,将红外激光发射管与接收管相相对安放,每当物体通过一次,红外光就被阻挡,光电接收管的输出电压就发生一次变化,输入至89C51单片机的P1口,通过软件控制和键盘设定计数值并用LED 加以显示,便可实现对物体的计数统计。
本设计除了单片机外无其他芯片,在发射与接收电路中也只简单的用激光管和感光三极管组成检测局部。
接线排线有规律、整齐、增强电路板的艺术美感。
2、 方案系统构造图图1如图1所示整个光电计数器系统主要由电源局部、光电发射与接收电路、计数电路、报警电路这几个局部组成。
当有物体经过时,红外发光二极管发出的红外信号被物体反射至光电接收管,并被光电接收管所接收,光电发射与接收电路把被计数的物体的变化转换成电信号,这时计数电路开场计数。
单片机计数器设计
单片机计数器的设计可以根据具体的需求进行灵活的选择。
以下是一个简单的单片机计数器的设计:
确定计数范围:根据需求确定计数器的范围,例如0-99或0-999。
选择计数器类型:根据计数范围选择合适的计数器类型,可以是二进制计数器、十进制计数器或BCD码计数器等。
确定计数方式:确定计数的方式,可以是递增计数、递减计数或双向计数等。
确定计数信号源:确定计数信号的来源,可以是外部信号源或内部时钟信号源。
连接计数器到外设:根据需求将计数器的输出连接到外设,例如LED显示器、数码管或继电器等。
编写计数器程序:使用适当的单片机编程语言编写计数器程序,包括计数器的初始化、计数操作和显示操作等。
测试和调试:在硬件连接完成后,对计数器进行测试和调试,确保计数器功能正常。
以上是一个简单的单片机计数器的设计流程,具体的实施可以根据具体的需求和单片机型号进行调整。
产品计数器--传感器课设
产品计数器的设计摘要本次课程设计是要实现对产品数量的计数,计算采集的频率最后通过LED数码管显示计数个数,要求计数可达到99个,可以采用动态或静态方式进行显示。
本设计是基于90C51单片机为控制核心,在系统显示部分,采用了共阳的LED数码管构成了显示模块,此模块用于实时的显示计数数据。
本设计说明书对该系统的硬件电路,工作原理,软件编程进行了详细的介绍。
关键字 90C51 数码管激光传感器第一章任务介绍本次课程设计的主要是利用STC09C516RD+芯片实现软件的设计。
首先是利用Altium Designer软件进行电路图设计,主要是包括主控芯片的电源设计,数码管电路的设计,激光传感器发射管与接收管的设计。
电路设计完成后,开始在实验室进行电路的焊接,待电路焊接完成后。
利用KEIL软件结合硬件电路原理进行程序的编写,然后给电路供电进行实际的调试,知道满足课程设计的要求为止。
本次设计的系统总共分为4个模块:1、传感器模块。
利用5mW的激光头作为传感器,配合接收管,实现对检测到的产品进行计数。
2、单片机模块。
采用宏晶STC90C516RD+单片机作为计数系统的主控芯片。
对芯片的外围电路进行设计,同时利用单片机对采集来的数据进行处理。
3、显示模块。
采用MT03641BR 的四位共阳极数码管来显示计数的数值,硬件电路主要是利用三级管来驱动数码,以此来简化外围的电路。
4、程序模块。
采用C 语言的编程来控制主控芯片实现相应的功能,主要包括计数数据的采集,数码管的计数显示。
第二章 系统总体框架的介绍系统处于工作状态时,接收管一直能接收到激光管发射的激光,接收管输出的信号为高电平。
当有物体传送过来时,物体阻断了由发射管到接收管的激光的传输路径。
接收管接收不到激光。
接收管输出由高电平变为低电平。
90C51芯片通过外部中断口 P32/INT0 90C51 RESET 接收管 激光发射管 复位系统 数码管P32/INT0采集到这个下降沿,程序进入中断进行计数加一操作。
产品计数器课程设计
产品计数器课程设计一、课程目标知识目标:1. 让学生掌握产品计数器的基本概念,理解其在日常生活和数学中的应用。
2. 学会运用不同的数学方法进行产品计数,并能正确运用到实际问题中。
3. 掌握基本的计数法则,如加法、减法、乘法和除法,并能在产品计数中灵活运用。
技能目标:1. 培养学生运用数学知识解决实际问题的能力,特别是在产品计数方面的应用。
2. 提高学生在团队协作中进行数据收集、整理和分析的能力。
3. 培养学生运用信息技术工具,如电子表格等,进行产品计数和数据处理的技能。
情感态度价值观目标:1. 培养学生对数学学习的兴趣,尤其是产品计数这一领域。
2. 引导学生认识到数学知识在生活中的重要性,增强其学习的自觉性和主动性。
3. 培养学生团结协作、积极探索的精神,使其在解决问题时充满信心和耐心。
课程性质:本课程为数学学科教学,以实际问题为载体,注重培养学生的实际应用能力。
学生特点:考虑到学生年级的特点,注重启发式教学,引导学生主动参与,培养其独立思考和解决问题的能力。
教学要求:结合课程内容和学生的实际情况,设计富有启发性和实践性的教学活动,使学生能够在实践中掌握知识,提高技能,培养正确的情感态度和价值观。
通过分解课程目标为具体的学习成果,为后续的教学设计和评估提供依据。
二、教学内容本课程教学内容主要包括以下几部分:1. 产品计数器的基本概念:介绍产品计数器的作用、种类以及在日常生活和数学中的应用。
2. 计数方法及其应用:- 教学基本的计数法则,如加法、减法、乘法和除法。
- 通过实例讲解,让学生学会运用这些方法进行产品计数。
3. 实际问题中的产品计数:- 结合教材中的案例,引导学生学会在具体情境中收集、整理和分析数据。
- 设计实践活动,让学生运用所学知识解决实际问题。
4. 信息技术工具的应用:- 介绍电子表格等工具在产品计数和数据整理中的应用。
- 指导学生掌握使用这些工具进行数据处理的技巧。
5. 团队协作与交流:- 安排小组讨论和分享,培养学生团队协作和沟通能力。
产品计数器设计
产品计数器设计作者:张婷婷来源:《智富时代》2015年第02期【摘要】随着现代技术的飞速发展,大规模、自动化的生产已经非常普遍,很多流水线上的产品和各种商业场合的人员需要进行自动计数。
基于单片机构成的产品自动计数器有直观和计数精确的优点,目前已在各种行业中普遍使用。
因此,此设计为一个最常用的光电式计数器,利用光电开关产生脉冲输出,同时将这个电平信号送入单片机进行控制计数,并经译码驱动电路使数码管显示数值,就得到要统计的人或物的数量。
适用于各种环境对产品的成品或者是半成品进行计数,以满足现代生产生活的适时管理和需要,实现智能控制。
【关键词】单片机;光电开关;译码驱动一、课题研究目的和意义21世纪以来,随着信息时代的高速发展,大规模、自动化的生产已经非常普遍,物流业也越来越趋于自动化和智能化。
很多流水线上的产品和各种商业场合的人员需要进行自动计数。
因此,本设计选择制作一个最常用的光电式计数器,利用光电开关产生脉冲输出(把光电开关中发射端的光线挡住或者由挡住变为不挡,使光电开关接收端产生一个电平输出),同时将这个电平信号送入单片机进行控制计数,并经译码驱动电路使数码管显示数值,就可得到要统计的人或物的数量[1]。
此计数器用于测量流水线上的产品的数量以及可检查产品有无缺损;也可以用于测量宾馆、饭店、商场、车站、银行、实验室、教师等场所的人员数量及人员流通数量,原理简单应用广泛。
二、本文研究内容及系统总体方案本次设计是利用槽型光电开关和单片机设计一个产品计数器。
其工作原理如图1所示。
产品在传送带上运行时,不断地遮挡槽型光电开关之间的光路。
如果接收管接收到光信(没有工件通过),放大器将输出高电平;如果接收管没有接收到光信号(有工件通过),放大器将输出低电平。
这样产品每遮光一次,光电脉冲电路便产生一个脉冲信号。
因此,输出的脉冲数即代表产品的数目。
然后将此脉冲信号接入单片机外部中断口,通过程序实现脉冲计数,并把数据送给LED显示。
基于单片机的产品自动计数器毕业设计
摘要在当今社会飞速发展的格局下,越来越多的流水线上的产品和各种商业场合的人员需要进行自动计数.基于单片机构成的产品自动计数器有直观和计数精确的优点,目前已在各种行业中普遍使用。
数字式电子计数器有多种计数触发方式,它是由实际使用条件和环境决定的。
有采用机械方式的接触式触发的,有采用电子传感器这类非接触式触发的。
本文所设计的计数器是采用红外对射式方式,抗干扰性好,可靠性高.该产品应用广泛,可用于测量流水线上的产品的数量以及可检查产品有无缺损;也可以用于测量宾馆、饭店、商场、超市、博物馆、展览观、车站、码头、银行等场所的人员数量及人员流通数量,同时丝毫不会侵犯到被测人员的个人隐私.本设计的指导思想是利用红外发光管发射红外线,红外接收管接收此红外线,并将其放大、整流形成高电平信号.当有人或物挡住红外光时,接收管没有接收到红外信号,放大器将输出低电平,同时将这个电平信号送入单片机进行控制计数,并经译码驱动电路使数码管显示数值。
这样就得到要统计的人或物的数量。
关键词:自动计数、红外检测、单片机、8位数码管.AbstractIn today's society under the pattern of rapid development, more and more on the lines of products and various business settings need to automatically count. MCU-based products pose a direct and automatic counters have the advantage of accurate count, is already in the Species commonly used in industry. The digital electronic counter trigger a number of counts, it is from the actual conditions of use and environmental decisions. The use of a mechanical contact the trigger, use electronic sensors to trigger the non-contact, infrared sensors is one of them, it is a non-contact electronic sensors. Using infrared sensors produced by electronic counters. This paper is designed to counter the use of infra-red shading, anti-interference and good, high reliability. The product of extensive and can be used to measure the product lines and the number of defects can check whether products; can also be used to measure the hotels, restaurants, shopping malls, supermarkets, museums, exhibition concept, railway stations, docks, banks and other places of the number of staff The number of staff and circulation, while in no way infringe upon the privacy of individuals tested staff. The circuit's guiding ideology is to use infrared LED fired infrared, infrared receiver of receiving the infrared, and enlarge, a rectifier HIGH signal. When Ren Huo wu blocking the infrared light, not receiving the infrared signal to the receiver, amplifier output will be low, at the same time, the MCU-level signals into the control count, and the drive circuit to decode The numerical digital display. This will be the Ren huo Wu statistics to the number. Keywords: automatic counting, infrared detection, SCM, decoding.1 绪论1.1 前言在当今社会飞速发展的格局下,厂家基本采用流水线技术进行产品生产作业,而怎样对其线上的产品进行实时的、有效率的、精确的自动计数成为广大生产厂家十分关注的问题。
计数器设计的方法
计数器设计的方法
计数器设计的方法一般包括以下几个步骤:
1. 确定计数器的用途和需求:首先明确计数器的使用目的和功能需求,例如需要计算事件发生的次数、计算时间等。
2. 确定计数器的类型:根据需求确定计数器的类型。
常见的计数器类型包括二进制计数器、十进制计数器、环形计数器等。
3. 确定计数器的位数:根据需求确定计数器的位数。
位数决定了计数器的上限,即最大可计数的个数。
4. 设计计数器的电路:根据确定的计数器类型和位数,设计具体的计数器电路。
计数器的电路设计可以采用数电门电路、触发器等逻辑电路元件进行组合实现。
5. 进行功能测试:完成电路设计后,对计数器进行功能测试。
测试包括输入正确的计数信号并观察计数值的变化,验证计数器是否按照预期工作。
6. 进行性能测试:在功能测试通过后,进行性能测试,测试计数器的精度、稳定性以及计数速度等性能指标。
7. 优化和改进:根据测试结果对计数器进行优化和改进,提高计数器的性能和
可靠性。
8. 进行集成和应用:最后将计数器集成到实际的系统中,并进行应用。
产品计数器课设(我)
燕山大学课程设计说明书题目:产品计数器设计学院(系):年级专业:学号:姓名:2010年6月26日星期六摘要计数器对某物件进行自动计数,在实际生产生活中具有广泛的应用,对通过的物体进行计数,实现统计数据的搜集,如在生产流水线包装数量控制等领域的应用,能节省劳动力有能高效地完成任务。
光电计数器采用光电传感器构成的广电门实现对通过光电门的物体进行计数,是一种非接触式计数,在部分场合有着其无比的优越性,从而使其广泛应用于工业生产、实时监测、自动化控制等领域。
本作品为实现光电计数器的功能,采用模数结合的电路,以红外对射光电传感器为传感器件。
电路主要分为信号采集电路、两位十进制计数电路、数码显示电路、三个模块,分别实现对通过光电门的物体感应,计数,显示。
作品电路主要采用常用分立元件和小规模集成电路,结构简单可靠,能够提供准确的统计值,成本低廉,实用性强,二次开发性高。
关键词:计数器光电传感器数码显示目录前言.................................................................第一章设计内容及要求................................................第二章设计方案......................................................第三章系统组成......................................................3.1 系统框图.....................................................3.2 单元电路介绍.................................................3.2.1 信号采集电路...........................................3.2.2 计数电路...............................................3.2.3 数码显示电路...........................................3.3 元器件焊接........................................................................................................3.4 调试与测试结果...............................................第四章结论..........................................................第五章参考文献......................................................前言工业生产中常常需要自动统计产品的数量,计数器在这里有其用武之地。
计数器工程设计方案
计数器工程设计方案一、项目背景随着科技的不断发展,计数器在数字电路设计中的应用越来越广泛。
计数器作为一种基础的数字电路元件,可以实现对脉冲信号的计数、测量和控制等功能。
为了满足不同应用场景的需求,计数器的类型也越来越多,如同步计数器、异步计数器、二进制计数器、十进制计数器等。
本方案旨在设计一款通用型计数器,适用于各种进制计数需求。
二、设计目标1. 实现多种进制计数,包括二进制、十进制、十六进制等;2. 计数器具有手动清零和自动清零功能;3. 计数器具有加法和减法计数功能;4. 计数器具有测频、测相等功能;5. 计数器电路设计简洁,易于扩展和维护。
三、设计方案1. 选型:本方案选用74LS161芯片作为计数器的核心元件。
74LS161是一款同步十进制计数器,具有计数、预置、清零等功能,且电路设计简单,易于实现。
2. 电路设计:采用两片74LS161芯片级联的方式,实现六十进制计数。
其中一片控制个位,另一片控制十位。
电路连接图如下:- 将两片74LS161的CLK端连接在一起,接收时钟脉冲信号;- 将一片74LS161的QD、QA端连接到另一片74LS161的ENP、ENT端,实现高位芯片的计数控制;- 将一片74LS161的LOAD端连接到时钟脉冲信号,实现计数器的手动清零;- 将两片74LS161的UP/DOWN端连接在一起,实现加减法计数控制;- 将两片74LS161的输出端连接到显示部分,如LED或LCD显示屏。
3. 软件设计:编写程序实现计数器的测频、测相等功能。
通过编程控制计数器的计数方式、预置数等,实现不同进制计数的需求。
四、仿真测试1. 使用Multisim等仿真软件,搭建计数器电路仿真模型;2. 设置不同的计数方式(加法、减法、手动清零、自动清零等);3. 输入时钟脉冲信号,观察计数器输出波形,验证电路功能;4. 针对不同进制计数需求,调整计数器参数,进行仿真测试;5. 优化电路设计,提高计数器性能。
传送带产品计数器设计
传送带产品计数器设计一、选题背景主要问题:设计方案的论证与比较;确定总体设计方案,画出总体电路原理框图;单元电路设计及相关参数计算;绘出总体设计原理图及仿真实现;电路实现和调试。
技术要求:可以对通过传送带的物品进行计数处理;可以设置计数值,达到一定值后停止运行;拥有独立的控制按钮,控制传送带的启动与停止。
指导思想:单片机系统及外围电路的一般设计方法,对单片机系统进行仿真调试的方法和技能,实现电路的实验方法和电路的调试方法。
二、方案论证在我们的设计中主要采用AT89C51单片机作为主体,外加LCD1602作为液晶显示器显示计数。
此外电路还包括键盘,状态显示,报警电路和检测电路等。
电路中键盘有四个按钮,可以对计数设置初值,还可以清零复位。
报警电路能够在计数达到预设值附近时发出报警。
我们设计的系统主要有以下几个方面的有点:第一:计数准确;第二:接近设置包装个数能发出警告;第三:抗误操作能力强;第四:通用性强。
我们选择的方案是智能光电计数系统,因为这个系统元器件使用较少,但是能够产生较好的波形,驱动能力也比较强,而且电路简单方便调试,但是灵敏度却丝毫不低。
所以这是一个比较合适的方案,而且器件也容易购买,不用很担心。
我们拥有的基本功能为:1、用独立按键控制传送带的启动或停止,在接电后电机不运转,当按键给脉冲后,单片机控制继电器,继电器控制电机开始运转,同时可利用按键控制电机停止运转。
2、用光电传感器检测通过其的产品数量,利用激光头射出激光照射到光敏模块,光敏模块接收此红外线,并将其放大、整流形成高电平信号。
当有人或物挡住红外光时,接收管没有接收到红外信号,放大器将输出低电平。
这个便是外部计数脉冲信号。
这个计数脉冲信号送入 AT89C52单片机中进行计数控制,在经过扩展、显示驱动完成最后的显示过程。
3、用LCD显示传送带通过产品的数量,LCD显示预置数值与当前数值。
4、用矩阵键盘预置终值,当计数达到终值时,传送带停止,矩阵键盘可预置计数值、复位等功能。
计数器设计
计数器设计1. 引言计数器是一种常见的设备,用于统计和记录事件的发生次数。
它广泛应用于各个领域,如工业控制、计时器和计量器等。
本文将介绍计数器的基本原理和设计过程,并使用Markdown文本格式输出。
2. 计数器的基本原理计数器是一种递增或递减的数值设备,它通过一系列的触发器和逻辑门来实现。
在计数器中,触发器用于存储和更新计数值,逻辑门用于控制计数的增加或减少。
计数器通常可以实现二进制、十进制和BCD等不同的计数方式。
常见的计数器类型包括:•同步计数器:所有触发器同时更新,适用于高速计数。
•异步计数器:触发器逐个更新,适用于较低的计数速度。
3. 计数器的设计计数器的设计过程一般包括以下步骤:步骤 1: 确定计数器的功能在设计计数器之前,首先需要确定计数器的功能需求。
例如,确定计数器需要实现递增还是递减计数,确定计数的进制方式等。
步骤 2: 确定计数器的比特数计数器的比特数决定了计数器能够表示的最大计数值。
比特数越大,计数器能够表示的计数范围就越大。
根据需要,确定计数器的比特数。
步骤 3: 选择触发器类型根据计数器的功能需求和比特数,选择合适的触发器类型。
常见的触发器类型包括D触发器、JK触发器和T触发器等。
步骤 4: 确定计数器的逻辑门实现根据计数器的功能需求和比特数,确定计数器的逻辑门实现。
根据需要,可以使用与门、或门、非门和异或门等逻辑门。
步骤 5: 连接触发器和逻辑门根据选定的触发器类型和逻辑门实现,将触发器和逻辑门按照相应的电路图进行连接。
步骤 6: 进行计数器仿真和调试完成计数器的连接后,进行仿真和调试。
通过仿真和调试,可以验证计数器的设计是否符合预期,并进行必要的调整和改进。
4. 示例计数器设计以下是一个示例计数器的设计过程。
该计数器是一个4位的二进制递增计数器。
1.确定计数器的功能:递增计数。
2.确定计数器的比特数:4位。
3.选择触发器类型:D触发器。
4.确定计数器的逻辑门实现:使用与门、或门和非门实现逻辑功能。
产品计数器
成品计数器电路(课程设计论文完整版)2009年03月15日星期日上午 11:08成品计数器电路作者:辉煌完成时间:2009年3月14日一.基本原理当成品从流过,通过光源和光电二极管组成的特殊计数轨道时,造成瞬时遮光,使用发光电阻其电阻值能随着外界光照强弱(明暗)变化而变化,进而把光信号能够用电压来表示,使用555定时器改装成的施密特触发器对电压信号整形获得比较理想的矩形脉冲波形,送入4个74160并联计数器的计数输入口,计数器能够从0000-9999计数,每个计数器连接一个7448译7448驱动BS201半导体数码管,显示计数,即流过产品的个数。
设计方案方框图二.方案设计与选择方案二:使用光电二极管作为信号转换元件,其信号转换电路和整形电路如下当光敏二极管受光源照射时,使BG1导通,BG2跟着导通,BG3截止,BG4截止,BG5导通。
当成品从流过,通过光源和光电二极管组成的特殊计数轨道时,造成瞬时遮光,使BG1截止,BG2跟着截止,BG3导通,BG4导通,BG5截止,输出一个正脉冲矩形波,再送给10位计数器计数。
本设计为了防止误动作,采用了射极单稳延时电路,保证一个产品只遮光一次,计数正确。
但是该方案电路设计复杂,零器件多而散,参数估计困难故采用集成芯片555定时器改装施密特出发电路,直接与光电电阻连接,电路简单,易于实现。
三. 单元电路设计与参数计算1. 信号转换电路光敏电阻器是一种对光敏感的元件,它的电阻值能随着外界光照强弱(明暗)变化而变化。
光敏电阻器在电路中用字母“R”或“RL”、“RG”表示。
从GL3537-1光敏电阻的参数表我们可以看出,光敏电阻在暗光下,电阻很大,在光强是10Lux时候,阻值只有20-30KΩ,而这个环境条件我们能够在计数器轨道上配置,使光敏电阻值的变化符合我们的需求。
从而使光信号有效的变为电信号。
2. 脉冲整形电路把555定时器改接成施密特触发器,它具有一下特点:输入信号在上升和下降过程中,电路状态转换的输入电平不同;电路状态转换时有正反馈过程,使输出波形边沿变陡。
产品计数器课程设计
产品计数器课程设计一、课程目标知识目标:1. 学生能理解产品计数器的基本概念,掌握计数器的工作原理;2. 学生能运用所学知识,设计并实现一个简易的产品计数器;3. 学生了解计数器在实际生活中的应用,理解其重要性。
技能目标:1. 学生能够运用所学的编程知识,编写计数器程序,实现产品数量的增减功能;2. 学生能够通过动手实践,提高问题解决能力和团队协作能力;3. 学生能够运用所学知识,对计数器进行优化和改进,提高计数器的性能。
情感态度价值观目标:1. 学生通过学习产品计数器,培养对编程和电子技术的兴趣,激发创新精神;2. 学生在学习过程中,养成积极思考、主动探究的良好习惯;3. 学生能够认识到科技对生活的影响,增强社会责任感和使命感。
课程性质:本课程为信息技术学科,以实践操作为主,结合理论知识,培养学生的动手能力和创新能力。
学生特点:六年级学生对新鲜事物充满好奇,具备一定的编程基础,喜欢动手实践,但注意力容易分散。
教学要求:结合学生特点,注重理论与实践相结合,以任务驱动法引导学生主动探究,提高学习兴趣和积极性。
通过小组合作,培养学生的团队协作能力。
在教学过程中,关注学生的个体差异,因材施教,使每位学生都能在课程中收获成长。
最终,将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. 理论知识:- 产品计数器的基本概念与工作原理;- 编程语言中的变量、循环和条件语句;- 计数器在实际应用中的优势与局限性。
2. 实践操作:- 设计并实现一个简易产品计数器;- 编程实现计数器的增减功能;- 优化和改进计数器性能。
3. 教学大纲:- 第一阶段:导入新课,介绍产品计数器的概念、工作原理及应用场景;- 第二阶段:讲解编程知识,包括变量、循环和条件语句,为编写计数器程序打下基础;- 第三阶段:分组讨论,设计计数器方案,并进行编程实践;- 第四阶段:展示成果,互相评价,提出优化和改进方案;- 第五阶段:总结课程,强调计数器在实际生活中的重要性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、设计任务要求设计光电计数器,实现无接触计数,主要用于工厂生产线工件计数。
可采用遮光式光电传感器或者反射式光电传感器,要求使用红外发光二极管、光电管检测,要求光电发射管与接收管有30mm 以上得间距,在制作实物可用导线引出长度,用LED数码显示器来显示0-999得范围计数,当数字超出999时,能够发出报警,并且能在报警后延时3秒钟自动关闭报警并自动重新计数同时可以手动清除报警,能够实现无接触计数,独立设计光电计数器电路原理图(包含电源部分),画出完整得电路原理图(包含电源部分)与PCB板图,查找资料,要求做出实物,可以使用万用板制作实物,独立完成。
二、方案设计1、方案以89C51为核心得计数电路基于单片机得光电计数器,使用89C51单片机,电路简单,需要编写程序,可通过编程实现各种各样得算术算法与逻辑控制,而且体积小,硬件实现简单,安装方便,可实现数码显示与键盘设定等多种功能。
采用遮光式光电传感器,将红外发光管与光电接收管相对安放,每当物体通过一次,红外光就被遮挡一次,光电接收管得输出电压就发生一次变化,这个变化得电压信号通过放大与处理后,形成计数脉冲,通过光电隔离耦合并行输入至89C51单片机得P1口,通过软件控制与键盘设定计数值并用LED加以显示,便可实现对物体得计数统计。
采用光电传感器,将红外激光发射管与接收管相相对安放,每当物体通过一次,红外光就被阻挡,光电接收管得输出电压就发生一次变化,输入至89C51单片机得P1口,通过软件控制与键盘设定计数值并用LED加以显示,便可实现对物体得计数统计。
本设计除了单片机外无其她芯片,在发射与接收电路中也只简单得用激光管与感光三极管组成检测部分。
接线排线有规律、整齐、增强电路板得艺术美感。
2、方案系统结构图接收电路、计数电路、报警电路这几个部分组成。
当有物体经过时,红外发光二极管发出得红外信号被物体反射至光电接收管,并被光电接收管所接收,光电发射与接收电路把被计数得物体得变化转换成电信号,这时计数电路开始计数。
三、硬件构成及功能AT89C51单片机VCC: 供电电压。
GND: 接地。
P0口: P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口得管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址得第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口: P1口就是一个内部提供上拉电阻得8位双向I/O 口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这就是由于内部上拉得缘故。
在FLASH编程与校验时,P1口作为第八位地址接收。
P2口: P2口为一个内部上拉电阻得8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口得管脚被外部拉低,将输出电流。
这就是由于内部上拉得缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址得高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器得内容。
P2口在FLASH编程与校验时接收高八位地址信号与控制信号。
P3口: P3口管脚就是8个带内部上拉电阻得双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这就是由于上拉得缘故。
P3口作为AT89C51得一些特殊功能口,RST: 复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期得高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许得输出电平用于锁存地址得地位字节。
/PSEN: 外部程序存储器得选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
在访问外部数据存储器时,这两次有效得/PSEN信号将不出现。
/EA /VPP: 当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管就是否有内部程序存储器。
XTAL1:反向振荡放大器得输入及内部时钟工作电路得输入。
XTAL2: 来自反向振荡器得输出。
四、硬件电路设计1、发射与接收电路激光与接收电路如图2所示,发射与接收电路主要得功能就是当有物体经过时,激光被物体遮挡,接收管不能接收到激光管发出得红外光线,这时计数电路开始计数。
将红外激光管与光电接收管相对安放,每当物体通过一次,红外光就被物体遮挡,光电接收管得输出电压就发生一次变化,输入至AT89C51单片机得P1口,通过软件控制与键盘设定计数值并用LED加以显示,便可实现对物体得计数统计。
在我们生活得环境里处处都暗藏着红外光线,太阳就是最常见得红外线发光体,还有火光、灯光、红外线遥控器与一些不可预知得光源。
那么,我们身边所处得环境中这么多红外线光源,传感器里得红外线光敏二极管如何分辨环境里得红外光与红外发射管发出来得红外光?调制解调得办法:把激光管以某一频率进行调制,即让它以固定得频率闪烁。
所以选用了激光调制电路,用特殊得接收管可以筛选出这一频率得红外光源。
这样便可以达到去除外界环境光得干扰。
因为环境里得红外光要么就是没有频率得,要么就就是有着自己固定得频率。
像收音机一样,传感器只要以自己得频率发射,再以自己得频率接收就可以过滤其她频率光源得干扰了。
图2其中C11为胆电容,容值为1uf,jp11为调制管,jp12为接收管,她们长得差不多,都就是三条腿,但就是需要注意得就是,在购买得时候调制管与激光管一定要买相配得,应为她们之间必须频率必须匹配才可以正常工作。
L11就就是激光发射管,用5mw就够了。
图中得OUT1为控制信号,控制激光发射管就是否工作,IN1 为信号输出,当有物体通过时输出低电平,当没有物体通过时,IN1输出为高电平。
2、计数与显示电路如图3所示为计数及显示电路,其显示部分就是由4个8段LED 管组成,而LED由三极管驱动显示。
其计数部分就是由单片机控制输出,由个位到千位依次进行。
图3五、程序框图NAME T10;产品计数器课程设计PORTEQU0CFE8HBUFEQU24HSEC EQU 21HCSEG AT0000HLJMP STARTCSEG AT 4003HLJMP CLOCKCSEGAT4100HSTART:MOV DPTR,#PORT+1 ;8279显示RAM全部清零MOV A,#0D1HMOVXDPTR,AMOV TCON,#01H;定时器0设置为方式一MOV SEC,#00HMOV BUF,#00HSETBEX0SETBEALOOP:MOV DPTR,#PORT+1;写显示缓冲RAM 命令MOV A,#80HMOVXDPTR,AMOV R1,#21H ;秒字节地址入R1MOVDPTR,#PORT ;8279数据端口地址DL0: MOVA,R1 ;取相应得时间值MOV R2,A ;存入R2中SWAP AANLA,#0FH ;获取高半字节ACALL TABLEMOVX DPTR,A ;送入缓冲区MOV DPTR,#PORT+1 ;写显示缓冲RAM命令MOV A,#81HMOVX DPTR,AMOVDPTR,#PORTMOV A,R2ANLA,#0FH ;获取低半字节ACALL TABLEMOVXDPTR,ALJMPLOOP ;否则从头开始显示TABLE: INC A;取相应段显码MOVC A,A+PCRETDB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FHCLOCK:NOPPUSH ACCPUSHPSWINC BUF ;计数值加一MOV A,BUFCJNE A,#01H,ENDT ;到一秒了吗?没有则退到ENDTMOV BUF,#00H ;到一秒了,计数值置零MOVA,SECINC A ;秒值加一,经十进制调整DA AMOV SEC,A ;送回秒字节CJNE A,#60H,ENDT;秒值为60否?MOV SEC,#00H ;就是,清零ENDT: POP PSWPOPACCRETI;中断返回END七、结论首先,通过这次光电计数器设计,在很大程度上提高了自己得独立思考能力与单片机得专业知识,也深刻了解写一篇应用系统得步骤与格式,有过这样得一次训练,相信在各个方面都有一个较大得提高!本次数字电路课程设计,主要就是按照课题要求,运用所学得数字电路等相关知识,进行分析、设计,并进行电路焊接、调试,实现相应功能。
在设计电路初期,由于没有设计经验,觉得无从下手,空有很多设计思想,却不知道应该选哪个,经过自己查找资料,我得设计渐渐有了头绪,通过查阅资料,逐渐确立系统方案,对单片机AT89S51得功能及其她芯片得认识与应用掌握力度不够,在软件设计程序时常常遇到问题,又找不到错误问题根源所在,老师瞧过我编写得程序之后凭着丰富得设计经验,一下子就找到问题得根源所在,就就是我对芯片应用与C语言编写程序得经验太少,速度过慢。
我知道问题得根本原因之后,我认真研究并掌握了芯片得各种功能得应用与提高编写程序得准确度,变成速度。
经过这次毕业设计之后我总结了要解决在设计中遇到得问题就应该完全领会设计中所涉及得知识后再动手操作,不能急躁。
在毕业设计期间我学到了很多知识与技巧,而最重要得就就是学到了科学试验中得不可缺少得毅力与耐心。
总之,知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用得时候才发现就是两回事,所以我认为只有到真正会用得时候才就是真得学会了。
经过一段时间得努力,在保证设计方案可行性得前提下,将电路焊接出来,再经过一定得调试,最终实现基本要求与提高要求得全部功能,证实了方案得正确性及可行性。
本次设计中,全部采用分立元器件或常用得小规模集成电路,电路结构简单可靠,能够提供准确得统计值,成本低廉,非常适合小型加工厂得产品流水线中自动统计产品个数等。
电路采用模块化设计,因此具有较高得二次开发性,如将电路用于统计一定时间中吊瓶滴下液滴得数目用来判定就是否点滴就是否将要滴尽;将信号采集电路应用于报警器中等等。
但就是本电路得人性化设计做得不足,比如定数报警电路中设定数字得电路,未采用拨码盘等直观得方式,而就是用开关组直接设定二进制数来实现,不够方便。
另外,电路未设有外部接口,无法直接与其她系统进行数据交换。
当然,本次设计得数字电路部分可以采用单片机等复杂器件实现,电路将更简单,功能可以做得更强大。
长春科技学院单片机原理及接口技术课程设计产品计数器设计学院汽车机械工程学院专业班级11级机械二班姓名朱海学号15指导教师李玉春起止日期2014-5-12——2014-5-15目录一设计任务要求—————————————1二方案设计———————————————1 三硬件构成及功能————————————3 四硬件电路设计—————————————4 五程序框图———————————————8 六课程设计程序—————————————9 七结论—————————————————12。