找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2287|回复: 0
打印 上一主题 下一主题
收起左侧

单片机全自动存包控制系统设计论文

[复制链接]
跳转到指定楼层
楼主
ID:319766 发表于 2018-5-1 11:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
全自动存包柜的设计
XXX
电子信息工程  信工0706班  学号070201149
指导教师
摘    要
本文详细介绍了国内自动存包控制系统的发展现状,发展中所面临的问题。并详细介绍了本系统采用的单片机做控制器,可以同时管理N个存包柜。柜门锁由电磁阀控制,当顾客需要存包的时候,可以自行到存包柜前按“开门”键,单片机接收到一脉冲信号,并通过系统I/O口发出相应的信号,控制锁柜门的电磁阀将一空箱打开,顾客即可存包,并将柜门关上。当顾客需要取包时,要将只要将条码放置到条形码阅读器前方,条形码阅读器采集到条码信息输出相应的高低电平信号传给单片机,系统比较密码一致后,发出开箱信号至电磁阀是柜门打开,顾客即可将包取出。
关键词:自动存包 单片机 光电传感器 条形码阅读器
Design of Automatic Package of Counter
Abstract
This paper describes the control system of the domestic auto-save package development status of the problems faceing the development. And details of the system microcontroller to do with the controller, can manage a package of counter N. Controlled by a solenoid valve cabinet locks, when customers need to save the package, they can keep their own bag to the counter before the press the "open" button, the microcontroller receives a pulse signal, and the system I / O port to issue the appropriate signal, control lock door of the solenoid valve will be an empty box is opened, the customer can deposit bags, and cabinet door. When the customer needs to take when the package is to simply place the barcode in front of bar code readers, bar code readers bar code information collected by the high-low output signals to the appropriate microcontroller, the password system is relatively consistent, the issue out of the box signal to the solenoid valve is the door open, the customer can remove the package.

Keywords: Automatic Storage Bag Microcontroller Photoelectric Sensors  Bar Code Reader
目    录
前    言        1
第1章  自动存包柜        2
第1.1节  自动存包柜的发展概述        2
第1.2节  总体方案确定        3
第2章  系统硬件设计        4
第2.1节  MCS—51单片机主要应用特性        4
第2.2节  自动存包系统面板设计及控制原理图        6
第2.3节  微型处理器        9
第2.4节  系统扩展        12
第2.5节  输入/输出接口系统设计        20
第2.6节  条形码阅读器设计        25
第2.7节  电机控制电路设计        26
第2.8节  电源        27
第3章  系统流程图        29
第3.1节  控制主程序流程图        29
第3.2节  显示子程序程图        31
第3.3节  输入给定值中断服务程序        32
结    论        33
附    录        34
参考文献        39
致    谢        40


前    言
随着我国的不断发展,产品呈现出种类数目不断增多、丰富的局面。尤其是生产质量的不断提高,对技术服务提出了更高的要求,特别是对物品的自动存储提出了更新更高的要求。在当前各种多功能全自动存包机逐渐进入各超市的情况下,我们有必要对国产自动存包控制的应用现状及发展作进一步探讨。
在超市、综合商店、个人商店等人流量大的地方,常常需要对顾客随带物品进行存储。如果用人工完成不但麻烦,而且效率低,劳动强度大。随着微型计算机控制的普及,特别是单片机的应用,给该类系统的设计带来了极大的便利,在本次设计中,将主要介绍单片机控制自动存包控制系统的设计方法。
第1章  自动存包柜
第1.1节  自动存包柜的发展概述
电子存包柜又名自动存包柜、电子寄存柜,是20世纪嵌入式计算机快速发展后在传统寄存行业的一大应用。从外观和用途来看,电子存包柜属于家具类别中的钢制家具。从实现方式和功能上来看,电子存包柜属于电子专用设备。电子存包柜主要由以下几种类型:
(1)机设条码式电子存包柜   
存物时:按“存”键,寄存柜自动打印一张密码条,机器语音提示:“请取密码条”。使用者抽出密码纸,对应的箱门自动打开,存好后关上箱门。取物时:直接将条码纸在扫描口扫描,对应的箱门会自动打开。语音提示:“请取完物品后关好箱门。”
(2)指纹式电子存包柜   
    以使用者指纹作为寄存的凭证;当使用者进行存物操作时,须先按一下操作键盘中的“存”键,然后在指纹采集窗里采集指纹,机器会把该指纹与分配给使用者使用的寄存箱的箱号结合起来,并将信息自动记录下,同时自动打开该箱,供使用者存物,存完后使用者自己关好箱门;取物时,只需须先按一下操作键盘中的“取”键,然后在指纹采集窗里采集指纹,寄存柜将指纹数据与先前记录下的进行比对,正确后才会打开该箱供使用者取物(同时机器会自动记录当时的时间、指纹以备查询)。 
(3)非接触IC卡电子存包柜   
    以使用者所持IC卡(即射频卡)作为寄存的凭证;当使用者进行存物操作时,须先按一下操作键盘中的“存”键再刷卡(即让寄存柜读取卡号),寄存柜先识别是否为该场所的IC卡,若不是则拒绝存物;若是,机器会把该卡号与分配给使用者使用的寄存箱的箱号结合起来,并将信息自动记录下,同时自动打开该箱,供使用者存物,存完后自己关好箱门;取物时,只需须先按一下操作键盘中的“取”键再刷卡,寄存柜将读取的卡号与先前记录下的进行比对,正确后才会打开该箱供使用者取物(同时机器会自动记录当时的时间、卡号以备查询)。   
