首页 > 期刊投稿知识库 > 基于单片机的水ph值检测论文

基于单片机的水ph值检测论文

发布时间:

基于单片机的水ph值检测论文

已把我毕业论文的一部分发给你了,应该是你想要的。还需要其它的说一声

一·基于MSP430 单片机的电源监控管理系统(单片机论文)引言大功率直流开关电源由PFC 和DC-DC 变换器组成,为了提高可靠性,并能够对其进行脱机或远程监控管理,在开关电源模块内设置监控管理系统。该系统对电源故障类进行监控,对电源输出的电压电流进行自动设定和调节,通过串行通信接口,与远程中心监控站进行远程监控和管理,这一功能在通信系统基站供电系统中尤为重要。本文提出了一种基于MSP430单片机的电源监控管理系统的设计和实现。1 系统结构和硬件电路设计系统的整体设计结构如图1所示。本系统采用的核心芯片为TI公司推出16位系列单片机MSP430。MSP430具有集成度高,外围设备丰富,超低功耗等优点。单片集成了多通道12bit的A/D转换、片内精密比较器、多个具有PWM功能的定时器、片内USART、看门狗定时器、片内数控振荡器(DCO)、大量的I/O端口以及大容量的片内存储器,采用串行在线编程方法,单片可以满足绝大多数的应用需要。 MSP430的这种高集成度使应用人员不必在接口、外接I/O及存储器上花太多的精力,而可以方便的设计真正意义上的单片系统,在许多领域得到了广泛的应用。下面介绍该系统可以实现的功能和基于MSP430F149的电控系统的设计。1.1 系统功能:a.开机控制。上电后,单片机开始工作,按下电源键,点亮指示灯后,将电网220V接入PFC,开关电源启动工作,然后接于负载。b.电压设定和调节。用单片机A/D口采集开关电源的输出电压值,并显示于液晶屏上,通过单片机控制数字电位计调节输出电压值,实现自动调节;或者通过键盘的左右键选出电压调节页面,用上下键进行手动调节;也可以通过通信接口实现远程调节。c.电流调节。多台开关电源并联使用时,要求各台电源的负载电压相等。单片机A/D口采集转换成电压值的负载电流值,通过通信口得到各台电流值,取电流平均值,控制数字电位计调节输出电压,使输出负载电流达到平均值;或者通过键盘的左右键选出电流调节页面,用上下键进行手动调节。d.故障报警。单片机通过光电耦合器检测到各项输入输出故障时,扬声器产生蜂鸣,相应的报警灯闪烁,并在液晶屏上显示故障类型及处理方法。e.监测。单片机A/D口对电网电压,输出电压,输出电流进行采集测量,当出现超限时进行报警。f.通信。包括单片机与各台开关电源间的通信和单片机与中心监控站的通信。1.2 电压调节电路电压调节电路由单片机、数字电位计X9313和可调分流基准芯片TL431组成,其电路原理图如图2所示。Xicor9313是固态非易失性电位器,可用作数字控制的微调电位器。TL431是TI生产的一个有良好的热稳定性能的三端可调分流基准源,它的输出电压用两个电阻就可以任意地设置到从VREF(2.5V)到36V范围内的任何值。工作时,单片机的一个IO控制INC计数输入脚,为其提供计数脉冲,此输入端为下降沿触发。另一个IO控制U/D升降输入端,当U/D为高电平时,X9313内部计数器进行加法计数,VW端的输出电压上升,由于VW接地,使VH端电压降低,而TL431的REF输出端电压为恒定的2.5V,从而使Vcc处输出电压升高;同理当U/D为低电平时,Vcc处输出电压降低,这样就实现了电压输出调节。1.3 模拟数据采集MSP430F149内嵌入一个高精度的,具有采样与保持功能的12位ADC转换模块,内部提供各种采样与保持时钟源。MSP430有8个外部输入通道可选, 最高采样速度可达200KHZ,并且还内置温度传感器,可以测量芯片内的温度,如果测量温度高于或低于预设的温度是,可以通过外接部件显示告警信息,同时具有6种可编程选择的内部参考电压。该转换模块为一些需要模拟量采集的场合提供了便利。我们选择的参考电压是0~2.5V,这样MSP430F149的AD分辨率就是2.5/4096 = 0.61V左右。由于输入的模拟电压量较高,不能直接与单片机的ADC采样端口相连,因此用串联一个滑动变阻器的方法进行了降压处理,成功解决了上述问题。1.4 人机对话设计系统的人机操作界面由液晶显示屏、指示灯和键盘组成。液晶选用的是基于T6963C 的液晶模块YM12864。键盘采用的是3×3 的阵列接法,系统采用了图形用户界面,操作简单易行,显示实用美观。工作时,液晶屏可以实时显示采集到的电网电压、输出电压、输出电流及各种报警信息,操作相应键盘可以进行显示页面的切换,对输出电压,输出电流进行自动、手动及远程控制调节。当有报警信息产生时,相应得指示灯会闪烁警示,同时与单片机连接的扬声器会产生报警蜂鸣声,以提醒操作人员做出相应的处理。2 系统软件设计430 支持汇编语言和C 语言两种语言编程,因此可以在一个工程文件中同时用两种语言,使用汇编语言,便于在调试时寻找逻辑和指令的联系及地址的定位正确与否。使用C 语言进行编程大大减少了工作量,编好后的程序可读性好,易于修改和维护。开发工具使用IARSystems 公司的IAR Embedded Workbench,它集成了编辑、编译、链接、下载与在线调试(Debug)等多种功能,使用方便,并具备高效的C 语言编译能力。考虑到软件开发效率及可维护性,系统软件设计遵循模块化的编程思想,将系统功能划分为几个相对独立的功能模块。它们包括:液晶显示模块、AD 转换模块、按键监测响应模块、报警监测响应模块、电压电流调节模块、数据处理模块、通信模块。每个模块都要进行独立的测试,最后结合到一起。整个系统的软件流程图如图3 所示。按键监测模块是其中的重要组成部分,它控制着AD转换的启动,显示页面的切换,及电压电流的自动调节,手动调节,远程调节的启动和切换。报警监测模块对开关电源的保护起着至关重要的作用,它实时的监测着开关电源是否出现故障,当发生输入电压过压,输入电压欠压,PFC故障时应切断总电源,当发生输出电压过压,输出电压欠压,模块过热,及IPM保护故障时应关断DC-DC变换器。在对各模块进行整合时,要注意各中断之间的冲突。由于在MSP430 的中断优先级中,ADC12 采样转换中断优先级高于TIMERA 中断,因此当在响应TIMERA 中断的过程中会执行ADC12 采样转换中断,或者TIMERA 的中断响应被迫延迟,这样就会影响在TIMERA中断中执行的报警监测响应程序,不能达到对开关电源故障类的实时检测。在本系统中,利用按键控制ADC12 采样转换中断的启动和关闭,从而解决中断冲突。3 结论本文在基于MSP430F149电源监控管理系统的设计和实现的基础上对MSP430的系统设计做了讨论,提出并解决了在设计中出现的问题。本文作者的创新点:利用MSP430的系统结构简单,外围电路少,效率高的特点,设计实现了简洁直观、使用方便、操作全程汉字提示、监控能力强、运行稳定、安全可靠的电源监控管理系统,大大降低了成本,取得了相当可观的经济效益,满足实际需求。二·C语言论文:嵌入式以门槛高,入门难的方式拦截了无数的学者。然而单片机作为嵌入式的入门课,如何以一种正确的方法学习单片机将关系到是否能学习好嵌入式。纵所周知,学习嵌入式先玩ptotel,再做单片机。Protel简单的来说就是一个做PCB板的纯英文的软件。学习ptotel前必需具备一定的电路基础和英语能力,电路基础我想大部分同学都是有的,而英语这一块却是许多人所头疼的。这对英语基础差的同学是一种打击,再者如果毅力不强,我想你是自学不下去的。毅力是学任何东西所必需的一种能力、素质,是一种遇挫折而不言败的决心。不管学的是protel还是单片机,首先要找一个能够指导你的人。何谓指导,指导并不是说他要一步一步地教你去做,而是一个在关键时刻能够为你指出一条道路的人。我认为学习嵌入式方法最重要,在学protel和单片机之前应该想办法了解关于学习它们的方法。比如说protel吧,许多人理科的学生都是以一种纯理解的角度去学的,画一个导线、元件问一下为什么要这样画,生成网络表也追根溯源地问个网络表的由来。其实许多东西只是懂用就行,理论的东西懂得再多不懂用也是枉然的。所以学习protel有地方不懂你就问你的指导员,有许多的东西是规定死了的,不是你想半天一夜就可以为你而改变的。这不同于软件设计,软件设计在你的苦思之下也许可以找到另一种更好的方法。 单片机嘛,不得不承认中国没一本单片机好书。我学习单片机的时候看过的单片机书有七本,大多数都是不尽人意的。在这里我冒昧地说:中国人写书确实缺乏一点“读者至上”的原则。我所看过的单片机书我想有很多都是以他的角度去写的,没有几个人是站稳在读者的角度上写的。书上的章节注释极不清楚,许多重要的地方都是没有说明的,说句不好听的话,作者似乎以为读者的水平也像他一样高。而外国人的书呢,同样的书,同样的知识点,有同样的中国人的书的两三倍那么厚,这是为什么。这是因为外国人的书点点滴滴都是面向着读者的。注释、说明、总结应有尽有。所以,我在这里发表一个也许同胞会扔鸡蛋到我身上的观点,那就是:不管学什么,优先选择外文翻译书,或是纯英文书。得到一本好书对我们的影响极为巨大。这一部分我用一句话来总结就是:中国人的书适合教学,而外国人的书不仅适合教学还适合自学。 中国人的单片机书往往都是先介绍单片机的内部结构、中断,定时器,然后再到I/O口。一开始就让我们学习单片机内部结构,中断、定时器的内部结构和原理,把我们弄得一塌糊涂的时候再和我们讲例子,怎样去操作实验板。如果自学的话我想许多同学是学不下去的,干嘛要把非得把单片机的内部结构像解剖学一样弄个彻底才实践去应用它呢?即使你把单片机全解剖清楚了还是不会用你手中的这块实验板的。我觉得如果在学单片机之前没有学过汇编语言就直接用C语言学的话,即使学完了单片机,对单片机的内部结构和单片机的工作原理也是不清楚的。学了汇编之后再学单片机的话效果将会好得多,所以不要心急,有些东西是急不来的。所以我认为学习单片机要在实践中学习,先实践再去了解它的结构和原理,如果你实在不能了解它的结构和原理那也无所谓的,只要你懂得用就可以了!(没学过汇编的只能这么说了)我们可以先从 I/O口学习,看一些例子烧录些程序,再看一下现象,之后再尝试了解一下所要用到的单片机的内部结构,最后在这个现象的知识基础上,编一个自己想要的程序、现象出来。这样学习的话既不无聊,成就感也有了。为什么有些人可以把学习当一种快乐,而许多人在唉声叹气,我想有一部分是出自这个原因。不同的实验板有不同的PCB图,所以I/O的操作也是有所不同的。不过操作的原理都是一样的,有些同学可能会抱怨教程里的实验板和自己手中的实验板不同,这是大可不必多虑的。I/O这一步在调试中看现象的理念很重要,比如改变一个语句会产生何种现象,为什么会产生,这些都是要在调试中掌握的。中断的学习方法也是类似的,先实践发现有陌生的地方就去查看相应的寄存器,等实现了自己想要的现实再慢慢地解剖一下单片机的寄存器,这样学起来会更有意义,记得更牢。中断也没复杂的东西的,只不过学几个中断函数,优先级之类的。有一定C语言基础的同学在优先级这一块可以联系C语言中运算符的优先级,我相信有了C语言基础定义一两个中断函数也不是什么问题了的。我学过的单片机的内容在我文档的实例之中,实例的数量不多,但这些都是直接点击单片机知识点的。随着我的学习渐渐地深入后我再把我实现过的东西写入实例之中吧。希望对你有所帮助,祝成功!

