STC12C5A60S2单片机课程设计报告

合集下载

基于STC12C5A60S2的无线控制语音小车

基于STC12C5A60S2的无线控制语音小车

课程设计报告——单片机课程设计题目:基于STC12C5A60S2的无线控制语音小车院系:机电工程学院专业: 2012级电子科学与技术学号:20120661125 20120661123学生姓名:沈志亮林振辉指导教师:林俊武起止日期: 2014年 10月27日——2013年 11月3日目录一、设计任务.................................................................................................... - 1 -二、设计方案.................................................................................................... - 1 -三、各单元电路设计 (2)四、程序设计 (7)参考文献 (7)附录 (8)基于 STC12C5A60S2的无线控制语音小车一、设计任务通过基于STC12C5A60S2的无线控制语音小车电路设计,使我们掌握单片机的工作原理,和NRF24L01无线模块、及ISD1700语音模块的工作原理和设计方法,训练我们的动手能力,培养独立解决问题的能力,为今后电路设计和电类后续课程的学习奠定基础。

1. 设计一辆智能小车,运用NRF24L01无线模块进行远程无线控制; 2. 要求在倒车的时候,会有语音提示。

3. 左右转要能控制轮子转动的角度,通过舵机来实现二、设计方案方案一:运用STM32单片机和L24L01-D03无线模块来实现小车的基本功能。

方案二:运用STC12C5A60S2单片机和24L01无线模块来实现小车的基本功能。

系统总体方案如图1所示。

整个系统由单片机最小控制系统、电源模块、电机及驱动、无线通信模块、模式选择模块、语音模块等。

智能小车上电后,可由模式选择模块来确定小车的工作模式(作为主机或从机等)。

毕业设计-基于STC12C5A60S2单片机的数字温湿度计设计

毕业设计-基于STC12C5A60S2单片机的数字温湿度计设计

东莞理工学院本科毕业设计毕业设计题目:温湿度控制器学生姓名:学号:系别:专业班级:指导教师姓名及职称:刘华珠高级工程师起止时间:2011年11月—— 2012年6月摘要本论文介绍了一种以单片机STC12C5A60S2为主要控制器件,以PT100,SHT15分别为温,湿度传感器。

本设计主要包括硬件电路的设计和系统软件的设计。

硬件电路主要包括控制器,测温湿控制电路和显示电路等。

控制器用带有AD转换的单片机,温度传感器PT100,湿度传感器采用SHT15,显示电路采用1个8位共阴极LED数码管,用锁存器是显示效果更好。

测温湿控制电路由温湿度传感器和预置温湿度值比较报警电路组成,当实际测量温湿度值大于预置温湿度值时,发出报警信号(发光二极管点亮)而且使外电路驱动(继电器动作)。

软件部分主要包括主程序,测温湿度子程序,显示子程序和按键子程序等。

本次设计采用的SHT15湿度传感器包括一个电容式聚合体测湿元件和一个能隙式测温元件,并与一个14位的A/D器以及串行接口电路在同一芯片上实现无缝链接,从而具有超快响应,抗干扰能力强,性价比高等优点。

而且PT100在要求的范围内线性度很好。

