前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的单片机最小系统主题范文,仅供参考,欢迎阅读并收藏。
中图分类号:TP391文献标识码:A文章编号:1009-3044(2008)18-21ppp-0c
Proteus Simulation for 51-MCU Minimum Application System
CHEN Jian, LI Xin, HUANG Ying
(Hunan Institute of Technology of Hunan, Hengyang 421008, China)
Abstract: MCU application technology involves experimental practice more, and hardware investment is relatively large. With the development of computer technology, the Proteus based on EDA technique can solve the problem perfectly. This paper shows Proteus's application by the design of the 51-MCU minimum application system.
Key words: MCU; 51-MCU minimum application system; Proteus Simulation
1 引言
单片机体积小,重量轻,具有很强的灵活性而且价格便宜,具有逻辑判断,定时计数等多种功能,广泛应用于仪器仪表,家用电器,医用设备的智能化管理和过程控制等领域。单片机应用技术学习中涉及到的实验实践环节比较多,而且硬件投入比较大,而且单片机的种类繁多,再加上资金的限制,不可能在一个实验室包括所有种类的单片机仿真设备。因此,引入单片机软件仿真系统建立虚拟实验平台(Proteus仿真软件平台),不仅可以大大提高单片机学习效率并完成很好的完成教学效果,而且大大减少硬件设备的采购,同时降低对硬件设备进行维护的工作量。
2 Proteus功能简介
Proteus软件是来自英国Labcenter Electronics公司的EDA 工具软件,Proteus 软件有十多年的历史,在全球广泛使用。除了具有和其它EDA 工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是它的电路仿真是互动的。针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试。如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,Proteus可以建立完备的电子设计开发环境。
3 51单片机最小化应用系统Protesus仿真
3.1 软件的编写
本系统软件的编写选择在Keil软件环境下进行,芯片的型号选择AT89C51,编写汇编程序并保存为data.asm文件,其程序如下:
;** 51单片机的最小化应用系统主程序 **
MAIN: CLRP1.7;主程序开始,P1.7输出低电平"0",让点亮发光二极管
ACALLDELAY ;调用延时子程序延时一段时间,让发光二极管亮一段时间
SETB P1.7;P1.7输出高电平"1",熄灭发光二极管
ACALLDELAY ;调用延时子程序延时一段时间,让发光二极管熄灭一段时
AJMP MAIN;跳转到程序开头重复执行
;** 51单片机的最小应用系统延时子程序 **
DELAY: MOV R7,#255
Y1:MOV R6,#255
DJNZR6,$
DJNZR7,Y1
RET ;延时子程序返回
END ;程序结束
之后,利用Keil编译器编译调试,编译成功后生成data.hex文件。
3.2 绘制proteus仿真电路图
运行Proteus的ISIS,进入操作界库中选择元件,在Pick devices窗口中选择系统所需元器件,还可以选择元件的类别,生产厂家等。本例所需主要元器件有:AT89C51芯片,12M晶振,LED(发光二极管),若干电容和电阻等,详见表1。选择元器件后连接图1所示电路。
表1 元器件清单
图1 51单片机最小化系统仿真电路
Microprocessor ICs类的芯片的引脚与实际的芯片基本相同, 唯一的差别是隐去了GND和VCC引脚,系统默认的是把它们分别连接到地和+5V直流电源。故在电路连线时可以不考虑电源和地的连接。电路连接完成后,选中AT89C51单击鼠标左键,打开“Edit Component”对话窗口,可以直接在“Clock Frequency”后进行频率设定,设定单片机的时钟频率为12MHz。在“Program File”栏中选择已经生成的data.hex文件,把在Keil编写的程序导入Proteus,然后单击“OK”按钮保存设计。至此,就可以进行单片机的仿真。
3.3 Proteus仿真结果
AT89C51单片机最小化系统仿真结果如图2。仿真结果表明,系统达到了预先发光二极管闪烁的设计要求。在仿真的过程中每个管脚旁边会出现一个小方块,红色的方快表示高电平,蓝色的表示低电平。通过方快颜色的变化可以很方便地知道每个管脚电平的变化,从而能对系统的运行有更直观的了解,这对程序的调试有很大的帮助。
图2 仿真结果
4 结束语
本文结合一个简单的单片机最小化系统设计详细说明了Proteus在单片机开发中的应用。Proteus结合编程软件,如本文提及的Keil软件,能快速地进行单片机仿真,对于教学来说具有事半功倍的效果,对于工程应用来说能加快系统开发进程,降低开发成本。
参考文献:
[1] 陈朝元,鲁五一. Proteus 软件在自动控制系统仿真中的应用[J]. 系统仿真学报,2008,(7):318-320.
[2] 黄夙绚. Proteus与Ultra Edit、Keil的联合使用[J]. 无线电, 2005,(7):36-37.
[3] 李广弟,等. 单片机基础[M]. 北京:北京航空航天大学出版社, 2001.
收稿日期:2008-03-26
关键词:MC9SAW60单片机;环境监测;GSM
近年来我国科技得到迅猛发展,可是自然生态环境却遭到了越来越严重的破坏,给人们的日常生活及工农业生产带来许多困扰,所以,人们迫切想了解周边环境状况。而目前,国内用于民用的生活环境监控系统较少,随着单片机的广泛应用和通信技术的日趋发展,制作一个价格低廉、使用方便的环境监测系统越来越受到关注。
一、系统总体设计
为了实现对环境参数的实时监测,设计了一种基于MC9S08AW60单片机的环境监测系统。系统由AW60最小系统、温度采集电路、光照度采集电路、液晶显示电路、报警电路、串口通信电路、GSM模块电路等组成。
二、硬件设计与实现
1.单片机最小系统
该系统设计的最小系统模块采用独立设计,在最小系统模块上设计了相应的外接扩展板接口,将MCU的所有I/O引脚引出,
方便用户进行不同系统应用,节省成本。
单片机最小系统由MC9S08AW60单片机芯片、晶振电路、电源电路、复位电路、BDM写入调试接口、与扩展板接口等组成。本系统中选用的MC9S08A60芯片是飞思卡尔公司生产的一款高性能的8位微控制器,即使在各种恶劣环境下,MC9S08AW60亦可达到极佳的EMC性能。晶振选用4 MHZ,电源电路采用5 V直流电源,在电源正极和负极间接一个0.1 uF的无极电容,用来降低电源波动对系统的影响,增强电路工作稳定性。复位电路由一个按键并接一个RC电路组成,当按下按键时,复位引脚收到低电平,从而完成复位功能。
BDM写入调试接口采用Freescale公司自定义的片上调试规范,开发人员可通过它不断多次向目标板下载程序,或对MCU的Flash进行写入、擦除等操作。
2.数据采集电路
包括温度采集电路和光照度采集电路。温度采集电路选用DS18B20温度传感器,该传感器是数字传感器,该传感器DQ端连接一个电阻并接到MCU的输入引脚,MCU通过该引脚直接获取温度信息。光照度传感器采用PO188传感器,该传感器是模拟传感器,通过AW60内部自带的A/D转换将采集到的光照信息。
3.LCD显示电路
用来显示初始菜单、DS18B20温度传感器和PO188光照传感器采集来的温度和光照度信息,并根据实时更新显示。通过PTA口连接LCD的8个数据端,PTC2、PTC3、PTE3连接控制端。
4.GSM模块
选用华为公司的GPS模块GTM900-C,自带RS232通讯接
口,内部已设计了该模块和单片机连接的电平转换电路,所以直接通过单片机的串口和模块的串口连接。MC9S08AW60单片机发送AT指令控制GTM900-C模块,实现数据的无线传输和控制。
GSM通信模块内安装了SIM卡,该号码作为本系统的号码。
5.报警电路
采用声光报警。光报警部分直接用一个LED发光二极管串接一个1K电阻,再接到单片机的PTD5脚。声报警部分选用一个UNL2003达林顿管、一个蜂鸣器以串接一个电阻组成,UNL2003用来驱动蜂鸣器,其IN1端接单片机的PTD5,OUT1端接蜂鸣器,当超过预设报警温度或光照时,通过PTD5的输出高电平,激活蜂鸣器报警。
三、软件设计与实现
本系统选用Freescale公司自主研发的Codewarrior6.3版本,采用C语言编写。程序流程是系统初始化后,接收正常的温度和光照测量数据,通过LCD显示,同时系统可以通过按键设置温度或光照的报警范围、接收报警信息的手机号,程序通过判断若实时采集的信息超过设定值,会通过声光电路发出报警,并发送短信到设定手机上,达到警示作用。单片机和GTM900-C模块间通过AT指令通信。
本系统所研究的环境参数的监测可以实现远程化和无线化,具有结构简单、成本低廉、监控方便的特点。经过系统测试,所得数据符合技术要求。今后还可以根据实际应用要求增加譬如空气质量监测、有毒气体监测等。
参考文献:
[1]李天山.基于单片机的室内环境监测仪设计与实现[J].滨州学院学报,2012.
[2]曾静波.基于GPRS的环境监测系统的设计[J].科技信息,2012(20):283-285.
学生学习一定要有兴趣来引导,一旦一门学科激起了学生的学习兴趣,就能轻松地把他们领入知识的大门。单片机是一门理论性很强的学科,基本知识较多,如单片机最小系统外部结构、单片机内部结构、单片机指令系统、程序设计方法、单片机接口技术等,都需要学生熟知,传统教学中也是循序渐进地讲授给学生。在学生学习这些知识的时候,这些结构、指令太抽象,学生就逐渐失去了学习单片机的兴趣,停留在单片机的大门外,以后提到单片机也是觉得枯燥无味,不愿再深入学习。单片机也是一门实践性强的课程,学生理论基础没打好就会导致后面的实操毫无意义可谈,造成恶性循环。
二、基于项目驱动法的单片机课程一体化教学设计
项目驱动法是教师根据学生的实际情况以及教学大纲的知识点要求,选择合适的学习项目,在各个项目中穿插学生需要掌握的相关理论知识,循序渐进,重新整合教学内容,从而激发学生学习兴趣,引导学生学习相关理论知识,并主动完成项目中的每个任务,最终完成项目,达到学习目标。这是采取项目驱动法的意义所在。
根据笔者学校学生学习情况,笔者结合技校单片机专业课程教学大纲,单片机课程进行项目设计如下表。
三、单片机课程项目教学实例
现在以项目1中的任务二――单向流水灯设计为例,讲述项目教学的实施过程。
第一,发放任务书。首先让学生了解本次任务目标是完成单向流水效果显示,即灯从P1.0口的灯到P1.7口的灯逐个点亮。
第二,学习单片机硬件结构。教师讲授单片机以本课程的教学中常用的AT89C51为例,包括功能、引脚排列及其相关应用、最小系统是哪些、包含哪些部件、最小系统的工作原理以及用途。
第三,教师讲授C程序的基本结构、C51的数据类型以及C语言的基础语句。
第四,学生用Proteus仿真软件绘制流水灯电路,注意不要错漏元器件,并且不要重名。
第五,按照步骤一中流水灯的花样要求,在Keil仿真软件中编写程序并编译,编译无误并生成以学号为名的HEX文件,下载到Proteus仿真软件中进行仿真(在ISIS软件中双击AT89C51、载入HEX文件、仿真、正确的现象应该会出现八个流水灯流水的效果)演示效果,并进行程序调试,直到效果达到任务书要求即完成调试。
第六,软件调试达到任务要求的流水效果后,分组协作研究电路布局―按照电路领取元器件―插件焊接,制作单向流水灯电路。
第七,学习烧录器的应用,并利用烧录器烧录程序至电路板,接通电源验证电路与程序的正确性,验证是否符合本次任务中程序设计的要求效果。如果不符合,小组协作利用万用表检查电路焊接是否出错,同时检查程序是否存在问题,改错后再烧录验证,直至排错达到任务预期效果,完成任务。
第八,项目结尾。每小组讲解本组项目完成情况,展示成果,分析项目过程中的难点与问题,分享其中的收获体会,提出下次项目应注意的事宜,交流经验提升自己。同时教师和其他小组对演讲的小组进行评价。最后每组完成项目任务书,并上交任务书和完成的电路设计。
四、效果分析
关键词:单片机;用电保护;智能
1 系统设计方案
1.1 实现目标
设计一种能够实现家庭过功率保护,在家庭电路过功率的情况下能够自动断电并在功率恢复后自动启动的智能多通道电功率分配系统。该系统还能通过按键直接设置上限功率,同时该系统不仅能够实时显示干路电流和功率,还能实时显示电路工作状态和危险信号,并做出有效反应。具有价格便宜、使用方便、性能可靠、功率可控等优点。
1.2 系统总体功能
通过电流互感器SCD211FK、峰值检测电路实时检测入户线上的电流、电压,将检测到的值通过数模转换电路ADC0809输入单片机AT89S52,AT89S52将电流、电压值反映到LCD液晶显示屏上。通过按键电路给系统设定一个功率上限值,当家用电器的功率超过给定值时,单片机AT89S52给继电器信号,促使其发生保护动作,切断电源,并在LCD液晶显示屏上显示。当家用电器的功率低于功率上限时,单片机AT89S52给继电器信号,使其恢复给家用电器供电。
1.3 工作原理
系统是基于单片机AT89S52控制系统,包括显示模块、传感器模块、峰值检测模块、AD转换模块、放大模块等。干路大电流通过电流互感器STC211FK能够转换成小电流输出,再经过精密运放OP07转换成电压信号,然后通过检波电路进行峰值检测,再有AD0809采样输出稳定值,进过软件计算可得到精确地功率,从而实现过功率保护。
2 单元电路设计
2.1 电流互感器放大电路
电流互感器放大电路中使用SCT211FK电流互感器。SCT211FK是一款高精密的电流互感器,输入额定电流为2mA,额定输出电流为2mA。其线圈扎数比为1:2000,可耐控冲击电流为100A*1秒。
2.2 数模转换电路
ADC模块中主要是逼近型数模转换器ADC0809芯片,ADC0809芯片内部具有锁存功能的8通道模拟多路开关,可对8通道0~5的输入模拟电压分式的进行转换,芯片内具有多路开关地址译码器和比较器、锁存电路、256R电阻T型网络、逐次逼近型寄存器、SAR树状电子开关、控制和时序电路等。ADC0809芯片输出具有TTL三台锁存功能的缓冲器,可以与单片机总线直接连接。
2.3 峰值检测电路
由运放LF353和二极管、电容构成的检波电路,用于检测入户电压峰值。LF353是JFET型标准线性运算放大器,用电压跟随器不仅能作为缓冲器,而且和很好的隔离作用,并且能提高直流特性。该电路利用二极管的单向导通能力和电容充放电特性,得到比较准确的峰值。
2.4 基于单片机AT89S52的单片机最小硬件系统
单片机运行工作起来,所必需的最基本电路组成。最基本电路构成有电源电路、时钟电路、复位电路。
2.4.1 复位电路。由电容串联电阻构成,由“电容电压不能突变”的性质可知,当系统一上电,RST脚将会出现高电平,并且这个电高平持续的时间由电路的RC值来决定。典型的52单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位。本设计中C取10μ,R取8.2K。原则要让RC组合可以在RST脚上产生不少于2个机器周期的高电平。
2.4.2 时钟电路。当单片机在工作时,从取指令到译码再进行微操作,必须在时钟信号控制下才能够有序的进行,时钟电路就是为单片机工作提供基本时钟的。单片机的时钟信号通常有两种产生方式:内部时钟方式和外部时钟方式。在单片机XTALL1和XTALL2引脚上跨接上一个晶振和两个稳频电容,可以与单片机片内的电路构成一个稳定的自激振荡器。晶振的取值范围一般为0~24MHz,常用的晶振频率有6MHz、12MHz、11.0592MHz、24MHz等。
2.4.3 电源电路。AT89S51单片机的工作电压范围:4.0V~5.5V,所以通常给单片机外接5V直流电源。该电路输入家用220V交流电,经过全桥整流,稳压后输出稳定的5V直流电。方便实用,输出电压稳定,最大输出电流为1A,电路能带动一定的负载。
2.4.4 单片机最小系统电路。单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10~30uF,51单片机最小系统电容值越大需要的复位时间越短。系统晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。系统中的起振电容C2、C3一般采用15~30pF,并且电容离晶振越近越好,晶振离单片机越近越好。由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2ms。
3 结束语
本系统基于单片机AT89S52设计,适用于当家庭电路发生过功率时,实现自动断电保护。可以通过按键直接设置上限功率,超过上限功率系统将对家用电器实现自动断电。通过LCD液晶能够实时显示干路电流和功率,并且能实时显示电路工作状态和危险信号,以此来做出有效反应。
参考文献
关键词:传感器;HX711;单片机;语音模块
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2016)10-0255-02
智能电子秤按照设计要求,应分为数据采集模块、控制器模块、人机交互液晶显示界面三大模块。在功能扩展上,还可以增加一个语音播报功能使电子秤的设计更人性化智能化。基于此,本系统的实现包含硬件和软件设计两大部分,具体以MSP430 单片机为核心控制器,以电阻应变式压力传感器后接HX711模块实现信号转换、采集和放大,从而将物体重量转换成单片机可处理的电压信号。将处理好的电压信号送到LCD显示模块和基于ISD1760的语音播报模块,在这之前需要先将合成的语音片段按地址存入到ISD1760芯片中,记录每一个语音片段的地址,从而通过程序调用,实现按照实际称重值进行语音播报。
1 系统硬件设计方案
1.1系统硬件工作原理
该系统硬件主要包括单片机最小系统、基于HX711传感器称重模块、LCD显示模块和基于ISD1760的语音播报模块,其中,单片机最小系统板是M430G2553开发板,传感器称重模块采用双孔悬臂平行梁应变式称重传感器。显示模块采用INEX-GLCD5110,语音模块采用ISD1760芯片加扩展构成。系统硬件控制电路总体框图如下图1所示:
系统的工作原理为:首先通过USB线给整个系统供电,然后将写好的程序写入M430单片机中,将单片机的引脚信号加载到称重模块、LCD显示模块和语音播报模块,从而使整个系统工作起来。当有物体放到秤台上时,即可显示并播报重量。
1.2系统硬件设计
1.2.1单片机最小系统模块
MSP430 系列单片机是一个16 位的单片机,采用了精简指令集(RISC )结构,具有丰富的寻址方式(7 种源操作数寻址、4 种目的操作数寻址);大量的寄存器、片内数据存储器及高效的查表处理指令使其具有较高的处理速度,在8MHz 晶体驱动下指令周期为125 ns,这些特点保证了可编制出高效率的源程序。
1.2.2基于HX711的传感器称重模块
1)基本器件介绍
HX711传感器模块由带128 倍增益的24bit AD 模块、20Kg压力传感器组成,通过对应端口连接到单片机的控制端,实现对物体重量的测量。各模块与HX711连接示意图如下图2所示:
2)基本原理讲解
①20kg 传感器
满量程输出电压=激励电压*灵敏度2.0mv/v
②HX711模块对产生的5mV电压进行采样。
步骤1:如何计算传感器供电电压
HX711可以在产生VAVDD 和AGND电压,即HX711模块上的E+和E-电压。
该电压通过VAVDD=VBG(R1 +R2 )/R2计算。
步骤2:如何计算AD输出最大值
在4.3V的供电电压下20Kg 的传感器最大输出电压是4.3v*2mv/V = 8.6mV
经过128倍放大后,最大电压为8.6mV*128 = 1100.8mV
经过AD 转换后输出的24bit 数字值最大为:550.4mV*224/4.3V ≈ 4294967
步骤3:程序中数据如何转换
程序中通过HX711_Buffer = HX711_Read();获取当前采样的AD 值,最大4294967,存放在long 型变量HX711_Buffer中,因 long 型变量计算速率和存放空间占用资源太多,固除以100,缩放为int 型,便于后续计算。
Weight_Shiwu = HX711_Buffer/100;Weight_Shiwu 最大为42949。
步骤4:如何将AD值反向转换为重力值。
假设重力为x Kg,(x
20Kg传感器输出,发送给AD模块儿的电压为A Kg * 8.6mV / 20Kg = 0.43A mV
经过128倍增益后为128 * 0.43A = 55.04AmV
转换为24bit 数字信号为55.04 A mV * 224 / 4.3V = 214748.3648A
所以y = 214748.3648A /100 = 2147.483648 A
因此得出A = y / 2147.483648 Kg ≈ y / 2.15 g
连接好的称重模块如下图3所示。
1.2.3基于ISD1760的语音播报模块
ISD1700 系列芯片内部包括:麦克风前置扩大器、自动增益控制、扬声器驱动线路、振荡器与内存等全方位整合系统功能。
在本设计中,为实现语音播报功能须事先将需要的声音通过线录的方式存入芯片内,当将此模块连进系统后则可直接通过程序调用语音。连接好的语音播报模块实物图如下图4所示。
2 系统软件设计方案
2.1 软件功能设计目标
称重是系统的核心,语音播报是亮点。因此本次软件开发在Windows系统TI CCS平台下采用模块化设计,包括主程序,传感器处理子程序,LCD液晶显示子程序及ISD1760语音芯片驱动子程序等。
称重传感器数据处理子程序是通过称重传感器的模拟信号进行放大,AD转换来读取称重值。LCD显示子程序主要用来直观显示称重值。语音播报程序是在获得称重值之后将称重值报读出来,主要是通过SPI总线对语音芯片ISD1760进行操作。程序流程结构如上图5所示。
2.2系统软件设计
2.2.1 Altium Designer 软件使用
使用Altium Designer 绘制单片机最小系统、称重模块、LCD显示模块电路原理图、PCB图:
如图7、8所示。
2.2.2用CCS软件编写单片机控制程序
1)程序中主要变量和函数
//5110IO口初始化
voidio_initial(void)
{ P1DIR |= BIT6+BIT7;//设置为输出
2DIR |= BIT0+BIT3+BIT4+BIT5;
}
//获取毛皮质量
voidGet_Maopi()
{HX711_Buffer = HX711_Read();
Weight_Maopi=HX711_Buffer/100;}
voidGet_Weight()
{ Weight_Shiwu=0;
HX711_Buffer = HX711_Read();
HX711_Buffer= HX711_Buffer/100;
Weight_Shiwu = HX711_Buffer;
//获取实物的AD采样数值Weight_Shiwu=(unsigned int)((float)Weight_Shiwu/2.15+0.5);}
//芯片IO初始化
voidIO_initial(void)
{ P2DIR &=~ BIT2;//设置为输入
P2DIR |= BIT0+BIT1;
P1DIR |= BIT5;//设置为输出
DISENISD1760_SS;
ISD1760_SCLK_H;
ISD1760_MOSI_L;
}
3 系统测试及总结
3.1系统测试方案
msp430采用TI MSP430 LunchPad 最小系统板,不必进行测试。对ISD1760语音模块测试,焊接了由STC89C51RC(调试及录音用)与ISD1760芯片组成的语音板, 利用上位机软件进行了ISD1760器件复位,上电,录音,获取录音地址,播放录音等调试,以便将SPI通信移植到MSP430上。系统整体硬件连接实物图如上图6所示。
3.2项目总结
经过多次20kg以下重物称重测试,该系统重复称重精度能达到III类标准,液晶显示功能正常,语音播报及时准确,较好的达到了预期效果。存在的不足是传感器有时信号传递不稳定,称重误差较大。如果改用高精密度的传感器,效果定会明显改善。
该系统操作简单,性能稳定,硬件选配合理,价格低廉,且易于扩展。软件部分加入了人性化设计,如超重报警,语音播报等特色功能,智能化、自动化程度较高。同时该系统可扩展性较强,通过对软硬件的修改或扩展,如添加键盘等,即能设计出富有特色的计价秤、电子台秤等,因此具备一定的工业应用价值。
参考文献:
关键词 单片机;温度控制系统;控制程序;联调
中图分类号:TP273 文献标识码:A 文章编号:1671—7597(2013)022-041-2
表征一个物体的冷热程度用温度来作为单位。在生产中最基本的物理量,也是生活中常见的物理量之一。总的来说,温度的测量与控制在各个领域中都有涉及,在国民经济中颇受到重视。因为,温度与自然界中的许多物理、化学过程都有紧密相关的联系。而且在很多生产过程中,温度的测量和控制如若不好,也都会直接影响安全生产、生产效率和产品质量等,还会造成能源的浪费和重大技术经济指标下降等损失。
1 硬件总体方案设计
如图1所示,是本文所研究的系统硬件部分结构框图,按照功能大致分为以下几个部分:测温部分、最小系统、控温部分以及电平转换和串口通讯部分。
为了使设计功耗更低、成本更低、性能更好,最终决定选用以下器件来搭建硬件平台。
1.1 单片机最小系统
单片机的最小系统其中包括:单片机芯片,复位电路、时钟电路。时钟电路的作用是,在单片机工作时提供所必须的时钟信号。STC89C52单片机的内部电路可以在时钟信号的控制下,严格地按时序执行指令来进行工作;单片机的初始化操作是复位操作,若想使单片机复位,只要给单片机的复位引脚RST加上大于2个机器周期的高电平。
1.2 测温部分
本部分的温度测量采用的是DS18B20传感器,它有了很大的改进体现在以下方面:测量温度、转换时间、传输距离、分辨率等。它比传统的热敏电阻更能够直接地读出被测的温度值,通常能简单的来读取9到12位的温度值。并且是符合于实际要求。数据总线能控制DS18B20的温度变换功率,的同时还能向所挂接的DS18B20供电,因此省去了额外电源的部分。因此,对比来看,DS18B20所使用的系统结构更简单,可靠性更高。最终,DS18B20被广泛应用于温度采集与处理、数字温度计及各种温度控制系统,也在情理之中。
1.3 控制电路部分
该部分电热丝的加热,是通过单片机的P口输出的高低电平差来继而控制固态继电器的通断来实现的。例如,当P口输出低于电平时,加热电阻就会通电从而使周围的温度缓慢升高,那么DS18B20测得的温度值也会跟着升高;一旦当P口输出高电平时,加热电路就会立即断开,温度渐渐回落。
2 软件总体方案设计
温度的控制系统的主要功能,是要在通过系统的硬件电路确定之后再依赖于软件来实现的。软件主要流程是:完成温度数据的采集,通过串口通信把采集的数据传送给上位机,并接收上位机的命令以此来温度控制。
2.1 单片机最小系统设计
STC89C52单片机其片内含8kbytes的可反复写的FlashROM和128位bytes和RAM。是本系统的主控芯片,且由深圳宏晶公司销售。这款MCU,是由美国设计并生产的一种具有低电压、高性能的CMOS8位单片机。同时有2个16位定时计数器。
STC89C52单片机内部主要部件,都是由内部总线连接起来的,以此来构成一个完整的微型计算机。其中,各部件包括:寄存器、程序状态字PSW、制度存储器ROM、累加器ACC、地址指示器DPTR、随机存取存储器RAM、定时器/计数器、并行I/O接口P0-P3、串行I/O接口以及定时控制逻辑电路等。
2.2 测温电路设计
DS18B20传感器是通过P1.0口与单片机相连以此来实现数据的传递的传感器。也是本文中测温电路主要介绍的,其具体硬件原理图如图2所示。
DS18B20芯片的供电方式有两种:寄生电源供电方式、外部电源供电方式。其中本文采用的是外部电源供电方式。
外部电源的供电方式介绍如下:由VDD引脚接入DS18B20工作电源,而且I/O线不需要强上拉,保证了转换精度,同时也不存在电源电流不足的问题。在理论上,总线上还能同时挂接任意多个DS18B20传感器,完整地组成多点测温系统。
需要特别注意的是:在外部供电的方式下,为了保证正常转换温度,避免读取的温度总是85℃这个情况的发生,所以DS18B20的GND引脚不能悬空。外部电源供电方式作为DS18B20的最佳工作方式。
它具有以下优点:可以突破开发出更多点的温度监控系统,除此之外,工作稳定可靠,抗干扰能力强,而且电路较为简单。在外接电源的方式下,即使电源电压VCC降到最低3V时,也依然能够保证温度量的精度,这样一来,就充分发挥DS18B20宽电源电压范围的优点。
3 控制部分子程序设计
本部分的主要功能就是接收上位机的命令,实现整体正常运行。
当接收的命令为“K”,相应的,对单片机P0.1就会输出低电平,继而固态继电器会呈现闭合状态,如此就能实现接通加热丝并使其对水进行加热的效果;
反之,若接收的命令为“G”,相应的P0.1口会输出高电平,加热丝会停止加热达到温度回落的目的。
4 系统联调
系统完整调试完毕后其温度控制结果也相应地,通过上位机显示出来,如图3所示。
参考文献
[1]夏大勇,周晓辉,赵增,陈博峰,虎恩典.MCS-51单片机温度控制系统[J].工业仪表与自动化装置,2007(01):43-46.
[2]张菁.单片机温度控制系统方案的研究[J].上海交通大学学报,2007(01):142-144,148.
关键词:DS1302时钟芯片;单片机;掉电记忆功能;时钟系统
中图分类号:TP29 文献标识码:A 文章编号:1007-9416(2017)03-0206-01
1 前言
实时时钟广泛应用于人们的生活中,本文采用集成的时钟芯片DS1302完成简易时钟的设计,电路结构简单,通过单片机的控制,便能产生精确的时间信息。设计中,电可擦可编程只读存储器(EEPROM)的引入,由单片机控制,实时记录当时时间信息,掉电时防止时间信息丢失。
2 系统设计方案
系统采用STC89C52单片机作为主控芯片,控制系统的整体运行。时钟电路模块由DS1302时钟芯片及其电路组成。显示功能由LCD1602控制,用于时间的实时显示。按键输入功能,便于时间的矫正与修改。由于系统掉电时,当前的时间数据也会随之消失,因此,系统添加EEPROM,扩展掉电时间信息的保护功能。
3 硬件设计
系统由单片机最小系统调动各模块的功能操作。DS1302时钟芯片可以对年、月、日、周、时、分、秒进行计时,工作电压为2.5-5.5V,兼容单片机电压,芯片采用三线SPI接口与单片机进行同步通信。芯片外接32.768kHz晶振。时钟电路设计如图1所示。
单片机与EEPROM建立I2C通信,用于时间数据的实时读写操作。单片机P3.4-P3.7连接按键输入模块,用于外部触发单片机对时钟芯片DS1302数据的修改操作。单片机的P0-P7作为与液晶1602数据交互的并行接口。
4 软件设计
软件设计流程如图2所示,系统上电后,单片机初始化液晶设置,完成对DS1302时钟芯片的配置,设定时间初值,然后读取芯片内的时间信息。时间信息一方面储存在EEPROM芯片,由单片机对EEPROM进行写操作,实时录入当时时间信息,另一方面用于液晶LCD1602显示时间信息。当外界掉电时,我们希望记录掉电的时间值,因此,再次上电时,单片机通过读EEPROM的读操作获取掉电时刻的时间。此外,我们可通过外部按键输入的方式,完成对时间信息的调整。
5 结语
本文介绍了一种简易的时钟设计方案,使用的STC89C52单片机控制DS1302时钟芯片,实现时钟的实时显示,并且引入EEPROM存储器用于扩展掉电时间记录功能,时间信息还可由外接按键控制更改。系统设计人机交互良好、控制灵活、成本低廉,为人们的生活提供了便捷。
参考文献
[1]程雯,戎蒙恬,李萍.用于实时时钟的32.768kHz晶振电路分析与设计[J].信息技术,2009,33(1):15-17.
[2]张桦,傅丰林.基于ARM的嵌入式系统中DS1337实时时钟接口电路及Linux驱动程序设计[J].电子元器件应用, 2006(11):9-12.
[3]孟庆涛,李良,陈志瑞,等.实时时钟电路的单片机仿真设计[J].仪表技术,2014(10):24-26.
关键词:CAN总线;温湿度;实时通信
1 前言
本文设计了一个基于CAN总线的温湿度智能节点。该系统由单片机最小系统、湿度检测电路、温度检测电路、A/D转换电路、显示电路、CAN控制器、CAN收发器构成。
2 系统总体设计
本设计是一个基于CAN总线的温湿度检测节点,节点采集温湿度模拟信号经A/D转换送入主控制器,并将节点的主控制器连接在CAN总线上,可实现远程通信和监控。系统结构如下图1所示。
3 硬件设计
3.1 单片机最小系统
单片机最小系统由单片机AT89C52、时钟电路和复位电路构成[1]。
3.2 温度检测电路
本设计选用LM35为温度传感器,LM35温度传感器输出电压与摄氏温标的线性度好,而且输出模拟量信号适合远距离传输,LM35输出与温度值对应的电压信号经放大10倍后变为标准信号送往A/D转换电路。
3.3 A/D转换电路
LM35输出的电压信号要转换为对应的数字信号才可被单片机接收,本设计选取ADC0809作为A/D转换器即可满足要求,由于ADC0809的时钟信号为500KHZ,故将单片机的ALE端接四分频器后给转换器作为时钟。
3.4 湿度传感器电路
本设计的湿度检测电路由555多谐振荡器来实现,HS1101传感器的电容值与温室湿度成线性关系,空气湿度通过555测量振荡电路后,就转变为与之呈反比例的频率信号,后将频率信号送单片机的计数器即可计算出湿度值。
3.5 显示电路
由于智能节点的需要实时显示室内的温湿度值和报警信息,数据较为复杂,故选择LCD1602液晶显示器,可以显示16×2 个字符,具有显示质量高、数字式接口、体积小、重量轻、功耗低等优点,可以满足设计的要求。
3.6 CAN接口电路
CAN接口电路主要由CAN控制器SJA1000、光电耦合器6N137和CAN驱动器PCA82C250构成。CAN总线控制器的地址/数据复用总线与单片机的P0口相连,并将中断输出到单片机中断口,总线控制器串行数据输出线(TX)和串行数据输入线(RX)分别经光电耦合电路连接至总线驱动器82C250,总线驱动器通过差分发送和接收功能的两个总线端CANH和CANL连接至CAN总线电缆[2]。
⑴总线控制器。CAN总线控制器提供了与单片机控制器的数据线路接口,单片机通过对控制器编程设置其工作模式,控制其工作状态,启动CAN报文的发送并对反馈报文接收予以响应,即CAN总线控制器实现了CAN协议中最复杂的数据链路功能。本设计的总线控制器选用SJA1000。
⑵光电耦合器。由于总线传输距离远,现场环境干扰大,为了增强抗干扰能力,在SJA1000与PCA82C250间采用高速光耦6N137实现总线电气隔离。为了有效隔离,6N137两端的电源使用B0505S-1W隔离,而且可以减少CAN总线有效回路信号的传输延迟时间。
⑶CAN收发器。CAN总线收发器实现了物理层的功能,一方面将控制器发送信号转化为符合CAN物理层标准的信号,进行放大、传输;另一方面将总线上收到的信号转变为控制器所能接收的电平信号。其本质是提供了CAN控制器与物理总线之间的接口:即为总线提供差分信号的发送功能,为控制器提供差分信号的接收功能。本设计的CAN收发器选择PCA82C250。
4 软件设计
节点程序主要包括主程序、CAN控制器初始化程序、湿度检测中断程序、接收程序和发送程序。其中主程序主要完成中断初始化、键盘扫描、温度检测和温湿度显示及报警等功能;CAN控制器初始化程序主要完成SJA1000的初始化设置;湿度检测中断程序完成湿度传感器的脉冲计数及对应湿度的计算;接收程序由单片机的外部中断完成,主要实现节点接收报文的处理;发送程序主要实现节点报文的发送。
[参考文献]
【关键词】电磁感应摆;电磁控制装置;单片机
一、电磁感应摆介绍
电磁感应摆如图1所示,包括摆杆和电磁控制装置两部分,摆通过摆杆支撑轴固定在支架上,摆的下端放置一个磁铁。电磁控制装置在摆的下边,通过电磁作用使摆摆动。
图1 电磁感应摆示意图
二、系统硬件的理论分析与设计
控制电路包括单片机最小系统、按键模块、液晶显示模块、声光报警模块、电机驱动模块等部分组成。
(一)单片机最小系统模块
单片机最小控制系统以STC12C5A60S2单片机为核心,复位电路具有手动和上电复位两种形式、时钟电路采用12MHz晶振,EA引脚接5V电源,存储器选择内部寄存器,
(二) 液晶显示模块
液晶显示模块采用12864液晶,单片机串行控制,实时显示预置摆角、周期、工作模式等信息,
(三) 按键模块
通过四个独立按键(S1、S2、S3、S4)的不同搭配完成不同功能。
初始界面通过S4(切换)完成模式的选择,S1(确认)完成模式的确认。自由模式下通过S4(启动、停止)完成对装置的控制。控制模式下通过S4(切换)完成模式的选择,S1(确认)完成模式的确认。在周期控制、角度控制、双重控制模式下通过S4(切换)完成周期、角度的选择,通过S2(增加)、S3(减少)完成周期、角度的预置,S1(确认)按预置参数摆动。
(四)电机驱动模块
本系统采用M415B细分步进驱动器。M415B是采用美国IMS公司先进技术生产的细分型高性能步进驱动器,适合驱动中小型的任何1.5A/相电流以下的两相或四相混合式步进电机。由于采用新型的双极性恒流斩波驱动技术,使用同样的电机时可以比其他驱动方式输出更大的速度和功率,其细分功能使步进电机运转精度提高,振动减小,杂讯降低。
三、系统软件设计
电磁控制运动系统软件主要包含主程序、液晶显示子程序、按键控制子程序及电机驱动子程序等。
系统上电后,首先进行初始化操作,液晶显示初始界面内容,即自由模式、控制模式选择,然后根据选择进入二级菜单,最后根据选择模式以及参数设定对电机进行操作。
图4-1 主程序流程图
自由模式时,摆杆周期和摆角为程序内置,分别为2s和45°。按下启动按键,摆杆按预设值自由摆动。按下停止按键,摆杆回到静止点。
控制模式下,有三种参数设定方式,分别是角度控制、周期控制、双重控制。
角度控制模式下可以对摆角进行预设;周期控制模式下可以对摆角进行预设;双重控制模式下可以同时对摆角和周期进行预设,完成参数设置后,摆杆根据预置周期、摆角进行相应运动
四、结论
经过反复调试检测,摆杆的摆角和周期均能在指定范围内预置且误差均在要求范围内,系统运行稳定、精确,较好的完成了题目的基本功能和全部发挥功能。
参考文献:
[1] 宁武等. 新版大学生电子设计竞赛基本技能指导. 电子工业出版社,2013
[2] 郭天祥. 51单片机C语言教程. 电子工业出版社,2009
[3] 陈桂友. 增强型8051单片机实用开发技术. 北京:北京航空航天大学出版社,2009