单片机是经历长期开发与应用的嵌入式系统电子设备,与计算机相比,它具有许多显著的特点。这是我为大家整理的单片机科技论文,仅供参考!

单片机在现代科技中的应用与前景

[摘 要]单片机是经历长期开发与应用的嵌入式系统电子设备,与计算机相比,它具有许多显著的特点。当前,单片机在现代科技应用的领域越来越广泛,并在家用电器、工业控制领域、医疗器械、仪器仪表等方面取得了良好的应用效果。在未来,单片机的更新换代仍然不会停止,它会向更加智能化,自动化,抗干扰能力强,集成度高,实用性好等方面的发展。

[关键词]单片机;现代科技;应用与前景

中图分类号:TP368.12 文献标识码:A 文章编号:1009-914X(2014)20-0054-02

随着现代科技的不断发展,嵌入式技术的开发及其应用在现代科技中的应用显得越来越重要。在嵌入式技术发展的趋势下,单片微型计算机(简称“单片机”)应运而生,并随着时代要求的发展不断地更新换代。到20世纪70年代前半期,单片机己经发展为嵌入式系统最为突出的典型代表之一,英特尔公司更将其命名为“嵌入式微控制器”。 单片机的产生极大程度上推动着整个现代科技应用及其功能的发展,并在许多实际应用领域都取得了显著的成效,受到社会各界的关广泛关注,其应用技术发展的越来越成熟,具体实践应用到各个领域,开发技术也越来越智能化。本文以单片机的发展及其特点为逻辑起点,对单片机的应用性及其前景进行说明与分析。

一、单片机的发展及其特点

单片机又称“单片微型计算机”,是典型的嵌入式微控制器(Microcontroller Unit),“它并不是落实某一个具体的逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上,其功能类似于一台最小系统的微型的计算机。具体来说,单片机由运算器、控制器、存储器、输入输出设备构成”[1]。

单片机产生于20世纪70年代,经历了三个发展阶段(SCM、MCU、SOC)。初期的SCM单片机基本上都是4、8位的。其中,INTEL的8051是初期单片机最具典型意义的。此后在INTEL 8051的基础上开发并应用了MCS51系列MCU系统。 由于MCS51系列MCU系统的单片机系统直到现在还在广泛使用,单片机伴随这科学技术的发展逐步开发出16位系统。但由于16位单片机的性价比不够理想,因此并未得到很广泛的应用。90年代后,随着电子产品市场的进一步繁荣发展,单片机的开发与应用得到了显著的提升。特别是INTEL i960系列与ARM系列在社会上的实践应用,32位单片机逐步地取代16位单片机的在嵌入式技术中的领先地位,并且在市场上取得了两好的效益。

与计算机相比,单片机的特点主要表现在如下几个方面:首先,单片机使用简单便捷,可实现体系布局的模块化;其次,单片机耐用时间长,有较高的耐用性;再次,单片机的处理能力强,运行速度较快;此外,单片机还具备低电压、低功耗、控制功能与环境适应能力强的特点;最后,单片机体系完备,集成了计数器、串行口、并行口、CPU、RAM与ROM等应用组件。

二、单片机在现代科技中的应用

单片机具备许多优良的特点,广泛的应在诸多领域,例如家用电器、工业控制领域、医疗器械、仪器仪表等方面,当前单片机己经得到广泛的使用,并产生了良好的应用效果。具体来说,单片机在现代科技中的应用主要体现在以下几个方面:

(一)在家用电器领域中的应用?

随着时代的发展,追求更高、更好的生活品质,对家用电器的功能需求也逐年提高,这就迫使家用电器的不断升级与改造。单片机可以满足这种需求,通过安装单片机,实现整个家用电器的智能化控制,识别相关的信息,选择合适的用户满意信息,使得家用电器在引入单片机后很好的提高了性能,更新换代的速度也得到了提升,提高了企业的竞争力,单片机应用的前景越来越广泛。例如在电视机上采用单片机技术可以使得足不出户的进行大型智能游戏的控制,选择频道方式更加便捷;微波炉可以实现食物的自动选择加热时间以及温度;洗衣机自动根据衣服材质、赃物程度,自动选择洗涤剂的用量、强度、时间等。

(二)在工业控制领域的应用

在工业领域,随着自动化的发展,尤其是在特殊环境下的,例如核工业、粉尘工业、电力高压行业等方面,对人的危害性比较大,危险性高的行业,大部分采用的是自动化操作。在此领域,单片机从此兴起,并随着应用的更加广泛在工业化控制管理,通过单片机的数据采集与过程控制手段,实现了工业化有效的智能控制管理工作,例如报警系统、流水线作业系统、自动喷漆系统等,都得到了很好的应用,随着时代的发展,其应用领域会更加广泛。

(三)在医疗器械领域的应用

现代社会,医疗条件与技术不断提升,自身的身体健康越来越受到关注然而在现有的条件下,消毒条件、住院条件,检测手段、医疗手段等都存在着诸多问题,直接影响着看病的好坏,影响着每个人的身体健康。随之而来的是现在单片机的应用在医疗器械领域,由于自身的特点与有时,可以进行多种疾病的分析,提高设备检测的准确性与可靠性,提高了诊断下药的准确性,保证了身体健康,医疗设备结构更加合理化、智能化、自动化,例如在超声波检测、呼吸系统、分析仪器等。

(四)在仪器仪表领域的应用

现在仪器仪表的生产的好坏,直接代表着一个国家的制造水平。在仪器仪表领域不断的向着智能化方向发展,单片机的作用在此领域尤其体现到其优点,具有重要的意义单片机集成度高,可靠性高、小巧,应用在仪器仪表上使得整个行业得到了很大的改变,随着单片机的集成到仪器仪表中,使得自身的设备向着数字化,智能化发展,其各方面包括处理功能测试功能,控制功能等都得到了很大的提升。例如在航空的仪器仪表中采用单片机技术,保证了仪器的可靠性、准确性,集成性高,事故率降低,提升了航天航空电子系统的智能化与自动化树皮,信息传递有效的进行。

三、单片机在现代科技中的发展前景

随着科学技术的日新月异,单片机推陈出新的速度也愈来愈快。伴随着新的CPU的加入,多位的单片机共同开发与发展是整个发展的方向。很长一段时间,单片集成电路技术在8位机发展的主要方向,随着网络通信技术的发展,16位机、32位机、64位机成为未来的发展方向。单片机的运行也会愈来愈快,防磨损能力也随之提升,具有很好的低噪声、可靠性高的优点。现在单片机为了提高抗干扰性采用EFT技术,使得单片机受外界的干扰性小,系统的时钟信号得到了很好的保证,可靠性得到了提高;布线及其驱动技术应用在单片机上降低了噪声,不至于对单片机内部的电路信号进行干扰。单片机还应用OPT技能,较之掩膜技术有着生产周期短,风险小特点,采用裸片技术或者贴面技术,实现了OPT芯片的接触不良的问题,使得得到了广泛的应用。

随着电子信息技术的发展与应用领域的逐步广泛,单片机向更加智能化,自动化,抗干扰能力强,集成度高,实用性好等方面的发展。同时,芯片的设计也愈发复杂,单片机的功能更加齐全,保有良好的耐用性、可延伸性,单片机的设计与开发、应用的前景十分广泛,领域更加宽广,智能化程度更高。

单片机在目前的发展形势下,还表现出以下趋势:首先,可靠性及应用越来越水平高和互联网连接已是一种明显的走向。 其次,所集成的部件越来越多。最后,功耗越来越低和模拟电路结合越来越多。

结语

总之,在第二十一世纪,计算机技术、智能电子技术的发展,在现代社会中发挥着举足轻重的作用,嵌入式系统是电子技术的重要组成部分,其中单片机又是嵌入式系统最具典型的代表,具有强大的发展潜力。单片机技术提高了控制领域的效率以及可靠性,实现了工业的自动化,智能化,未来的工业化发展中将随着科技的不断进步而发展。

[1] 李璞,郭敏. 单片机的应用与发展[J]. 中国校外教育 2010年S1期

单片机应用技术探究

摘要:近几年单片机得到了飞速的发展,单片机最明显的优势就是可以嵌入到各种仪器、设备中。目前大量的嵌入式系统均采用单片机,本文分析了单片机的形成及发展过程以及当前的技术进展,同时分析了影响单片机系统可靠性的原因,并论述提高单片机可靠性的措施。

关键词:单片机;可靠性技术;发展趋势

中图分类号: C35 文献标识码: A

引言

单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。现在可以说单片机是百花齐放的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,它们各具特色,互成互补,为单片机的应用提供广阔的天地。纵观单片机的发展过程,可以预示单片机的发展趋势 。

一 、单片机的应用场合

1.1智能仪器仪表。单片机用于各种仪器仪表,一方面提高了仪器仪表的使用功能和精度,使仪器仪表智能化,同时还简化了仪器仪表的硬件结构,从而可以方便地完成仪器仪表产品的升级换代。如各种智能电气测量仪表、智能传感器等。

1.2机电一体化产品。机电一体化产品是集机械技术、微电子技术、自动化技术和计算机技术于一体,具有智能化特征的各种机电产品。单片机在机电一体化产品的开发中可以发挥巨大的作用。典型产品如机器人、数控机床、自动包装机、点钞机、医疗设备、打印机、传真机、复印机等。

1.3实时工业控制。单片机还可以用于各种物理量的采集与控制。电流、电压、温度、液位、流量等物理参数的采集和控制均可以利用单片机方便地实现。在这类系统中,利用单片机作为系统控制器,可以根据被控对象的不同特征采用不同的智能算法,实现期望的控制指标,从而提高生产效率和产品质量。典型应用如电机转速控制、温度控制、自动生产线等。

1.4家用电器。家用电器是单片机的又一重要应用领域,前景十分广阔。如空调器、电冰箱、洗衣机、电饭煲、高档洗浴设备、高档玩具等。另外,在交通领域中,汽车、火车、飞机、航天器等均有单片机的广泛应用。如汽车自动驾驶系统、航天测控系统、黑匣子还有分布式系统的前端模块等等。

二、分析单片机可靠性限制原因及应对措施

目前,大量的嵌入式系统均采用了单片机,并且这样的应用正在更进一步扩展;但是多年以来人们一直为单片机系统的可靠性问题所困惑。在一些要求高可靠性的控制系统中,这往往成为限制其应用的主要原因。

1.单片机系统的失效分析

一个单片机系统的可靠性是其自身软硬件与其所处工作环境综合作用的结果,因此系统的可靠性也应从这两个方面去分析与设计。对于系统自身而言,能不能在保证系统各项功能实现的同时,对系统自身运行过程中出现的各种干扰信号及直接来自于系统外部的干扰信号进行有效的抑制,是决定系统可靠性的关键。有缺陷的系统往往只从逻辑上去保证系统功能的实现,而对于系统运行过程中可能出现的潜在的问题考虑欠缺,采取的措施不足,在干扰信号真正袭来的时候,系统就可能会陷入困境。

