设置X地址 0 0 1 0 1 1 1 X:0~7 设置DDRAM中的页地址
设置Y地址 0 0 0 1 Y:0~63 设置列地址
读状态 1 0 BUSY 0 On/off RST 0 0 0 0 读取状态:BUSY=0,
可显示;BUSY=1,忙
ON/OFF=1,
显示开;ON/OFF=0,
显示关
RST=1,复位;RST=0,正常
写数据 0 1 写数据 将数据线上数据写入DDRAM
读数据 1 1 读显示数据 将DDRAM中的数据读入数据线
LCD12864的数据线DB0~DB7与单片机的P0口相连,由于P0口作为通用I/O口时,输出级是开漏电路,故当它驱动负载时,需加上拉电阻才有高电平输出,而 LCD12864的CS1、CS2、RS、DI、E引脚可以与单片机其它的端口相
连。具体电路如图9所示。
图9 LCD12864显示电路图
4.6 声光报警电路
图10 声光报警电路图
图10为声光报警电路,其中R8,R9为限流电阻,当P1.4端口输出为高电平时,三极管导通,此时LED和与扬声器都有电流流过, LED灯被点亮,扬声器发出报警信号;当P1.4口输出为低电平时,三极管截止,此时LED和与扬声器都没有电流流过,LED灯不发光,扬声器也不发出报警声音[9]。此报警电路的作用是根据车辆间的相对距离远近来发出不同的信号,当车辆间的距离大于5米时绿色指示灯亮,表示相对安全;当汽车距障碍物距离大于1米小于5米时,黄色报警指示灯亮,表示需要注意车速,谨慎驾驶;当距离小于1米时,红色指示灯点亮,扬声器发出报警声表示提醒驾驶者必须采取适当操作,安全驾驶,避免追尾事故的发生。
5. 系统软件设计
5.1 主程序流程设计
本系统采用C语言编程[10],编程软件是Keil uVision4。C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言有功能丰富的库函数、编译效率高、运算速度快、有良好的可移植性,而且可以直接实现对系统硬件的控制。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加了软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。本系统的程序包括主程序、超声波发射及接收子程序、测温子程序、距离计算子程序、显示报警子程序等。主程序流程图如图11所示。系统上电后,首先将进行系统初始化操作,设置T0为方式1定时器模式,置位总中断允许位EA并将显示端口P0清零。然后启动定时器T0计时60ms,在T0中断时开始发射超声波并开启T1定时器开始计时,设置T1为方式1计时模式,然后不停地检测P3.3端口是否接收到超声波回波,一旦接收到返回超声波信号(即INT1引脚出现低电平),立即进入中断程序。进入中断后就立即关闭计时器T1停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T1溢出中断将外中断1关闭,并将测距成功标志字赋值0以表示此次测距不成功。之后,调用测温子程序和距离计算子程序,根据计算出的距离判断是否发出报警信号,并将距离和温度送至LCD显示,然后再发超声波脉冲重复测量过程。
图11 主程序流程图
- 上一篇:AT89S51智能交通灯控制系统的设计+VB源程序+仿真图
- 下一篇:51单片机公交车语音播报及显示系统设计+流程图+源码
-
-
-
-
-
-
-
江苏省某高中学生体质现状的调查研究
NFC协议物理层的软件实现+文献综述
中国传统元素在游戏角色...
g-C3N4光催化剂的制备和光催化性能研究
现代简约美式风格在室内家装中的运用
巴金《激流三部曲》高觉新的悲剧命运
高警觉工作人群的元情绪...
C++最短路径算法研究和程序设计
浅析中国古代宗法制度
上市公司股权结构对经营绩效的影响研究