stc89c52单片机范文

时间:2023-09-28 19:06:42

stc89c52单片机篇1

【关键词】单片机;STC89C52;智能窗控制系统

1、引言

近年来,随着居民生活水平的提高、环保意识的增强,人们对室内居住环境的舒适度有了更高的要求。传统的窗及其窗帘必须手动控制其开关,考虑到当前别墅、高档写字楼、展览馆和大型会议室等窗多、重、长,手动开关窗极其不便,因此我们需要一种智能化的窗户,能够感知窗外光线强度及室内外温度情况,并自动平衡室内外温度,做出开关窗及其窗帘一系列动作。

2、系统工作原理及结构

智能窗控制系统以STC89C52单片机为控制核心,加入感光、感温度元件,用单片机逻辑控制电路自动判断,达到控制一扇或多扇窗子的目的。其主要由单片机最小应用系统模块、按键模块、传感器模块、时钟模块、电机控制模块及显示模块组成,系统结构框图如图1所示。

3、硬件选型及相关电路搭建

3.1时钟模块

时钟模块采用的DS12C887时钟日历芯片,是由美国 DALLAS公司生产的新型时钟日历芯片,采用CMOS技术制成。芯片采用24引脚双列直插式封装,内部集成晶振、振荡电路、充电电路和可充电锂电池,在没有外部电源的情况下可工作10年。具有良好的微机接口、精度高、接口简单、工作稳定可靠等优点,与简单按键相结合,能够随时矫正时钟芯片内的时间。并且利用其闹钟功能能够实现定时开关窗帘的功能。

3.2温度传感器

DS18B20温度传感器为温度采集器件,其具有超小的体积,超低的硬件开消,抗干扰能力强,精度高,支持“一线总线”接口等特点,检测温度范围为-55°C ~+125°C,精度可达土0.5摄氏度,满足日常使用的需求,并且温度检测与数字数据输出全集成于一个芯片之上,单片机直接可以读出相应温度,并用显示屏输出。

3.3光强传感器

为便于用户根据光强不同决定开窗状态,设置了光强传感器。光强传感器主要使用了光敏电阻和双电压比较器集成电路LM393。光敏电阻是利用半导体光电效应制成的一种阻值随入射光强变化而改变的电阻器,入射光变强,电阻减小。使用时将光敏电阻与10kΩ的电阻R构成测量电桥后接至5V电源,当外界光照变强时,光敏电阻阻值变小,R分压变大,取R上的电压差值即可判断光强变化,这种设计的优点在于电路简单。模块在无光条件或者光强达不到设定阈值时,D0口输出高电平,当外界环境光强超过设定阈值时,模块D0输出低电平;小板数字量输出D0可以与单片机直接相连,通过单片机来检测高低电平,由此来检测环境的光强改变;

3.4步进电机及驱动

采用4相5线步进电24BYJ48,它是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得在速度、位置等控制领域用步进电机来控制变的非常的简单。

3.5按键模块

由于使用按键较少,按键模块采用独立式按键接口设计。这种按键电路配置灵活,软件实现简单。软件实现时,可以采用中断方式,反应灵活。因案件在按下和释放地瞬间都将伴随一连串的抖动,抖动时间由按键的机械特性决定,一般为5~10ms,此处采用软件方法消除抖动,第一次检查到有键按下时,延时抖动时间后再次检测按键是否仍按下,若按下则认为真正有键按下,从而消除影响。

3.6显示输出

系统中应用12864 液晶显示屏显示操作界面,能够显示中文字符,实时显示当前时间和温度,通过不同的菜单选择,即可显示设定的控制参数,又可显示测量值和系统的工作状态。显示屏在待机状态下可以关屏,降低功耗。

4、系统软件设计的设计

系统软件包括:按键扫描、时间采集、温度采集、光强采集、定时中断等子程序。开机时系统显示时间并关窗复位,采集一组环境数据,将室内外温度显示出来,判断是否达到开窗及窗帘的要求。其中控制开窗及窗帘的程序流程如图2所示。

5、结语

stc89c52单片机篇2

关键词: STC89C52; 定时开关; C语言; Protues

中图分类号: TN710?34; TP39 文献标识码: A 文章编号: 1004?373X(2013)08?0004?03

0 引 言

定时开关[1]在人们生活中扮演着重要的角色,给人们的生活带来了很大的方便。早在我国的古代采用滴水方式计时,当水滴到一定量时就引发机关报时。随着电子信息的快速发展, 如今的电视机,电风扇等电器产品都附带了定时器,但是电子产品附带的定时器只适用于该用电器,并不能扩展使用到其他用电器上。

本文所介绍的定时开关目的在于控制主电源,从而适用于能瞬间断电的一切电子产品,不仅能在规定的时间准时断开同时能在设定的时间内准时开启,给人们日常生活带来了极大的方便,如能通过应用此定时开关在上班期间定时煮饭,手机充电在适当时间将电源断开。

该定时器具备以下几个特点:采用C语言[2]编写程序,与汇编语[3]言相比便于修改和增减功能;所采用的芯片STC89C52单片机、1602液晶显示器,DS1302时钟芯片功耗低、可靠性高;与机械定时器相比不仅消除了噪声,更加准确,且使用寿命要长;采用Protues仿真,方便直观。

1 系统设计方案