2. 提高可靠性的措施

2.1减少引起系统不可靠或影响系统可靠的外界因素:

1) EFT (Electrical Fast Transient)技术。EFT技术是一种抗干扰技术,它是指在振荡电路的正弦信号受到外界干扰时,其波形上会迭加各种毛刺信号,如果使用施密特电路对其整形,则毛刺会成为触发信号干扰正常的时钟,在交替使用施密特电路和RC滤波电路时, 就可以消除这些毛否则令其作用失效,从而保证系统的时钟信号正常工作。

2) 低噪声布线技术及驱动技术。在传统的单片机中,电源及地线是在集成电路外壳的对称引脚上,一般是在左上、右下或右上、左下的两对对称点上。这样,就使电源噪声穿过整块芯片,对单片机的内部电路造成干扰。现在,很多单片机都把地和电源引脚安排在两条相邻的引脚上。这样,不仅降低了穿过整个芯片的电流,而且在印制电路板上容易布置去耦电容,从而降低系统的噪声。现在为了适应各种应用的需要,很多单片机采用"跳变沿软化技术",从而消除大电流瞬变时产生的噪声。

3) 采用低频时钟。高频外时钟是噪声源之一,不仅能对单片机应用系统产生干扰,而且还会对外界电路产生干扰,令电磁兼容性不能满足要求。对于要求可靠性较高的系统,低频外时钟有利于降低系统的噪声。在一些单片机中采用内部锁相环技术,则在外部时钟较低时,也能产生较高的内部总线速度,从而保证了速度又降低了噪声。

三、单片机的发展趋势

1单片机技术的发展前景及趋势

由于通用型IC的仿冒现象比较严重,因此定制化IC将是未来单片机发展的主要方向。此外,尽管16位、32位单片机市场有所增加,但8位在未来三五年内仍将占主流,只是成长幅度会趋缓。从应用角度讲,盛扬看好消费类电子和家电产品,尤其是中小型家电产品,它属于比较成熟的单片机应用领域;其次是高端领域的车用产品。目前,盛扬已针对汽车周边领域推出系列产品,主要用于汽车防盗、车载电子、信息娱乐、胎压监测、里程表的面板等。

单片机拥有良好的应用前景,但厂商之间的竞争愈演愈烈。因此,对本土企业而言,要想脱颖而出,质量一定要好,同时还要注重产品的环保和可靠性,因为家电和汽车等产品对安全性的要求越来越高;其次,充分发挥本土厂商在特定应用领域的性价比优势。不过,这种性价比必须建立在性能过关、可靠度过关的基础上。

制作工艺CMO化。更小的光刻工艺提高了集成度,从而使芯片更小、成本更低、工作电压更低、功耗更低。CPU的改进。同时,采用双CPU结构,增加数据总线的宽度,提高数据处理的速度和能力;采用流水线结构,提高处理和运算速度,以适应实时控制和处理的需要。增大存储容量,片内EPROM的E2PROM化,程序的保密化,提高并行口驱动能力,以减少外围驱动芯片,增加外围?I/O?口的逻辑功能和控制的灵活性。最后,以串行方式为主的外围扩展;外围电路的内装化;和互联网连接已是一种明显的走向,可靠性及应用水平越来越高。

2微型单片化

现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。 此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。现在的许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。

3串行扩展技术

在很长一段时间里,通用型单片机通过三总线结构扩展外围器件成为单片机应用的主流结构。随着低价位OTP(One-Time Password)及各种特殊类型片内程序存储器的发展,加之处围接口不断进入片内,推动了单片机“单片”应用结构的发展。特别是I2C、SPI 等串行总线的引入,可以使单片机的引脚设计得更少,单片机系统结构更加简化及规范化。

4、结语

单片机改变了我们生活,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机, 单片机有着广阔的应用前景。

参考文献

[1] 张志良; 单片机原理与控制技术; 北京,机械工业出版社,2008

[2] 李广第,朱月秀,王秀山.单片机基础.北京:北京航空航天大学出版社,2002.

[3] 胡汉才.单片机原理及系统设计.北京:清华大学出版社,2002.

温度相关的毕业设计 ·基于单片机的数字温度计的设计·基于MCS-51数字温度表的设计·单片机的数字温度计设计·基于单片机的空调温度控制器设计·基于数字温度计的多点温度检测系统·设施环境中温度测量电路设计·DS18B20数字温度计的设计·多点温度采集系统与控制器设计·基于PLC和组态王的温度控制系统设计·温度监控系统的设计·用单片机进行温度的控制及LCD显示系统的设计·单片机电加热炉温度控制系统·全氢罩式退火炉温度控制系统·数字温度计的设计·基于单片机AT89C51的语音温度计的设计·基于单片机的多点温度检测系统·基于51单片机的多路温度采集控制系统·基于单片机的数字显示温度系统毕业设计论文·基于MCS51单片机温度控制毕业设计论文·西门子S7-300在温度控制中的应用·燃气锅炉温度的PLC控制系统·焦炉立火道温度软测量模型设计·温度检测控制仪器·智能温度巡检仪的研制·电阻炉温度控制系统·数字温度测控仪的设计·温度测控仪设计·多路温度采集系统设计·多点数字温度巡测仪设计·LCD数字式温度湿度测量计·64点温度监测与控制系统·温度报警器的电路设计与制作·基于单片机的数字温度计的电路设计·全氢煤气罩式炉的温度控制系统的研究与改造·温度检测与控制系统·红外快速检测人体温度装置的设计与研制·具有红外保护的温度自动控制系统的设计·基于单片机的温度测量系统的设计·数字温度计设计·DS18B20温度检测控制·PN结(二极管)温度传感器性能的实验研究·多功能智能化温度测量仪设计·软胶囊的单片机温度控制(硬件设计)·空调温度控制单元的设计·大容量电机的温度保护——软件设计·大容量电机的温度保护 ——硬件电路的设计·基于DS18B20温度传感器的数字温度计设计·热轧带钢卷取温度反馈控制器的设计·基于单片机的温度采集系统设计·多点温度数据采集系统的设计·基于单片机的数字式温度计设计·18B20多路温度采集接口模块·基于单片机的户式中央空调器温度测控系统设计·单片机电阻炉温度控制系统设计·基于单片机的电阻炉温度控制系统设计·基于ARM的嵌入式温度控制系统的设计·基于DS18B20的多点温度巡回检测系统的设计·基于单片机的多点无线温度监控系统·基于MSC1211的温度智能温度传感器·用集成温度传感器组成测温控制系统·室内温度控制报警器·自动温度控制系统·烤箱温度控制系统·基于单片机的电加热炉温度控制系统设计·基于PLC的温度监控系统设计·基于无线传输技术的室温控制系统设计——温度控制器软件设计·温度箱模拟控制系统·基于无线传输技术的室温控制系统设计——温度控制器硬件设计·数字式温度计的设计·温度监控系统设计·基于单片机的电阻炉温度控制系统·基于plc的温度湿度检测和显示系统设计·基于单片机的3KW电炉温度控制系统的设计·腔型肿瘤热疗仪温度控制系统设计·基于AT89S51单片机的数字温度计设计·吹塑薄膜挤出机温度控制与检测系统设计·电加热炉PLC温度自适应控制系统的研究·高压母线温度自动监测装置的设计·高压母线温度自动检测装置·小型热水锅炉单片机温度控制系统·消毒柜单片机温度控制·嵌入式系统在多点温度控制中的应用·单片机温度控制系统·上下限温度报警器的设计·基于单片机的饮水机温度控制系统设计·基于单片机的温度测量系统设计

基于单片机的水位检测论文设计

我给你一个题目,如果你写出来了,我保你论文得优秀。因为当年我就是选这个题目得的优秀。刚才我在网上搜了一下,网上还是没有与这个系统相关的论文。 《高考最低录取分数线查询系统》基本思想很简单,现在的高考分数线查询是很繁琐的,需要先把分数查出来,然后根据录取指南再找你的分数能被录取的学校,高考过的都知道,高考报考指南是一本多么厚的书。所以,这个系统的思想就是:你用所有高校近十年的录取分数线建立一个数据库,然后开发一个系统,当你输入查询命令的时候(查询命令可以用1,2,3这三个数来代替,用flog实现;输入1,查询的是符合你所输入的分数以下的所有高校信息;输入2,查询的是符合你所输入分数段之间的所有高校信息;输入3,查询大于你所给的分数线的高校信息。)当然,你可以再加上一些附加的功能。大致思想就这些。 郑州今迈网络部竭诚为你解答,希望我的答案能帮到你!

我们可以代做,2.4方案

应用太广泛了啊,你只能取其中的几个方面来说,比如说在铁路系统或者是车载电话、水位远程检测系统等等。GSM通信在水位远程检测系统中的应用摘 要:介绍一种利用单片机及GsM无线收发模块构成的水位显示及远程检测系统。在系统中,设计一种简易的水位检测方法以测得水位的状况,通过单片机显示系统在水位现场以LED的方式显示出来,并通过与之相连的GSM模块将水位信息以一种无线的方式发送给远程终端,起到检测的作用。关键词:GSM GSl00 串口通信 远程检测 S9C2051引 言 供水系统中的水塔和高位水池等设备由于所处地势高,上下极为不便,有时水即将用完也不知道,造成需用水时却无水可用的情况。此外,在向池中注入水的过程中,由于不知道水位的情况,也就无法控制注水量的多少,这会严重影响正常的工作效率。为此需要对水位进行自动显示、监测和报警。传统的水位检测系统一般通过有线方式与监控中心取得联系,这种方式不但维护起来困难,而且在很大程度上限制了其在时空上的拓展性。采用GSM模块与单片机构成的系统则能够解决以上的问题。通过单片机的并行I/0口可以很方便的实现水位的显示功能。现有的GSM网络在全国范围内实现了联网和漫游,具有网络能力强的特点,用户无需另外组网,在极大提高网络覆盖范围的同时为客户节省了昂贵的建网费用和维护费用。当采用GSM模块时,就可以通过一种无线通信的方式以实现远程终端监控和报警的功能。集群通信系统与GSM通信系统电话互联的实现 概述 系统与通信系统分别属于不同的范畴,有着不同的服务对象和用途,无法相互替代。集群通信系统服务于专网用户,已发展成为一种多用途、高效能、低投入、调度通信与电话通信相结合的先进移动通信系统。与其它移动通信系统相比,集群通信系统信道利用率高,具有更强的快速接入和处理突发事件的能力,在部队、公安、交通、水利、地震等部门得到了广泛应用。GSM通信系统主要服务于公网用户,是目前基于时分多址技术的移动通信体制中比较成熟、完善、应用最广泛的一种系统,信号覆盖范围广,用户遍及社会各部门各阶层。在由集群通信系统构建的应急移动通信系统中,在某些应用场合,如抢险救灾,因为要涉及众多的部门和人员,保证系统同外界的通信畅通有时甚至比保证系统内部的通信畅通还重要。正如集群通信系统与PSTN电话互联,使得专网通信扩展到了公网有线通信网络一样,集群通信系统与GSM通信系统电话互联,可使得专网通信扩展到公网无线通信网络,从而可充分利用GSM通信系统的技 术优势,大大增强集群通信系统的应急通信能力。 基于上述应用背景,本文对集群通信系统与GSM通信系统的电话互联进行了研究,提出了一种实用的系统电话互联方案,并阐述了具体的软硬件设计过程。GSM网络通信在车载定位系统中的应用 GSM(全球移动通信系统)是ETSI(欧洲无线电通信标准委员会)制定的欧洲蜂窝移动通信标准。GSM最重要的业务是语音通信,语音被数字编码并作为数据流,以电路交换的模式被GSM网络传输。但是它使用的电路交换信道在空气界面上允许的最大传输率为14.4kbit/s,因此GSM受到限制。GPRS是在GSM标准基础上基于分组交换技术的主要发展,它提供给无线用户高得多的传输速率以满足爆炸性的数据传输的需要。在理论上GPRS用户可以同时使用几个时隙(分组数据信道)以达到最高为170kbit/s的传输速率。由于信道仅仅在数据包被传送或接收时被分配给用户,这使得基于流量收费成为可能。大量的数据业务使得在用户间有效平衡网络资源,因为业务供应商可以使用传输时隙用于其他用户活动。通用分组无线业务(GPRS),作为移动电话标准GSM的数据延伸,正被看作是第一种真正的分组转换结构,它使得移动用户能够从高速传输数率中得益,而且可以通过他们的移动终端完成各种数据业务应用。GPRS业务被划分为类:PTP(点对点)和PTM(点对多点)业务。全球定位系统(GPS)是美国国防部经20多年的试验研究,耗资100多亿美元,于1993年12月正式全面投入运行的新一代星际无线电导航系统。它的出现和发展已带动起一个潜力巨大、竞争日趋激烈的新兴市场,据最新统计数字表明,目前GPS的全球用户逾400万,相关产品和服务市场正在迅速扩大,GPS已发展成为一个重要的产业。随着汽车工业的发展和交通管理的智能化,车辆GPS导航定位将成为全球卫星定位系统应用的最大潜力市场之一。就我国国情来说,车辆GPS导航定位在专用车辆调度监控、公交车智能管理、出租车运营管理等领域具有广阔的市场前景。通信分系统是车辆GPS导航定位的关键分系统之一。过去,通信分系统通过无线电台等相关方式来实现,存在频率资源紧张、覆盖范围小等问题。