(4)联网型非接触IC卡电子存包柜   
联网型非接触IC卡电子存包柜基本功能与非接触IC卡电子存包柜一致,另外增加了网络通讯模块,上位机管理软件等,以实现寄存状态联网监控,分段收费,报表打印等功能。   
现在公共场所应用比较广泛。因此,研制出一种能自动存包的装置有很重大的意义,我所研究的就是这方面的课题。
第1.2节  总体方案确定
根据“自动存包”这一目的要求,做如下设计安排:
第一部分:CPU核心控制部分,由单片机8031、复位电路、时钟电路等构成,是整个系统的核心。
第二部分:键盘显示控制部分。对3个数码管和2个按键进行管理,3个数码管用于显示两位柜号和3位密码,12个按键分别为10个数字键和2个功能键。通过这些键盘,用户就可以完成所有的操作。
第三部分:执行机构部分。它是通过8051的并行口扩展一片8255A芯片,并通过8255A控制20个灯的状态(亮灭)来模拟柜子的存包取包的过程。
软件部分主要采用我们自己设定的一种与柜号相关联的算法来产生一组3位的随机密码,而密码的产生、核对过程就对应存包、取包的过程。
第2章  系统硬件设计
第2.1节  MCS—51单片机主要应用特性
MCS-51单片机是美国Intel公司于1980年推出的产品,与MCS-48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍用MCS-51单片机作为代表进行理论基础学习。我们也以这一代表性的机型进行系统的设计。
MCS-51系列单片机主要包括8031、8051和8751等通用产品,其主要功能如下:
8位CPU
4kbytes 程序存储器(ROM)
128bytes的数据存储器(RAM)
32条I/O口线
111条指令,大部分为单字节指令
21个专用寄存器
2个可编程定时/计数器
5个中断源,2个优先级
一个全双工串行通信口
外部数据存储器寻址空间为64kB
外部程序存储器寻址空间为64kB
逻辑操作位寻址功能
双列直插40PinDIP封装
单一+5V电源供电
MCS-51以其典型的结构和完善的总线专用寄存器的集中管理,众多的逻辑位操作功能及面向控制的丰富的指令系统,堪称为一代“名机”,为以后的其它单片机的发展奠定了基础。正因为其优越的性能和完善的结构,导致后来的许多厂商多沿用或参考了其体系结构,有许多世界大的电气商丰富和发展了MCS-51单片机,像PHILIPS、Dallas、ATMEL等著名的半导体公司都推出了兼容MCS-51的单片机产品,就连我国的台湾WINBOND公司也发展了兼容MCS-51的单片机品种。
近年来MCS-51获得了飞速的发展,MCS-51的发源公司Intel由于忙于开发PC及高端微处理器而无精力继续发展自己的单片机,而由其它厂商将其发展,最典型的是PHILIPS和ATMEL公司,PHILIPS公司主要是改善其性能,在原来的基础上发展了高速I/O口,A/D转换器,PWM(脉宽调制)、WDT等增强功能,并在低电压、微功耗、扩展串行总线(I2C)和控制网络总线(CAN)等功能加以完善。
ATMEL公司推出的AT89Cxx系列兼容MCS-51的单片机,完美地将Flash(非易失闪存技术)EPROM与80C51内核结合起来,仍采用MCS-51的总体结构和指令系统,Flash的可反擦写程序存储器能有效地降低开发费用,并能使单片机作多次重复使用。
8051是MCS-51系列单片机中的代表产品,它内部集成了功能强大的中央处理器,包含了硬件乘除法器、21个专用控制寄存器、4kB的程序存储器、128字节的数据存储器、4组8位的并行口、两个16位的可编程定时/计数器、一个全双工的串行口以及布尔处理器。
MCS-51采用模块式结构,MCS-51系列中各种加强型单片机都是以8051为核心加上一定的新的功能部件后组成的,从而使它们完全兼容。表2.1为MCS-