以STC89C52[4]单片机为核心,通过DS1302时钟芯片进行时间控制,使用1×4键盘作为数据输入方式,驱动1602显示器提示程序运行过程和开锁的步骤。系统结构如图1所示。

2 系统设计

2.1 系统硬件组成

使用的元器件有:核心芯片STC89C52、时钟芯DS1302、液晶显示1602、继电器、蜂鸣器、1×4键盘[5]、发光二极管和三极管。

2.2 系统软件设计

本文采用单片机的C语言编写程序对整个系统的硬件进行管控,实现了对DS1302的控制,1602的显示,时间管控。其中时间管控包括:系统时间以及开启与关闭时间的设定,系统时间与开启或关闭时间相同时继电器、蜂鸣器和指示灯工作状态的管控 。系统程序流程如图2所示。

2.2.1 DS1302的控制[6]

DS1302的RST,SCLK和I/O分别与单片机的P2.0,P2.1和P2.2相连。单片机与DS1302进行数据交换时,首先要将RST变为高电位,也就是单片机P2.0必须为逻辑1。在RST保持为高电位时,SCLK时钟由低电位变为高电位的上升沿时,数据被写入DS1302中,数据从最低位通过I/O开始写入。在RST保持高电位,SCLK时钟由高电位变为低电位的下降沿时,从DS1302读取数据,数据也是从DS1302的最低位通过I/O读取。

DS1302读取数据子程序

unsigned char read( unsigned char addr )

{

unsigned char j,temp,value;

CE=0;

SCLK=0;

CE = 1;

//发送地址

for ( j=8; j>0; j-- )

{

SCLK = 0;

temp = addr;

IO = (bit)(temp&0x01);

addr >>= 1;

SCLK = 1;

}

//读取数据

for ( j=8; j>0; j?? )

{

ACC_7=IO;

SCLK = 1;

ACC>>=1;

SCLK = 0;

}

CE=0;

value=ACC;

value=value/16*10+value%16;

return (value);

}

2.2.2 1602的显示[7]

通过单片机指令控制1602光标是否闪烁,是否清除原来数据以及显示的具置,并不停地对数据显示进行刷新,从而显示了准确的时间,并为系统提供了智能的人机对话模式。

2.2.3 时间的管控

当系统启动时,STC89C52单片机立即从DS1302时钟芯片获取时间,并通过键盘和1602显示器配合完成对当系统时间、启动时间和关闭时间的设定。当系统时间与启动时间相同,从而控制继电器闭合,直到系统时间与关闭时间相同时断开。

3 系统仿真

本文采用具有强大的EDA仿真功能的Protues[8]软件进行仿真,仿真图如图3所示。

3.1 系统介绍

stc89c52单片机篇3

【关键词】STC89C52单片机;脉搏测量仪;LCD显示器;ST188光电传感器

0引言

从脉搏波中提取人体的生理病理信息作为临床诊断和治疗的依据,历来都受到中外医学界的重视。而几乎世界上所有的民族都用过“摸脉”作为诊断疾病的手段。脉搏波所呈现出的形态(波形)、强度(波幅)、速率(波速)和节律(周期)等方面的综合信息,在很大程度上反映出人体心血管系统中许多生理病理的血流特征脉搏测量在有脉搏时遮挡光线。

本系统以STC89C52单片机为核心,利用脉搏检测仪在测量时,有脉搏时遮挡光线弱,无脉搏时透光强的特点设计,所采用的传感器是红外对管反射式传感器ST188。利用单片机系统内部定时器来计算时间,由光电传感器感应产生信号,单片机通过对信号累加得到脉搏跳动次数,时间由定时器定时而得。系统运行中可以通过观察指示灯闪烁,若均匀闪烁说明测量值准确。但人体的生物信号多属于强噪声背景下的低频的弱信号, 脉搏波信号更是低频微弱的非电生理信号, 必需经过放大和滤波以满足采集的要求。

1系统总体方案设计

系统总体设计由单片机STC89C52、按键、LCD1602、ST188光电传感器、运算放大器、滤波电路等模块构成,总体方案框图如图1所示。当脉搏测量的时候,需要人把手轻轻的按在ST188光电传感器上面,由于人脉搏跳动的时候,血液的透光性不一样会导致接收器那边接收的信号强弱不一样,间接的把人的脉搏信号传回,通过运放对其进行放大、整形、滤波后连接到单片机的I/O口,单片机利用外部中断对其进行计数,最终换算成人一分钟脉搏的跳动次数,最终显示在LCD液晶屏上。

2脉搏检测仪硬件电路设计

2.1 单片机主控电路与LCD显示电路

脉搏检测仪主控电路在整个系统中起着统筹的作用,需要检测传感器输出电压等各种参数,同时驱动液晶显示相关参数,在这里我们选用了我国宏晶公司单片机中的STC89C52单片机作为系统的主控芯片。

该单片机最小系统有STC89C52单片机、晶振电路、复位电路组成,晶振电路选用了12MHZ的晶振提供时钟,以给单片机提供一个时间基准,其中执行一条基本指令需要的时间为一个机器周期,单片机的复位电路按下复位按键之后使单片机进入刚上电的起始状态。