毕业设计(论文)题目:基于51单片机的水位检测 专业:电子测量技术与仪器 班级: 10251 学号: 12 姓名: 黄小桂 指导老师: 周俊 成都工业学院二〇一三年五月摘 要设计一种基于单片机水塔水位检测控制系统。该系统能实现水位检测、电机故障检测、处理和报警等功能,实现超高、低警戒水位报警,超高警戒水位处理。介绍电路接口原理图,给出相应的软件设计流程图和汇编程序,并用Proteus软件仿真。实验结果表明,该系统具有良好的检测控制功能,可移植性和扩展性强。水塔供水的主要问题是塔内水位应始终保持在一定范围,避免“空塔”、“溢塔”现象发生。目前,控制水塔水位方法较多,其中较为常用的是由单片机控制实现自动运行,使水塔内水位保持恒定,以保证连续正常地供水。实际供水过程中要确保水位在允许的范围内浮动,应采用电压控制水位。首先通过实时检测电压,测量水位变化,从而控制电动机,保证水位正常。因此,这里给出以intel公司的80C31单片机为核心器件的水塔水位检测控制系统仿真设计,实现水位的检测控制、电机故障检测、处理和报警等功能,并在proteus软件环境下实际仿真。实验结果表明,该系统具有良好的检测控制功能,可移植性和扩展性强。关键词:单片机 水位检测 控制系统 仿真AbstractBased on the design of a single-chip microcomputer control system of water tower water level detection.This system can realize the water level detection,motor fault detection,processing and alarm functions,and realize the high,low water level warning alarm,high warning level processing.The interface circuit schematic diagram,the corresponding software design flow chart and assembler,and simulation with Proteus software. The experimental results show that,the system has good detection and control functions,portability and scalability. The main problem is water tower water tower water should always be kept within a certain range, to avoid "empty tower", "overflow" tower phenomenon. At present, there are many control towers water level method, which is commonly used is controlled by a single chip microcomputer to realize the automatic operation, the water level in the water tower is kept constant, so as to ensure the continuous normal water supply. The actual water supply process to ensure that the water level in the allowed range of floating, should adopt voltage control level. First through the real-time detection of voltage, measure the water level changes, so as to control the motor, to ensure the normal water level. Therefore, the detection and control system simulation of water tower water level given by Intel company 80C31 microcontroller as the core device design, to achieve the level of detection and control, motor fault detection, processing and alarm functions, and in the Proteus Software Environment simulation. The experimental results show that, the system has good detection and control functions, portability and scalability. Key Words: MCU The water level detection control system simulation 目录摘 要IIAbstractIII目录IV第1章 基础知识11.1 单片机系统综述11.1.1 单片机的概念11.1.2 MCS-51 8031介绍11.2 MCS-51 8031单片机内部结构及引脚21.2.1 MCS-51 8031单片机内部结构21.2.2、MCS-51 8031单片机外部引脚41.3 锁存器74LS373简介51.3.1 74LS373真值表5第2章 设计简介72.1 设计方案的选择 7 2.1.1 简单的机械式控制方式 7 2.1.2 复杂控制器控制方式 7 2.1.3 通过水位变化上下限的控制方式 72.2设计说明82.3 系统硬件设计82.3.1水塔水位控制原理82.3.2 硬件设计92.4 软件设计122.4.1设计思路描述122.4.2 设计程序流程图132.4.3 主程序132.5.2软件的功能特点152.6 对四种不同状态的仿真如下17第3章 设计结论与前景223.1 设计结论223.2 设计前景22参考文献23第1章 基础知识1.1 单片机系统综述1.1.1 单片机的概念电子计算机的发展经历了从电子管、晶体管、集成电路到大(超大)规模集成电路共四个阶段,即通常所说的第一代、第二代、第三代和第四代计算机。现在广泛使用的微型计算机是大规模集成电路技术发展的产物,因此它属于第四代计算机,而单片机则是微型计算机的一个分支。从1971年微型计算机问世以来,由于实际应用的需要,微型计算机向着两个不同的方向发展:一个是向高速度、大容量、高性能的高档微机方向发展;而另一个则是向稳定可靠、体积小和价格廉的单片机方向发展。但两者在原理和技术上是紧密联系的。1.1.2 MCS-51 8031介绍80C31单片机,它是8位高性能单片机。属于标准的MCS-51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,标准MCS-51单片机的体系结构和指令系统。 80C31内置中央处理单元、128字节内部数据存储器RAM、32个双向输入/输出(I/O)口、2个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。但80C31片内并无程序存储器,需外接ROM。 此外,80C31还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。80C31有PDIP(40pin)和PLCC(44pin)两种封装形式。1.2 MCS-51 8031单片机内部结构及引脚1.2.1 MCS-51 8031单片机内部结构①中央处理单元(8位) 数据处理、测试位,置位,复位 位操作 ②只读存储器(4KB或8KB) 永久性存储应用程序,掩模ROM、EPROM、EEPROM ③随机存取内存(128B、128B SFR) 在程序运行时存储工作变量和资料 ④并行输入/输出口(I / O)(32条) 作系统总线、扩展外存、I / O接口芯片 ⑤串行输入/输出口(2条) 串行通信、扩展I / O接口芯片 ⑥定时/计数器(16位、加1计数) 计满溢出、中断标志置位、向CPU提出中断请求,与CPU之间独立工作 ⑦时钟电路 内振、外振⑧中断系统 五源中断、2级优先结构特点: MCS-51系列单片机为哈佛结构(而非普林斯顿结构) 1)内ROM:4KB 2)内RAM:128B 3)外ROM:64KB 4)外RAM:64KB 5)I / O线: 32根(4埠,每埠8根) 6)定时/计数器:2个16位可编程定时/计数器 7)串行口:全双工,2 根 8)寄存器区:工作寄存器区、在内128B RAM中,分4个区,9)中断源:5源中断,2级优先 10)堆栈:最深128B 11)布尔处理机:位处理机,某位单独处理 12)指令系统:五大类,111条1.2.2、MCS-51 8031单片机外部引脚1)、主电源引脚 Vss 、 Vcc 2)、外接晶振引脚 XTAL1 、 XTAL2 3)、控制或复位引脚 RST / VPD 两个机器周期高电平,单片机复位。 P0 ~ P3 口:输出高电平 SP: 07H SFR、PC:清0 不影响内RAM状态,机器从0地址开始执行。 ALE / PROG:地址锁存控制端 提供1/6 fosc振荡频率,输入编程脉冲EPROM PSEN:外部程序内存的读选通信号端。 EA / VPP:EA = 1 ,访问内部程序内存 当PC值超过内ROM范围(0FFFH)时,自动转执行外部内存的程序 EA = 0 , 只访问外部程序内存。 对8751机,可施加21V编程电源(Vpp) 4)、输入/输出引脚 P0 ~ P3:四个I / O口,每口8线,共同32线。1.3 锁存器74LS373简介74ls373是常用的地址锁存器芯片,它实质是一个是带三态缓冲输出的8D触发器,在单片机系统中为了扩展外部存储器,通常需要一块74ls373芯片.本文将介绍74ls373的工作原理,引脚图(管脚图),内结构图、主要参数及在单片机系统中的典型应用电路。 1.3.1 74LS373真值表由于8051单片机的P0口是分时复用的,因此在进行程序存储器扩展时,需要使用地址锁存器将地址信号从地址/数据总线中分离出来。单片机系统中常用的地址锁存器芯片74LS373以及coms的74hc373。是带三态缓冲输出的8D触发器。第2章 设计简介2.1 设计方案的选择 对于水位进行控制的设计方式有很多,而应用较多的主要有3种,三种方式的实现如下: 2.1.1 简单的机械式控制方式 其常用形式有浮标式、电极式等,这种控制形式的优点是结构简单,成本低廉。存在的问题是精度不高,不能进行数值显示,另外很容易引起误动作,且只能单独控制,与计算机进行通信较难实现。 2.1.2 复杂控制器控制方式 这种控制方式是通过安装在水泵出口管道上的压力传感器,把出口压力变成标准工业电信号的模拟信号,经过前置放大、多路切换、A/D变换成数字信号传送到单片机,经单片机运算和给定参量的比较,进行PID运算,得出调节参量;经由D/A变换给调压/变频调速装置输入给定端,控制其输出电压变化,来调节电机转速,以达到控制水塔水位的目的。 2.1.3 通过水位变化上下限的控制方式 这种控制方式通过在水塔的不同高度固定的不动的3根金属棒ABC,以感知水位的变化情况。其中,A棒处于下限水位,C棒处于上限水位,B棒处于上、下限水位之间。A棒接+5v电源,B棒、C棒各通过一个电阻与地相连。 针对上述3中控制方式,以及设计需达到的性能要求,这里选择第三种控制方式。最终形成的方案是,利用单片机为核心,设计一个对供水箱水位进行监控的系统。当水塔水位下降至下限水位时,启动水泵;水塔水位上升至上限水位时,关闭水泵;水塔水位在上、下限水位之间时,水泵保持原状态;供水系统出现故障时,自动报警;故障解除时,水泵恢复正常工作。2.2设计说明本设计为一个实际应用系统的水塔水位控制部分。在此水塔水位控制系统中,检测信号来自插入水中的3个金属棒,以感知水位变化情况。工作正常情况下,应保持水位在某一范围内,当水位变化发生故障的时候,及时关断电机电源,发出声、光报警信号。(1)完成单片机硬件的设计,包括:CPU、存储器(外扩ROM、RAM)、输入/输出接口(外扩并行I/O口)以及总线连接部分(附控制电路原理图)。(2)完成控制软件的设计(附控制软件清单)。2.3 系统硬件设计2.3.1水塔水位控制原理单片机水塔水位控制原理图1所示,图中的A、B表示允许水位变化的上、下限位置。由于题目中所要求的金属导体在长时间置于水和空气中会被氧化,因此导电性会下降,这样会影响系统的正常工作,所以本设计需要改动部分控制硬件,上部两个导体分别用浮子开关代替,第三个不需要置于水中,而将它直接接地然后串入电阻接入电路中。在正常情况下,水位应控制在上下限的范围之内。为此,在水塔内的不同高度处,安装固定不变的两个浮子开关A、B,利用杠杆原理, A浮子控制开关A,B浮子控制开关B,受到浮力时开关打开,A靠近水塔上部,B靠近水池底部,A、B之间足够距离,要保证有足够大的流水量。水塔由电机带动水泵供水,单片机控制电机转动,随着供水,水位不断上升,当水位上升到上限水位时,由于水的浮力作用,使浮子开关A,B均断开。因此b、c两端的电压都为+5 V即为“1”状态.此时应停止电机和水泵工作,不再向水塔注水;当水位处于上、下限之间时,B开关断开和A开关闭合, b端为“1”状态,c端为“0”状态。此时电机保持原来的运行状态,使水位上升或下降,当水位处于下限位置以下时,A,B开关都断开,b、c均为“0”状态,此时应启动电机转动,带动水泵给水塔注水。当开关A断开B闭合(这种状态在正常情况下不会出现,因此必有一浮子出现故障)停止电机运转,报警器打开。图1所示水塔浮子的控制原理。图1 水塔水位浮子开关控制原理图2.3.2 硬件设计 (1)电路设计水塔水位控制系统主要由CPU(80C31)、水位检测接口电路、报警接口电路、存储器扩展接口电路、复位电路、时钟振荡等部分组成,图2为系统硬件电路。图2 系统硬件电路(2) 选用的设备列表如表1所示: 表1 元件列表单片机8031芯片 一片锁存器74LS373,27327406,74LS04各一件电动机 一台浮子开关 两件发光二极管,二极管1N914 各一个电容5p和20p,晶振电容 各一件直流电源 5V,电机电源电压电阻 三个导线 若干(3)水位检测接口电路为了便于实现水位检测功能,用一个两位的浮子开关A,B模拟P1.1和P1.0端的状态(0、1),浮子开关另一端接地,每个负电极分别通过4.7 k的电阻(R1,R2)接+5V电源。将单片机的P1.0端口接开关B,P1.1端口接开关A。假设被水淹没的负电极都为高电平,此时开关置1;露在水面的负电极都为低电平,开关此时置为0。单片机通过负电极重复采集检测水位,当缺水时(此时两个开关均置0),电机必须带动水泵抽水;若水位在正常范围内时,检测信号为高,低电平(此时开关B置1,开关A置0);当水位过高时,检测信号为高电平(此时开关A和B都置1),单片机检测到P1.0和P1.1为高电平后,立即停机。(4)报警接口电路 为了避免系统发生故障时,水位失去控制造成严重后果,在超出、低于警戒界水位时,报警信号直接从高、低警界水位电极获得。单片机P1.3端口为启动电机命令输出端口,P1.3=0为低电平,经过非门和驱动器7406后与电机的另一端接地导通,启动电机工作;P1.3=l为高电平,反之,电机停止工作。电机故障报警由单片机控制,电机故障报警信号由P1.3输人。当P1.3为高电平时蜂鸣器报警。水位超过高警戒水位,单片机控制系统使电机停止转动,向水塔内供水工作也停止。(5)存储器扩展接口电路 为了便于系统扩展,存放大容量应用程序,系统设计扩展一片程序存储器,用于存放源程序代码。74LS373用于锁存地址,单片机的P0.0~P0.7通过复用方式分别接锁存器74LS373的DO~D7和存储器2732的D0~D7端,地址锁存信号线ALE接锁存器的OE端,通过软件设置实现地址和数据信息的传输,锁存器的输出端Q0~Q7与存储器地址线A0~A7相连,剩余的3根地址线A8~A11接P2.0~P2.2.单片机选通引脚接存储器OE端,因只扩展一片存储器,片选端CE接地。(6) 各设备的地址分配各元件所接端口以及对应地址如表2 所示1 2 3 4P1口 P1.0 P1.1 P1.2 P1.3元件 开关B 开关A 电动机 报警等地址 90H 91H 92H 93H表22.4 软件设计2.4.1设计思路描述当水塔水位处于上、下限之间时,P1.0=l,P1.1=0,此时无论电机是在带动水泵给水塔供水使水位不断上升还是电机没有工作使水位不断下降,都应继续维持原有工作状态;当水位低于下限时,P1.0=0,P1.1=0,此时启动电机转动,带动水泵给水塔供水。水位检测信号与输出控制操作关系如表3所示: 表3 水位检测信号与输出控制操作表 P1.1 (A) P1.0 (B) 运行状态 0 0 电机运转0 1 维持电机运行状态1 1 电机停转1 0 故障报警2.6 对四种不同状态的仿真如下(1) 当A,B两开关都闭合,即水位未到达开关B时,电机运转,如图4所示:图4(2)当A开关闭合,B开关断开,即水位适中,电机维持原状,如图5所示:图5(3)当两开关都断开即水位超过了上线时,电机停转。如图6所示:图6(4)当A断开B闭合即浮子开关出现故障,电机停转且系统报警。如图7所示:图7