MCS-51具有比较大的寻址空间,地址线宽达16条,即外部数据存储器和程序存储器的寻址范围达216=64kB,这作为单片机控制来说已是比较大的,这同时具备对口的访问能力。此外,MCS-51采用模块化结构,可方便地增删一个模块就可使引脚和指令兼容的新产品,从而容易使产品形成系列化。
由于MCS-51集成了几乎完善的8位中央处理单元,处理功能强,中央处理单元中集成了方便灵活的专用寄存器,硬件的加、减、乘、除法器和布尔处理机及各种逻辑运算和转移指令,这给应用提供了极大的便利。
MCS-51的指令系统近乎完善,指令系统中包含了全面的数据传送指令、完善的算术和逻辑运算指令、方便的逻辑操作和控制指令、对于编程来说,是相当灵活和方便的。
MCS-51单片机的工作频率为2-12MHz,当振荡频率为12MHz时,一个机器周期为1us,这个速度应该说是比较快的。
MCS-51把微型计算机的主要部件都集成在一块芯片上,使得数据传送距离大大缩短,可靠性更高,运行速度更块。由于属于芯片化的微型计算机,各功能部件在芯片中的布局和结构达最优化,抗干扰能力加强,工作亦相对稳定。因此,在工业测控系统中,使用单片机是最理想的选择。单片机属于典型的嵌入式系统,所以它是低端控制系统最佳器件。
鉴于MCS-51的以上特点,本文的设计就是基于MCS-51的8031型号单片机来设计的自动存包系统。
第2.2节  自动存包系统面板设计及控制原理图
2.2.1  面板设计
自动存包控制系统面板如图2.1所示



   
图2.1  控制面板
下图为实物图的展示:
图2.1  实物图展示
2.2.2  系统控制原理图
图2.3  自动存包系统控制原理图
在本系统设计的自动存包系统中,采用8031单片机设计一个最小系统,为了读键盘给定值及完成检测和控制,系统中扩展一片8255A可编程接口及程序存储器EPROM 2764其原理图如图2.3所示。
在图2.3中所示,8031、74LS373、2764组成最小系统。
第2.3节  微型处理器
8031单片机是Intel公司生产的MCS-51系列单片机中的一种,除无片内ROM外,其余特性与MCS-51单片机基本一样。
2.3.1  8031性能特点
8031的主要性能包括:
(1)与MCS-51位控制器产品系列兼容。
(2)宽工作电压范围,VCC可为2.7V~6V。
(3)全静态工作,可从0Hz 至16Hz。
(4)128×8位内部RAM。
(5)32条可编程I/O线。
(6)两个16位定时器/计数器。
(7)中断结构具有5个中断源和2个优先级。
2.3.2  8031硬件结构及引脚功能
8031的内部硬件结构如图2.4所示:



   
   8031具有很强的扩展功能,允许扩展各种外围电路以补充片内资源不足,适应特定应用的需要,扩展内容包括数据存储器、程序存储器、I/O接口等扩展结构如图2.5所示:
图2.5  8031系统扩展结构图
    2.4.1  I/O接口的扩展
    由于我们采集的数据量较多,因此CPU的I/O口线不够用,所以我们使用8255A来扩展I/O口,以满足系统的要求。
8255A是Intel公司生产的通用可编程并行I/O接口芯片。8031和8255A相连可为外设提供三个8位I/O端口,允许采用同步、异步和中断方式传送I/O数据。
(1)8255A内部结构和引脚功能
①内部结构
8255A内部由四部分电路组成。它们是A口、B口和C口,A组控制器和B控制器,数据缓冲器及读写控制逻辑,如图2-6所示。
1 A口、B口和C口。A口、B口和C口均为8位I/O数据口,但结构上略有差别。A口由一个8位的数据输出缓冲/锁存器和一个8位的数据输入缓冲/锁存器组成。B口由一个8位的数据输出缓冲/锁存器和一个8位的数据输入缓冲器组成。三个端口都可以和外设相连,分别传送外设的输入/输出数据或控制信息。
2 A、B组控制电路。这是两组根据CPU的命令字控制8255工作方式的电路。A组控制A口及C口的高4位,B组控制B口及C口的低4位。
3 数据总线缓冲器。它是一个8位的双向三态驱动器,用于与单片机的数据总线相连,传送数据或控制信息。
4 读/写控制逻辑。这部分电路接收MCS-51送来的读/写命令和选口地址,用于控制对8255A的读/写。
图2.6  8255A芯片的内部结构图
②  引脚功能
8255A有40条引脚,采用双列直插式封装。如图2.7所示。
图2.7  8255A引脚图
1数据总线(8条):
D0~D7:三态双向数据总线,8255A与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
2控制总线(6条):
RESET: 复位信号,输入高电平有效。一般和单片机的复位相连,复位后,8255A所有内部寄存器清0,所有口都为输入方式。
:片选信号线,当这个输入引脚为低电平时有效,表示芯片被选中,允许8255A与CPU进行通讯。
:读信号线,当这个输入引脚为低电平时,允许8255A通过数据总线向CPU发送数据或状态字。
:写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写入8255A。
A0、A1:地址输入线。当=0,芯片被选中时,这两位的4种组合00、01、10、11分别用于选择A、B、C口和控制寄存器。其组合如表2.3。
表2.3  8255A控制信号功能表
总线高阻
3并行I/O总线(24条):这些总线用于和外设相连,分别与A、B、C口相对应,用于8255A和外设之间传送数据,共分三组:
PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。
PB0~PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。
PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。
4电源线(2条):VCC为+5V电源线,允许变化±10%;GND为地线。
    (2)8255A方式控制字