由于本设计中要求显示界面显示一些参数,因此这里选用了LCD1602作为界面显示。该电路用STC89C52的P0口作为DB0~DB7的8位数据线,用P1.2、P1.1、P1.0分别作为LCD的EN、R/W、RS。其中EN是下降沿触发的片选信号,R/W是读写信号,RS是寄存器选择信号,只要按照LCD1602产品说明文档的方法与单片机引脚连接即可。

2.2信号采集电路

此部分电路的功能是由ST188红外光电反射式传感器采集脉搏信号,通过红外光照射人的手指的血脉流动情况,把脉搏跳动转换为电信号,由于光电传感器输出的电压一般为几十毫伏,所以必须加以放大,以达到整形电路所需的电压,一般为几伏。放大后的信号波形仍是不规则的脉冲信号,因此必须加以滤波整形,经整形电路后输出的电压应满足计数器的要求。其原理电路如图2所示。

上图中,红外反射式对管采用ST188。用+5V电源供电,R4取330Ω,R5取20kΩ,当人把手指放在发光二极管和光电二极管之间的时候,光电二极管接收到的信号会随人脉搏强度的变化而变化。由于脉搏信号输出的信号十分微弱,一般在毫伏级别,而且输出的信号一般会伴随很大的噪声干扰,因此在这里用电阻和电容搭建起一个RC滤波电路用于消除噪声。

2.3 运算放大电路整形电路

由于经过滤波后的脉搏信号仍是不规则的脉冲信号,且有低频干扰,仍不满足计数器的要求,必须采用整形电路。这里选用了集成运算放大器LM358,由于该芯片有两个运算放大器,故此为了提高抗干扰能力,其中一个集成运放用作放大光电传感器电压信号,另一个运放用作电压比较器,以输出直流方波信号给单片机。除此外LM358还接上了一个LED用作指示脉搏跳动的状态。放大整形电路如图3所示:

3系统软件程序设计

单片机上电后先进行初始化,清楚一些参数的初值,然后等待用户施加外部中断,当进入外部中断服务程序后,单片机定时器启动,之后单片机通过定时器定时15s,然后再换算出对应的真实的脉搏次数,经过4倍乘后变为1min再在液晶LCD1602屏幕上显示。主程序流程图如图4所示。

4系统测试与结束语

本文将STC89C52的红外脉搏检测仪测得的脉搏次数与医用听诊器测出的脉搏次数经过五组比较,每组分为5次,其对比结果满足误差要求,验证了该设计的可靠性。本文基于宏晶公司的STC89C52单片机设计了一种红外反射式脉搏检测仪,该检测仪利用红外反射式光电传感器产生脉冲信号,经过滤波放大整形后,输入STC89C52单片机内进行相应的信号采集控制,最终经单片机采集数据后并将数据在LCD1602液晶屏上显示,从而测量出一分钟内的脉搏跳动次数,该设备使用快捷方便,具有较好的实用价值。

参考文献:

[1]华成英、童诗白,模拟电子技术基础(第四版)[M],北京:高等教育出版社,2006.

[2]杨志忠.数字电子技术[M].北京:高等教育出版社,2003.12.

[3]王新颖,单片机原理及应用[M],北京:北京大学出版社,2008.

stc89c52单片机篇4

关键词:单片机;STC89C52;WIFI

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2015)22-0130-02

Abstract: With the constantly development of the smartphone and the mobile communication technology, agricultural greenhouse can control various devices and collect data through application on android and 4G LTE. This is animportant aspect of accomplish the contact with the internet and intelligent agriculture. In the greenhouse, through the STC89C52 microcontroller to receive from the mobile terminal APP control instructions, to complete the greenhouse heating, ventilation , sprinkler and other kinds of action. To achieve the mobile terminal control of greenhouse. Besides, all kinds of greenhouse data can be collected into it, and then uploaded to the mobile terminal. This thesis mainly discussed based on microcontroller to accept mobile terminal instructions and in accordance with the instructions to control the operation of all kinds of external equipment, and return of sensor data to remote monitor and control system of greenhouse design.

Key words :single chip microcomputer; STC89C52; WIFI

1 总体设计方案

本系统主要包括温室控制APP,无线WIFI信号传输模块和主机控制模块三大部分。其中温室控制APP用于发出控制指令和显示温室环境参数,无线传输模块采用的是济南有人科技的USR-WIFI 232-S无线传输模块,用于通过WIFI接收来自手机端APP的指令,然后透明传输给主机。主机根据接收到的指令,经过译码之后,驱动相应的继电器控制设备的交流接触器动作,实现远程启动和关闭相关设备,从而实现温室大棚的远程智能控制,同时也可以将温室中的传感器采集到的数据回传给温室控制APP端显示。本文主要讨论基于单片机 STC89C52的主机控制模块系统设计。系统整体结构如图1所示。

2硬件系统及功能模块设计

2.1 主机控制模块

主机控制模块由主要由单片机STC89C52、设备控制用继电器、各种传感器及相关电路组成,主机控制模块通过P3.0和 P3.1与USRWIFI232-S无线通信模块串行通信,以便于手机端APP通信。传感器获取的环境参数直接输出数字化信息,传给单片机处理,根据内部初始化的温室控制的信息,运算之后,通过P2.0至P2.7输出控制动作,通过驱动三极管和继电器,进一步控制大电流的交流接触器动作。