基于单片机的pm25检测论文

用DS18B20做的电子温度计,非常简单。#include #include\"AscLed.h\"#include #include //********************************************************#define Seck (500/TK) //1秒中的主程序的系数#define OffLed (Seck*5*60) //自动关机的时间5分钟!//********************************************************#if (FHz==0) #define NOP_2uS_nop_()#else #define NOP_2uS_nop_();_nop_()#endif//**************************************#define SkipK 0xcc //跳过命令#define ConvertK 0x44 //转化命令#define RdDs18b20K 0xbe //读温度命令//*******************************************extern LedOut(void);//*************************************************sbit PNP1=P3^4;sbit PNP2=P3^5;sbit BEEP=P3^2;//***********************************#defineDQ PNP2 //原来的PNP2 BEEP//***********************************static unsigned char Power=0;//************************************union{ unsigned char Temp[2]; //单字节温度 unsigned int Tt; //2字节温度}T;//***********************************************typedef struct{ unsigned char Flag; //正数标志 0;1==》负数 unsigned char WenDu; //温度整数 unsigned int WenDuDot; //温度小数放大了10000}WENDU; //***********************************************WENDU WenDu;unsigned char LedBuf[3];//----------------------------------//功能:10us 级别延时// n=1===> 6Mhz=14uS 12MHz=7uS//----------------------------------void Delay10us(unsigned char n){ do{ #if (FHz==1) NOP_2uS;NOP_2uS; #endif }while(--n);}//-----------------------------------//功能:写18B20//-----------------------------------void Write_18B20(unsigned char n){ unsigned char i; for(i=0;i<8;i++){ DQ=0; Delay10us(1);//延时13us 左右 DQ=n & 0x01; n=n>>1; Delay10us(5);//延时50us 以上 DQ=1; }}//------------------------------------//功能:读取18B20//------------------------------------unsigned char Read_18B20(void){ unsigned char i; unsigned char temp; for(i=0;i<8;i++){ temp=temp>>1; DQ=0; NOP_2uS;//延时1us DQ=1; NOP_2uS;NOP_2uS;//延时5us if(DQ==0){ temp=temp&0x7F; }else{ temp=temp|0x80; } Delay10us(5);//延时40us DQ=1; } return temp;}//-----------------------------------void Init (void){ DQ=0; Delay10us(45);//延时500us DQ=1; Delay10us(9);//延时90us if(DQ){ //0001 1111b=1f Power =0; //失败0 }else{ Power++; DQ=1; }}//----------------------------------void Skip(void){ Write_18B20(SkipK); Power++;}//----------------------------------void Convert (void){ Write_18B20(ConvertK); Power++;}//______________________________________void Get_Ds18b20L (void){ T.Temp[1]=Read_18B20(); //读低位 Power++;}//______________________________________void Get_Ds18b20H (void){ T.Temp[0]=Read_18B20(); //读高位 Power++;}//------------------------------------//规范化成浮点数// sssss111;11110000// sssss111;1111(0.5,0.25,0.125,0.0625)//------------------------------------void ReadTemp (void){ unsigned char i; unsigned intF1=0; char j=1; code int Code_F[]={6250,1250,2500,5000}; WenDu.Flag=0; if (T.Temp[0] >0x80){ //负温度 T.Tt =~T.Tt+1; //取反+1=源吗 +符号S WenDu.Flag=-1; } T.Tt <<= 4; //左移4位 WenDu.WenDu=T.Temp[0]; // 温度整数 //************************************************** T.Temp[1]>>=4; //--------------------------- for (i=0;i<4;i++){ //计算小数位 F1 +=(T.Temp[1] & 0x01)*Code_F; T.Temp[1]>>=1; } WenDu.WenDuDot=F1; //温度的小数 Power=0;}//----------------------------------void Delay1S (void){ static unsigned int i=0; if (++i==Seck) {i=0ower++;}}//----------------------------------void ReadDo (void){ Write_18B20(RdDs18b20K); Power++;}/**********************************函数指针定义***********************************/code void (code *SubTemp[])()={ Init,Skip,Convert,Delay1S,Init,Skip,ReadDo,Get_Ds18b20L, Get_Ds18b20H,ReadTemp};//**************************************void GetTemp(void){ (*SubTemp[Power])();}//---------------------------------------------------//将温度显示,小数点放大了10000.void GetBcd(void){ LedBuf[0]=WenDu.WenDu / 10; LedBuf[1]=WenDu.WenDu % 10 +DotK; LedBuf[2]=(WenDu.WenDuDot/1000)%10; if(LedBuf[0]==0)LedBuf[0]=Black; if(WenDu.Flag==0) return; if(LedBuf[0] !=Black){ LedBuf[2]=LedBuf[1]; LedBuf[1]=LedBuf[0]; LedBuf[0]=Led_Pol; //'-' }else{ LedBuf[0]=Led_Pol; //'-' }}/*//---------------------------------------------------void JbDelay (void){ static long i; if (++i>=OffLed){ P1=0xff; P2=0xff; PCON=0x02; }}*//*****************************************************主程序开始1:2002_10_1 设计,采用DS18B20测量2:采用函数数组读取DS18B20.LED数码管显示正常!3:改变FHz可以用6,12MHz工作!******************************************************/code unsigned char Stop[3] _at_ 0x3b;void main (void){ P1=0xff; WenDu.WenDu=0; while (1){ GetTemp(); GetBcd(); // JbDelay(); LedOut(); }}复制代码 20091012_8b1ef92155560c13b5807ZmoDVSacjwD[1].jpg (12 KB) 2009-10-21 23:21 上传下载次数:0