关键词:温度测量, 湿度测量,温度算法,PT100,SHT15ABSTRACTThis paper presents a new design of digital thermometers and hygrometer. It includes a main control device-microcontroller STC12C5A60S2 and a temperature and humidity sensor. This design includes hardware and system software .The hardware design includes a main controller circuit, Temperature and Humidity measurement and control circuits and show circuit. Main controller uses SCM STC12C5A60S2,temperature sensor uses PT100,and humidity sensor uses SHT15,Show circuit is a total of eight circuits using digital LED of the Altogether. Driver show circuit uses atches (74573). Temperature and Humidity control circuit includes the temperature and humidity sensor and preset temperature and humidity values compared alarm circuit. When the actual measurement of temperature or humidity values is greater than the preset temperature or humidity values, the alarm signal (Light emitting diode is lit) is sent. And output circuit will be sent(Relay action) .The major software includes the main routines, temperature and humidity routines, show routines and digital-to-analog routines.The humidity sensor (SHT15) in this design includes a capacitive polymer sensing element for power consumption makes it the ultimate choice for even relative humidity and a band gap temperature sensor. Both the most demanding applications are seamlessly coupled to a 14bit analog to digital converter with a 14 and the A / D, as well as serial interface circuits in the same chip on the realization of a Gap link to a super-fast response, anti-interference capability and cost-effective advantages.And PT100 within the required range linearity is very good.The design of digital thermometers and hygrometer with STC12C5A60S2 and PT100 and SHT15, not only has a simple external circuit, but also has a high-precision measurement.KEY WORDS: temperature measurement, humidity measurements, PT100,SHT15目录前言 (1)一设计任务要求和温湿度计的发展史 (1)1.1 设计任务及要求 (1)1.2 设计温湿度计的依据和意义 (1)1.3 温度计的发展史 (2)1.4 湿度计的由来 (3)1.5 露点意义 (3)二设计任务分析及方案论证 (4)2.1 设计总体方案及方案论证 (4)2.2 元器件的选择 (5)2.2.1 主控制器芯片 (5)2.2.2 温湿度传感器 (7)2.2.3 驱动显示电路 (8)2.3 温湿度测量的方法及分析 (9)三硬件电路的设计 (10)3.1 主控制电路和测温湿控制电路 (10)3.2 驱动显示电路 (12)四软件设计及分析 (13)4.1 SHT15传输时序和指令集]7[与测温模块 (13)4.1.1通讯复位时序 (13)4.1.2启动传输时序 (14)4.1.3 数据传输和指令集 (14)4.1.4湿度的测量时序 (15)4.1.5 输出转换为物理量 (15)4.1.6 SHT15的DC特性 (17)4.2 程序流程图 (19)4.3 程序的设计 (20)4.3.1 SHT15的初始化程序 (20)4.3.2 毕业设计.c是主函数,做了温度的算法 (26)4.3.3 AD转换子程序 (35)4.3.4 LED显示子程序 (36)4.3.5 软件在硬件上的调试分析 (45)结论 (46)参考文献 (47)致谢 (48)附录 (48)引言温度与湿度与人们的生活息息相关。

毕业设计(论文)-基于STC12C5A60S2的智能车设计

毕业设计(论文)-基于STC12C5A60S2的智能车设计

题 目: 基于S T C 12C 5A 60S 2单片机的智能车设计 小组成员: 班 级:13级计算机网络技术班 指导教师: 2016年05月毕业设计说明书学校代码: 10129系 别: 计算机技术与信息管理系 年 份: 2016摘要沿袭着前一辈工程师的研发思路,使用资料较多的单片机和原理较简单的传感器搭建一个能够实现壁障和遥控功能的小车还是可以实现的。

通过单片机对传感器和模块的控制和处理,让各个模块和芯片按照目的要求运作,便是这次设计的主要目的。

本文的研究的思想就是利用单片机控制技术和传感器技术相结合,以STC12C5A60S2单片机为核心,L298N电机驱动、超声波模块、LM339电压比较器、LCD12864显示屏、HC-06从机蓝牙模块组成智能小车。

利用LCD显示技术实现数字化显示。

通过采集传感器的数据交给单片机处理并按照设定的程序代码区控制小车的运行。

关键词:智能小车;单片机;红外壁障;超声波测距;蓝牙模块AbstractArtificial intelligence as a new product of modern society, some time ago, Google Corporation developed AlphaGo program to beat the world chess champion, the artificial intelligence has been pulled into the people's vision. Artificial intelligence will be the trend of future development. In the rapid development of the software at the same time, the hardware circuit also is in a period of rapid development, with the development of large-scale and ultra large scale integrated circuit prompted more and more intelligent hardware volume becomes smaller and smaller, more outstanding performance. In the development of high-tech industries at the same time, the power of life science and technology is constantly expanding people's horizons. Typical is the advent of smart phones, Samsung apple HUAWEI as the representative, quickly put the previous generation of functional machine market occupied, and update speed is still accelerating. Followed by the UA V, Xinjiang zero as the representative, consumer grade UA V also began to appear in people's field of vision, lowered the threshold, so that everyone can become a professional aerial expert. And intelligent vehicle currently in China is still in the development stage to be temporarily without a can as the flagship model of the benchmark, which prompted the a large number of innovative companies in the continuous thinking and research, the purpose is to fill the smart car a gap in the market.Followed the previous generation of Engineers research and development ideas, the use of more information on the microcontroller and the principle of a simple sensor to build a wall barrier and remote control function of the car can still be achieved. Through the control and processing of the sensor and the module, it is the main purpose of this design to make each module and the chip operate according to the purpose.Key words: intelligent car;single chip microcomputer;infrared wall obstacle;ultrasonic distance measuring;Bluetooth module目录第1章绪论 (1)1.1 智能车研究的背景和意义 (1)1.2 智能车的研究现状 (1)1.3 智能车研究目前常用的方法 (1)第2章系统需求分析 (3)2.1 系统设计与功能 (3)2.2 系统设计原理图 (3)2.3 主要器件介绍 (3)2.3.1 单片机 (3)2.3.2 LCD12864显示模块 (10)2.3.3 HC-SR04超声波传感器 (11)2.3.4 L298N电压驱动芯片 (12)2.3.5 LM339电压比较器芯片 (12)2.3.6 DS18B20温度传感器 (13)2.3.7 HC-06从机蓝牙模块 (14)2.3.8 9G小舵机 (14)第三章系统硬件设计 (16)3.1 单片机最小系统 (18)3.2 基于L298N的电机驱动电路设计 (19)3.3 基于LM339的红外探测传感器设计 (20)3.4 LCD12864液晶屏电路 (21)3.5 蜂鸣器电路 (22)3.6 超声波模块电路 (23)3.7 DS18B20温度传感器电路 (23)3.8 串口程序烧录及串行蓝牙通讯电路 (23)3.9 PCB板图 (24)3.10实物图 (26)第四章系统软件设计 (27)4.1 开发环境 (27)4.2 软件程序设计 (28)4.2.1 软件延时程序设计 (28)4.2.2 液晶屏程序设计 (28)4.2.3 超声波程序设计 (29)4.2.3 红外壁障程序设计 (29)4.2.4 DS18B20程序设计 (29)4.2.5 HC-06蓝牙模块程序设计 (30)4.2.6 舵机旋转程序设计 (31)4.2.7 主函数程序设计 (32)第五章系统测试 (33)5.1 硬件测试 (33)5.2 软件测试 (33)5.3 软件的下载 (34)总结 (38)参考文献 (39)致谢 (40)第一章绪论第1章绪论众所周知,科技行业现在的发展状况可以用日新月异来形容,即使技术含量极高的航天事业,也能被其他国家独立研发出来,前几年的朝鲜发射卫星就是鲜明的例子。

12C5A60S2水温控制程序

12C5A60S2水温控制程序
[关键词] STC12C5A60S2单片机;DS18B20;显示电路
Abstract: Along with the computer measurement and control technology of the rapid development and wide application, based on singlechip temperature gathering and control system development and application greatly improve the production of temperature in life level of control. This design STC12C5A60S2describes a kind of mainly by MCU control unit, for temperature sensor DS18B20 temperature control system. The control system can real-time storage temperature data and record related to the current time. System design related hardware circuit and related applications. STC12C5A60S2 microcontroller hardware circuit include temperature detection circuit smallest system, and real-time clock circuit, LCD display circuit, communication module circuit, etc. System programming mainly include main program, read temperature subroutine, the calculation of temperature subroutines, key processing procedures, LCD display procedures and data storage procedures, etc.

基于STC12C5A60S2单片机GPS信号控制系统设计

基于STC12C5A60S2单片机GPS信号控制系统设计

基于STC12C5A60S2单片机GPS信号控制系统设计GPS(全球定位系统)是目前最为常用的导航系统之一,可以为用户提供准确的定位和导航服务。

本文将基于STC12C5A60S2单片机设计一个基本的GPS信号控制系统。

一、系统架构系统包括GPS接收模块、单片机主控模块和显示模块三部分。

1.GPS接收模块负责接收来自GPS卫星的导航信号,并通过串行通信将数据传输给单片机主控模块。

2.单片机主控模块负责对接收到的GPS数据进行处理和控制,包括解析经纬度、计算航向角等,并通过串行通信将这些数据传输给显示模块。

3.显示模块可以根据接收到的GPS数据显示当前位置的经纬度、航向角等信息。

二、硬件设计系统的硬件设计主要包括以下几个方面。

1. GPS接收模块选用高灵敏度的GPS接收器,例如u-blox NEO-6M,该模块可以通过串行通信将接收到的导航数据传输给单片机主控模块。

GPS接收模块需要设计合适的天线,并与单片机主控模块进行连接。

2.单片机主控模块选用STC12C5A60S2单片机作为核心芯片,该芯片具有较高的性能和稳定性,可以满足系统的要求。

单片机主控模块需要设计合理的电源电路、串行通信接口和相关的外设接口。

3.显示模块可以选用LCD显示屏,通过串行通信接收来自单片机主控模块的GPS数据,并进行显示。

三、软件设计系统的软件设计主要包括以下几个方面。

1.GPS接收模块的软件设计需要使用合适的驱动程序,可以完成GPS导航数据的接收和解析,并通过串行通信将数据传输给单片机主控模块。

2.单片机主控模块的软件设计需要完成串行通信的初始化和配置,以及对接收到的GPS数据的处理和控制。

具体包括解析经纬度、计算航向角等,并通过串行通信将这些数据传输给显示模块。

3.显示模块的软件设计需要接收来自单片机主控模块的GPS数据,并进行显示。

可以使用合适的显示库完成相关功能。

四、系统功能1.实时定位和导航:接收来自GPS卫星的导航信号,解析经纬度信息,实现实时定位和导航功能。

基于STC12C5A60S2单片机的温度监测系统设计

基于STC12C5A60S2单片机的温度监测系统设计

基于STC12C5A60S2单片机的温度监测系统设计摘要在机械、化工、纺织等行业,随着生产规模的不断扩大,以及对生产过程集中监控的迫切要求,现场总线技术应运而生,并成为了当今测控领域研究的热点之一。

在实际的生产实验环境下,由于系统内部和外界的热量交换是很难控制的,而且其他干扰因素也是无法去精确计算的,因此温度量的变化往往受到不可精确预计的外界环境扰动的影响。

但是正常工业生产过程中,对生产中的温度要求又是相对精确和苛刻的,工业生产中经常要保持反应炉中保持一定的温度,来促进反应的持续快速进行,同时,以前的温度控制大多是人工通过仪表的显示来调节温度的模式,然而人工控制温度的精确度不高,而且反应不灵敏,存在较大误差,因此需要更好的测温控温方法。

Modbus协议作为现场总线的一种,以其开发成本低,简单易用等诸多优点己被工业领域广泛接受。

温度作为工业中重要的测量参数之一,本课题选择了温度作为测量的对象,并设计了基于Modbus协议的温度测控节点。

本设计采用TC1047A传感器采集现场温度,由STC12C5A60S2单片机进行AD 转换和Modbus协议通讯。

通讯的物理层采用RS485接口,并增加了光电隔离、抗雷击和短路保护等功能。

最后实现了单个节点和PC机的Modbus协议通讯,并通过控制蜂鸣器和继电器来模拟工业现场控制。

本文分别从硬件和软件上阐述了该温度测控节点的实现方法。

关键词温度测控Modbus协议RS485 STC12C5A60S2The Design of Temperature Measuring and ControllingNodeBased to Modbus ProtocolABSTRACTWith the continuous expansion of production scale, and the urgent requirements in centralized monitoring of the production process in mechanical, chemical, textile and other industries. Fieldbus technology came into being, and become one of hot research field of measurement and control today. As one of field bus, Modbus protocol have been widely accepted because of low development cost, easy to use and many other advantages in industry.The temperature is one of the important parameters measured in industry,so it has been chosen a measurement of the object,temperature measurement and control nodes has been designed based on Modbus protocol.This design uses TC1047A sensor to collect on-site temperature,AD conversion and Modbus protocol communications can be done by STC12C5A60S2 microcontroller.The physical layer of communication adopts RS485 interface, and have optical isolation, anti-lightning and short circuit protection in addition. Finally, achieved the Modbus protocol communication between a single node and the PC, and simulate industrial control by controlling the buzzer, and relay. This paper describes the implementation of temperature control node from hardware and software.KEY WORDS Temperature Monitoring Modbus protocol RS485 STC12C5A60目录中文摘要 (Ⅰ)英文摘要 (Ⅱ)1 绪论 (1)2 设计方案 (3)2.1方案概述 (3)2.2方案论证 (3)2.2.1 通讯可靠性 (4)2.2.2 温度检测电路选择 (4)2.2.3 系统电源稳定性 (5)3 硬件电路设计 (6)3.1最小系统电路 (6)3.2温度检测电路 (6)3.3电源电路 (7)3.4报警控制电路 (9)3.5通讯电路 (10)3.6显示电路 (13)3.7硬件抗干扰的设计 (14)4 MODBUS协议概述与应用 (16)4.1MODBUS协议概述 (16)4.1.1 总体描述 (16)4.1.2 MODBUS数据单元 (17)4.1.3 MODBUS通信原理 (17)4.2M两种传输方式 (19)4.2.1 ASCll模式 (20)4.2.2 RTU模式 (20)4.3MODBUS消息帧 (21)4.3.1 ASCll帧 (21)4.3.2 RTU帧 (21)4.3.3 字符的连续传输 (22)4.5错误检测方法 (23)4.5.1 LRC检测 (24)4.5.2 CRC检测 (24)5 软件设计 (25)5.1AD采集程序设计 (26)5.2串口中断处理程序设计 (27)5.3MODBUS协议程序设计 (29)5.4CRC计算及校验程序设计 (29)6 总结 (33)致谢............................................................ 错误!未定义书签。

基于STC12C5A60S2单片机的水温控制系统

基于STC12C5A60S2单片机的水温控制系统
基于 STC12C5A60S2 单片机的炉温实时控制系统 自动化学院 王 XX
摘 要:在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关
量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行 业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、 反应炉和锅炉中的温度进行检测和控制。采用单片机来对温度进行控制,不仅具 有控制方便、 组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术 指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是 一个工业生产中经常会遇到的问题。 本次的课程设计通过对基于单片机的加热炉 温度控制系统的研究和设计, 进而更系统的理解单片机在现代化工业生产中发挥 的作用。 本文主要介绍基于 STC12C5A60S2 单片机的炉温控制设计流程,介绍了炉温 控制方案以及各个主要模块的工作原理和设计思路。 本文并涉及温度传感器系统、 继电器系统、显示系统、输入系统的设计。 关键字:单片机;水温控制;DS18B20;STC12C5A60S2;PID 算法
整体设计方案 „„„„„„„„„„„„„„„„„„„„„„„„2 PID 算法简述 „„„„„„„„„„„„„„„„„„„„„„„„3 数据处理流程 „„„„„„„„„„„„„„„„„„„„„„„„5 硬件电路设计 „„„„„„„„„„„„„„„„„„„„„6
第 三 章 3.1
SL-I 型 51 单片机综合试验箱 „„„„„„„„„„„„„„„„„6 单片机最小系统 „„„„„„„„„„„„„„„„„„„„„6 数码管显示模块 „„„„„„„„„„„„„„„„„„„„„6 按键模块 „„„„„„„„„„„„„„„„„„„„„„„„8 报警模块 „„„„„„„„„„„„„„„„„„„„„„„10 „„„„„„„„„„„„„„„„„„10

基于STC12C5A60S2单片机数字电压表的设计.

基于STC12C5A60S2单片机数字电压表的设计.

数字电压表的设计第1章引言在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。

而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。

数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。

由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用。

传统的指针式刻度电压表功能单一,精度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。

采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。

数字电压表是诸多数字化仪表的核心与基础。

以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。

目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。

目前,数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面。

本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。

第2章系统总体方案设计选择与说明2.1 设计要求1、增强型MCS-51系列单片机STC12C5A60S2为核心器件,组成一个简单的直流数字电压表。

2、采用1路模拟量输入,能够测量0-10V之间的直流电压值。

3、电压显示采用LCD1602显示。

4、尽量使用较少的元器件。

2.2 设计思路1、根据设计要求,选择STC12C5A60S2单片机为核心控制器件。

2、A/D 转换采用STC12C5A60S2内部自带A/D 实现。

3、电压显示采用LCD1602显示。

2.3 设计方案硬件电路设计由7个部分组成:STC12C5A60S2单片机系统,数码管显示系统、时钟电路、复位电路档位调节电路以及测量电压输入电路。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、课程设计基本情况介绍1.1课程设计的基本目的与任务本课程设计旨在驾驭本专业学生理论指导实践能力以及电子产品工程设计与开发能力。

本实践课所要达到的主要目的是:1、通过本次课程设计,是对学生综合能力的检,提高学生综合运用专业知识,强化单片机应用系统设计与防震能力。

2、本次课程设计是在生产实习所完成的“单片机核心板+电子钟模块+MP3模块+RFID模块+无线传输模块+GPS模块+脉搏传感模块”的基础上设计该硬件系统的工作程序。

1.2课程设计的基本内容1、在生产实习设计单片机硬件系统的基础上,设计相应的应用软件系统。

2、在LCD1602上显示学号程序设计。

3、基于DS1302的实时时钟软件设计。

4、基于DS18B20的温度测量软件设计。

5、基于TL1838A的红外遥控解码软件设计。

6、设计应用软件系统框图和流程图,完成所设计软件的调试。

1.3课程设计的教学要求1、通过资料查阅及学习了解单片机应用系统的软件设计方法及单片机编程、软硬件联机调试技巧。

2、独立设计并编写下列应用程序:(1)LCD1602学号显示程序;(2)DS1302实时时钟程序;(3)DS18B20温度测量程序;(4)TL1838A红外遥控解码程序;3、独立完成所设计程序与硬件系统的联机仿真。

二、整机系统框图(硬件、软件)该设计方案是以STC12C5A60S2单片机为核心,采用LCD液晶屏幕显示模块、实时时钟模块、温度测量模块、红外遥控解码等模块所构建的系统,能在LCD1602液晶屏上显示当前的日期(年、月、日)、时间(时、分、秒)数据、当前环境温度值和红外遥控解码值。

用户可通过遥控器或单片机核心板上的按键来进行日期和时间的设置。

本系统设计大部分功能由软件来实现,电路简单明了,系统稳定性也得到大大提高。

1、总体硬件设计框架图:2、总体软件设计框架图///////三、整机硬件电路原理图(见99SE图)1、核心板电路原理图2、蜂鸣器驱动电路3、按键电路4、单片机复位电路5、LCD1602液晶显示电路6、电子钟模块接口电路四、软件系统设计思想////////////五、系统软件资源分配表(调试程序、工作程序)//////////////六、显示学号的调试程序流程图、程序源代码1、程序流程图///////////2、程序源代码/*************LCD1602***************************/#include<reg51.h>#include<intrins.h>sbit RS=P3^7;sbit RW=P3^6;sbit E=P2^7;sbit BF=P0^7;#define LCD_Data P0/**************函数声明**********************/void Lcd_Int(void);void huanying_show(void);void dongtai_show(void);char string1[]=" LIU JING ";//LIU JINGchar string2[]=" 0013 ";//0013/***************函数功能:主函数***************************/void main(){Lcd_Int(); //1602初始化while(1){huanying_show();dongtai_show();}}/*********************************************函数功能:延时1ms注:不同单片机不同晶振需要对此函数进行修改*********************************************/void Lcd_delay1ms(){unsigned char i,j;for(i=0;i<90;i++)for(j=0;j<33;j++);}/*********************************************函数功能:延时若干毫秒入口参数:n*********************************************/void Lcd_delay(unsigned int n){unsigned int i;for(i=0;i<n;i++)Lcd_delay1ms();}/*********************************************函数功能:判断液晶模块的忙碌状态返回值:result。

result=1,忙碌;result=0,不忙*********************************************/bit Lcd_BusyTest(void){bit result;RS=0; //根据规定,RS为低电平,RW为高电平时,可以读状态RW=1;E=1; //E=1,才允许读写_nop_(); //空操作_nop_();_nop_();_nop_(); //空操作四个机器周期,给硬件反应时间result=BF; //将忙碌标志电平赋给resultE=0;return result;}/*********************************************函数功能:将模式设置指令或显示地址写入液晶模块入口参数:dictate*********************************************/void Lcd_WriteCom(unsigned char dictate){while(Lcd_BusyTest()==1); //忙就等待RS=0; //根据规定,RS和RW同时为低电平时,可以写入指令RW=0;E=0; //E置低电平(写指令时,就是让E从0到1发生正跳变,所以应先置"0" _nop_();_nop_(); //空操作两个机器周期,给硬件反应时间LCD_Data=dictate;_nop_();_nop_();_nop_();_nop_(); //空操作四个机器周期,给硬件反应时间E=1; //E置高电平_nop_();_nop_();_nop_();_nop_(); //空操作四个机器周期,给硬件反应时间E=0; //当E由高电平跳变成低电平时,液晶模块开始执行命令}/*********************************************函数功能:指定字符显示的实际地址入口参数:x注:此函数已经加上了0x80,故只需写上实际地址就行*********************************************/void Lcd_WriteAddress(unsigned char x){Lcd_WriteCom(x|0x80); //显示位置的确定方法规定为"80H+地址码x"}/*********************************************函数功能:将数据(字符的标准ASCII码)写入液晶模块入口参数:y(为字符常量)*********************************************/void Lcd_WriteData(unsigned char y){while(Lcd_BusyTest()==1);RS=1; //RS为高电平,RW为低电平时,可以写入数据RW=0;E=0; //E置低电平(写指令时,就是让E从0到1发生正跳变,所以应先置"0" LCD_Data=y; //将数据送入P0口,即将数据写入液晶模块_nop_();_nop_();_nop_();_nop_(); //空操作四个机器周期,给硬件反应时间E=1; //E置高电平_nop_();_nop_();_nop_();_nop_(); //空操作四个机器周期,给硬件反应时间E=0; //当E由高电平跳变成低电平时,液晶模块开始执行命令}/**********函数功能:对LCD的显示模式进行初始化设置******************/ void Lcd_Int(void){Lcd_delay(15); //延时15ms,首次写指令时应给LCD一段较长的反应时间Lcd_WriteCom(0x38);//显示模式设置:16*2显示,5*7点阵,8位数据接口Lcd_delay(5); //延时5msLcd_WriteCom(0x38);Lcd_delay(5);Lcd_WriteCom(0x38); //3次写设置模式Lcd_delay(5);Lcd_WriteCom(0x0C); //显示模式设置:显示开,有光标,光标不闪烁Lcd_delay(5);Lcd_WriteCom(0x06); //显示模式设置:光标右移,字符不移Lcd_delay(5);Lcd_WriteCom(0x01); //清屏幕指令,将以前的显示内容清除Lcd_delay(5); }/*****************函数功能:LCD的显示********************/void huanying_show(void){unsigned int Lcd_i;Lcd_WriteCom(0x01); //清显示:清屏幕指令Lcd_delay(1);Lcd_WriteAddress(0x00); //设置显示位置为第一行的第1个字Lcd_delay(1);for(Lcd_i=0;Lcd_i<16;Lcd_i++) //显示字符LIU JING{ Lcd_WriteData(string1[Lcd_i]);Lcd_delay(150); }Lcd_WriteAddress(0x40); //设置显示位置为第二行的第1个字for(Lcd_i=0;Lcd_i<16;Lcd_i++) //显示字符0013{ Lcd_WriteData(string2[Lcd_i]);Lcd_delay(150); }Lcd_delay(1000);}//右侧移位进来void dongtai_show(void){unsigned int Lcd_i;Lcd_WriteCom(0x01); //清显示:清屏幕指令Lcd_delay(2);Lcd_WriteAddress(0x10); //设置显示位置为最右侧Lcd_delay(2);for(Lcd_i=0;Lcd_i<16;Lcd_i++) //显示字符LIU JING{ Lcd_WriteData(string1[Lcd_i]);Lcd_delay(2); }Lcd_WriteAddress(0x50); //设置显示位置为最右侧for(Lcd_i=0;Lcd_i<16;Lcd_i++)//显示字符0013{ Lcd_WriteData(string2[Lcd_i]);Lcd_delay(2); }for(Lcd_i=0;Lcd_i<16;Lcd_i++) //开始左移{ Lcd_WriteCom(0x18); //左移指令Lcd_delay(400); }Lcd_delay(1000);Lcd_WriteCom(0x08);Lcd_delay(400);Lcd_WriteCom(0x0c);Lcd_delay(400);Lcd_WriteCom(0x08);Lcd_delay(400);Lcd_WriteCom(0x0c);Lcd_delay(400);Lcd_WriteCom(0x08);Lcd_delay(400);Lcd_WriteCom(0x0c);Lcd_delay(400);Lcd_WriteCom(0x08);Lcd_delay(400);Lcd_WriteCom(0x0c);Lcd_delay(1);Lcd_WriteCom(0x01); //清显示:清屏幕指令Lcd_delay(1);}七、实时时钟、温度测量、红外遥控解码等程序的流程图、程序源代码(一)流程图1、实时时钟模块图,系统由主控制器STC12C5A60S2、时钟电路DS1302、显示电路LCD1602及键扫描电路组成。

相关文档
最新文档