主机控制模块负责接收无线传输模块传过来的指令信号,进行正确的译码之后,根据指令的信号直接驱动继电器,继而控制对应的交流接触器来控制温室中的各种机电设备工作;同时开始监控温室大棚的环境参数,一旦温度,湿度等环境参数达到预设的值,通过中断的形式,给MCU发送中断信号,切断参与此环境参数相关的机电设备工作,最终达到温室的自动控制。同时将传感器探测到的信息通过无线传输模块,传回给手机端APP,并在APP端显示目前设备的工作状态和相关的环境参数,使用户了解温室的最新状态。

2.1.1单片机模块

STC89C52是由STC公司生产的一款高性能、低功耗的8位微控制器。它在MCS-51的内核的基础上,进行了相应的增强,在性能和功能上有较大的提升。具有片内8k字节Flash、512字节RAM、4组8位双向I/O接口。低廉的价格和较强的性能使STC89C52称为自动控制中最常用的MCU之一。本系统仅使用1片STC89C52即可达到设计目标。

2.1.2本地设备驱动模块

鉴于温室控制的加热器,风机,卷帘电机等控制都是较大电流的设备,无法直接使用继电器控制,因此本地驱动模块使用分立元件的继电器作为初级控制,后端使用220或者380V的交流接触器,继而进一步控制各种大功率的设备。

2.1.3传感器模块

通过部署在大棚内的传感器模块采集数据,其中主要的温度和湿度数据采集使用AM2301数字温湿度传感器。它是一款具有数字校准输出的传感器,采用了独特的数字采集模块和新型温湿度采集传感技术,足以确保产品可靠性和稳定性,而且具有响应速度快、抗干扰能力强和极低的功耗的特点,目前成为各类温湿度传感器的首选,输出的数据直接交由单片机处理,确定是否开启通风或者加热,确保温室的基本温湿度在合适的范围,同时也将数据传回手机端APP显示,通知用户处理。

光照度传感器:采用基于ROHM的BH1750FVI芯片的光强度检测模块,使用较低的工作电压,内置16bitAD转换器,直接输出数字信号,进一步提高系统开发的速度,并且成本低廉,在温室环境中工作稳定。根据需要可以进一步接入其他类型的传感器。

2.2 USRwifi232-S通信模块

USR-WIFI232 系列产品是济南有人科技研发的一款用于实现串口到 WIFI 数据包的双向透明转发的无线数据传输模块。在模块内部完成协议转换,串口一侧串口数据透明传输,WIFI 网络一侧是 TCPIP数据包,通过简单设置即可指定工作细节,设置可以通过模块内部的网页进行,也可以通过串口使用 AT 指令进行,一次设置永久保存。用户无需关心具体细节,是一款使用简单,价格低廉的无线数据透明传输模块,广泛应用于嵌入式系统与无线TCP/IP 网络数据通讯。

3 系统程序设计

系统程序包括传感器数据采集程序和通讯解码程序两大部分。

3.1传感器数据采集程序

传感器数据采集的基本工作流程为:单片机上电时或者手机APP端发出读传感器数据指令时,循环扫描各个传感器的输出数据。在程序运行过程中,设定一定的检测周期,每个周期内当传感器触发且超出设定的温室环境参数范围时,单片机将采集到的数据封装好,通过无线传输模块发送给手机端APP显示。

3.2 通讯解码程序

由于温室中需要控制的设备较多,为每一套设备设置一套控制指令,则指令会相当复杂,为了降低与手机APP通信的数据流量和具有较好的可扩展性,在本机存储一张系统指令表,手机APP端只需要发送相应的指令代码,在本机只需要通过查找指令表即可解析指令的具体控制行为。从而简化单片机的控制方式,增强控制能力。

4 结束语

本文设计了一种基于单片机的温室远程智能控制系统,具备温室各种环境参数调节设备的远程控制和环境参数采集的功能。系统采用设备驱动和环境信息采集相结合,最大程度提高温室控制的精度和自动化程度。且系统整体成本较低,特别适合控制精度要求高的温室使用。

参考文献:

[1] 万军.基于单片机大棚温湿度远程监控的设计与实现[D].电子科技大学,2012.

[2] 姚传安.无线温湿度测量传感器网络设计[J].计算机测量与控制,2007(2).

stc89c52单片机篇5

关键词:单片机 4×4键盘 LCD1602

中图分类号:TN43 文献标识码:A 文章编号:1674-098X(2015)10(b)-0159-03

Design and Simulation of the Calculator Based on STC89C52

Song Huichao

(College of Physics and Electronic Information, Inner Mongolia University for Nationalities,Tongliao Inner Mongolia,028000,China)

Abstract:Single chip microcomputer has the advantages of small size,strong control function,low power consumption,strong adaptability to environment,flexible and easy to use.It has been widely used in various fields.This paper presents a design scheme of high precision calculator based on Single chip microcomputer.Control system is STC89C52 microcontroller.Operation process and results are displayed in the LCD1602 LCD screen.The key module is composed of 4*4 keyboard which is used to simulate the 0-9 and add,subtract,multiply,divide,reset button. Software program is written in C language and compiled by C51 Keil and verified by Proteus simulation.

Key words:Single chip microcomputer;4×4 keyboard;LCD1602