已把我毕业论文的一部分发给你了,应该是你想要的。还需要其它的说一声

我做的课程设计,用的数码管,也做了protues仿真,你有需要的话,我邮箱是。希望对你有帮助,#includesbit P11=P1^1;sbit P12=P1^2;sbit P13=P1^3;sbit P14=P1^4;/////数码管1断码控制///////////////sbit P15=P1^5;sbit P16=P1^6;sbit P17=P1^7;sbit P32=P3^2;/////数码管2段码控制////////////////sbit up=P3^7;sbit down=P3^6; ////按键操作端口//////////////////sbit P35=P3^5; ////////控制晶闸管端口/////////sbit DQ =P3^3; ///////温度传感器端口///////// #define THCO 0xee#define THLO 0x00unsigned char code duan[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90,0x88,}; //////////////////////////////////////////int b=0;char pwm=0;int k;char r=0,q=0;static char wendu_1;char hao=20;//////////////////////////////////////////////void delay(unsigned int i){while(i--);}//////////////////////////////////////////Init_DS18B20(void){unsigned char x=0;DQ = 1; //DQ复位delay(8); //稍做延时DQ = 0; //单片机将DQ拉低delay(80); //精确延时 大于 480usDQ = 1; //拉高总线delay(14);x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败delay(20);}////////////////////////////////////////////ReadOneChar(void){unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i--){DQ = 0; // 给脉冲信号dat>>=1;DQ = 1; // 给脉冲信号if(DQ)dat|=0x80;delay(4);}return(dat);}////////////////////////////////////////////////WriteOneChar(unsigned char dat){unsigned char i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;delay(5);DQ = 1;dat>>=1;}//delay(4);}/////////////////////////////////////////////////DS18B20程序读取温度ReadTemperature(void){unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); // 跳过读序号列号的操作WriteOneChar(0x44); // 启动温度转换Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=ReadOneChar();b=ReadOneChar();t=b;t<<=8;t=t|a;tt=t*0.0625;return(t);}xianshi(){/////////////////当前温度显示///////////////////////////// P11=1; P0=duan[wendu_1/1000]; for(k=0;k<1000;k++); P1=0;P12=1; P0=duan[wendu_1/100%10]; for(k=0;k<1000;k++); P1=0;P13=1; P0=duan[wendu_1%100/10]; for(k=0;k<1000;k++); P1=0;P14=1; P0=duan[wendu_1%10]; for(k=0;k<1000;k++); P1=0; ///////////////////////////目标电压显示/////////////// P15=1; P2=duan[hao/1000]; for(k=0;k<1000;k++); P1=0;P16=1; P2=duan[hao/100%10]; for(k=0;k<1000;k++); P1=0;P17=1; P2=duan[hao%100/10]; for(k=0;k<1000;k++); P1=0;P32=1; P2=duan[hao%10]; for(k=0;k<1000;k++); P32=0;////////////////////////////////////////////////////////// }/////////////////////////////////////////////////////////// main(void){ P11=0; P12=0; P13=0; P14=0; P15=0; P16=0; P17=0; P32=0; P35=0; /////////////////////////////////////////////////////////// while(1){ wendu_1=ReadTemperature()/16;//读温度 xianshi(); ///显示系统数据/////////////////////////////////////操作函数//////////////////////////////////// if(down==0) {hao--;} if(up==0){hao++;} ///////////////////////////////////////////////////////////////////hao为理想温度/////wendu_1为实际环境温度/////////////////////////////////////////////////////////////////P35为高时 led灯工作///////////////////////////////////// P35=0; pwm=hao-wendu_1; if(pwm>0) {P35=1;} if(pwm<0) {P35=0;} if(pwm==0) {P35=0;}///////////////////////////////////////////////////////////////// }}

这是我自己用DS18B20做的温度检测程序,复制给你看看,我这是通过串口可以在电脑上的串口助手上显示出实时的温度:#include#include#define uint unsigned int#define uchar unsigned charsbit ds=P1^0;bit flag;uchar count_t0;float f_temp;void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=122;y>0;y--);}void init() // 串口初始化{TMOD=0x21;SCON=0x50;TH0=0x4c;TL0=0x00;TH1=0xf3;TL1=0xf3;EA=1;ET0=1;TR0=1;TR1=1;}void timer0() interrupt 1{TH0=0x4c;TL0=0x00;if(++count_t0>=20){count_t0=0;flag=1;}}void dsreset(){uint i;ds=0;i=103;while(i>0)i--;ds=1;i=4;while(i>0)i--;}bit read_bit(){uint i;bit dat;ds=0;i++;ds=1;i++;i++;dat=ds;i=8;while(i>0)i--;return dat;}uchar read_byte(){uchar i,j,dat;dat=0;for(i=1;i<=8;i++){j=read_bit();dat=(j<<7)|(dat>>1);}return dat;}void write_byte(uchar dat){uint i;uchar j;bit testb;for(j=1;j<=8;j++){testb=dat&0x01;dat=dat>>1;if(testb){ds=0;i++;i++;ds=1;i=8;while(i>0)i--;}else{ds=0;i=8;while(i>0)i--;ds=1;i++;i++;}}}void begin_change(){dsreset();delay(1);write_byte(0xcc);write_byte(0x44);}float get_temp(){uchar a,b;uint temp;float f_temp;dsreset();delay(1);write_byte(0xcc);write_byte(0xbe);a=read_byte();b=read_byte();temp=b;temp<<=8;temp=temp|a;f_temp=temp*0.0625;temp=f_temp*10+0.5;f_temp=f_temp+0.05;return f_temp;}void main(){init();while(1){if(flag==1){flag=0;begin_change();TI=1;printf("The tempeature is %f\n",get_temp());while(!TI);TI=0;}}}

基于单片机检测pm25论文

已把我毕业论文的一部分发给你了,应该是你想要的。还需要其它的说一声