8255A有两个控制字:方式控制字和C口单一置复位控制字。用户通过程序可以把这两个控制字送到8255A的控制寄存器(A1A0=11B),以设定8255A的工作方式和C口各位状态。这两个控制字以D7位状态作为标志。8255A各端口工作于什么方式和是输入还是输出方式,是由方式控制字决定的。方式控制字格式如图2.7所示。
D7为控制字标志位,若D7=1,则本控制字为方式控制字,若D7=0,则本控制字为C口单一置复位控制字。
D6~D3为A组控制位。其中,D6和D5位A组方式选择位:若D6D5=00,则A组设定为方式0;若D6D5=01,则A组设定为方式1:若D6D5=1×(×为任意),则A组设定为方式2。D4为A口输入/输出控制位:若D4=0,则PA0~PA7,用于输出数据;若D4=0,则PA0~PA7用于输入数据。D3位C口高4位输入/输出控制位:若D3=0,则PC4~PC7为输出数据方式;若D3=1,则PC4~PC7为输入方式。
图2.8  方式控制字
D2~D0为B组控制位,其作用和D6~D3类似。其中,D2为方式选择位,若D2=0,则B组设定为方式0,若D2=1,则B组设定为方式1。D1为B口输入/输出控制位,D1=0,则PB0~PB7用于输出数据,若D1=1,则PB0~PB7用于输入数据。D0为C口低4位输入/输出控制位,若D0=0,则PC0~PC3用于输出数据,若D0=1,则PC0~PC3用于输入数据。如图2.9所示:
图2.9  置位控制字
    (3)8255A的工作方式
8255A有三种工作方式:方式0(Mode0)、方式1(Mode1)和方式2(Mode2)。正确的选用方式控制字,并把它通过程序送给8255A的控制字寄存器就可设定8255A的工作方式。
方式0(基本输入/输出方式):
这种方式不需要任何选通信号。A口、B口及C口的两个4位口中的任何一个端口都可以被设定为输入或输出。输出锁存,输入不锁存。根据控制字D4、D3、D1、D0位的变化,方式0有16种不同的输入、输出组合方式。
方式1(选通输入/输出方式):
这种方式下,A口、B口、C口分为两组。A组包括A口和C口的高4位,A口可由编程设定为输入口或输出口,C口的高四位则用来作为输入/输出操作的控制和同步信号;B组包括B口和C口的低4位,B口可由编程设定为输入口或输出口,C口的低四位则用来作为输入/输出操作的控制和同步信号。A口和B口的输入输出数据都被锁存。
方式2(双向总线方式):
这种方式下,A口为8位双向总线口,C口的PC3~PC7用来作为输入/输出操作的控制和同步信号;B口和C口的PC0~PC2则可编程为方式0或方式1工作。
    (4)8255A与CPU 8031的接口
8255A与CPU 8031的接口连线如图2.10所示。
图2.10 8255A与CPU8031的接线图
8255A与单片机间有3组连线:D7~D8根数据线依次与P0口的P0.7~P0.0一一对应连接:RD、WR、RESET等3根控制线与单片机的同名引脚互连;片选端CS则与P2口相连;A1、A0两根地址线与单片机的两个I/O引脚连接。
    2.4.2  存储功能扩展
由于我们需要保存一定的数据,而8031片内没有程序存储功能,因此,EA管脚总是接低电平。根据保存的数据量需要,我们选用了EPROM 2764为外扩的数据存储器。
(1)态缓冲输出的8D锁存器,由于单片机的三总线结构中,数据线与地址线的低8位共用P0口,因此必须用地址锁存器将地址信号和数据信号区分开。74LS373的锁存控制端直接与单片机的锁存控制信号ALE相连,在ALE的下降沿锁存低8位地址。其中,D0~D7为数据输入端;Q0~Q7为数据输出端;OE为三态允许控制端(低电平有效);LE为锁存允许端。
图2.11  74LS373 引脚
该片如何工作由功能表2.4决定,表中L为低电平、H为高电平、Z为高阻抗(相当开路)X为任意电平,一般将OE接低电平,LE接ALE就能正常工作。
表2.4  74LS373真值表
   
LE
   
Dn
   
Qn
L
   
H
   
H
   
H
L
   
H
   
L
   
L
L
   
L
   
L
   
L
L
   
L
   
H
   
H
H
   
X
   
X
   
Z
   
    (2)2764 EPROM紫外线擦除电可编程只读存储器EPROM是国内用得较多的程序存储器。EPROM芯片上有一个玻璃窗口,在紫外线照射下,存储器中的各位信息均变1,即处于擦除状态。擦除干净的EPROM可以通过编程器将应用程序固化到芯片中。本次设计所选用的是2764 EPROM。
    ①2764的概述
这是一种可以擦去重写的只读存储器。通常用紫外线对其窗口进行照射,即可把它所存储的内容擦去。之后,又可以对其重新进行编程,写入新的内容。一旦写入,其存储的内容可以长期(几十年)地保存,即使去掉电源电压,也不会影响它所存储的内容。图2.11为通用的EPROM 2764的引脚图,它的容量为8 K×8bit。8 K表示有8×1024个存储单元,8位表示每个单元存储数据的宽度是8位。前者确定了地址线的位数是12位(A0~A12),后者确定了数据线的位数是8位(D0~D7)。目前,除了串行存储器之外,一般情况下,我们使用的都是8位数据存储器。单一+5 V供电,工作电流为75 mA,维持电流为35 mA,读出时间最大为250 ns,DIP28封装。



   
图2.12 2764引脚图
②引脚功能
其中,A0~A12为地址线;D0~D7为数据线; 为片选线;是读线;是编程输入;Vpp为编程电源。
除了12条地址线和8条数据线之外, 为片选线,低电平有效。也就是说,只有当为低电平时,2764才被选中,否则,2764不工作。  
    ③EPROM 2764和锁存器74LS373与8031组成最小系统