计算器是人们生活中最常见的工具之一,随着科技的迅猛发展,计算器的功能越来越强大,对精度的要求也越来越高。以往利用单片机开发设计计算器,大多只能实现较简单的加减乘除运算[1],且仅限于整数运算。该文通过C语言编程,设计了一种可以实现32位浮点数运算的高精度计算器,除了基本四则运算外,可以进行小数运算、负数运算,结果保留到小数点后5位,大数量的运算结果以科学计数法形式给出,运算过程通过LCD1602液晶屏显示,利用清屏键可以随时清除显示。

1 系统硬件设计

基于单片机设计的计算器应具有高精度运算及结果显示的功能。其中,4×4键盘用于数据输入[2],LCD液晶显示则可以分两行显示运算过程及最终结果。系统框图如图1所示。

下面对硬件模块进行简单说明,各模块与单片机的具体连接请参见图2系统硬件电路图。

控制芯片STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统内可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。

LCD1602是常用的液晶芯片,此处选用能同时显示两行,每行各16个字符的屏幕规格。VSS为地电源,VDD接5V正电源,VEE为液晶显示器对比度调整端。8位双向数据线D0~D7接单片机P0口。由于P0口常用作数据总线且内部无上拉电阻,此处需外接10K电阻增加驱动能力。控制端RS、R/W、E分别与单片机P2.5、P2.6、P2.7口相连,用来控制1602的读写状态。

4×4键盘又称为行列式键盘,它是4条I/O线作为行线,4条I/O线作为列线组成的键盘,在行线和列线的每一个交叉点上设置一个按键[3],这种结构可以有效地提高单片机系统中I/O口的利用率。4条行线分别接单片机P1.3~P1.0,4条列线接单片机P1.4~P1.7,每位按键对应的功能可参见图2系统硬件仿真图。

2 系统软件设计

通过下面程序可以看出主函数main()中所调用的部分子程序,分别实现LCD初始化、键盘扫描、字符显示等功能。

void main()

{ init() //初始化LCD

LCD_dsp_string(4,0,”Hello!”); //显示字符串“Hello!”

key_scan(); //键盘扫描程序

LCD_dsp_char(); //显示字符子程序

…… //算数运算

LCD_dsp_string(0,1,temp); //在第二行第一个位置显示运算结果

write_com(0x01); } //清屏

除此之外,LCD1602.c作为液晶显示程序,内部定义了1602初始化函数init()、忙闲判断函数check(),读写控制函数write_com()与write_data()、显示字符LCD_dsp_char()及字符串函数LCD_dsp_string()等。key_scan.c为键盘扫描程序,根据矩阵键盘的原理,通过读取P1口状态来确定按键位置并将对应值返回主程序[4]。

3 仿真及结果分析

硬件和软件设计分别利用Proteus与Keil集成开发环境实现。C语言程序代码由Keil编写并编译,将产生的可执行文件加载到Proteus中[5],实现仿真功能。

系统仿真总体电路图如图2所示,系统启动后屏幕上显示欢迎信息“Welcome!”。具体结果演示如图3所示,计算器可以进行较高精度的加减乘除运算,支持小数运算,结果保留到小数点后5位,其中,图3(a)为大数量的加法运算,结果用科学记数法显示;图3(b)为减法运算,结果为负数;图3(c)和图3(d)分别为乘法、除法运算,结果均保留到小数点后5位。

4 结语

该文利用STC89C52单片机做主控芯片,完成了高精度计算器的设计,实现加减乘除等基本运算功能的同时,提高了运算精度,支持负数运算及小数运算。4×4交叉按键电路用作数据输入模块,通过8条I/O线与单片机相连,液晶屏电路做为输出显示模块,随时显示运算过程。软硬件系统经过proteus仿真验证,实现了所有预设功能,具有很强的实用性,对学习单片机系统有一定的帮助。

参考文献

[1] 曹瑞,徐森.基于单片机的计算器的设计[J].科技视界,2011(25):6-9.

[2] 吴宏杰,王扬,王致杰,等.基于AT89C51单片机的十进制计算器系统设计[J].电子测试,2013(9):43-44.

[3] 徐昆良.基于AT89S52单片机的简易计算器设计与仿真[J].电脑知识与技术,2015,11(16):211-212.

[4] 董雷刚,崔晓微,程书伟.基于单片机的数字计算器的设计[J].电脑知识与技术,2012,8(10):2386-2414.

stc89c52单片机篇6

关键词:远程监控;STC89C52;传感器;声光报警;短信发送

引言

目前市面上有压力触发式防盗报警器、开关电子防盗报警器和压力遮光触发式防盗报警器等各种防盗报警器,但这些报警器都不能进行远程监控。随着社会的不断进步,人们对私有财产的保护意识在不断的增强,因而对防盗措施提出了新的要求。本设计就是为了满足现代住宅防盗、防火的需要而设计的家庭式远程监控安防系统。

1 系统概述

该系统以STC89C52单片机为主控芯片,热释电红外传感器、烟雾传感器和温度传感器分别检测有无外人进入、室内烟雾浓度和温度。如果外人进入或室内烟雾浓度和温度发生异常,则声光报警电路发出声光报警,并通过GSM模块发送短信到指定的手机。系统框图如图1所示。

2 硬件设计

该系统硬件设计主要包括控制模块、传感器模块、声光报警模块、GSM短信发送等模块。