试题: A甲1025参赛试题: 点阵电子显示屏(A题)参赛学生:冯元伟 物理与微电子学院 关童 物理与微电子学院 田立志 材料学院包装工程 参赛学校:山东大学 指导老师:陈延俊 秦峰 王延伟 仪维2006年9月11日目 录第一部分 摘要 ……………………………………………………...3第二部分 1.设计任务………………………………………………..4 1.1基本要求………………………………………………………….........4 1.2发挥部分……………………………………………………………….4 1.3创新部分……………………………………………………………….4 2.方案论证与比较………………………………………5 2.1 显示部分……………………………………………………………….5 2.2 数字时钟……………………………………………………………….5 2.3 温度采集部分………………………………………………………….6 2.4 芯片选择……………………………………………………………….6 2.5 闹铃方式的选择……………………………………………………….6 2.6 止闹方式的选择……………………………………………………….6 2.7 串口通讯芯片的选择………………………………………………….6 3. 总体方案……………………………………………….7 3.1 工作原理……………………………………………………………….7 3.2 总体设计……………………………………………………………….7 4.系统硬件设计…………………………………………7 4.1 AT89S52单片机最小系统…………………………………………...8 4.2 温度测量模块………………………………………………………...8 4.3 时钟模块……………………………………………………………..8 4.4 键盘模块……………………………………………………………..9 4.5 LED点阵显示模块………………………………………………….10 4.6 电源的选择………………………………………………………….11 4.7 PC机通讯……………………………………………………………12 4.8 整体电路…………………………………………………………….12 5.系统软件设计………………………………………….7 5.1 主程序流程………………………………………………………….13 5.2 扫描子程序………………………………………………………….14 5.3 时间程序…………………………………………………………….15 5.4 PC机串口通讯程序…………………………………………………15 5.5 亮度调节程序………………………………………………………16 5.6 温度程序…………………………………………………………….17 6.测试与结果分析……………………………………...17 6.1 基本部分测试与分析……………………………………………….17 6.2 发挥部分测试与分析……………………………………………….18 6.3 创新部分测试与分析……………………………………………….18 7.设计总结……………………………………………...18 8.参考资料……………………………………………...18附录……………………………………………………………18例程…………………………………………………………......................................18摘要 LED大屏幕显示系统,以AT89S52单片机为核心,由键盘显示、录放音模块、光电开关、温度采集、定时闹铃、LED大屏幕显示等功能模块组成。基于题目基本要求,本系统对时间显示和大屏幕显示进行了重点设计。此外,扩展单片机外围接口、温度采集、非接触式止闹、滚动屏幕显示、语音报时等功能。本系统大部分功能由软件来实现,吸收了硬件软件化的思想,大部分功能通过软件来实现,使电路简单明了,系统稳定性大大提高。本系统不仅成功的实现了要求的基本功能,发挥部分也得到完全的实现,而且有一定的创新功能。 关键字:单片机 LED大屏幕 滚屏显示 Abstract This large LED display screen system ,based on chip microcomputer AT89S52,is composed by the following functional modules : keyboard displaying ,sound phonating. photoelectricity untouched switch,temperature gathering ,timing bell, According to the basic requirements of the subject ,our system stresses on the realization of time displaying and large screen displaying ,Furthermore ,we also extend the primary function ,adding new functions ,such as the single chip peripheral ports ,temperature gathering ,untouched ring-stop, scroll screen display, sound timing .and so on. Adopting the idea of hardware-to-software, most of those functions are realized by softwares, which makes the electrocircuit more concise and the system more stable ,The design achieved and even exceeded all the required basic technical indexes Key words: chip microcomputer large screen display system scroll screen display1任务设计1.1 基本要求:设计并制作LED电子显示屏和控制器。1.1.1 自制一台简易16行*32列点阵显示的LED电子显示屏; 1.1.2 自制显示屏控制器,扩展键盘和相应的接口实现多功能显示控制,显示屏显示数字和字母亮度适中,应无闪烁。 1.1.3 显示屏通过按键切换显示数字和字母;1.1.4 显示屏能显示4组特定数字或者英文字母组成的句子,通过按键切换显示内容;1.1.5 能显示4组特定汉字组成的句子,通过按键切换显示内容。1.2发挥部分:1.2.1自制一台简易16行*64列点阵显示的LED电子显示屏;1.2.2 LED显示屏亮度连续可调。1.2.3 实现信息的左右滚屏显示,预存信息的定时循环显示;1.2.4 实现实时时间的显示,显示屏数字显示: 时∶分∶秒(例如 18∶38∶59);1.2.5增大到10组(每组汉字8个或16个数字和字符)预存信息,信息具有掉电保护;1.2.6实现和PC机通讯,通过PC机串口直接对显示信息进行更新(须做PC机客户程序);1.3 创新部分 1.3.1 室温的测量 1.3.2 定时闹铃 1.3.3 整点报时 1.3.4 非接触止闹 2、方案论证2.1 显示部分: 显示部分是本次设计最核心的部分,对于LED8*8点阵显示有以下两种方案: 方案一:静态显示,将一帧图像中的每一个二极管的状态分别用0 和1 表示,若为0 ,则表示L ED 无电流,即暗状态;若为1 则表示二极管被点亮。若给每一个发光二极管一个驱动电路,一幅画面输入以后,所有L ED 的状态保持到下一幅画。对于静态显示方式方式,所需的译码驱动装置很多,引线多而复杂,成本高,且可靠性也较低。 方案二:动态显示,对一幅画面进行分割,对组成画面的各部分分别显示,是动态显示方式。动态显示方式方式,可以避免静态显示的问题。但设计上如果处理不当,易造成亮度低,闪烁问题。因此合理的设计既应保证驱动电路易实现,又要保证图像稳定,无闪烁。动态显示采用多路复用技术的动态扫描显示方式, 复用的程度不是无限增加的, 因为利用动态扫描显示使我们看到一幅稳定画面的实质是利用了人眼的暂留效应和发光二极管发光时间的长短, 发光的亮度等因素. 我们通过实验发现, 当扫描刷新频率(发光二极管的停闪频率) 为50Hz, 发光二极管导通时间≥1m s 时, 显示亮度较好, 无闪烁感.。 鉴于上述原因, 我们采用方案二 2.2.数字时钟 数字时钟是本设计的重要的部分。根据需要,可利用两种方案实现。 方案一:本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将时字节清零。该方案具有硬件电路简单的特点,但当单片机不上电,程序将不执行。且由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。 方案二:本方案采用Dallas公司的专用时钟芯片DS1302。该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。 基于时钟芯片的上述优点,本设计采用方案二完成数字时钟的功能。2.3 温度采集部分 能进行温度测量是本设计的创新部分,由于现在用品追求多样化,多功能化,所以我们决定给系统加上温度测量显示模块,方便人们的生活,使该设计具有人性化。 方案一:采用热敏电阻,可满足 40 摄氏度至 90 摄氏度测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测小于 1 摄氏度的信号是不适用的。 方案二:采用温度传感器DS18B20。DS18B20可以满足从-55摄氏度到+125摄氏度测量范围,且DS18B20测量精度高,增值量为0.5摄氏度,在一秒内把温度转化成数字,测得的温度值的存储在两个八位的RAM中,单片机直接从中读出数据转换成十进制就是温度,使用方便。 基于DS18b20的以上优点,我们决定选取DS18b20来测量温度。2.4 芯片的选择 方案一:采取并口输入,占用大量I/O口资源 方案二:选取串口输入,使用较少。所以我们选用串口输入。串口输入我们可以选用芯片有74HC595、74LS164、TPIC6B595。但是74HC595和74LS164两种芯片必须加驱动才能驱动LED,而TI 公司的DMOS 器件TPIC6B595 , 除具有TTL 和CMOS 器件中移位寄存器595 的逻辑功能外, 其最大的特点是驱动功率大, 可直接用作LED的驱动。 综合以上比较,我们选取TPIC6B595来驱动LED点阵。2.5 闹铃方式的选择 方案一:采用蜂鸣器闹铃,当到设定时间时,单片机向蜂鸣器送出高电平,蜂鸣器发生。采用蜂鸣器闹铃结构简单,控制方便,但是发出的闹铃声音单一。 方案二:采用录音放音芯片1420闹铃,先对录放音设备录入一段音乐,当到设定时间时,单片机控制录放音设备放音。采用录放音电路铃声可以自己预先设定一段自己喜欢的音乐,符合电器设备人性化的要求。且1420芯片可以分段录音,还具有语音报时功能。 基于录音放音芯片1420的以上优点,我们决定采用录放音设备闹铃。 2.6 止闹方式的选择 一般钟表都具有闹钟功能,到设定时间,便自动启动闹钟,发出音乐提醒人们,再由人按下止闹按钮停止闹钟工作。 一般每天只能设置一次闹钟、并要由人按下按钮止闹,使用不是很方便。 智能处理器应用可改变这种状况,一天可按自己需要设置闹钟的开关、多次闹钟设置并可用非接触方式止闹。 方案一:采取远程红外遥控止闹,遥控器发出特定红外信号时,单片机接受到信号,向发音设备发出停止信号止闹。红外遥控止闹控制距离远,但是价格昂贵,增加了制造成本。 方案二:采取光电传感器,当用一物体遮挡光电传感光电传感器向单片机接口送出一个低电平,单片机立即向发音设备发出停止信号止闹。光电传感器价格便宜,线路简单,易于控制。 基于以上比较我们决定采用光电传感器止闹。2.7 串口通讯芯片的选择 AT89S52串行口采用的是TTL电平,因此必须的有电平转换电路,可以选择1488,1489,MAX232A. 方案一:采用1488或1489芯片实现电平转换,但在使用中发现这两种芯片可靠性不高,且需要正负12V电源,使用麻烦。 方案二:采用单电源电平转换芯片MAX232A可以使电路变得简单,可靠。 基于以上分析,我们选用方案二,选用芯片MAX232A2.8 电源模块 方案一:采用干电池作为LED点阵系统的电源,由于点阵系统耗电量较大,使用干电池需经常换电池,不符合节约型社会的要求。点阵系统要悬挂在墙上,电池总量大,使用会有较大安全隐患。 方案二:采用200W/5V直流稳压电源作为系统电源,不仅功率上可以满足系统需要,不需要更换电源,并且比较轻便,使用更加安全可靠 基于以上分析,我们决定采用方案二3、总体方案3.1 工作原理: 利用单片机AT89S52单片机作为本系统的中控模块。单片机可把由DS18B20、DS1302读来的数据利用软件来进行处理,从而把数据传输到显示模块,实现温度、日历的显示。点阵LED电子显示屏显示器为主要的显示模块,把单片机传来的数据显示出来,并且可以实现滚动显示。利用光电传感器来实现非接触止闹功能。在显示电路中,主要靠按键来实现各种显示要求的选择与切换。3.2 总体设计 设计总体框图如图14、系统硬件设计(单元电路设计及分析) 4.1 AT89S52单片机最小系统: 最小系统包括晶体振荡电路、复位开关和电源部分。图2为AT89S52单片机的最小系统。4.2 温度测量模块: 温度测量传感器采用DALLAS公司DS18B20的单总线数字化温度传感器,测温范围为-55℃~125℃,可编程为9位~12位A/D转换精度,测温分辨率达到0.0625℃,采用寄生电源工作方式, CPU只需一根口线便能与DS18B20通信,占用CPU口线少,可节省大量引线和逻辑电路。接口电路如图3所示。图3 DS18B20测量电路4.3 时钟模块 时钟模块采用DS1302芯片,DS1302 是DALLAS 公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31 字节静态RAM 通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM 指示决定采用24 或12 小时格式DS1302 与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线1 RES 复位2 I/O 数据线3 SCLK串行时钟时钟/RAM 的读/写数据以一个字节或多达31 个字节的字符组方式通信DS1302 工作时功耗很低保持数据和时钟信息时功率小于1mW,其接线电路如图4 图4 时钟电路4.4 键盘模块 键盘、状态显示模块:为了使软件编程简单,本设计利用可编程芯片8255。接法如表1所示。PA口接按键,PC口则用于控制状态显示所用LED点阵。每个按键都通过一个10K的上拉电阻接电源+Vcc,按键的另一端接地。当有键按下时,与该键相连的PA口的相应位变为低电平,单片机检测到该变化后即转到相应的键处理程序,同时在程序中点亮LED点阵。模块电路如图54.5 LED显示模块 点阵数据串行输入, 器件为 移位寄存器TPIC6B595595, 门控和扫描信号常以16 点阵为一行进行并行处理。在点阵显示中以4×8个L ED 点阵构成一个L ED 显示单元, 采用行共阳列共阴的编排方式。其驱动分为行列两部分, 分别来自于行、列移位寄存器, 行数据是扫描数据, 16 行中每次只有一行被驱动, 采用逐行扫描方式, 列数据则为汉字的点阵码。。对于字符和图形显示也可以用点阵处理, 其显示原理和方法相同.电路如图6 图6 LED显示电路4.6电源选择: 200W/5V的直流稳压电源更加安全电路图如图7图7 电源电路4.7 PC机通讯 MAX232是标准的串口通信接口,对于一般的双向通讯,只需要使用串行输入口RXD(第3脚)、串行输出TXD(第2脚)和地线(第7脚)。MAX232逻辑电平的规定如表2. 表 2 逻辑电平表逻辑值 电平幅值 (v) 0 3+~+15 1 3-~-15 图8 串口通讯4.8整体电路系统整体电路如下: 图9 整体电路5、系统软件设计5.1主程序如图105.2显示子程序流程如图 115.3 显示时间子程序流程如图12图12 时间子程序流程图5.4 与PC串口通讯程序5.5 LED亮度调节图 14 LED亮度调节5.6温度测量流程图如图15 图15 温度测量程序流程图6、测量及其结果分析6.1 基本部分测试与分析6.11 测试仪器: 秒表 、温度表、万用电表、WAVE仿真器6.12基本要求部分的测试与分析: (1)系统上电后,全屏点亮,没有暗点。接着显示时间。按“#”键后时扫描键盘,当有1~10键按下时,分别显示十段设定的数字、英文或汉字。 (2)显示时间时通过与秒表对比,测试的系统时间准确。6. 2 发挥部分测试与分析:(1) 当按下#后在按下进入亮度调节,按下“+”键时,亮度增加。按下“—”键时,亮度变弱。(2) 可以实现文字左右移动 (3) 按下“设置时间”键,观察到“钟表” 二极管点亮,此时可对时间进行设置。按下“时间设置“进入时调试,按“+”键时间加。在按下“切换”键时,进入分调整模式,按下“+”键,分增加。按下“选择”键时,分调整模式改为秒调整模式,按下“+”键秒增加。经测试该步可以很好的实现。调整时间完毕后,再按一下“闹钟设置”进入闹铃设置状态,按下“+”键设定“时”增加,在按下“选择”键进入分的设置,按下“+”键设定“分”增加。在按下“选择”键进入秒设置模式,按“+”键秒增加。(4)系统可以显示10组,每组8个汉字,完成要求 6.3 创新部分测试与分析(1)温度测量: 键盘切换现场环境温度显示:按“功能”键选择“温度”,将温度传感器和温度计放入不同的测试环境中进行测试,结果如表1所示。 表1 与标准温度计测量值比较表 温度计示值(摄氏度) 10.3 25.2 49.7 70.1 85.5 温度输出(摄氏度) 10 25 50 70 86 由测试知,数字钟的输出与温度计值基本上相等,误差不大于0.5度。(2) 当到设定时间时,开始访一段音乐,完成定时闹铃功能。(3)当用手遮挡光电传感器后,停止放音。手拿开后,不再放音,直到到设定时间。完成非接触止闹功能7、设计总结 全心准备了整整一个酷暑,9月8日我们终于拿到了试题,我们一致选择控制类题目A(LED点阵),从基本方案的制定,在到硬件电路的选择,到制作电路制作,最后进行程序调试。在此期间我们遇到很多困难,几乎没有说过一次好觉,尽管很艰苦,但是我们各自分工,相互协作,一次又一次品尝到了解决问题的喜悦,最终完成了要求的全部功能,并加入了一些创新的部分。在竞赛中我们发现了自己知识的不足,通过四天三夜的奋斗,也可以说四天三夜的学习,我们学到了很多东西,最重要的是我们学会了一种精神————永不放弃。在以后的时间里面我们会用这种精神去学习,更上一层楼。8、参考资料 [1]《基于单片机结构的智能系统设计与实现》 沈红卫 编 电子工业出版社 [2]《单片机原理与接口技术》 黄惠媛 编 海洋出版社 [3]《单片机应用技术》 周平 伍云辉 编 电子科技大学出版社 [4]《8051单片机实践与应用》 吴金戌 沈金阳 郭庭吉 编 清华大学出版社 [5]《电子设计竞赛赛题解析》 黄正谨等编 东南大学出版社 附录:例:整屏四个字一起显示的程序SER EQU P1.0 ; TPIC6B595 第3脚OE EQU P1.1;TPIC6B595 第8脚RCK EQU P1.2;TPIC6B595 第12脚MR EQU P1.3;TPIC6B595 第9脚SRCLK EQU P1.4;TPIC6B595 第13脚ORG 0000HLJMP MAINORG 0100H;**************************主程序**********************************MAIN: MOV SP,#70HSETB OE MOV 2BH,#00HMOV 27H,#00HSTART: ;初始化寄存器RAM单元MOV R0, #30HMOV R1,#64H ;30H~6FH单元清零MOV A, #00HST: MOV @R0,A INC R0 DJNZ R1,ST;2Dh------寻址偏址 ;整屏四个字一起显示LOOP:MOV DPTR,#TAB;赋查表初值MOV R3,#56PLAY: MOV 2DH,#00H MOV 2FH,#10HGG: LCALL LINE16;扫描显示一次MOV 2DH,#00HDJNZ 2FH,GGMOV A,DPLCLR CADD A, #16MOV DPL ,AMOV A, DPHADDC A ,#00HMOV DPH, ADJNZ R3,PLAYSJMP STARTLINE16: MOV 2BH,#16;扫16行,2BH放后还剩几行FF: LCALL LINE1;扫描显示一行子程序DJNZ 2BH,FF;扫描行直到16行扫完再转RETLINE1:LCALL MSTR;将显示的内容移入内存单元 LCALL SEND;发送串口子程序 LCALL XH;选通行子程序 RETMSTR: ;显示内容移入内存单元 MOV R0,#30H MOV R4,#9 MOV A,2DH;BB: MOVC A,@A+DPTR MOV @R0,A INC R0 MOV A,2DH ADD A,#16;加16移到下一行 MOV 2DH,A DJNZ R4,BB MOV A,2DH SUBB A,#143 MOV 2DH,A RET;$$$$$$$$$$$$$$$$$$$$$$$$$$$发送数据到串口子程序$$$$$$$$$$$$$$$$$$$$$$$$$SEND:MOV R0,#30H MOV R5,#8 ;一行有8个字节,如每次显示字数不同要作相应改动 SETB OE SETB MR CLR SRCLK CLR RCK SETB P1.6 SETB P1.7LQ: CLR C MOV R2,#8 MOV A,@R0 ; CPL A ;TPIC6B595应该不用这一步 LCALL DD1;调用显示一个字节的子程序 INC R0;指向下一个显示单元 DJNZ R5,LQ RETDD1: CLR SRCLK;清串行CP端 RLC A; MOV SER,C SETB SRCLK ;触发串行CP端 DJNZ R2,DD1;每个字节移8次够了向下执行 RET;选通行子程序XH: CLR RCK ;将输出CP变成低电平为上升沿做准备 NOP SETB RCK CLR P1.6 ;CLR P1.7 MOV A,27H MOV P0,A CLR OE LCALL DE25MS INC A SETB OE SETB P1.6 MOV A,27H ANL A,#0F0H SWAP A ADD A,#01H SWAP A MOV 27H,A CLR MR SETB MR RETDE25MS: MOV R5,#09H DEL2: MOV R6,#0FH DEL3: MOV R7,#01H DJNZ R7,$ DJNZ R6,DEL3 DJNZ R5,DEL2 RETTAB:字库END

