毕业设计论文基于单片机的自动加料控制系统设计

上传人:痛*** 文档编号:62011081 上传时间:2022-03-13 格式:DOC 页数:41 大小:410KB
收藏 版权申诉 举报 下载
毕业设计论文基于单片机的自动加料控制系统设计_第1页
第1页 / 共41页
毕业设计论文基于单片机的自动加料控制系统设计_第2页
第2页 / 共41页
毕业设计论文基于单片机的自动加料控制系统设计_第3页
第3页 / 共41页
资源描述:

《毕业设计论文基于单片机的自动加料控制系统设计》由会员分享,可在线阅读,更多相关《毕业设计论文基于单片机的自动加料控制系统设计(41页珍藏版)》请在装配图网上搜索。

1、目 录 第1节 引 言11.1 题目来源及课题意义11.2 自动加料机控制系统的工作原理及技术要求21.3 系统的主要技术参数:3第2节 方案论证42.1 物位传感器的选择42.2 存储器扩展电路的选择42.2.1 24C01扩展:42.2.2 2864A芯片扩展:52.3 LED显示电路选择62.3.1 LED静态显示方式62.3.2 LED动态显示方式72.4 键盘输入电路72.4.1 矩阵式键盘接口:72.4.2 独立式按键接口:7第3节 自动加料机主电路83.1 系统结构原理图83.2 主机电路核心器件介绍83.2.1 AT89C51主要性能参数83.2.2 AT89C51 功能特性概

2、述93.2.3 空闲节电模式113. 2. 4 掉电模式113.3 键盘及显示电路113.3.1 键盘接口123.3.2 8255A芯片介绍133.3.3 8255A引脚功能133.4 外部存储器扩展电路153.5 看门狗MAX813L电路18第4节 软件设计20第5节 结 束 语26参考文献27第1节 引 言 1.1 题目来源及课题意义在现代科学技术的许多领域中,自动控制技术起这愈来愈重要的作用,并且,随着生产和科学技术的发展,自动化水平也越来越高。自动控制利用控制装置使被控对象的某个参数自动的按照预定的规律运行。本设计的自动加料机控制系统就是采用自动控制技术来实现功能的,这样就大大提高了工

3、作的效率,整个过程又快又稳。1.2 自动加料机控制系统的工作原理及技术要求本设计的由单片机控制的自动加料系统是与料斗式干燥机配套的加料系统。根据加料工艺要求,其工作原理是:先将真空管关闭,启动电机,用低真空气流将塑料树脂粒子送入真空管,电机停转,再将粒子排入料斗,如此循环。在设计的控制系统中,可用一个电机控制两个加料生产线,由方向阀切换。两个生产线既可单独运行,也可同时运行。假如两者同时运行,当一生产线输送结束后,判断到另一个生产线排料已经结束,那么,电机不停转而方向阀换向,从而为另一个生产线送料。这样可以发挥控制系统和电机的效率,从而实现供料自动化。控制系统的控制器有单片机89C51和扩展电

4、路组成,单片机控制继电器,继电器控制交流接触器,又由接触器控制电机等执行机构的运动。本控制系统可以根据送料工艺的需要,设置两条生产线的输送、排料、满料、空料等参数值,也可装载系统前次工艺参数值。1.3 系统的主要技术参数:(1) 用一台电机控制两条生产线(2) 要能检测到满料状态,并显示出输送、排料、满料时间(3) 时间误差:0.1秒(4) 具有抗干扰能力第2节 方案论证 2.1 物位传感器的选择物位是指贮存容器或工业生产设备里的液体、粉粒壮固体、气体之间的分界面位置,也可以是互不相溶的两种液体间由于密度不等而形成的界面位置。根据具体用途分为液位、料位、界位传感器或变送器。物位不仅是物料耗量或

5、产量计量的参数,也是保证连续生产和设备安全的重要参数。特别是在现代工业中,生产规模大,速度高,且常有高温、高压、强腐蚀性或易燃易爆物料,对于物位的监视和自动控制更是至关重要。2.2 存储器扩展电路的选择AT89C51单片机是51系列单片机的一个成员,是8051单片机的简化版。内部自带2K字节可编程FLASH存储器的低电压、高性能COMS八位微处理器,与Intel MCS-51系列单片机的指令和输出管脚相兼容。由于将多功能八位CPU和闪速存储器结合在单个芯片中,因此,AT89C2051构成的单片机系统是具有结构最简单、造价最低廉、效率最高的微控制系统,省去了外部的RAM、ROM和接口器件,减少了

6、硬件开销,节省了成本,提高了系统的性价比。2.2.1 24C01扩展:串行总线上的各单片机或集成电路模块,通过一条数据线(SDA)和一条时钟线(SCL),按照通信规约进行寻址和信息传输。每个集成电路模块都有唯伪地址,既可以是主控机(能控制总线,并能完成一次传输过程的初始化和产生时钟信号及传输终止信号的器件)或被控机(被主控器寻址的器件),可以是发送器(在总线1:发送信息的器件)或接收器(从总线上接收治息的器件) IC总线上的器件,根据它的不同工作状态,可分为主控发送器、主控接收器、被控发送器、被控接收器。当多个主控器同时企图控制总线而不丢失信,这叫多主竞争。这时就要进行仲裁,仲裁就是针对这种情