2.1 控制模块

采用STC89C52单片机为该系统的核心部件,接收传感器采集到的数据并进行处理,控制声光报警和GSM短信发送。

2.2 传感器模块

采用热释电传感器、烟雾传感器MQ-2和温度传感器DS18B20,分别探测有无外人进入、室妊涛砼ǘ群臀露取

2.3 声光报警模块

采用LED灯和报警器组成,有助于警示他人。

2.4 GSM模块

GSM采用SIM900A模块,它可以快速安全可靠地实现系统方案中的短信服务。

3 软件设计

本系统采用c语言编程,主程序流程图2所示。

4结束语

本设计实现了室内远程安防监控的功能,能有效进行现场警示和远程监控,具有一定的社会价值。

参考文献

[1]周淇,周旭欣.单片机原理及应用:基于Keil及Proteus[M].北京航天航空大学出版社,2014.

[2]郭天祥.新概念51单片机C语言教程:入门、提高、开发、拓展全攻略[M].电子工业出版社,2009.

stc89c52单片机篇7

关键词:嵌入式技术;射频技术;无线环境监测;nRF905;智能小车

中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2016)09-0216-02

在当今快速的发展的社会中,周围的环境也在跟着发展而迅速变化。在国内,当今对信息采集大都还是固定式有线的采集,太多的线缆导致资源的浪费而且对信息的采集范围有着极大的约束,尤其在家庭,工厂和宾馆等一些需要实时采集环境信息的场合。然而,在如今的世界里,发达国家已经广泛采用了以射频技术为基础的物联网通信,这样可以实时将信息传送的控制端并且节约了大量的资源,而时下国内,远远还没有普及。此外,在一些特殊环境中,如建筑废墟、危险的矿井、易燃易爆或者具有腐蚀放射的现场,由于受到外部环境条件和人的自身安全限制而无法靠近,导致没有办法对环境信息进行有效探测。在这样的场合中,无线遥控探测是一种理想的选择。综合来看,研究低功耗,低价格的物联网通信是一种时下最火热的趋势。

目前,射频技术一般采用数字式收发芯片,加上些许的设备器件就可以构成短距离无线收发模块,从而实现无线短距离通信。当今的射频芯片一般采用FSK调制方式,在ISM频段工作,一些必需的器件已经集成在芯片内部,并且提供了简单透明的数据传输协议和安全保密协议,用户只要对简单的接口进行操作即可实现数据的无线通信。在此基础上,低功耗,低价格的nRF905作为近程通信手段值得研究。

本文主要研究的是nRF905的无线数据通信方面的内容,研发出一套集数据采集,数据无线传输、无线行为控制与执行于一体的环境探测车载系统,通过nRF905的射频传输系统将可移动小车的探测信息传输到人为控制台,并且由控制台进行后续系统处理,并通过控制台对小车进行行为控制以及命令执行。此环境探测小车可以进行一系列行车功能,可以通过较复杂路面,并且能够实时将探测数据根据需要传回控制台。研究本文,可以深入了解射频技术的主要思想,并能在在无线通信方面作普及应用发展,循序渐进的将进入物联网这个广泛的领域中,根据项目特色以及功能需求,本系统主要由车载系统和控制台系统两部分组成。

车载系统主要由微控制STC89C52、DS18B20数字式温度采集模块、US-015超声波模块、L298N驱动模块、电机、nRF905无线收发模块以及LCD1602液晶显示模块组成,此外还有关键示的电源模块,L298N的是7.2V供电,nRF905收发模块是3.3V供电,其他模块均采用5V供电。

本文采用的STC89C52RD是以微控制器8051为内核的ISP,即系统可编程。80MHZ是本文采用芯片的最高工作频率,但是由于MOS管的限制,一般都是采用12MHZ的晶振作为它的工作频率。在本芯片中内含8K 字节Flash ROM,它的器件兼容一般通用51指令系统及其所包含的各种引脚结构,芯片内容十分丰富,而且它也集成了8位CPU和ISP Flash MMU,是可以系统编程的,配合PC端的烧录软件即可将用户的程序代码下载进单片机内部, STC89C52RD微控制器是单时钟的向下兼容8051 内核单片机,是集快速速与低功耗于一体的新一代8051 单片机。它具有全新的流水线处理方式和精简指令集结构,内部已经集成了MAX810 专用复位电路,此外内部还包含有8路AD转换器,省去了外接的AD转换器,相对于老式的80C51有着更稳定的控制。

DS18B20数字式温度采集器,在其内部厂家已经提供了9位温度度数,指示器件表面的温度。温度采集器在环境中所采集的实时温度信息经过一条线接口被传输到数字式温度采集器DS18B20上或者由其传送出去。鉴于此,从微处理器STC89C52到DS18B20之间的连接就仅仅要共地线和一条数据线就可以完成本文所要完成的温度采集任务。DS18B20数字式温度采集器在读、写方面以及完成器件实时温度变换时所需要的电源都可以从这条数据线本身来满足需求,因此它并不需要接外部电源。鉴于出厂时,一个DS18B20都对应着唯一一个系列号(这些系列号由出厂时制定),因此可以将多个DS18B20放置在同一条总线上,这样的话就可以直接实现多点测量。正因为有此特性,DS18B20非常适合本文所研究的环境监测。