8031单片机扩展一片2764程序存储器电路如图2.12所示。
1地址线。单片机扩展片外存储器时,地址是由P0和P2口提供的。图2.12中,2764的13条地址线(A0~A12)中,低8位A0~A7通过锁存器74LS373与P0口连接,高4位A8~A12直接与P2口的P2.0~P2.3连接,P2口本身有锁存功能。注意,锁存器的锁存使能端LE必须和单片机的ALE管脚相连。



   
图2.13  8031扩展2764 EPROM硬件接线图
2数据线。2764的8位数据线直接与单片机的P0口相连。因此,P0口是一个分时复用的地址/数据线。
3控制线。CPU执行2764中存放的程序指令时,取指阶段就是对2764行读操作。注意,CPU对EPROM只能进行读操作,不能进行写操作。CPU对2764的读操作控制都是通过控制线实现的。2764控制线的连接有以下几条:
CE:直接P2.5。
OE:接8031的读选通信号端。在访问片外程序存储器时,只要端出现负脉冲,即可从2764中读出程序。
第2.5节  输入/输出接口系统设计
输入/输出接口系统就是指人与计算机之间建立联系、交换信息的输入/输出设备接口,就是人机交互接口。这些输入/输出设备主要有键盘和显示器等。它们是系统中必不可少的输入、输出设备,是控制系统与操作人员之间交互的窗口。
2.5.1  键盘系统设计
键盘是若干按键的集合,是向系统提供操作人员干预命令及数据的接口设备。键盘可以分为编码键盘和非编码键盘两种类型。前者能自动识别按下的按键并且能产生相应的代码,以并行或串行的方式发送给CPU。它使用方便,接口简单,响应速度快,但是需要专用的硬件电路。本次设计中所采用的就是编码键盘。



   
如图2.3中所示,8255A为给定值输入接口。为了使系统简单,设计了一个由二极管矩阵组成的编码键盘,如图2.14所示:
图2.14 编码键盘原理图
键盘输出信号D,C,B,A(BCD码)分别接到8255A的A口PA3-PA0,键选通信号KEYSTROBE(高电平有效),经反向器接到8031的INT0管脚。当按下某一个按键时,KEYSTROBE为高电平,经过反相后的下降沿向8031申请中断。8031响应后,读入BCD码值,作为定值,并送显示。本次设计只有3位显示,所以最多只能给定999。输入顺序为从最高位(百位数)开始。
当按键未按下时,所有输出端口均为高电平。当有按键按下以后该按键的BCD码将会出现在输出线上。
2.5.2  显示系统设计
为了使操作人员及时掌握生产情况,在一般的微型计算机控制系统或者智能仪器当中,都配有显示程序。本次设计采用LED数码显示。
(1)LED数码管的结构及显示原理
常用的显示器件有:①显示和记录仪表,②CRT显示终端,③LED或者LCD显示器,④大屏幕显示器。本次设计所采用的是LED数码管。LED数码管具有结构简单,体积小,功耗低,响应速度快,易于匹配,寿命长,可靠性高等优点。
LED数码管是由发光二极管组成,由于材料的不同,可以发出各种单色光线。发光二极管可以有多种组成形式,其中7段数码管应用最多,根据发光二极管内部的连接方式不同,又有共阴极或共阳极两种形式。如图2.15所示



   
图2.15  LED数码管结构
    (2)74LS138结构及功能
图2.16  74LS138结构
A1、A2、A3分别为输入端,G1为使能端的高电平,0、Y1、Y2、Y3、Y4、Y5、Y6、Y7分别为输出端。在讲38译码器的时候,老师还讲了38译码器的逻辑真值表,而且,38译码器就是根据逻辑真值表研制出的,如下图:
图2.17  74LS138 真值表
注:表中的蓝色区域为输入使能端,黄色区域为输入选择端,绿色区域表示该译码器不工作。其引脚功能为:A、B、C为译码地址输入端;G1为选通端;2A、2B为选通端(低电平有效);Y0~Y7为译码输出端(低电平有效)。
(3) 74LS377结构及功能
简单输出接口通常用74LS377芯片。该芯片是一个种8D锁存器,该芯片的引脚排列如下图所示:
                                图2.18  74LS377引脚及功能
图中相关引脚的功能如下:
D0-D7:8位数据端输入端。
Q0-Q7:8位数据输出端。
G:使能控制端。
CLK:时钟信号,上升沿锁存数据。
       表2.5 74LS377真值表
   
CLK
   
D
   
Q
1
   
X
   
X
   
Q
0
   
1
   
1
   
1
0
   
1
   
0
   
0
X
   
0
   
X
   
Q
   
    下图是利用74LS377进行简单输出接口的扩展的电路,图中,由于74LS的G端与P2.7口连接,所以他的地址是:0XXX XXXX XXXX XXXXB。如果把“X”全置1的话,就是0111 1111 1111 1111B即7FFH
  
图2.19 74LS377输出接口的扩展电路
   
    由于51的与74LS的CLK端相连,当信号由低电平变高时,数据总线上的数据证实输出的数据。而此时P2.7也正输出低电平,有效,因此,数据就被锁存,有关程序如下:
MOV  DPTR, #7FFH  : 地址
MOV   A,   #DATA  :  DATA为要送出的数据
MOV  @DPTR, A      :   P0口数据被74LS377锁存
第2.6节  条形码阅读器设计
条形码阅读器是传感器大家族中的成员,它把发射端和接收端之间光的强弱变化转化为电流的变化以达到探测的目的。条形码阅读器具有如下特点:输出回路和输入回路是电隔离的(即电绝缘),体积小、精度高、检测距离远,防水、防腐蚀、防震动,抗光、电、磁等干扰。所以它可以在冶金、纺织、烟草、造纸、化工、电力、保安等各种行业得到应用。条形码阅读器(光电传感器)利用被检测物对光束的遮挡或反射,由同步回路选通电路,从而检测物体有无。物体不限于金属,所有能反射光线的物体均可被检测。条形码阅读器将输入电流在发射器上转换为光信号射出,接收器再根据接收到的光线的强弱或有无对目标物体进行探测。工作原理如图2.20所示。
图2.20 光电传感器工作原理
条形码阅读器在一般情况下由三部分构成,它们分别为发送器、接收器和检测电路。条形码阅读器的重要功能是能够处理光的强度变化,利用光学元件,在传播媒介中间使光束发生变化,利用光束来反射物体,使光束发射经过长距离后瞬间返回。发射器对准目标发射光束,发射的光束一般来源于发光二极管(LED)和激光二极管。光束不间断地发射,或者改变脉冲宽度。受脉冲调制的光束辐射强度在发射中经过多次选择,朝着目标不间断地运行。接收器由光电二极管或光电三极管组成。在接收器的前面,装有光学元件如透镜和光栏等。在其后面的是检测电路,它能滤出有效信号和应用该信号。此外,条形码阅读器的结构元件中还有发射板和光导纤维。
条形码阅读器的种类也很多,根据条形码阅读器在检测物体时发射器所发出的光线被折回到接收器的途径的同,可分为漫反射式、镜反射式、对射式等。
第2.7节  电机控制电路设计
为了提高抗干扰能力,系统采用了光电隔离技术。电机可以采用多种方法控制,如固态继电器(SSR)、可控硅(SCR)及大功率场效应管等,本设计采用固态继电器(SSR)。采用电机控制是为了提高效率,当条形码确认后,由电磁阀带动电机,拉动柜门打开,代替手工,方便顾客取包。
2.7.1  固态继电器介绍
固态继电器(Solid State Relay)简称SSR,它是用晶体管或可控硅代替常规继电器的触点开关,而在前级中与光电隔离器融为一体,因此固态继电器实际上是一种带光电隔离器的无触点开关。根据结构形式,固态继电器有直流型固态继电器和交流型固态继电器。本设计采用的是交流型固态继电器。
(1)直流型SSR。
直流型SSR的原理电路如图2.21所示:
图2.21  直流型SSR的原理电路
直流型SSR主要用于带直流负载的场合,如直流电机控制。直流步进电机控制和电磁阀等。
(2)交流型SSR。
交流型SSR又可分为过零型和移向型两类。它采用双向可控硅作为开关器件,用于交流大功率场合,如交流电机、交流电磁阀控制等。其原理电路,如图2.21所示。
图2.22  交流型SSR的原理电路
过零型必须在负载电源电压接近零且输入控制信号有效时。输入端负载电源才导通,只在流过双向可控硅负载电流为零时才关断。
2.7.2  电机控制电路原理
    电机控制电路如图2.23所示:
图2.23  电机控制电路
第2.8节  电源
除了220V的电源,我们还选择了LM7805三端稳压器产生一个+5V的电源。其电路如图2.24所示。
图2.24  +5V电源电路
三端固定输出集成稳压器,它是一种串连调整式稳压器。它将全部电路集成在单块硅片上,整个集成稳压电路只有输入、输出和公共三个引出端,使用非常方便。典型的有78××正电压输出系列,79××负电压输出系列。
当输入的电压VI、输出电流IO或温度变化时,输出电压VO可保持不变;另外,当输出短路。可使输出电流IO限制为一定值;若稳压器过热,则它就停止工作,以免稳压器遭到损坏。
三端固定输出电压集成稳压器,因内部有过热、过流保护电路,因此它的性能优
良、可靠性高。有因这种稳压器具有体积小、使用方便、价格低廉等优点,所以我们选用了这种芯片。
第3章  系统流程图
第3.1节  控制主程序流程图
根据硬件设计要求,控制主程序流程图如图3.1所示。存储柜通上电以后,单片机上电,首先进行程序的初始化,包括定时器,外部中断等初始化,以及各参数初始值的设定。默认存储柜为初始状态,根据存包指令,扫面计数器的存储包状态。然后根据键盘才做的状态。确定强度确定存储状态。用数码管显示存储柜号和密码。当启动键按下以后,存储柜进入待命状态,完成存包——取密——扫描——取包的循环过程。当存储出现错误,发出控制蜂鸣器发声。
                                   
图3.1  控制主程序流程图
第3.2节  显示子程序程图
    子程序的显示,显示缓冲区的首地址并指向最左边的一位,8255A口地址。当存包时,输出一密码条,取出显示的条码。取包的时候,在扫描口扫描密码条,等待显示的数据,送显示码到8255A。进行密码核对并执行开柜或者密码错误返回重新执行扫描。



   
图3.2  子程序流程图
第3.3节  输入给定值中断服务程序
工作过程中所需的各种计时均有定时器0定时中断服务程序提供。单片机晶振频率12MHZ,定时器0选择工作方式1,设置时间常数,每0,1秒中断一次。中断处理流程如下:



   
图3.3  中断服务程序
结    论
为期一学期的毕业设计结束了,在这短短的几个月当中,我们不仅巩固了以前学到的专业知识,更重要的是我们学到了许多新知识,学会了设计一个系统的步骤、方法和设计思想,还学到了作为一个设计人员应该具备的素质。
在毕业设计之初,我们首先拿到了毕业设计的题目《自动存包控制系统设计》,从中我们知道了这次设计的目的、要求以及要完成的工作。开题之后我们进入了资料检索阶段,通过在网上及图书馆查找资料,了解了自动存包控制系统的发展状况以及现状,从中得到了许多对我们设计有用的东西,并最终确定一套方案。
我们的方案是利用单片机来实现的,所以翻阅了大量的单片机书籍。我们以前的学习是围绕MCS—51系列的单片机,故在我们的系统中我们选择了8031为CPU。我们在图书馆和和网站上查到了好多的单片机和传感器方面的知识,这对我们的设计是很有必要的,它也会对我们以后的工作有很大的帮助。
设计总是在不断的改进和完善中完成的,每一个器件的选择都要有很多的考虑。我们在设计中不断的更换新的器件和设计方法,最后做成了本次设计。基本实现了毕业设计任务书中的要求
在设计中我们尽量做到完善。但在这次毕业设计中还存在很多不能令人满意的地方,这些地方也暴露了我们在以前学习过程中的疏漏之处。我一定会在以后的工作中逐步的改正。
附    录
程序
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP INT0
LED1                           EQU  22H              ;
IED2                            EQU  23H             ;
LED3                           EQU  24H             ;
BOX1                           EQU  25H             ;
BOX2                           EQU  26H             ;
BOX3                           EQU  27H             ;
BOXES                          EQU  28H             ;
PARTS:                        EQU  2BH             ;
PRECNT                         EQU  2EH             ;
LEDADD1                       EQU   8400H          ;
LEDADD2                       EQU   8800H          ;
LEDADD3                       EQU   8C00H          ;
BUFF                           EQU   2FH            ;
                                ORG    0100H  
MAIN:                         MOV         SP, #50H  
MOV         R0, #22H
MOV         A,  #00H
MOV         R1, #0DH
CLRZERO:                     MOV         @R0, A     ;
INC          R0
DJNZ       R1,CLRZERO
MOV         20H, #00H     ;
MOV         21H, #00H
MOV      DPTR, #8003H     ;
MOV         A,    #98H  
MOVX      @DPTR ,  A
SETB      IT0                ;
SETB           EX0          ;
SETB          EA ;
MOV        R0,#BOXES
MOV    DPTR, #LEDADD1   ;
PUSH    DPH
PUSH    DOL
MOV     DPTR,  #8002H
WAIT:                         MOV       A,  PRECNT    ;
                                CJNE     A,  #06H, WAIT   ;
WORK:                       SETB      00H            ;
SETB      03H        ;
MOV    A, 20H        ;
MOV      DPTR, #8002H
MOVX   @DPTR, A
LOOP1:                        MOVX   A,    @DPTR
JNB      ACC.7,  LOOP1  ;
MOV     LED1,  #00H    ;
MOV     LED2,  #00H
MOV     LED3,  #00H
LCALL    DISPLAY        ;
CLR       00H            ;
SETB      01H         ;
MOV       A,20H     ;
MOV      DPTR, #8002H
MOVX    @DPTR , A
LOOP2:                        MOV    DPTR, #8002H
MOVX     A,@DPTR
JNB      ACC.6, LOOP2   ;
JNB      ACC.4,  STOP   ;
LCALL   PARTADD1      
  ; LCALL   DISPLAY          ;
LCALL   PARTCOMP        ;
JB       08H,STOPM        ;
AJMP     LOOP2         ;
STOPM:                       LCALL   BOXADD1        ;
LCALL   BOXCOMP       ;
JB       09H,  FINISH  ;
LJMP     WORK       ;
FINISH:                        CLR      00H    ;
CLR      01H
MOV    A, 20H
MOVX   @DPTR, A
MOV     BOX1,  #00H
MOV     BOX2,  #00H
MOV     BOX3,  #00H
LOOP3 MOV                    DPTR,#8002H           ;
MOVX   A, @DPTR
JB      ACC.5, LOOP3
LJMP   WORK          ;
STOP:
CLR         00H        ;
CLR         01H
MOV      A,  20H
MOVX     @DPTR,A
LJMP      MAIN         ;
INTO:                         MOV   @DPTR, #8000H      ;
MOVX     A,@DPTR
MOV     @RO,  A
MOV   DPTR, #8001H        ;
MOVX    @DPTR, A
POP         DPL             ;
POP         DPH            
MOVX     @DPTR, A       ;
MOV         A ,DPH
ADD        A  , #04H    ;
MOV        DPH,   A
PUSH        DPH       ;
PUSH        DPL
INC          R0          ;
INC      PRECNT        ;
REST
DISPLAY:                      MOV    A,LED1            ;
MOV   DPTR,#SEGTBL
MOVC   A,@A+DPTR        ;
MOV    DPTR, #8001H      ;
MOVX    @DPTR,A
MOV   DPTR,#LEDADD1     ;
MOVX   @DPTR,A
MOV      A, LED2          ;
MOV    DPTR,#SEGTBL
MOVC  A,@A+DPTR
MOV     DPTR,  A
MOVX  @DPTR,A
MOV    DPTR,#LEDADD2    ;
MOVX    @DPTR, A
MOV     A, LED3           ;
MOV   DPTR#SEGTBL
MOVC   A,A+DPTR
MOV   DPTR,8001H
MOVX   @DPTR,A
MOV   DPTR, #LEDADD3    ;
MOVX  @DPTR, A
RET
SEGTBL  DB    3FH,06H, 5BH, 4FH, 66H,6DH,7DH,07H,7FH,67H
PARTADD1:                    MOV   R0, #LED3   ;
MOV     A,@R0
ADD       A, 01H
DA        A
JB         24H,ADD2
RET
ADD2:                        CLR       24H
DEC       R0
MOV       A, @R0
ADD       A, #01H
DA      A
JB      1CH,ADD3
RET
ADD3:                         CLR     1CH
DEC      R0
MOV     A,@R0
ADD     A,#01H
DA       A
JB        14H,ADD4
RET
ADD4:                         CLR      14H
MOV     R0,#00H
RET
PARTCOMP:                    MOV     R0,#PARTS        ;
MOV     R1,#LED1        ;
MOV     R2,#03H
COMP1:                       MOV     A, @R0
MOV     BUFF,@R1
CJNE     A,CUFF,COMP2
INC        R0
INC        R1
DINZ       R2, COMP1
SETB       08H          ;
RET
COMP3:                       CLR       08H
RET
COMP2:                       JNC        COMP3
LJMP       ALARM
BOXCOMP:       RET
BOXADD1:       RET
ALARM:                       SETB        02H
CLR         00H
CLR         01H
CLR         03H
MOV         A, 20H
MOV       DPTR,#8002H
MOVX    @DPTR, A
LJMP      MAIN
参考文献
[1]刘德营,张志霞,李志伟.单片机原理及接口技术[M].北京: 中国水利水电出版社,2006.1~54,90~121.
[2]潘新民,王燕芳.微型计算机控制技术[M].北京:电子工业出版社,2003.71~99,360~364.
[3]宋浩,田丰.单片机原理及应用[M].北京:清华大学出版社,2005.1~39,134~179.
[4]薛栋梁.MCS-51/151/251单片机原理与应用[M].北京:中国水利水电出版社,2001,111~112,125~126.
[5]薛栋梁.MCS-51/151/251单片机原理与应用[M].北京:中国水利水电出版社,2001,1~5,254~261.
[6]王路茜.电子设计技术[J]. 维普中文期刊.2006年02期.
[7]方佩敏.新编传感器原理•应用•电路详解[J].北京:电子工业出版社,1994,112~117.
[8]何立民.单片机应用系统设计[M].北京:北京航空航天大学出版社,2002,97~104,149~156.
[9]姜德谭,范茂军.新编电子电路大全[M].北京:计量出版社,1985. 90~121.
[10]丁元杰.单片微机原理及应用[M].北京:机械工业出版社,2003,40~77.
[11]何立民.单片机应用技术选编[M].北京:北京航空航天大学出版社.1997.10.
[12]李广第.单片机基础[M].北京:北京航空航天大学,1999.90~148.
[13]Adel S.Sedra and Kenneth.Smith[M]:Microelectronic Circuits,4rd ed,Oxford University Press.Inc,1998.20~58.
[14]Adel S.Sedra and Kenneth.Smith[M]:Microelectronic Circuits,4rd ed,Oxford University Press.Inc,1998.31~98.
[15]P.R.Gray and R.G.Meyer,Analysis and Design of Analog Integrated circuits 3rd Edition,John Wiley&Sons,New York,1993. 97~104.
致    谢
紧张、充实而又难忘的大学学习生涯即将结束,在大学四年和撰写论文期间得到了许多人的帮助,使我终身难以忘怀。在这里我首先要感谢这四年来为我授课的各位老师,真心地说一句:你们辛苦了!感谢鲁小利老师在我的论文选题、定稿以及中期检查等方面都给了我精心的指导。您提出的宝贵意见使我在论文选题、撰写以及修改的过程中,不再像当初那样茫然无措,而是知道自己论文的不足和修改的方向。您正直、严谨的治学态度对我影响颇深,受益匪浅,无论在今后的学习还是工作当中,我都铭记于心。
最后,感谢电子信息工程系和同组的各位同学以及所有支持我关心我的人。在你们的帮助和协助下共同完成了本次设计。谢谢你们!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表