7、况进行裁决的过程。只允许其卞一个主控器继续占用总线,其它退出丰搀器状态。仲裁过程中还要保证总线的信息不丢失。多主竞争时必须对所有参与竞争的主控器的时钟信号进行同步处理。信息传输时,SCL为高电平期间,SDA上的信息必须保持稳定不变,只有SCL为低电平期间,SDA上的信息才允许变化。同时SDA上信息每一位部和SCL的时钟脉冲相对应。SCL没有时钟信号,SDA信息将停止传输处于等待状态。这因为线“与”逻辑,使SCL在低电平时钳住总线。实现线“与”逻辑功能各IC总线接口的输出端必须是漏极开路或集电极开路结构。SCL保持高电平期间,SDA由高电平向低电平变化这种状态定义为起始信号。SCL保持高电平期间

8、,SDA由低电平向高电平变化,这种状态定义为终止信号。SDA传输的每个字节必须8位(最高有效位首先传送),每个传送字节必须跟随一位应答位。与应答信号相应的时钟信号由主控器产生,发送器在这个时钟信号释放SDA,使它处于高电平状态,以便接收由接收器在这位发出的应答信号。这时接收器还必须SCL在这位高电平期间,在SDA上输出一个恒定低电平信气以完成应答信号的输出。整个传输过程中,传输的字节数目是没有限制的。数据传输一段时间后,接收器无法继续接收更多的数据,主控器同样可以终止数据的传送。24C01是一种128字节串行CMOS EEPROM,它具有如下特点:1存储容量为128字节。2串行接口可使用普通两

9、根I/O接口。3具有页写模式:每页4字节。4同步周期小于10ms。它只使用一条数据线和一条时钟线,采用ATMEL公司的24C01串口存储器,应用简单方便,但是其编程较为复杂。2.2.2 2864A芯片扩展:2864A是一种并行EEPROM,它的特点同上,但每页有16字节,2864A与8051单片机的接口电路如下图所示,2864A的片选端与高地址线P27连接,P27=0才能选中2864A,这种线选法决定了2864A对应多组地址空间,即0000H1FFFH,2000H3FFFH,4000H5FFFH,6000H7FFFH,这8K字节存储器可作为数据存储器使用,但掉电后数据不丢失。2864A的四种工

10、作方式:(1)维持方式:当为高电平时,2864A进入低功耗维持状态。此时,输出线呈高阻状态,芯片的电流从140mA下降至维持电流60mA。(2)读方式:当和均为低电平而为高电平时,内部的数据缓冲器被打开,数据送上总线,此时,可进行读操作。(3)写方式:2864A提供了两种数据写入方式:页写入和字节写入。图2-1 2864A扩展电路写方式时,为低电平,在下降沿,地址码A0A12被片内锁存器锁存,在上升沿时数据被锁存片内还有一个字节装载限时定时器,只要时间未到,数据可以随机地写入页缓冲器。字节写入:字节写入的过程与页写入的过程类似,不同之处在于仅写入一个字节,限时定时器就溢出。(4)数据查询方式:

11、数据查询是指用软件来检测写操作中的页存储周期是否完成。在页存储期间,如对2864A执行读操作,那么读出的是最后写入的字节,若芯片的转储工作未完成,则读出数据的最高位是原来写入字节最高位的反码。据此,CPU可判断芯片的编程是否结束。如果读出的数据与写入的数据相同,表示芯片已完成编程,CPU可继续向2864A装载下一页数据。并且编程起来比较简单,所以此设计采用此方案。2.3 LED显示电路选择LED显示器是由N个LED显示块拼接成N位LED显示器。N个LED显示块有N跟位选线,根据显示方式的不同,位选线和段选线的连接方法也各不相同,段选线控制显示字符的字型,而位选线为各个LED显示块的公共端,它控

12、制该LED显示位的亮、暗。LED显示器有静态显示和动态显示两种显示方式。2.3.1 LED静态显示方式LED显示器工作于静态显示方式时,各位的共阴极(或共阳极)连接在一起并接地(或+5V);每位的段选线(adp)分别与一个8位的锁存器输出相连。所以称为静态显示。各个LED的显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止。也正因此如此,静态显示器的亮度都较高。这种显示方式接口编程容易。付出的代价是占用口线较多,若用I/O接口,则要占用4个8位I/O口,若用锁存器接口,则要用4片74LS373芯片。如果显示器位数增多,则静态显示方式更是无法适应,因此在显示位数较多的情况下,一