目前,US-015是市场上分辨率较高,重复测量一致性较好的超声波测距模块。US-015的分辨率高于1mm,可达0.5mm,测距精度高。在测试中,US-015超声波测距模块完全胜任2厘米至4米的需要接触的测距功能,5V是它的供电电压,也就意味着不像nRF905无线收发模块那样需要电源转换,仅需用5V开关稳压源供电即可。工作电流为2.2mA,支持GPIO通信模式,测距工作稳定可靠。

US-015超声波模块的VCC接+5V直流电源,定义外部电路的Trig端,此端口需要微控制器输入一个10uS以上的高电平,以此来出发模块测距。定义外部电路的Echo端,用以接收回声信号。当一次测距结束时,此管脚会接收输出一个高电平,电平宽度为超声波往返时间之和。

L298N 是一种双H桥电机驱动芯片,其中每个H桥可以提供2A的电流,功率部分的供电电压范围是2.5-48V,逻辑部分5V供电,接受5V TTL电平。一般情况下,功率部分的电压应大于6V否则芯片可能不能正常工作,由于采用的器件的短板,所以这就需要本文给它提供单独的供电电源,采用的是7.2电池组给L298N供电。电机驱动模块是双通道的电机驱动,可以驱动两组电机。只有当通道A使能和通道B使能为高时,两通道才能同时工作。

1602液晶显示器是一种专门用来显示字母、数字、符号的点阵型液晶模块。它是由若干个5x7或者5x11的点阵字符位组成,每个点阵字符位都可以用显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。

单片射频无线收发芯片nRF905工作在433/868/915MHZ的ISM(工业、科学、医疗)频段。以它为基础的无线收发器是由一个完全集成的频率调制器,一个带解调器的接收器,一个功率放大器,一个晶体振荡器和一个调节器组成。ShockBurst工作模式的特点就是它会自动产生前导码和CRC(循环冗余校验码)。由于它可以很容易通过SPI接口进行编程配置,所以操作起来相对简单。此外,nRF905还有Power Down模式和StandBy模式,可以在满足通信要求下最节能方式。它的工作电流消耗也很低,非常适合低功耗无线数据传输。

nRF905无线收发模块首先处于接收状态,当nRF905无线收发模块接收到指令信息时,微控制器STC89C52控制L298N电机驱动模块驱动电机,在此时DS18B20数字温度采集模块和US-015超声波模块将温度信息和声波的回声发送给微控制器STC89C52,经过微控制器STC89C52的处理信息通过LCD1602模块在车载系统上显示,紧接着微控制器STC89C52也将信息传送给nRF905无线收发模块,nRF905无线收发模块将从微控制器STC89C52接收到信息发送出去。这样车载系统就完成了一次周期循环状态。

控制台系统独立按键总共有四个,分为四种控制功能,远程控制车轮的前进、后退以及拐弯。控制台nRF905收发模块初试状态也是接收状态,当有按键按下时,微控制器STC89C52读取到独立按键信息,则微控制器STC89C52使nRF905无线收发模块转换到发射模块,将指令信息发送到车载控制系统,车载系统端接收到指令后,执行指令后同时会将环境信息发送出去,当结束按键的时候控制台自动跳转到一次接收状态,控制台将此时接收的环境信息通过LCD1602液晶显示模块显示出来,这样就能通过控制台监测车载系统端的环境信息,这个过程就是完成了控制台系统的一个周期的运转。分别对车载系统端和控制台系统的微控制器STC89C52的编程即可协调整个系统的正常运转。

本文研究的系统中的软件都是通过微控制器STC89C52协调控制实现,软件编程主要通过Keil uvison来完成。由于系统被模块化处理,因此对该模块的编程就采用分成驱动程序包的形式进行编程,需用到模块采用驱动文件直接调用驱动函数即可。

此驱动程序可以进行不同的温度读取,限于本文,仅采用简单读法。首先初始化,调用DS18B20初始化函数,然后对ROM进行操作,在本驱动程序中,通过编程直接跳过对只读存储器的操作,然后将温度转换指令发送出去,紧接着再一次跳过对只读存储器的操作,将读取温度命令发送出去。最后,读取温度。

经过测试,小车可以被无线遥控行进,控制台也能接收到来自车载系统段的环境信息,由车载系统和控制台系统组成的整套系统可以完成如下任务:

(1)通过控制台系统的按键可以完成无线控制小车的前进、后退、拐弯。

(2)车载系统上的DS18B20温度采集模块和US-015超声波模块可以较为精确地采集温度信息和距离信息,并且通过LCD1602液晶显示模块在车载系统上显示。

(3)控制台系统可以正确接收来自车载系统的温度信息和距离信息,并且可以在控制台的LCD1602液晶显示模块显示出来。

在整体系统的信息处理上,由于nRF905的半双工通信特点,车载系统端和控制台系统端之间的通信有一定量的延时,延时的时间大概是两个周期的循环程序,也就是说在程序的设计时若代码中延时过多或者代码过长容易导致两者双方通信延时过长,导致信息的不正确甚至是信息丢失。在处理延时的问题上,有两种方法,第一种是用精简指令的方法,缩小指令之间的延时同时采用双触发标志指令来出发接收与发送数据;第二种是更换芯片,采用nRF2410无线收发模块等具有全双工通信的芯片来满足要求。限于文要求,采用第一种方法,采用精简指令和缩小延时的方法,除去半双工原理上导致的延时,其延时问题基本上得以解决。经过测试,在满足基本通信的情况下满足整个系统的基本需求(延时小于2S)。

