单片机课程设计题目水流量显示器学院电子工程学院专业自动化班级学号姓名组员指导教师2018年 5 月引言21. 任务设计22. 系统硬件电路的设计32.1主芯片STC89C5232.1.1主要性能32.1.2芯片功能特性简述:32.1.3引脚功能42.2时钟电路52.3复位电路52.4液晶显示电路62.4.1显示特性62.4.2引脚说明62.4.3接口时序82.4.4初始化指令:102.5水流量测量电路122.6按键控制电路133. 软件系统的设计133.1软件设计总流程133.2水流量程序模块143.2.1水流量的读取程序143.3显示程序164. 总结16参考文献17附件1. 原理图17附件3 仿真图185. 程序19引言随着现代社会的进步,经济的发展,人们对精神领域的追求更高,对生活水平的要求更高。
现代的家居生活是一种高品位、高质量、个性化、智能化的方式。
本系统就是基于STC89C52单片机控制的智能家居系统,可以实际监控室内各种不同的家电设备,并能通过液晶屏动态显示当前工作状态。
该系统与传统的智能家居系统相比,具有功能多样化、成本造价低等优点,且符合当今社会智能、节能、环保的发展观念,并在人们享受高品位、高质量、个性化、智能化生活的同时提高人们的节约意识。
由于智能家居系统有众多模块,本课题只采取其中的水流量模块进行单独设计。
关键词:单片机水流量传感器1.任务设计当打开水龙头时,根据单片机STC89C52的指令、水流量计传感器采集水流量状态。
当单片机STC89C52扫描到水流量计传感器的脉冲数,经过单片机STC89C52处理,计算出所采集的水流量后,通过液晶屏LCD1602能动态显示当前水流量。
2.系统硬件电路的设计2.1主芯片STC89C522.1.1主要性能1)与MCS-52单片机产品兼容、8K字节在系统可编程Flash存储器2)1000次擦写周期3)全静态操作:0Hz~33Hz4)三级加密程序存储器5)32个可编程I/O口线6)三个16位定时器/计数器八个中断源7)全双工UART串行通道8)低功耗空闲和掉电模式9)掉电后中断可唤醒10)看门狗定时器11)双数据指针12)掉电标识符2.1.2芯片功能特性简述:STC89C52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。
使用高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8 位CPU 和在线系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
STC89C52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
8 位微控制器 8K字节在系统可编程 Flash。
P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/V PD P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RDXTAL2XTAL1V SS V CCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/V PP ALE/PROG PSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0图2-1 单片机引脚2.1.3引脚功能表2-1 STC89C52引脚介绍说明2.2时钟电路单片机的最小系统有三部分组成,即电源,时钟电路和复位电路。
其中单片机的电源引脚与5V电源连通即可,而时钟电路和复位电路还需接口扩展,这也是单片机的基本电路操作。
时钟电路用于产生单片机工作所需的时钟信号,时序是指令执行中各信号之间的相互关系。
单片机本身就如同一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。
在STC89C52单片机内部带有时钟电路,因此,只需要在片外通过XTAL1和XTAL2引脚接入定时控制元件(晶体振荡器和电容>,即可构成一个稳定的自激振荡器。
在STC89C52芯片内部有一个高增益反相放大器,而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容。
在单片机的XTAL1脚和XTAL2脚之间并接一个晶体振荡器就构成了内部振荡方式。
STC89C52单片机内部有一个高增益的反相放大器,XTAL1为内部反相放大器的输入端,XTAL2为内部反相放大器的输出端,在其两端接上晶振后,就构成了自激振荡电路,并产生振荡脉冲,振荡电路输出的脉冲信号的频率就是晶振的固有频率。
在实际应用中通常还需要在晶振的两端和地之间各并上一个小电容。
图2-2 时钟电路用晶振和电容构成谐振电路。
电容大小与晶振频率和工作电压有关。
但电容的大小影响振荡器的稳定性和起振的快速性,为了提高精度,本实验板采用20pF的电容作为微调电容。
在设计电路板时,晶振、电容等均应尽可能靠近芯片,减小分布电容,以保证振荡器振荡的稳定性。
2.3复位电路复位是单片机的初始化操作,其目的是使CPU和系统中各部分处于一个确定的状态,并从这一状态开始工作。
系统上电路或死机后都要进行复位操作。
单片机的RST引脚为复位引脚,振荡电路正常工作后,RST端加上持续两个机器周期的高电平后,单片机就被复位。
复位电路有3种基本方式:上电复位,开关复位和看门狗复位。
图2-3 复位电路本课题采用按键开关复位是指通过接通按钮开关,使单片机进入复位状态。
开关复位电路一般不单独使用。
在应用系统设计中,若需使用开关复位电路,一般的做法是将开关复位与上电复位组合在一起形成组合复位电路,上电复位电路完成上电复位功能,开关复位电路完成人工复位。
图2-3中C7与R1构成了上电复位电路。
上电复位后,电源经R1对C7充满电源,C7等效于开路,RST端为低电平;单片机正常工作。
按开关K1后,C7两端电荷经R1迅速放电,K1断开后,由C7、R1及电源完成对单片机的复位操作。
在上述电路中C7、R1按上电复位电路的设计而取值。
复位电路的作用非常重要,能否成功复位关系但单片机系统能否正常运行的问题。
如果振荡电路正常而单片机系统不能正常运行,其主要原因是单片机没有完成正常复位,程序计数器的值没有回0,特殊功能寄存器没有回到初始状态。
这时可以适当地调整上电复位电路的阻容值,增加其充电时间常数来解决问题。
2.4液晶显示电路课题任务要求以LCD1602芯片显示单片机处理后的温度、水费和水流量,在此有必要详尽的介绍LCD1602的特性和用法。
2.4.1显示特性只需5V 电源电压,低功耗、长寿命、高可靠性内置 192 种字符<160个 5×7 点阵字符和 32 个5×10 点阵字符)具有 64 个字节的自定义字符 RAM显示方式:STN、半透、正显驱动方式:1/16DUTY,1/5BIAS视角方向:6点背光方式:底部 LED通讯方式:4位或 8 位并口可选标准的接口特性:适配 MC51 和M6800 系列 MPU的操作时序。
2.4.2引脚说明2.4.3接口时序图2-5 时序图表2-3 液晶1602时序图标号说明程序实现如下:/************************写指令程序************************/ void wr_com(unsigned char com> //写指令{delay(1>。
//延时1msRS=0。
//写命令设置RW=0。
//并行数据的读写EN=0。
//使能为0P2=com。
//输入命令delay(1>。
//延时1msEN=1。
//使能为1delay(1>。
//延时1msEN=0。
//使能为0}/**********************写数据程序***********************/ void wr_dat(unsigned char dat>// 写数据{delay(1>。
//延时1msRS=1。
//写数据设置RW=0。
//并行数据的读写EN=0。
//使能为0P2=dat。
//输入数据delay(1>。
//延时1msEN=1。
//使能为1delay(1>。
//延时1msEN=0。
//使能为0}2.4.4初始化指令:清除液晶显示器,即将DDRAM的内容全部填入"空白"的ASCII码20H。
光标归位,即将光标撤回液晶显示屏的左上方。
将地址计数器(AC>的值设为0。
把光标撤回到显示器的左上方。
把地址计数器(AC>的值设置为0。
保持DDRAM的内容不变表2-6进入模式设置指令符是否移动。
表2-7显示开关控制指令表2-8设定显示屏或光标移动方向指令功能设定指令表2-9功能:设定数据总线位数、显示的行数及字型。
参数设定的情况如下:表2-10设定CGRAM地址指令功能:设定下一个要存入数据的CGRAM的地址。
表2-11设定DDRAM地址指令(注意这里我们送地址的时候应该是0x80+Address,这也是前面说到写地址命令的时候要加上0x80的原因>表2-12读取忙信号或AC地址指令读取忙碌信号BF的内容,BF=1表示液晶显示器忙,暂时无法接收单片机送来的数据或指令。
当BF=0时,液晶显示器可以接收单片机送来的数据或指令。
读取地址计数器(AC>的内容。
表2-13数据写入DDRAM或CGRAM指令一览将字符码写入DDRAM,以使液晶显示屏显示出相对应的字符。
将使用者自己设计的图形存入CGRAM。
单片机和LCD液晶显示器的连接图2-6 液晶显示电路2.5水流量测量电路课题任务中最重要的是水流量的测量。
通过水流量传感器的数据采集,根据商家的水流量传感器的参数可以得出单片机在运算时的数据。
水流量传感器参数:环境温度:-10~55℃流量计算在流量为:0.2~0.4L/Min时,1L=2100次。
0.5~0.8L/Min时,1L=2280次;0.9~1.2L/Min时,1L=2350次;1.2~2.5L/Min时,1L=2460次。
<脉冲次数在流量变化时有一定程度的变动)接线方法白线:信号输出;黑线:电源负<也可按客户要求定做)测量精度:±5%<在流量稳定的系统,精度可达±2%)工作电压:DC0~~24V工作压力:≤100PSI<7kg/cm>耐湿性能:在环境湿度为90%以下时性能保持稳定寿命测试:本产品用进口干簧管作感应元件,在负荷小于24V 1mA前提下, 开关寿命大于3亿次。