13、般都采用动态显示方式。2.3.2 LED动态显示方式 在多位LED显示时,为了简化硬件电路,通常将所有位的段选线相应的并联在一起 ,有一个8位I/O口控制,形成段选线的多路复用。而各位的共阳极或共阴极分别由相应的I/O线控制,实现各位的分时选通。其中段选线占用一个8位I/O口,而位选线占用一个4位I/O口。由于各位的段选线并联,段码的输出对各位来说都是相同的,因此,同一时刻,如果各位位选线都处于选通状态的话,4位LED将显示相同的字符。若要各位LED能够显示出与本位相应的显示字符,就必须采用扫描显示方式,即在某一时刻,只让某一位的位选线状态,而其他各位的位选线处于关闭状态,同时,段选线上输出相

14、应位要显示字节的段码。所以,由于本系统只涉及到2位显示输出,就采用了和2片8位移位寄存器串级使用的LED静态显示方式。2.4 键盘输入电路2.4.1 矩阵式键盘接口:矩阵式键盘(也称行列式键盘)适用于按键数目较多的场合,它由行线和列线组成,按键位于行列的交点上。一个33的行列结构可以构成一个有9个按键的键盘。同理,一个44的行列结构可以构成一个16键的键盘,很明显,在按键数量较多的场合,矩阵式键盘与独立式键盘相比,要节省很多的I/O口线。按键设置在行列线交点上,行列线分别接到按键开关两端。行线通过上拉电阻接到+5V上。平时无按键按下时,行线处于高电平状态,而当有按键按下时,行线电平状态将由于此

15、行线相连的列线电平决定。列线电平如果为低电平,则行线电平为低电平,列线电平如果为高电平,则行线电平为高电平。这是识别矩阵键盘按键是否按下的关键所在。2.4.2 独立式按键接口:独立式按键就是各按键相互独立,每个按键各接入一根输入线,一根输入线上的按键工作状态不会影响其他输入线上的工作状态。因此,通过检测输入线的电平状态可以很容易判断哪个按键按下了。独立式按键电路配置灵活,软件简单。但每个按键需要占用一个输入口线,在按键数量较多时,需要较多的输入口线且电路结构复杂。第3节 自动加料机主电路主电路采用AT89C51,由于AT89C51内含4KB容量,因此在设计中不需要外扩ROM。硬件电路主要有LE

16、D显示电路、键盘接受电路、继电器控制电路、EEPROM外部存储器扩展电路,以及看门狗MAX813L等组成。3.1 系统结构原理图主电路采用AT89C51,由于AT89C51内含4KB容量,因此在设计中不需要外扩ROM。硬件电路主要有LED显示电路、键盘接受电路、继电器控制电路、EEPROM外部存储器扩展电路,以及看门狗MAX813L等组成。电路原理框图如图所示:图3-1 自动加料机控制系统硬件框图3.2 主机电路核心器件介绍AT89C51是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含4K bytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据

17、存储器(ROM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元。功能强大AT89C51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。3.2.1 AT89C51主要性能参数1) 与MCS-51产品指令系统完全兼容2) 4K字节可重擦写Flash闪速存储器3) 1000次擦写周期4) 全静态操作:0Hz-24MHz5) 三级加密程序存储器、6) 1288字节内部RAM7) 32个可编程I/O 口线8) 2个16位定时/计数器9) 6个中断源及可编程串行UART通道10) 低功率空闲和掉电模

18、式3.2.2 AT89C51 功能特性概述AT89C51提供以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/0 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可将至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。3.2.3 AT89C51 引脚功能说明图3-2 AT89C51硬件框图Vcc:电源电压 GND:地P0口:P

19、0口是一组8位漏极开路型双向I/O,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用及 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。P1口:P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉倒高电平,此时可作输入口。同时P1接收低8位地址。P2口:P2口是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对

20、端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。同时在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVE DPTR指令)时。P2口送出高8位地址数据。在访问8位地址的外部数据存储器(例如执行MOVX RI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区总R2寄存器的内容),在整个访问期间不改变。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口,P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。同时更重要的用途是它的第二功能,如下表所示:端 口 引 脚 第 二 功 能P3.0

21、 RXD (串行输入口)P3.1 TXD (串行输出口)P3.2 (外中断0)P3,3 (外中断1)P3.4 T0 (定时/计数器0)P3.5 T1 (定时/计数器1)P3.6 (外部数据存储器写选通)P3.7 (外部数据存储器读选通) 图3-3 P3用作第二功能RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将单片机复位。ALE/:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器。ALE仍一时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。但要注意的是:每当访问外部数据存储器时将

22、跳过一个ALE脉冲。EA/VPP:外部访问允许,使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需要注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部会锁存EA端状态。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器3放大器的输出端。3.2.3 空闲节电模式 AT89C51有两种可用软件编程的省电模式,它们是空闲模式和掉点工作模式。这两种方式是控制专用寄存器PCON(即电源控制寄存器)中的PD(PCON.1)和IDL(PCON.0)位来实现的。PD是掉电模式,当PD

23、=1时,激活掉电工作模式,单片机模式,即PD和IOL同时为1,则先激活掉电模式。在空闲工作模式状态,CPU保持睡眠状态而所有片内的外设保持激活状态,这种方式由软件产生。此时,片内RAM和所有特殊功能寄存器的内容保持不变。空闲模式可由任何允许的中断请求或硬件复位终止。终止空闲工作模式的方法有两种,其一是任何一条被允许中断的事件被激活,IDL(PCON.0)被硬件清除,即刻终止空闲工作模式。程序会首先响应中断,进入中断服务程序,执行完中断服务程序并紧随RETI(中断返回)指令后,下一条要执行的指令就是使单片机进入空闲模式那条指令后面的一条指令。其二是通过硬件复位也可将空闲工作模式终止。需要注意的是

24、,当有硬件复位来终止空闲工作模式时,CPU通常是从激活空闲模式那条指令的下一条指令开始继续执行程序的,要完成内部复位操作,硬件复位脉冲要保持两个机器周期(24个时钟周期)有效,在这种情况下,内部禁止CPU访问片内RAM,而允许访问其它端口。为了避免可能对端口产生意外写入,激活空闲模式的那条指令后一条指令不应是一条对端口或外部存储器的写入指令。3.2.4 掉电模式在掉点模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器但不改变RAM中的内容,在VCC恢复到正

25、常电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作。3.3 键盘及显示电路键盘在单片机应用系统中能实现向单片机输入数据、传送命令等功能,是人工干扰单片机的主要手段。本设计采用8255A为I/O扩展。 3.3.1 键盘接口非编码键盘与单片机的接口单片机系统所用的键盘有编码键盘和非编码键盘两种。编码键盘本身除了按键之外,还包括产生键码的硬件电路,只要按下某一个键,就能产生这个键的代码,一般称为键码,同时,还能产生一个脉冲信号,以通知CPU接收(输入)键码。这种键盘的使用比较方便,亦不需要编写很多程序,但使用的硬件较复杂,在微型计算机控制系统中使用还不多。非编码键盘是由一些按键排列成

26、的一个行列矩阵。按键的作用,只是简单地实现接点的接通和断开,但必须有一套相应的程序与之配合,才能产生出相应的键码。非编码键盘几乎不需要附加什么硬件电路,目前,在微型计算机控制系统中使用比较普遍。使用非编码键需要用软件来解决按键的识别,防止抖动以及键码的产生等工作。设有一个6行5列的非编码键盘,其中有16个为数字键0F,其余的为控制键,用以发布各种控制命令。键盘的行线接8155C口的六条线PC5PC0,键盘的列线则接8155B口的5条线。在没有任何键按下时,所有键盘列线上的信号都是高电平。当有按键按下时,就会出现键的识别、防止抖动以及确定键码等一系列问题。按键识别有各种方法,此系统只 “行扫描”

27、法:(1)确定是否有按键按下。CPU通过并行口输出000000到键盘的行线,然后检测键盘的列线信号。若没有键按下,则为11111。若有任一个按键按下,则有某一条列线为0,也就是当PB4PB0不为11111时,就表示有键按下。(2)通过“行扫描”确定已按键的行、列位置。所谓行扫描就是依次给每条行线输入0信号,而其余各行都输入1,并检测每次扫描时所对应的列信号。在图2中就是在C口先输出111110(PC5PC0),然后是111101,直到最后是011111,并检测每次所对应的B口输入。只有在某行上有键按下时,在这一行上输入0(其他行为1),在列输出上才能检测到0信号。若是输入为0的这一行上没有按键

28、按下,则收到的列信号仍然全是1。因此,只要记下列信号不全为1时的C口输出及B口输入,就能确定以按键的位置。设图2中处于第3行第1列的键已按下,则必须是行输出信号为110111,检测到的列信号为11101。对应于其他的行信号,列信号都是11111。这样,通过行扫描,就可以确定按键的行、列坐标。(3)确定是否有多键同时按下。有时一次按下的键不止一个,这在一般情况下是由于误操作引起的,是不应该出现的通常称为窜键。出现这种情况时,就可能有不止一次会得到列信号不为全1,这时就不容易判断哪个键是真正需要按下的。为了处理这种情况可采取两种办法:一是行扫描一定是扫到最后一行才结束,而不是检测到列信号不为全1时

29、就结束,以便发现窜键;二是如果出现了窜键,最简单的处理办法就是这次行扫描不算,再来一遍,即以最后放开的那个键为准。实际上,由于扫描的速度很快,真正找到两个键同时按下的情况是很少的。(4)消除键抖动。一般按键在按下的时候有抖动的问题,即键的簧片在按下时会有轻微的弹跳,需经过一个短暂的时间才会可靠地接触。若在簧片抖动时进行扫描就可能得出不正确的结果。因此,在程序中要考虑防抖动的问题。最简单的办法是在检测到有键按下时,等待(延迟)一段时间再进行“行扫描”,延迟时间为1020ms。这可通过调用子程序来解决,当系统中有显示子程序时,调用几次显示子程序也能同时达到消除抖动的目的。3.3.2 8255A芯片

30、介绍 自动加料系统有8个按键:启动两条生产线的“启动1”键和“启动2”键、分秒选择键、时间设置加/减键、显示生产线状态切换键,时间设置键,时间切换键,由于单片机的并行口有限。本系统采用8255A扩展并行口。3.3.3 8255A引脚功能图3-4 8255A功能介绍8255A共有40个引脚,一般为双列直插DIP封装,40个引脚可分为与CPU连接的数据线、地址和控制信号以及与外围设备连接的三个端口线。D0D7:双向三态数据总线。RESET:复位信号,输入,高电平有效。复位后,控制寄存器清0,A口、B口、C口被置为输入方式。:片选信号,输入,低电平有效。:读信号,输入,低电平有效。有效时,允许CPU

31、通过8255A D0D7读取数据或状态信息。:写信号,输入,低电平有效。有效时,允许A1A0:端口控制信号,输入。2位可构成四种状态,分别寻址A口、B口、C口和控制寄存器PA0PA7:A口数据线,双向。PB0PB7:B口数据线,双向。PC0PC7:C口数据/信号线,双向。当8255A工作于方式0时,PC0PC7分为两组(每组4位)并行I/O数据线;当8255A工作于方式1或方式2时,PC0PC7为A口、B口提供联络信号。 A1A0与 、信号一起,可确定8255A的操作状态,如图所示:A1A0操 作001010000111000A口数据总线B口数据总线C口数据总线输入操作001101011111

32、00000000数据总线A口数据总线B口数据总线C口数据总线控制口输出操作x1xx1xX01x11100数据总线为高阻态非法状态数据总线为高阻态禁止操作图3-5 8255A功能操作 8255A与AT89C51接口电路。在连接键盘电路采用8255A为扩展I/O口时,要在中间加入一个74LS373,74LS373是一个三态门的8D锁存器,它可以作为AT89C51外部的一个扩展输入口,借口电路的工作原理是当外设把数据准备好后,发出一个控制信号加到373的G端,即锁存端,使输入数据在373中锁存,同时信号加到AT89C51单片机的中断请求端,单片机响应中断,在中断服务程序中执行下面程序: MOV DP

33、TR,#0BFFFH MOVX A,DPTR在执行上面的第二条指令时,P2.6=0,有效,通过或门后加到373的端,即373的三态门控制端,使三态门畅通,锁存的数据读入到累加器A中。3.4 外部存储器扩展电路自动加料机存在两条生产线的输送、排料、满料、空料,共8个设置的重要数据需要读/写,并且能够提供掉点保护,所以就需要外阔程序存储器。程序存储器一般采用自读存储器,因为这种存储器在电源关断后,仍能保存程序,在系统上电后,CPU可取出这些指令予以重新执行。只读存储器简称ROM。ROM中的信息一旦写入之后,就不能随意更改,特别是不能在程序运行的过程中写入新的内容,故称之为只读存储器。向ROM中写入

34、信息叫做ROM编程。根据编程的方式不同,ROM分为以下几种:(1)掩膜ROM是在制造过程中编程。因编程是以掩膜工艺实现的,因此称为掩膜ROM。这种芯片存储结构简单,集成度高,但由于掩膜工艺由于成本较高,因此只适合于大批量生产。(2)可编程ROM(PROM)PROM芯片出厂是并没有任何程序信息,是由用户用独立的编程器写入的,但PROM只能写入一次,写入内容后,就不能在进行修改。(3)EPROMEPROM是用电信号编程,用紫外线擦除的只读存储器芯片。在芯片外壳上的中间位置有一个圆形窗口,通过这个窗口照射紫外线射就可擦除原有的信息。(4)E2PROM:这是一种用电信号编程,也用电信号擦除的ROM芯片

35、,对E2PROM的读写操作与RAM存储器几乎没有什么差别,只是写入的速度慢一些,但断电后能够保存信息。此设计采用外扩E2PROM的扩展方式。E2PROM是电擦除可编程自读存储器,其突出优点是能够在线擦除和改写,无须像ERPOM那样必须用紫外线照射才能擦彻,较新的E2PROM产品在写入时能自动完成擦除,且不再需要专用的编程电源,可以直接使用单片机系统的+5V电源。常用的E2PROM芯片有2816/1816A,2817/2817A,2864A。本设计采用的是用2864A的扩展方式。2864A有四种工作方式:(1) 维持方式:当为高电平时,2864A进入低耗维持方式。此时,输出线呈高阻态,芯片的电流

36、从140mA降至维持电流60mA。(2) 读方式:当和均为低电平而为高电平时,内部的数据缓冲器被打开,数据送上总线,此时,可进行读操作。(3) 写方式:2864A提供了两种数据 方式:字节写入和页写入页写入:2864A片内设置了16字节的“页缓冲器”,并将整个存储器阵列划分成512页,每页16个字节。页的区分可由地址的高9位来确定,地址线的低4位用以选择页缓冲器中的16个地址单元之一。写方式时,为低电平,在下降沿,地址码A0A12被片内锁存器锁存,在上升时数据被锁存。片内还有一个字节装载限时定时器,只要时间未到,数据可以随机地写入页缓冲器。在连续向页缓冲器写入数据的过程中,不用担心限时定时器会

37、益处,因为每当下降沿时,限时定时器自动被复位并重新启动计时。字节写入:字节写入的过程与页写入的过程类似,不同之处是仅写入一个字节,限时定时器就溢出。(4) 数据查询方式:数据查询是指用软件来检测写操作中的页存储周期是否完成。在页存储期间,如对2864A执行读操作,那么读出的是最后写入的字节,若芯片的转储工作未完成,则读出数据的最高位是原来写入字节最高位的反码。据此,CPU可判断 的编程是否结束。如果读出的数据与写入的数据相同,表示芯片已完成编程,CPU可继续向2864A装载下一页数据。2864A与单片机接口时,2864A的片选端与高地址线P2.7连接,P2.7=0才能选中2864A,这种线选法

38、决定了2864A对应多组地址空间,即:0000H1FFFFH,2000H3FFFH,4000H5FFFH,6000H7FFFH。这8K字节存储器可作为数据存储器使用,但掉电后数据不丢失。2864A与AT89C51接口电路如图:单片机由于受引脚数的限制,数据线和地址线是复用的,由P0口兼用。为了将它们分离出来,以便同单片机片外的扩展芯片正确的连接,需要在单片机外部增加地址锁存器。我们这本设计中使用74LS373。74LS373是一种带有三态门的8D锁存器,其引脚如图所示图3-6锁存器74LS373的引脚其引脚的功能如下:D7D0:8位数据输入线Q7Q0:8位数据输出线G:数据输入锁存选通信号,高

39、电平有效。当该信号为高电平的时候,外部数据选通到内部锁存器,负跳变时,数据锁存到锁存器中。:数据输出允许信号,低电平有效。当该信号为低电平的时候,三态门打开,锁存器中数据输出到数据输出线。当该信号为高电平的时候,输出线为高阻态。74LS373的功能表见表GDQ0111010000不变1高阻态图3-7 74LS373的功能表连接电路图:图3-8系统连接电路图3.5 看门狗MAX813L电路几乎所有的单片机都需要复位电路,对复位电路的基本要求是:在单片机上电时能可靠复位,在下电时能防止程序乱飞导致EPROM中的数据被修改;另外,单片机系统在工作时,由于干扰等各种因素的影响,有可能出现死机现象导致单

40、片机系统无法正常工作,为了克服这一现象,除了充分利用单片机本身的看门狗定时器(有些单片机无看门狗定时器)外,还需外加看门狗电路;除此以外,有些单片机系统还要求在掉电瞬间单片机能将重要数据保存下来,因掉电的发生往往是根随机的,因而此类单片机系统需要电源监控电路,在掉电刚发生时能告知单片机。MAXIM公司推出的MAX813L刚好能满足这些要求,下面具体介绍该芯片的性能特点及使用方法。 MAX813L有双列直插和贴片两种封装形式,其双列直插,引脚功能如下: 第脚为手动复位输入,低电平有效;第、脚分别为电源和地;第脚为电源故障输入;第脚为电源故障输出;第脚为看门狗输入,第脚为复位输出,第脚为看门狗输出

41、。 MAX813L的性能特点: (1)复位输出。系统上电、掉电以及供电电压降低时,第脚产生复位输出,复位脉冲宽度的典型值为200ms,高电平有效,复位门限的典型值为4.65V。(2)看门狗电路输出。如果在1.6s内没有触发该电路(即第脚无脉冲输入),则第脚输出一个低电平信号。 (3)手动复位输入,低电平有效,第脚输入一个低电平,则第脚产生复位输出。 (4)1.25V门限值检测器,第脚为输入,第脚为输出。当第脚电压低于1.25V时,第脚输出一个低电平信号。 MAX813L的典型应用电路:MAX813L的典型应用电路如图3-9所示。图中单片机以AT89C51为例,MAX813L的第脚与第脚相连。第

42、脚接单片机的复位脚(AT89C51的第脚);第脚与单片机的P1.4相连。在软件设计中,P1.4不断输出脉冲信号,如果因某种原因单片机进入死循环,则P 1.4无脉冲输出。于是1.6s后在MAX813L的第脚输出低电平,该低电平加到第脚,使MAX813L产生复位输出,使单片机有效复位,摆脱死循环的困境。另外,当电源电压低于门限值4.65V时,MAX813L也产生复位输出,使单片机处于复位状态,不执行任何指令,直至电源电压恢复正常,可有效防止因电源电压较低时单片机产生错误的动作。 电源故障输入PFI通过一个电阻分压器监测未稳压的直流电源。当PFI低于125V时,电源故障输出脚第脚PF0变低,可引起A

43、T89C51中断,进行电源故障处理,或将重要数据保存下来。把分压器接到未稳压的直流电源是为了更早地对电源故障告警。图3-9 MAX813L电路MAX813L是一体积小、功耗低、性价比高的带看门狗和电源监控功能的复位芯片;它使用简单、方便,它所提供的复位信号为高电平,因而是应用于复位信号为高电平场合的单片机系统的理想芯片。第4节 软件设计程序设计包括主程序、中断程序、故障处理程序,系统中用到了两个定时器中断:定时器0每隔1.2s使P1.7产生脉冲信号;定时器1产生1s的定时,使LED显示递减。故障处理程序使PC指针跳回到原来起动的相应程序段;主程序完成内部RAM数据区初始化、8255初始化,并根

44、据按键信号跳转到想应程序段。如下图所示程序设计包括主程序、中断程序、故障处理程序,系统中用到了两个定时器中断:定时器0每隔1.2s使P1.7产生脉冲信号;定时器1产生1s的定时,使LED显示递减。故障处理程序使PC指针跳回到原来起动的相应程序段;主程序完成内部RAM数据区初始化、8255初始化,并根据按键信号跳转到想应程序段。开始图5-2图5-1 第5节 结 束 语 本设计是基于AT89C51的自动加料系统没有外扩ROM和RAM,程序直接放在AT89C51内部闪存中。设定数据通过串行口存入2864A中,另外,系统从硬件和软件方面采取了抗干扰措施。充分利用了8255A与AT89C51接口电路的连

45、接,与我们学习的教材中的MCS-51外扩8255A有所不同,让我不但巩固了书上的内容而且还学习和懂的了如何利用书上的东西去设计创新的思维。系统不足之处是在物体送到料斗式干燥机后没有设计如何把物体从干燥机排除来,如果考虑到这一点,那设计就更加完美了。通过这次课程设计,使我得到了在专业知识、专业技能分析和解决问题全面系统的锻炼。同时也使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。参考文献1. 张毅刚、彭喜元,MCS51单片机应用技术,哈尔滨工业大学出版社,2003.72. 何立民,

46、MCS-51单片机应用系统设计,北京航空航天大学出版社,1998.73. 徐爱军,单片机高级语言C51应用程序设计,电子工业出版社,1997.74. 李华,MCS5l系列单片机实用接口技术,北京航空航天大学出版社,1993.35. 王福瑞,单片微机测控系统设计大全,北京航空航天大学出版社,2000.56. 于微波、林晓梅、刘俊萍 ,微型计算机控制系统,吉林人民出版社,2002.57. 陈汝全、林水生、夏利,实用微机与单片机控制技术,电子科技大学出版社.1998.118. 武庆生等,单片机原理与应用,电子科技大学出版社,1998.29. 刘灿军,实用传感器,国防工业出版社,2004.610. 方

47、佩敏,新编传感器原理应用与电路详解,电子工业出版社,1998.6附录系统硬件框图源程序:ORG LJMP IINT0ORG 0080H MAIN:MOV SP,#60H MOV PSW,#00HMOV 71H,#14HMOV 72H,# MOV 73H,#00HMOV 74H,#00HMOV 75H,#00HMOV 76H,#00HMOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#3CHSETB TR0 ;,开中断SETB EASETB ET0JMCGS:JMB P1.2,KK NOPNOPJB P1.2,KKNOPMOV 70H,#01HKK:LJMP JMCGS ;

48、等待中断 ORG 0100H ;中断服务子程序IINT0:PUSH A ;入栈保护PUSH PSWCLR EA ;关中断CLR TR0 DJNZ 71H,ZDFH ;不到2秒直接中断返回MOV A,70HMOV B,72H MVL ABMOV R6,BMOV R5,AMOV R2,#02HLCALL CHUFA MOV 73H,R5 LCALL KZCX MOV 74H,73H ZDFH:SETB EA ;开中断SETB ET0MOV TMOD,#01H 0重新赋初值MOV TL0,#0B0HMOV TH0,#3CHSETB TR0 POP PSW ;出栈POP ARETI ;中断返回CHUF

49、A:MOV R7,#08HCHU1:CLR CMOV A,R5RLC AMOV R5,AMOV A,R6RLC AMOV 07H,CCLR CSUBB A,R2JB 07H,CHU2JNC CHU2ADD A,R2AJMP CHU3CHU2:INC R5CHU3:MOV R6,AJNE R7,CHU1RETKZCX:MAIN A,73H ;控制子程序CJNE A,74H,KZ2 ZJFH:RET ;直接返回KZ2:JC PFKZ CFKZ:MOV B,#03H DIV ABMOV 75H,ACJNE A,#04H,ZJFHJC ZJFHMOV A,75HCJNE A,#0AH,CFKZ1JNC

50、 CFKZ2CFKZ1:MOV TMOD,#10H MOV TL0,#0B0HMOV TH0,#3CHSETB TR1SETB P1.0DELAY:JNB TF1,DELAYCLR TR1CLR TF1CLR P1.0LJMP ZJFHCFKZ2:MOV R4,#02H CFKZ3:MOV TMOD,#10HMOV TH0,#3CHSETB TR1SETB P1.0DELAY:JNB TF1,DELAY1CLR TR1CLR TF1CLR P1.0DJNZ R4,CFKZ3LJMP ZJFHPFKZ:MOV B,#03H DIV ABMOV 76H,ACJNE A,#08H,ZJFHJC ZJ

51、FHMOV A,76HCJNE A,#0AH,PFKZ1JNC PFKZ2PFKZ1:MOV TMOD,#10H MOV TL0,#3CHSETB TR1SETB P1.1DELAY:JNB TF1,8CLR TR1CLR TF1CLR P1.1LJMP ZJFHPFKZ2:MOV R4,#02H PFKZ3:MOV TMOD,#10HMOV TL0,#0B0HMOV TH0,#3CHSETB TR1SETB P1.1DELAY4:JNB TF1,DELAY4 CLR TR1 CLR TF1 CLR P1.1 DJNZ R4,PFKZ3 LJMP ZJFH存储器扩展子程序STORE: SETB

52、 VSDA;SETB VSCL;NOP;NOP;NOP;NOP;CLR VSDA;NOP;CLR VSDA;NOP;NOP;NOP;NOP;CLR VSCL;RET;STOP:CLR VSDA;SETB VSCL;NOP;NOP;NOP;NOP;SETB VSDA;NOP;NOP;NOP;NOP;CLR VSDA;CLR VSCL;RET;MACK: CLR VSDA;SETB VSCL;NOP;NOP;NOP;NOP;CLR VSCL;SETB VSDA;RET;MNACK:SETB VSDA;SETB VSCL;NOP;NOP;NOP;NOP;CLR VSCL;CLR VSDA;RET;C

53、ACK: SETB VSDA;SETB VSCL;CLR F0;MOV C,VSDA;JNC CEND;SETB F0;CEND:CLR VSCL;RET;WRBYT: MOV R0,#08H;WLP: RLC A;JC WR1;AJMP WR0;WLP1:DJNZ R0,WLP;RET;WR1:SETB VSDA;SETB VSCL;NOP;NOP;NOP;NOP;CLR VSCL;CLR VSDA;AJMP WLP1;WR0:CLR VSDA;SETB VSCL;NOP;NOP;NOP;NOP;CLR VSCL;AJMP WLP1;RDBYT:MOV R0,#08H;RLP: SETB V

54、SDA;SETB VSCL;MOV C,VSDA;MOV A,R2;RLC A;MOV R2,A;CLR VSCL;DJNZ R0,RLP;RET;WRNBYT:MOV R3,NUMBYT;LCALL STA;MOV A,SLA;LCALL WRBYT;LCALL CACK;JB F0,WRNBYT;MOV R1,#MTD;WRDA:MOV A,R1;LCALL WRBYT;LCALL CACK;JB F0,WRNBYT;INC R1;DJNZ R3,WRDA;LCALL STOP;RET;RDNBYT:MOV R3,NUMBYT;LCALL STA;MOV A,SLA;LCALL WRBYT

55、;LCALL CACK;JB F0,RDNBYT;RDN:MOV R1,#MRD;RDN1:LCALL RDBYT;MOV R1,A;DJNZ R3,ACK;LCALL MNACK;LCALLSTOP;RET;ACK:LCALL MACK;INC R1;SJMP RDN1;中断服务子程序:X0S: MOV DPTR,#2000H MOVX DPTR,A SETB TR0 MOV 3AH,#20H MOV 3BH,#00H MOV R7,#00H MOV R6,#04H CLR 70HX0S0: CLR01HX0S1: JNB 01H,X0S1 CJNE R6,#00H,X0S0 CJNE R7

56、,#00H,X0S0 CLR TR0 CLR EX0 SETB 00H RETI键盘程序:KEYI:ACALL KS1;调用判有无键闭合子程序JNZ LK1;有键闭合,跳LK!NI: ACALL DIR;无键闭合,调用显示子程序,延时AJMP KEYILK1: ACALL DIR;可能有键闭合,延时12MS软件区ACALL DIRACALL KS1;调用判有无子程序JNZ LK2;经去消抖,判断确实有键按下跳ACALL DIR;调用显示子程序延时6MSAJMP KEYI;抖动引起跳KEYI去处理 LK2: MOV R2,#0FEH;列选码R2 MOV R4,#00H;R4 为列号计数器 LK4: MOV DPTR,#7F01H;列选码8155HMOV A,R2MOVX DPTR,AINC DPTR;数据指针增2,指向PC口INC DPTRMOVX A,DPTR;读8155H的PC口JB Acc.0,LONE;第0行线为高,无键闭合,跳LONE;转判第1行MOV A,#00H;第0行有键闭合,首键号A AJMP LKP;跳LKP,计算键号LONE: JB Acc.1,LTOW;1行线为高,无键闭合,跳LTW0;转判断第2行 MOV A,#08H;1行有键闭合,首键号8A AJMP LKP;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!