此外,两者之间的通信距离也不能太近,由于对于硬件抗干扰方面的设计匮乏,通信双方会因为电磁干扰使通信质量变差,甚至使接收到的信息为乱码,所以经过测试当通信距离大于2M时,通信质量得到很大的改善。

由于半双工问题带来的延时影响是可以忽略的,而且通讯距离过近带来的信息干扰影响也是可以忽略不计的。所以,改良后,经过测试以及考虑系统功能需求,对于本可以设计的系统来讲,以nRF905无线收发模块为基础的通讯完全满足本文所涉及的系统的三个基本功能。

本文介绍的无线遥控环境监测小车,经微控制器STC89C51控制nRF905无线收发模块发送和接收指令,结合DS18B20温度采集模块和US-015超声波模块完成车载系统端的环境信息采集处理以及发送共享,实现远程无线遥控小车并达到环境监测的目的。本文所介绍的由车载系统和控制台系统组成的无线遥控环境监测小车系统通过实际通信验证,运行稳定可靠,整个系统都是系统模块化的结构,体积小,功耗低以及通信距离长的特点。可以广泛应用于安全生产、公安消防。汽车等行业的应用技术研究。具有向更宽泛的物联网以及智能探测方面研究的潜力。

参考文献:

[1] 罗三定.基于视觉反馈的智能小车系统研究[D].中南大学,2007.

stc89c52单片机篇8

关键词:机器人;STC89C52单片机;加速度传感器;无线蓝牙传输

1 概述

体感技术的特点,在于人们不必使用任何复杂的控制设备,直接地进行肢体动作,便可让人们身临其境地与周边的装置或环境进行互动。近年来体感技术广泛应用于3D虚拟现实、空间鼠标、游戏手柄、运动监测、健康医疗照护等领域,取得了巨大的发展[1-2]。

该设计是以两个单片机为控制核心,数字加速度计作为体感元件,以直流电机作为驱动与转向装置,利用无线蓝牙技术进行通信的智能操控系统。本设计体现了检测、电路、自动控制和无线传输等方面的技术,可在特定环境中完成体感控制,稳健行驶。

2 无线通信模块(蓝牙)的总体设计

该智能机器人系统是由中央处理器模块(单片机)、无线通信模块(蓝牙)、信息检测模块(数字式加速度传感器)、电机驱动模块、电源等部分组成,其整体结构框图如图1所示。

中央处理器模块选用STC89C52单片机[3],是体感型智能轮式机器人的关键;信息检测模块采集到加速度信号经过处理器进行分析和处理,然后通过电机驱动模块控制C器人的运行状态,从而实现轮式机器人平稳行驶。

信息检测模块选择ADXL345数字式加速度传感器[4]。ADXL345传感器具有体积小、功耗低、分辨率高,测量范围大(±16g)的特点。单片机可通过SPI或I2C通信方式直接从ADXL345内部的DATAX0、DATAX1、DATAY0、DATAY1、DATAZ0、DATAZ1 6个寄存器中读出加速度数据。通过对这6个寄存器的数据进行组合得出 X,Y和Z三轴的加速度数据,加速度值与数字输出数据呈线性关系。本设计采用两线制的I2C总线协议,可以用于三轮或四轮智能机器人的控制。

3 加速度测量原理

设α,β和γ分别为力F与X轴、Y轴和Z轴的夹角,如图2所示。根据力学知识可得,力F在X轴、Y轴和Z轴上投影的表达式为:

根据牛顿第二定律,加速度与力的矢量表达式为:

联立方程式(1)、(2),可得加速度分量的表达式为:

传感器平稳时,此时传感器仅受到重力作用,加速度a=g。通过变换,判断传感器姿势,并得出角度方程式为:

其中,加速度ax,ay和az分别为数字式加速度传感器测得的在X轴,Y轴和Z轴上的加速度。

4 程序设计

采用模块化设计方法,在Keil uVersion5环境下采用C语言编写程序。相关程序主要包括主程序、电机驱动程序、遥控控制程序等,系统软件总流程图如图3所示。

5 结束语

本设计采用ADXL345数字式加速度传感器作为体感控制器,经典的STC89C52单片机作为中央处理器,性价比较高的UART蓝牙技术作为通信手段,实现了通过手势改变无线控制智能轮式机器人运转的目的。通过改变体感遥控器的前倾、后倾、左倾和右倾的姿势,无线遥控了机器人的前进、后退、左转和右转的运动。实验测试结果显示:轮式机器人符合体感控制要求,反应灵敏,行动可靠。

参考文献

[1]林德江,井志胜,王国德,等.基于Leap Motion体感控制技术的数字化展示系统研究[J].火炮发射与控制学报,2015,36(04):86-90.

[2]师丹玮.体感操控:视觉识别比加速度传感器更适合[J].集成电路应用,2013,08:22-23.

[3]陈明妙,吴汶,李曼.基于STC89C52单片机的智能寻迹小车的设计[J].湛江师范学院学报,2013(6).

上一篇:单片机原理与应用范文 下一篇:单片机开发板范文