这是我自己用DS18B20做的温度检测程序,复制给你看看,我这是通过串口可以在电脑上的串口助手上显示出实时的温度:#include#include#define uint unsigned int#define uchar unsigned charsbit ds=P1^0;bit flag;uchar count_t0;float f_temp;void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=122;y>0;y--);}void init() // 串口初始化{TMOD=0x21;SCON=0x50;TH0=0x4c;TL0=0x00;TH1=0xf3;TL1=0xf3;EA=1;ET0=1;TR0=1;TR1=1;}void timer0() interrupt 1{TH0=0x4c;TL0=0x00;if(++count_t0>=20){count_t0=0;flag=1;}}void dsreset(){uint i;ds=0;i=103;while(i>0)i--;ds=1;i=4;while(i>0)i--;}bit read_bit(){uint i;bit dat;ds=0;i++;ds=1;i++;i++;dat=ds;i=8;while(i>0)i--;return dat;}uchar read_byte(){uchar i,j,dat;dat=0;for(i=1;i<=8;i++){j=read_bit();dat=(j<<7)|(dat>>1);}return dat;}void write_byte(uchar dat){uint i;uchar j;bit testb;for(j=1;j<=8;j++){testb=dat&0x01;dat=dat>>1;if(testb){ds=0;i++;i++;ds=1;i=8;while(i>0)i--;}else{ds=0;i=8;while(i>0)i--;ds=1;i++;i++;}}}void begin_change(){dsreset();delay(1);write_byte(0xcc);write_byte(0x44);}float get_temp(){uchar a,b;uint temp;float f_temp;dsreset();delay(1);write_byte(0xcc);write_byte(0xbe);a=read_byte();b=read_byte();temp=b;temp<<=8;temp=temp|a;f_temp=temp*0.0625;temp=f_temp*10+0.5;f_temp=f_temp+0.05;return f_temp;}void main(){init();while(1){if(flag==1){flag=0;begin_change();TI=1;printf("The tempeature is %f\n",get_temp());while(!TI);TI=0;}}}

摘要本设计的温度测量计加热控制系统以AT89S52单片机为核心部件,外加温度采集电路、键盘显示电路、加热控制电路和越限报警等电路。采用单总线型数字式的温度传感器DSI8B20,及行列式键盘和动态显示的方式,以容易控制的固态继电器作加热控制的开关器件。本作品既可以对当前温度进行实时显示又可以对温度进行控制,以使达到用户需要的温度,并使其恒定再这一温度。人性化的行列式键盘设计使设置温度简单快速,两位整数一位小数的显示方式具有更高的显示精度。建立在模糊控制理论控制上的控制算法,是控制精度完全能满足一般社会生产的要求。通过对系统软件和硬件设计的合理规划,发挥单片机自身集成众多系统及功能单元的优势,再不减少功能的前提下有效的降低了硬件的成本,系统操控更简便。实验证明该温控系统能达到0.2℃的静态误差,0.45℃的控制精度,以及只有0.83%的超调量,因本设计具有很高的可靠性和稳定性。关键词:单片机 恒温控制 模糊控制引言温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。随着电子技术和微型计算机的迅速发展,微机测量和控制技术得到了迅速的发展和广泛的应用。 采用单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。MSP430系列单片机具有处理能强、运行速度快、功耗低等优点,应用在温度测量与控制方面,控制简单方便,测量范围广,精度较高。温度传感器将温度信息变换为模拟电压信号后,将电压信号放大到单片机可以处理的范围内,经过低通滤波,滤掉干扰信号送入单片机。在单片机中对信号进行采样,为进一步提高测量精度,采样后对信号再进行数字滤波。单片机将检测到的温度信息与设定值进行比较,如果不相符,数字调节程序根据给定值与测得值的差值按PID控制算法设计控制量,触发程序根据控制量控制执行单元。如果检测值高于设定值,则启动制冷系统,降低环境温度;如果检测值低于设定值,则启动加热系统,提高环境温度,达到控制温度的目的。图形点阵式液晶可显示用户自定义的任意符号和图形,并可卷动显示,它作为便携式单片机系统人机交互界面的重要组成部分被广泛应用于实时检测和显示的仪器仪表中。支持汉字显示的图形点阵液晶在现代单片机应用系统中是一种十分常用的显示设备,汉字BP机、手机上的显示屏就是图形点阵液晶。它与行列式小键盘组成了现代单片机应用系统中最常用的人机交互界面。本文设计了一种基于MSP430单片机的温度测量和控制装置,能对环境温度进行测量,并能根据温度给定值给出调节量,控制执行机构,实现调节环境温度的目的。━、硬件设计1:MSP430系列单片机简介及选型单片机即微控制器,自其开发以来,取得了飞速的发展。单片机控制系统在工业、交通、医疗等领域的应用越来越广泛,在单片机未开发之前,电子产品只能由复杂的模拟电路来实现,不仅体积大,成本高,长期使用后元件老化,控制精度大大降低,单片机开发以后,控制系统变为智能化了,只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。这样产品体积变小了,成本也降低了,长期使用也不会担心精度达不到了。特别是嵌入式技术的发展,必将为单片机的发展提供更广阔的发展空间,近年来,由于超低功耗技术的开发,又出现了低功耗单片机,如MSP430系列、ZK系列等,其中的MSP430系列单片机是美国德州仪器(TI)的一种16位超低功耗单片机,该单片机

基于单片机的光照度检测论文

不知道楼主解决了问题没,我这有一些这方面的论文,给你参考一下吧..单片机应用系统中掉电保护电路的设计研究中文摘要:本文介绍了单片机应用系统中掉电保护的基本原理与设计方法,给出了几种掉电保护电路的设计实例。摘自墨客论文网:基于单片机控制的数字脉冲电火花电源设计中文摘要:根据电火花沉积工艺的特点,设计了基于16位单片机80C196KC控制的脉冲电火花电源。主电路中,采用了半桥逆变电路实现功率的变送。控制电路中,通过PWM脉宽调制实现电压调节。设计采用了多种抗干扰措施,提高了电源系统工作的稳定性。摘自墨客论文网:基于单片机的液晶触摸屏控制系统中文摘要:以触摸屏控制芯片ADS7843和液晶显示控制器SED1335为例,介绍了触摸屏的结构及工作原理,并以实例说明单片机控制触摸屏的典型应用电路和软件。摘自墨客论文网:单片机技术在智能交流接触器实时调控中的应用研究中文摘要:通过对智能交流接触器零电流分断控制原理的分析,发现其零电流分断失败的原因,并在此基础上提出将单片机实时控制系统嵌入传统接触器中,实现零电流分断的智能“无弧”接触器。摘自墨客论文网:于PIC单片机的电动自行车控制系统设计中文摘要:介绍以单片机PIC16F72为核心的电动自行车用无刷直流电动机控制系统的设计。该系统采用电流与速度双闭环控制的结构,其中电流调节器用传统的PI调节器,速度调节器为改进的PI调节器。实验验证了此设计方案的可行性和优越性,即控制电路简洁,器件少,成本低,保护措施可靠,提高了系统的控制精度。该设计对无刷直流电机在其他领域的应用有一定的帮助和借鉴,具有广泛的现实意义。该系统速度环采用改进型的PI调节器控制,且通过软件运用算法测速,实现转速反馈,既简化电路又节省成本。摘自墨客论文网:

无论什么单片机要想检测环境光照强度其基本原理都是一样的,即要有一个感受光照强度的传感器件或模块,传感器如果是模拟量输出还需要配置一个A/D转换器或选用内含A/D转换器的单片机,这样就可以把反映光照强度的数据采集到单片机,余下的工作就可以交给软件来完成了,软件要么通过模型公式算出强度值要么通过查表方式获取强度值,最后把处理结果送到显示器显示出来就OK了。

  • 索引序列
  • 基于单片机的水ph值检测论文
  • 基于单片机的水位检测论文设计
  • 基于单片机的pm25检测论文
  • 基于单片机检测pm25论文
  • 基于单片机的光照度检测论文
  • 返回顶部