基于STC89C52的智能印章机的设计方案

最新更新时间:2014-01-07来源: 21IC关键字:STC89C52  智能印章机 手机看文章 扫描二维码
随时随地手机看文章

在银行、政府、学校等机构存在大量文件需要盖章,当需要盖章文件数量过大时则需要消耗大量的人力和时间,本文中设计的智能印章机能明显缩短印章时间并且节约大量人力,满足日常办公所需。并且具有手动设置功能,可通过手动设置盖章的延时时间,和盖章的数量本文设计的智能印章机控制电路的主要组成部分由:供电电路、电机驱动电路、传感器电路、数据存储电路、数据显示电路、手动控制电路组成。

1 系统总体框图

智能印章机盖章的工作原理是通过安装在机器底部的光电传感器检测是否有纸张的信号来开启单片机对电机的控制,通过一系列的传动结构带动印章运动完成盖章动作。盖章动作前可以通过手动控制面板对盖章数量、盖章延时进行调节。同时在印章机工作时,印章机所盖的纸张数会被数据存储电路记录,通过手动设置的数量和盖章延时数据都会被存储下来。总的系统框图如图1所示。

 

 

2 硬件设计

2.1 稳压电路设计

在控制电路部分需给由单片机组成的控制电路和传感器电路同时供电。所选用的是LM7805 三端集成稳压器和滤波电容组成电源电路,为整个控制系统提供稳定的电压,如图2所示。

 

 

2.2 电机驱动电路

电机采用24 V 的直流电机,驱动芯片L298N是ST公司生产的一种高电压大电流电机驱动芯片,主要特点是工作电压高,输出电流大,瞬间峰值可达3 A,采用标准逻辑电平信号控制,INPUT1 和INPUT2 是单片机控制电机的两个输入端,OUTPUT1 和OUTPUT2是两个输出端,分别与电极正负相连,由于使用的电机是线圈式的,在从运行状态突然转换到停止状态和从顺时针状态突然转换到逆时针状态会形成很大的反向电流,所以在电路中要加入二极管在产生反向电流时进行泄流保护。驱动电路如图3所示。

 

2.3 数据存储电路

数据存储电路主要功能是存储印章次数和用户设置,硬件电路采用的芯片是24C08,是一个8 Kb串行电可擦除PROM,内部写周期最大为5 ms,具有页写能力,每页分别为[3]16 B.

2.4 传感器电路

在整个印章机控制系统中,传感器对运动的控制起到了关键作用,例如RAD20CM 对射式红外光电开关对纸张的感应使电机开始运动,其电路组成如图4 所示,由光敏NPN 三极管和单片机P1_11引脚组成,当纸张遮住发射端光源时,接收端的光敏三极管将光信号转化成点信号传到单片机P1_11引脚,如图4所示。

 

 

电机位置的控制是采用的红外对射槽型限位开关GK102,其电路如图5所示,在整个控制系统中有2个限位开关,以控制电机的上极限位置和下极限位置,保证正常的工作行程。

 

 

3 软件设计

该系统程序设计采用C 语言编程,在Keil4 软件中进行开发,主程序的流程图如图6所示。

 

 

当启动智能印章机后,单片机首先读取存储芯片24C08里的用户设置数据,包括盖章数目,盖章延时等,接着等待放入纸张,当有纸张放入后,光电传感器将接收到的信号传送给单片机,单片机通过对驱动芯片L298N的控制来实现电机下行盖章动作,同时扫描下限位光电开信号,当印章到达下限位时电机停止转动,并且按照用户设定的延时时间与纸张充分接触,完成盖章后返回上限位位置。至此完成一个盖章周期。

4 结语

本文所提出的基于STC89C52的智能印章机的设计方案。该方案中所设计的智能印章机控制系统以STC89C52为控制核心,通过传感器电路和电机驱动电路对印章的运动实现智能控制。该系统具有操作简单,使用方便等优点,已经生产成产品,应用到各办公环境中,并取得良好的经济效益。

关键字:STC89C52  智能印章机 编辑:探路者 引用地址:基于STC89C52的智能印章机的设计方案

上一篇:一款可实现超低压差CMOS线性稳压器的设计方案
下一篇:数字电源能否取代模拟电源?

推荐阅读最新更新时间:2023-10-12 22:33

