89C52的自动售水系统的设计与制作

89C52的自动售水系统的设计与制作[20200128190618]
【摘要】
本论文设计一个基于89C52的自动售水系统,此系统以单片机为核心,通过控制按键的关闭控制数码管的显示,从而控制售水各功能的显示。系统硬件电路主要由单片机控制电路,数码管显示电路,A/D转换电路和功能按键组成。
本文首先对基于89C52的自动售水系统的原理进行了阐述,接着提出了具体的设计方案,并对系统硬件电路和软件编程给出了详细的设计。
 *查看完整论文请+Q: 351916072 
关键字:】数码显示;声光控制;扫描显示
目  录
前言    1
一、自动售水机的原理及制作方案    2
二、硬件电路基本模块    3
(一)STC89C52RC单片机    3
(二)电源供电方式    5
(三)PCF8591芯片    5
(四)光敏电阻    7
(五)LED显示模块    8
三、硬件电路设计    8
(一)单片机最小系统    8
(二)数码管显示部分    9
(三)PCF8591芯片 A/D转换电路    10
(四)继电器电路    10
(五)按键电路    11
四、软件设计    12
(一)LED扫描显示程序设计    12
(二)单片机外围I2C总线的驱动程序设计    12
(三)AD转换单元    13
(三)单片机对按键程序设计    15
五、调试    16
(一)软件调试    16
1、keil程序编译仿真    16
2、程序的烧烤下载    16
(二)硬件调试    18
1、元器件清单    18
2、安装调试过程    19
(三)proteus仿真及调试结果    20
总 结    22
致谢    23
参考文献    24
附录1 售水机电路原理图及实物图    25
附录2 售水机程序代码    26

一、自动售水机的原理及制作方案
单片机控制的自动售水机系统是通过以单片机为核心,通过按键控制售水机水流出和停止,通过数码管显示费率,出水量及总费率;通过光敏电阻检测环境亮度,在亮度过低的情况下,自动开灯。系统硬件电路主要由单片机控制电路,数码管显示电路,A/D转换电路及功能按键组成。
本设计通过对单片机进行编程从而控制所需要的功能,分别在程序中给二个功能按键单独的位码,通过控制位码的识别从而控制数码管的显示。其具体功能是当售水机未工作时,按键S7 为出水控制按键,当S7 按下后,售水机持续出水(继电器接通,指示灯L10 点亮)。设定按键S6 为停水控制按键,当S6 按下后,停止出水(继电器断开,指示灯L10 熄灭)。
当天亮时,光敏电阻阻值变小,开关打开。当天暗或黑天时,开关闭合,光信号信号转换成电信号,通过电路转换传输使灯点亮。
本设计的软件部分主要通过C语言进行编程,在编主程序之前首先要编写所使用各种芯片的IC驱动程序,以及A/D转换程序。这些程序编写比较困难,但是在平时的学习中以经接触过不少这类程序,且此类程序有很大的通用性,以减少程序编写的工作量。目前市场上的自动售水机种类繁多,其主要的区别在于硬件的设计和软件的编程。
在硬件设计方面,单片机虽电路简单、芯片少、成本低,但编写程序相当复杂。经过一番利弊的权衡及对今后电子业发展趋势的考量,最后敲定用单片机方案实现。
通过C语言编程,优点是C语言是高级语言,可以实现跨平台。编写程序无需指定CPU的指令执行情况,一段程序可以在不同体系结构的计算机上使用。由于曾经对C语言进行过学习,所以选用C语言进行软件编程。
综合上述我决定选用单片机作为我的主控芯片,其原理框图如图1.1所示。
(一)STC89C52RC单片机
STC89C52RC单片机概述:89C52是一个低电压,高性能CHMOS 8位单片机,片内含4kbytes的可反复擦写的只读Flash程序存储器和随机存取数据存储器(RAM)等,兼容标准MCS-51指令系统,片内含有8位中央处理器及Flash存储单元,其原理图如2.1图。
 STC89C52RC是一个功能强大的单片机,但它只有40个引脚,32个双向输入/输出(I/O)端口,其中P1是一个完整的8位双向I/O口,两个外中断口,两个16位可编程定时计数器,两个全双向串行通信口,一个模拟比较放大器。
由于此单片机采用了动态设计,能达到很宽的操作频率范围。而且拥有睡眠时间设计等外围功能,系统通过RAM、串行口和外中断口的方式将单片机唤醒工作,当系统被唤醒时即进入继续工作的状态。在省电模式工作下,片内RAM将被冻结,停止振荡,关闭所有功能停止工作,直到硬件被再次复位后重新工作。
 在本设计中STC89C52RC的时钟电路为内部时钟,此方式是在XTAL1和XTAL2两端跨接晶体谐振器。在本设计中XTAL1和XTAL2两端跨接12MHz晶体振荡器,其发出的脉冲直接送入内部时钟电路。本设计采用按键手动复位的按键复位。
STC89C52是一个低功耗高性能单片机,其组成包括引脚,外部双向输入/输出端口,且含有中断口,可编程定时计数器,2个全双工串行通信口。其通常将的处理器和Flash存储器连接在一起,特别是运用可反复擦写的Flash存储器等器件降低了成本提高应用范围。
89C52通常由4096个8位掩膜ROM,用于存放用户程序表格及原始数据等。
 定时: 8052有两个16位的可编程定时器,用来实现程序功能的各种的应用。
并行输入输出口: 8052共有4组8位I/O口,用于对外部数据的传输。
全双工串行口: 8052内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。
 中断系统: 8052具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选。
VCC:供电电压。 GND:接地。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。 但在访问外部数据存储器时,那么这两次有效的/PSEN信号都将不出现。


版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jxgc/zdh/4492.html

好棒文