8051单片机(STC89C52)以定时器中断模式实现两倒计时器异步计时
相较单倒计时器对timer0初值的设定, 此处将中断处理程序触发时间间隔改为5ms, 目的是给人在视觉上以更好的体验(设定为10ms会明显感觉到闪烁). #include STC89C5xRC.H unsigned char code DIG_CODE = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};//对应数码管显示0~9 int tcount = 0;//记录经过的5ms区间段个数 int sec1 = 15, sec2 = 25;//倒计时初始值 void T0_INT() interrupt 1 //timer0中断, 每5m
[单片机]
8051单片机(<font color='red'>STC89C52</font>)以定时器中断模式实现两倒计时器异步计时
STC89C52+SJA1000自收发程序记录
项目中需要使用到CAN控制器SJA1000芯片,使用的主控芯片是ARM9,但是在ARM9上怎么调试也不通,不得已,只好先测试下51系列的单片机上是否可以和此芯片协同工作,需要排除芯片的问题,但是发现当你不太了解一个新芯片的时候,若要操作该芯片,而你又没啥经验,是需要费很大的功夫的。所以把过程详细的记录下来,以备复习。关键还是得仔细看芯片数据手册。 使用到的芯片和资料详细列出如下: 1. 主控芯片(STC89C52RC),CAN控制器(SJA1000T),CAN收发器(PCA82C250)似乎PCA82C251更好些 2. 下载对应的芯片手册,以及SJA1000独立的CAN控制器应用指南.pdf。 部分电路图:
[单片机]
二极管(STC89C52): 编写程序控制二极管从上到下的流动灯
一. 硬件设计 二. 软件设计 1. 程序功能 编写程序控制二极管从上到下的流动灯. 2. 程序源码 #include reg52.h #include intrins.h #define uchar unsigned char #define uint unsigned int void delayms(uint xms); void main() { P1 = 0xfe; while (1) { P1 = _crol_(P1, 1);
[单片机]
二极管(<font color='red'>STC89C52</font>): 编写程序控制二极管从上到下的流动灯
电阻、电容和电感测试仪设计
实物图 总电路图: 电源模块: 测量模块: 显示模块: 摘要 近几年来,电子行业的发展速度相当快,电子行业的公司企业数目也不断增多。这个现象带来的直接结果是电子行业方面的人才需求不断增多。所以,现在大多数高校都开设与电子类相关的专业及课程,为社会培养大量的电子行业的人才。做过电路设计的工作人员或者学生大多数使用万用表来测量一些元件参数或者电路中的电压电流。然而万用表有一定的局限性,它只能测量有限种类的元器件的参数,对于电容和电感等一些电抗元件就无能为力了。所以制作一种简便的电容电感测量仪显得尤为重要,方便电路设计人员或者高校电子类专业的学生测量电路中需要用到的电容及电感的具体值。 本次设计的思想是基于以上原因提
[单片机]
电阻、电容和电感测试仪设计
8051单片机(STC89C52)倒计时器
#include STC89C5xRC.H void delay()//用定时器0实现10ms精准定时 { TMOD = 0x01; TH0 = 0xd8; TL0 = 0xf0;//65536 - 10000 = 55536 TF0 = 0;//置溢出标志位为0 TR0 = 1;//开启定时器0 while(TF0 == 0); TR0 = 0;//暂停定时器0 } void disp_digit(int d) { unsigned char code DIG_CODE = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x
[单片机]
8051单片机(<font color='red'>STC89C52</font>)倒计时器
STC89C52RC单片机设计的FM收音机+自动搜台+存储电台
刚调试好的收音机,但是信号还不是很好,收音机模块用的TEA5767芯片,液晶1602显示,爱好者可以自己下载调试。 可以手动自动调节自动搜台电台 单片机源程序如下: #include reg52.h #include tea5767.h #include delay.h #include lcd1602.h //K1:上一台 K2:下一台 K3:从低向高搜索台 sbit K1 = P2 ^ 1; sbit K2 = P2 ^ 4; sbit K3 = P2 ^ 7; //当前频道号 从 0 开始 unsigned char ch = 0; void main() { //初始化 1602lcd lcd1602_init
[单片机]
<font color='red'>STC89C52</font>RC单片机设计的FM收音机+自动搜台+存储电台
STC89C52单片机 DAY 4 LED点阵模块
LED点阵模块显示数字0 #include reg51.h #include intrins.h typedef unsigned char u8; typedef unsigned int u16; sbit SRCLK=P3^6; sbit RCLK=P3^5; sbit SER=P3^6; u8 ledduan ={0x00,0x00,0x3e,0x41,0x41,0x41,0x3e}; u8 ledwei ={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; void delay(int i) { while(i--); } void Hc595SendByte(u8 d
[单片机]
STC89C52单片机定时器/计数器详解(含程序和定时器2)
89C51和89C52还是有一些区别的,首先我们要明确,89C51有两个计数器T0和T1,89C52还有一个T2。   PS—串行口中断优先级控制位   PT1—TC1中断优先级控制位   PX1—外部中断1优先级控制位   PT0—TC0中断优先级控制位   PX0—外部中断0优先级控制位   同优先级的中断请求,按默认顺序响应。   【说明】   1. 本文里类似的x均可取值为0或1。   2. TC指TImer/Counter,即定时器/计数器。   3. 机器周期是单片机的基本操作周期,一个机器周期内单片机完成一项基本操作,如取指等。一个机器周期包含12个时钟周期。时钟周期是时钟频率的倒数。   4. T
[单片机]
<font color='red'>STC89C52</font>单片机定时器/计数器详解(含程序和定时器2)
小广播
最新电源管理文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved