时间:2022-05-03 05:43:52
开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇单片机应用论文,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。
论文摘要:目前单片机渗透到我们生活的各个领域,本文介绍了单片机的应用并且根据自己的一些经验谈了单片机应用过程中应该掌握的几个技巧。
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,广泛使用的各种智能IC卡等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
一、单片机的特点应用
单片机的特点主要有:高集成度,体积小,高可靠性;控制功能强;低电压,低功耗,便于生产便携式产品;易扩展;优异的性能价格比。目前,单片机的应用领域主要包括:办公自动化设备;单片机在机电一体化中的应用;在实时过程控制中的应用;单片机在日常生活及家用电器领域的应用;在各类仪器仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比;在计算机网络和通信领域中的应用;商业营销设备;单片机在医用设备领域中的应用;汽车电子产品;航空航天系统和国防军事、尖端武器等领域,单片机的应用更是不言而喻。
二、单片机开发中的几个基本技巧
在单片机应用开发中,代码的使用效率问题、单片机抗干扰性和可靠性等问题仍困扰着。现归纳出单片机开发中应掌握的几个基本技巧。
1、如何减少程序中的bug。对于如何减少程序的bug,应该先考虑系统运行中应考虑的超范围管理参数如下。物理参数:这些参数主要是系统的输入参数,它包括激励参数、采集处理中的运行参数和处理结束的结果参数。资源参数:这些参数主要是系统中的电路、器件、功能单元的资源,如记忆体容量、存储单元长度、堆叠深度。应用参数:这些应用参数常表现为一些单片机、功能单元的应用条件。过程参数:指系统运行中的有序变化的参数。
2、如何提高C语言编程代码的效率。用C语言进行单片机程序设计是单片机开发与应用的必然趋势。如果使用C编程时,要达到最高的效率,最好熟悉所使用的C编译器。先试验一下每条C语言编译以后对应的汇编语言的语句行数,这样就可以很明确的知道效率。在今后编程的时候,使用编译效率最高的语句。各家的C编译器都会有一定的差异,故编译效率也会有所不同,优秀的嵌入式系统C编译器代码长度和执行时间仅比以汇编语言编写的同样功能程度长5-20%。对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求你对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C编译系统所能支持的数据类型和算法。虽然C语言是最普遍的一种高级语言,但由于不同的MCU厂家其C语言编译系统是有所差别的,特别是在一些特殊功能模块的操作上。所以如果对这些特性不了解,那么调试起来问题就会很多,反而导致执行效率低于汇编语言。
3、如何解决单片机的抗干扰性问题。防止干扰最有效的方法是去除干扰源、隔断干扰路径,但往往很难做到,所以只能看单片机抗干扰能力够不够强了。在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受到重视。单片机干扰最常见的现象就是复位;至于程序跑飞,其实也可以用软件陷阱和看门狗将程序拉回到复位状态;所以单片机软件抗干扰最重要的是处理好复位状态。一般单片机都会有一些标志寄存器,可以用来判断复位原因;另外你也可以自己在RAM中埋一些标志。在每次程序复位时,通过判断这些标志,可以判断出不同的复位原因;还可以根据不同的标志直接跳到相应的程序。这样可以使程序运行有连续性,用户在使用时也不会察觉到程序被重新复位过。4、如何测试单片机系统的可靠性。当一个单片机系统设计完成,对于不同的单片机系统产品会有不同的测试项目和方法,但是有一些是必须测试的:测试单片机软件功能的完善性;上电、掉电测试;老化测试;ESD和EFT等测试。有时候,我们还可以模拟人为使用中,可能发生的破坏情况。例如用人体或者衣服织物故意摩擦单片机系统的接触端口,由此测试抗静电的能力。用大功率电钻靠近单片机系统工作,由此测试抗电磁干扰能力等。
综上所述,单片机已成为计算机发展和应用的一个重要方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。此外在开发和应用过程中我们更要掌握技巧,提高效率,以便于发挥它更加广阔的用途。
参考文献:
[1]何立民.MCS-51系列单片机应用系统设计系统配置与接口技术.北京:北京航空航天大学出版社,1990
图1给出了前端处理器中采用协处理器的硬件略图(只画出有关部分)。它的主处理器仍采用了当前流行的16位单片机80C196KB(IC6),协处理器采用了W78E51单片机(IC3)。W78E51的指令及性能同89C51,只是它的工作频率可以达到40MHz。由于有两个CPU同时运行,而且它们之间还有数据交换,如何去协调它们的工作是至关重要的,这需要通过硬件和软件的设计来加强保证。
图1中,IC1是8选1的模拟通道芯片MAX338,若通道数量超过8,可选用MAX306,其通道数量可达16个。IC2为12位带采样保持功能的A/D模数变换芯片AD1674。IC4为地址锁存片74LS373,IC5为RAM存储芯片6264,它们附属于IC3,作为IC3的片外数据存储器。
硬件的工作过程是:工频电压或电流经处理后(经传感器或者电压/电流互感器、放大器、滤波器等处理)变为相应的模拟信号,分别从CI1的8个输入端(IN1~IN8)输入,具体选通哪路则取决于A0~A2的二进制数。而A0~A2又是由IC3的P10~P12决定。被选中通道的模拟量由IC1的OUT输出,经跟随器后进入IC2进行A/D变换,由R/C、A0控制变换的过程,STA给出变换结束的信号,它们分别由IC3的P15~P17实施控制和测试。变换完成的数字量为12位,分两次输出,第一次为高8位(DB11~DB4),第二次为低8位(DB3~DB0,后加4个0)。这些数据经整理后依次存入数据存储器IC5中。IC3的P14是IC2的片选信号,P33是IC4、IC5的片选信号,通常为高电平,选不中。当进行A/D变换时,须先将P14置低电平,选中该片,变换完成后,再置加高电平。当向IC5存、取数据时,须通过P33进行控制,过程同上。这样,可以防止A/D变换、IC5存取数据、IC3通过P0口向IC6传送数据这三者之间的相互交叉干扰。
周期值的测量是由一模拟通道提供工频信号,经斯密特触发器至IC3的P13进行。P13相邻两次电平下降的时间隔即可周期值。
IC3的P30、P31与IC6的P10、P11构成握手信号,将存放IC5中的各量依次取出,由IC3的P0口传至IC6的P0口,并存入指定的区间,再进行傅氏运算、处理和控制。IC5中存储的数据个数是1周期内各采样点的、各通道测得的数据个数的总和。设采样点为Rn,通道数为Rm,再加上前述的周期值(各量均为2字节),总的字节数C=2RnRm+2。当Rn=32,Rm=8,则C=2×32×8+2=514字节。当少于200字节时,也即采样点、通道数较少时,如Rn=16,Rm=6,IC3可用W78E52代替。W78E52可以利用片内的256个RAM来存储数据而省去片外的数据存储器,在硬件上更为简洁。
二、软件
图2是协处理器主程序软件框图。首先对有关的量进行说明:T0和T1是W78E51片内的两个定时器。T、Ta和Tb均为2字节寄存器,T用来存储测量出的周期值;Ta存储两相邻采样点的时间间隔,因本例中采样点为32,将T右移5位即得Ta值;Tb是Ta对应的溢出值,用来产生T0中断。注意:以上诸量都须机器周期来表示,本例中采用24MHz晶振,一个机器周期的时间为0.5μs。Rm是模拟通道数,范围是1~8。Rn是采样点数,范围是1~32。
工作过程简述如下:当P13电位下跌时,周期测试开始,到第二次P13下跌时,周期测试结束(区间为AA~AD)。两次下跌的时间间隔即为工频的周期,具有准确的跟踪特性。在周期测试开始后4μs,T0溢出产生中断,执行中断子程序,总共32次。中断子程序都是在AD~AC间执行的,也即在第一周期内所有需要测量的量都已测出。从AD往后便是第二周期,主要用来计
算Ta、Tb的值,并将IC5内的数据传送出去。由此可见,协处理器的运行为2个周期,约40ms。应说明的是:在上电的第一个周期内,因周期值还未测出,故须对Tb值先行设置。图3是中断子程序软件框图。
8个通道的A/D转换数据是先存入片内的RAM。这样来得快,以减少通道之间的相差(邻近通道之间的相差约为0.4°),之后,再一次性地由片内RAM转存于片外RAM。执行一次T0中断子程序的时间约为256μs。当采样点为32时,时间间隔为625μs,绰绰有余。若将采样点增至36,通道增至16个,则采样点间隔约为555μs,执行中断子程序的时间约为445μs,仍有足够的余量。
软件可以用汇编语言ASM51编写,也可以用对应的高级语言PL/M51或C51编写,但前者代码率高一些。
结束语
以上是协处理器的一般用法,在此基础上是否能进一步缩短运行周期和提高测量精度,是一个值得研究的课题。提高主处理器IC6和协处理器IC3的工作频率(如IC6采用16MHz,IC3采用36MHz)可以提高CPU的运行速度,以达到缩短运行周期的目的。但有两点需要注意:一是CPU的芯片的速度必须跟得上;二是频率提高后,辐射增强,交叉干扰变得明显。因面,在印刷电路板的设计上须谨慎处理。
提高测量精度可以从3个方面着手。一是提高A/D转换精度,采用14位A/D变换芯片。不过,位数越多,变换所需的时间也越长。这在单一CPU中因时间限制,效果不好,而在协处理器中却容易实现。这里还有一个附带的问题,目前大都采用开关式稳压电源,耗电量省,但工作频率高,噪波大,通常有5~10mV,这无疑限制了精度的提高。因而,必须有一套优良的电源滤波系统,将噪波滤到1mV以下。有时这部分的电源干扰采用串联式稳压电源,其噪波可以做到0.5mV以下。
论文关键词:Proteus,简单制作,教学与实践
1 Proteus 简介
Proteus是英国Labcenter公司研发的多功能EDA(电子设计自动化),它实现了从电路设计到测试、仿真、调试的整个过程。仿真运行通过后再制作实际电路的话,就大大缩短了开发周期,并且降低了开发成本。所以说它为电子电路、单片机应用系统的开发设计以及教师的教学、学生的学习提供了非常有效的方法。
2 单片机应用系统设计与仿真实例
下面通过制作一个简单的单灯闪烁,说明如何使用Proteus实现单片机应用系统的设计与仿真。要求发光二极管一亮一灭的不停闪烁。
2.1 设计电路
利用Proteus绘制电路原理图的步骤如下:
⑴运行Proteus ISIS程序;
⑵单击P命令进入元件选择对话框,选择电路设计中所需的元件;
⑶放置元件到绘图区简单制作,布好局;
⑷设置好元件的参数;
⑸连接导线。
绘制完成的单灯闪烁硬件电路图如图1所示。
图1 单灯闪烁硬件电路图
2.2 编写程序
ORG0030H
LOOP: SETB P1.0
LCALL DELAY
CLR P1.0
LCALL DELAY
LJMP LOOP
DELAY: MOVR3, #250
L:MOV R4, #250
LL:DJNZ R4, LL
DJNZ R3, L
RET
END
编辑好程序保存时,文件的扩展名必须是ASM格式。
编译程序,若编译通过,便得到HEX格式的文件论文开题报告范例。
2.3 加载程序文件
双击原理图中的单片机元件AT89C51,便出现单片机的属性编辑窗口,在“Program File”栏指出HEX格式的程序文件所在的位置,就可将该程序文件加载到单片机中。
2.4 启动仿真,看电路运行效果
单击仿真控制按钮,观察电路的运行状况。
Proteus可以总体仿真运行,也可单步或设置断点仿真。
启动仿真后,能清楚地观察到单片机系统在运行时,各硬件所处的实时状态。
若电路设计合理、程序编写正确,就会看到发光二极管不停地闪烁。
2.5 调试简单制作,修正电路、程序代码
若未出现想要实现的功能,就需进行软硬件调试。
对于硬件电路,可用Proteus中提供的测量仪器仪表对电路进行测试、观察;至于程序,可采取单步或设置断点进行仿真调试。
不断修正电路及程序代码,直到能实现相应功能,并改变元件参数使电路的性能达最优。
注:每次修改完程序后,都必须再编译一次,然后装载到单片机中。
2.6 仿真运行通过,制作实际电路
仿真运行通过后,根据设计的原理图,购买元器件、制板、焊接、测试调试,直至产品制作成功。
Proteus仿真模型是根据生产厂家提供的技术参数文件来建立的,仿真极接近实际简单制作,所以仿真运行通过后制作的实际电路的成功率相当高。
3 引入Proteus的好处
3.1 教学中
1. 教学内容生动形象化
利用Proteus仿真软件和多媒体教学设备,在课堂中通过实例仿真,演示从单片机硬件设计到软件调试的全过程,并演示运行结果,使教学内容生动形象化。
2. 激发学生的学习兴趣,提高教学质量
教学中对实例用Proteus进行仿真,这种结合实际讲解知识点的方法,大大激发了学生的学习兴趣,使知识点变得容易理解、接受,从而提高了教学质量。
3. 拓展学生思维
讲解完知识点后,针对实例,向学生提出相关拓展性问题。比如上例中:
⑴P1.0口线上能否多并联几个发光二极管?改变R2阻值大小的话会出现什么现象?
⑵能不能将P1.0换为32根I/O口线中的其他线呢?若能的话,改为P0的某一口线时需注意什么?
⑶P1.1~P1.7能否像P1.0一样都接发光二极管以及电阻呢?
⑷硬件电路改了简单制作,程序相应地要如何修改呢?。。。论文开题报告范例。。。
通过提问,并适当演示,这样不仅拓展了学生的思维,同时加强、深化了学生对知识点的理解。
3.2 实践中
1. 提高开发速度,降低开发成本
从上例可看出,利用Proteus软件,在绘图区绘制好电路原理图,并将编译后的程序文件加载到单片机中,进行仿真就能观察整个电路的运行情况,验证设计是否达到要求,未达到,即可修整设计方案、修改程序、测试电路,直至成功。这样就无须多次购买元器件板、制板、焊接测试调试等简单制作,省时、省力、省钱,同时也提高了设计效果和质量。
2. 敢于尝试,勇于创新
根据仿真通过后的电路原理图来制作产品,学生就不用担心元器件损坏等问题,就敢于动手去尝试设计电路。通过自己动手,加深了对理论知识的理解,同时培养了学生勤思考、勇于创新的精神。
4 结语
教学与实践中引入Proteus,提高了学生的学习热情。产品制作成功,学生就会很有成就感、满足感,这是一个良性循环。通过不断的实践,学生的动手开发、创新能力就得到了较大的提高。
参考文献:
[1]彭勇.单片机技术.电子工业出版社,2009.8
[2]朱成志.Proteus仿真软件在单片机原理教学中应用. 科技创新导报, 2009
关键词:机电一体化;单片机;模块化;实验台;数字温度控制系统
中图分类号:TP273 文献标识码:A 文章编号:1009-2374(2011)30-0050-03
随着工业自动化控制设备的集成度越来越高,控制功能日趋完善,作为控制系统的核心部件――单片机日益受到重视,具有完善控制功能的单片机逐渐在自动控制系统领域大放异彩,而企业对于掌握单片机控制系统开发设计能力的人才更是求贤若渴,为此,必须要对机电专业学生的单片机设计能力进行重点培养和训练。而现有的单片机实验台很多都是集成度很高的实验台,由于集成度高而大大限制了其应用的范围,且由于集成度高而使得实验台系统相当脆弱,后期维护养护工作量较大。因此,相关人员有必要开展单片机能力训练和拓展方面的实验台研究。
本论文主要结合当前单片机实验台的应用现状,结合模块化的设计理念,对单片机综合实验台进行设计研究,以期从中能够找到模块化单片机实验台的设计应用模式,从中开发出合理有效的单片机能力训练拓展的实验方法,并以此和同行分享。
一、单片机实验台总体设计
(一)高校单片机实验台应用现状
当前各个高校的机械电子工程专业都普遍开设有单片机相关课程,但是配套的实验设备均是简单的演示性实验器材,只是让学生照着书本上的范例输入程序,即可完成单片机控制系统的全部控制功能的演示,对于学生动手设计单片机控制系统毫无实践动手的意义;国内一些教学实验仪器生产厂家所设计的单片机实验台,其控制功能过于复杂,并且配套设备多,零部件之间的依赖关系较大,集成度高,反而不利于学生对单片机控制系统内部原理的认识和理解,同时由于这些实验开发板大多已经将实验功能程序固化在系统内部了,因此实验系统的扩展功能较差,只能够进行预先设计好的实验项目,对于学生自主性设计综合实验实训项目,其实施难度较大,且这些实验仪器设备普遍存在着后期维护量大的问题,成本十分高昂,动辄高达十几万元,且并不适合我校学生的学习情况,因此并不适宜通过直接购买的方式引进相关实验设备。
综上所述,只有自制基于单片机控制功能的多功能实验台,才能从根本上解决我院学生微机原理与应用课程的实验设备配备问题,并且提高学生真正动手设计单片机控制系统进而达到应用开发的实践动手能力。
(二)实验台总体结构设计
该试验台从模块化设计的角度出发,从简单实验到综合设计实验,均采用模块设计、接口预留、连接组建的方式来实现单片机的具体控制应用;对于综合性的单片机测控系统实验,利用四个小型单片机控制实现的测控系统,组建综合性单片机控制实验中心,进而实现对相关单片机设计的应用。
该实验台是面向学生进行单片机课程实验而设计的,因此在设计时,一定要能够考虑到学生的动手能力、多名学生同时进行实验的可行性以及实验的可重复性。鉴于此,采用面包板的设计模式,将实验台中可能用到的各单片机模块挂在面包板上,面包板上可以刻画出不同测控系统的电路原理图,学生根据电气原理图,选择相应的单片机模块挂在面包板上,单片机模块与面包板之间采用专用连接插头进行电气连接,而各单片机模块之间采用杜邦连接件进行电气连接,从而搭建出不同测控功能的单片机测控实验系统。如图1所示,为基于单片机的模块化实验台结构框架示意图。
(三)实验台功能模块设计
如图2所示,该多功能实验开发板主要是围绕单片机控制与测试系统的基本构成,从传感器的输入开始,到信号处理电路,A/D转换电路,主MCU控制电路,存储电路,D/A转换电路,输出显示等模块,该系统囊括了单片机控制与测试系统的全部构成环节,通过模块化设计思路,将不同功能的单片机控制与测试系统环节模块化,并通过设计不同的接口选择电路,实现让学生动手连接不同电路模块,进而搭建不同功能的测试系统或单片机控制系统。
二、基于单片机的模块化实验台的实现
(一)实验台模块硬件模块的设计实现
对于该多功能实验开发板,采用独立化的模块设计方式,将搭建各种不同功能的单片机控制系统及测试系统的必要组成模块进行分离,借鉴“堆积木”的思想,使学生自主的选择不同的模块,进而按照实验功能要求构建具有不同实验功能的单片机控制系统。
在具体实现方式上,每一个模块都会设计统一的具有一定通用性的接口,有输入模拟量接口,输入数字量接口,输出模拟量接口,输出数字量接口,接口统一采用标准2.54mm的插针插母,方便不同模块之间的数据传输和交换。如下图3所示,是A/D转换模块和处理器模块(8051)进行连接的设计示意图。
从下图设计上可以发现,每一个独立模块都设计了由标准2.54mm插针构成了接口,按照接口类型的不同,可以具体分为输入模拟量接口,输入数字量接口,输出模拟量接口和输出数字量接口,不同模块之间采用杜邦连接件连接。实际上,本实验开发板的全部模块均采用此种模块化的设计方式,从而有利于学生动手能力和自主设计能力的提升。
(二)基于单片机实现的模块化数字温度测控系统构建
基于模块化的单片机数字温度测控系统,是利用了模块化的设计理念,将数字温度测控系统按照其构成模块,如CPU控制模块、数据采集模块、AD转换模块及数字显示模块等分别进行硬件连接连线,从而完成数字温度测控系统的设计,再配以合适的程序,即可实现对环境温度的数字测量与显示的功能。这样利用模块化的设计方法极大的提高了机电专业学生动手实验实践的能力,对于单片机的设计应用能力的提高有很大帮助。
图4 数字温度测控系统硬件接线原理图
硬件连线如上图4所示,该电路由51单片机、ADC0809电路及七段数码显示电路三部分组成。由于电路比较简单,在总线上没有其他器件,所以直接选通ADC0809,ADC0809转换器的转换结果显示在七段数码管显示电路上。需注意,试验中要将所有的电源的地线相连,包括+5V和+24V之间的。当+5V的VCC本身波动不超过ADC0809的测量精度时,可以将参考基准电压输入端直接接到VCC(Vref+)和GND(Vref-)上。输入电压来自于温度变送器,在protues中可以按图所示,采用电阻分压,以产生电平信号。温度值与输入的数值之间的关系为:T=D*Vref/256*20。其中D为ADC0809输出的数据值。
三、结语
本论文结合当前高校单片机课程实验台普遍存在集成度较高、实用性较低的现状,从模块化设计的角度出发,设计了基于模块化单片机的集成实验台,能够面向高校单片机课程教学使用,本论文从硬件设计和软件设计的角度详细论述了实验台的实现方案,且该实验台造价合理,功能相对于目前国内市场上在售的单片机教学型实验台也比较完善全面,因而其性价比较高,经济合理适用,适宜在各高校机电专业实验教学设备中推广应用。
参考文献
[1] 郝迎吉,高红红,王燕.远距离水位智能监控系统的研究与实现[J].仪器仪表学报,2004,25(6).
[2] 王幸之,等.单片机应用系统抗干扰技术[M].北京:北京航空航天大学出版社,2000.
[3] 丁玉美,等.数字信号处理[M].西安:西安电子科技大学出版社,2005.
[4] 范立南,李雪飞,尹授远.单片微型计算机控制系统设计[M].北京:人民邮电出版社,2004.
【关键词】AGV 磁引导 PWM调速 8052单片机
随着现代科学技术的高速发展,自动导引小车(Automatic Guided Vehicle AGV)得到了广泛的应用。AGV以电池为动力,并装有非接触导航(导引)装置,以电磁引导、激光引导、惯性引导及GPS引导等方式。可实现无人驾驶的运输作业。它能在计算机监控下,按路径规划和作业要求,精确地行走并停靠到指定地点,完成一系列作业。
AGV以轮式移动为特征,较之步行、爬行或其它非轮式的移动机器人具有行动快捷、工作效率高、结构简单、可控性强、安全性好等优势。AGV的活动区域无需铺设轨道、支座架等固定装置,不受场地、道路和空间的限制。在自动化物流系统中,最能充分地体现其自动性和柔性,实现高效、经济、灵活的无人化生产。
一、AGV导航系统的系统总体设计
本论文设计了磁带引导AGV,完成寻迹、蔽障、PWM调速、人工控制等功能,为大量生产工业型AGV提供较好的研究基础。系统模块设计如图1所示:
图1
本论文主要对AGV的硬件系统进行设计,重点研究磁引导AGV的磁寻迹感器模块软硬件模块、速度反馈模块的设计。
二、磁寻迹传感模块设计
磁寻迹传感器是AGV能否完成磁带寻迹功能的关键,为了检测到弱磁磁场的存在,要选用灵敏度更高的传感器。本设计采用磁阻传感器,可以测量到弱磁磁场的存在。由于磁阻传感器输出为模拟量输出,需要通过响应的A/D转换电路将信号输入单片机。模块设计如图2所示。
图2 磁寻迹传感器硬件实现电路
三、速度反馈模块设计
本论文AGV采用双轮差速驱动方式,当电机负载增加时,电机的运行速度下降,一般额定转速降落达3%~10%,为了使两电机同速,必须要有反馈换环节对电机的速度进行反馈。只有组成了闭环系统,AGV的运动与速度才可控。码盘接口硬件电路如图3所示。两编码器的A和B两相信号经过74LS14施密特整形,分别接到单片机的P2.3和P2.2 以及INT0和INT1上。单片机对INT1和INT0的中断次数计数来测量通道B的脉冲数,读取P1.2的电平状态来判断电机的转动方向。以上升沿触发为例,当B路信号的上升沿引起中断时,单片机判断P2.2或P2.3信号的电平高低。若其为低,则电机正传;为高,则电机反转。电机的速度即为一个采样周期中N值的变化量。电机的转速为,式中,C为标度变化系数,可根据转速的量纲来选择,N为一个采样周期中的计数值,它的符号反应电机的转动方向。硬件实现电路如图3所示。
图3 光电编码器实现电路图
四、总结
本系统采用PWM调速及双轮差速控制,使车辆依照车载传感器确定的位置信息,沿着规定的行驶路线和停靠位置,自动行驶,完成规定的操作。论文对关键模块的设计进行了详细设计,经验证该系统设计可靠合理,能实现系统设计的基本功能。
参考文献:
[1] 温钢云,黄道平. 计算机控制技术[M]. 华南理工大学出版社,2002.
[2] hard C.Dorf Robert H.Bishop. 现代控制系统[M].高等教育出版社,2006.
关键词:FPGA,可编程控制,高清信号源
一、FPGA的发展史
FPGA作为一种高新的技术,已经逐渐普及到各行各业,从1985年第一颗FPGA诞生至今,FPGA已经历了将近20多个年头,从当初的几百个门电路到现在的几百万门、几千万门……,从原来的上千元的天价到现在几元的超低价,可谓是出现了翻天覆地的变化。
FPGA诞生于1985年,当时第一个FPGA采用2μm工艺,包含64个逻辑模块和85 000个晶体管,门数量不超过1 000个,由名为Ross Freema所发明。论文格式,高清信号源。FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
二、FPGA技术简介
我们都知道构成数字逻辑系统最基本的单元是与门、或门、非门等,而他们都是用三极管、二极管和电阻等元件构成,然后与门、或门、非门又构成了各种触发器,实现状态记忆,FPGA属于数字逻辑电路的一种,同样由这些最基本的元件构成。一个FPGA可以将上亿个门电路组合在一起,集成在一个芯片内,打破以往需要用庞大分立门电路元器件搭建的历史,不仅电路面积、成本大大减小,而且可靠性得到了大幅度的提升。论文格式,高清信号源。一般的FPGA内部是由最小的物理逻辑单位LE、布线网络、输入输出模块以及片内外设组成,所谓的最小物理逻辑单元是指用户无法修改的、固定的最小的单元,我们只能将这些单元通过互联线将其连接起来,然后实现用户特定的功能。一个LE由触发器、LUT以及控制逻辑组成,可以实现组合逻辑和时序逻辑;随着FPGA集成度的不断增加,其内部的片内外设也越来越多,内部可集成SRAM、Flash、AD、RTC等外设,真正实现单芯片解决整个系统功能的目的。所以我们所需要控制的是布线层之间的互联开关,这也是我们编程的对象,通过这些开关来改变功能。
三、FDGA的两大工艺分类及比较
当今的FGPA按工艺分主要有SRAM工艺和Flash工艺两类,前者最大的特点是掉电数据会丢失,无法保存,所以它们的系统除了一个FPGA以外,外部还需要增加一个配置芯片用于保存编程数据,每次上电的时候都需要从这个配置芯片将配置数据流加载到FPGA,然后才能正常的运行;但是Flash架构的FPGA掉电不会丢失数据,无需配置芯片,上电即可运行,它的特点非常类似ASIC,但是又比ASIC更加的灵活,可以重复编程。论文格式,高清信号源。在一些小规模的公司或者产品量不是很大的时候往往更倾向于用FPGA来取代ASIC,不仅能够降低风险,而且能够降低成本。论文格式,高清信号源。论文格式,高清信号源。
四、FPGA技术在高清信号源上的应用
正是由于FPGA的上述优点,它正在成为数字信号处理等领域的新宠。在信号源方面的应用也不例外,较早的信号发生器大多是由复杂的模拟电路构成,体积大,成本高且不易维护,现在使用的信号源功能单一,普通、高清、VGA, DVI信号源各自独立速度慢、资源有限,格式内容单一且无法添加实际需要的特殊信号。如果采用可编程器件FPGA就可以解决这个问题,真正做到1080P的点对点的输出,是高清信号源理想的选择。
(一)HDTV测试信号简介
根据相关视频信号产生标准,需要产生HDTV测试信号,制式种类包括480P/I(60HZ)、576IP/I(50HZ)、720P、1080I(50Hz/60Hz)、1080P(50Hz/60Hz)、VGA640×480(60Hz/75Hz)、VGA800×600 (60Hz/75Hz)、VGA1024×768 (60/75Hz)NTSC、PAL。测试信号种类包括彩条信号、8(16)级灰阶、中心十字、方格、方格加测试卡、灰度渐变信号、红(绿、蓝、白、暗)场、左右灰度、上下灰度可调、彩条灰度图等等。信号输出格式包括Y/Pr/Pb基色信号、R/G/B基色信号、CVBS信号、VGA信号,DVI信号,输出采用高频同轴Q9插座、CVBS输出采用RCA插座。
(二)设计方案框图及各部分简介
1、信号存储部分:主要作为无规律图像的存放,专门特殊功能测试图片的存放。
2、FPGA部分:采用通道总线选择技术,依次定义以下制式:
3、控制部分——单片机:外围人机接口控制(按键及LCD显示部分)、向FPGA输出两根控制CLKD钟信号,DIN数据信号与FPGA通信。晶振选通、控制完成FPGA配置、制74LS26(通其间接控制AD813)选择后级放大输出,通过RS232与其他设备进行通信。
(三)系统工作原理说明
1、系统上电初始化。系统上电后,单片机从数据存储器读取数据,并发送默认控制信息给FPGA,LCD显示初始信息;单片机收到有按键按下时候或串行通信接受到命令后,根据信息选通时钟、配置FPGA控制74LS26。
2、判断按键。单片机判断前面板上按键是否有按下,如果有按下做出相应处理:如果是制式,其他信号格式变化,单片机将发送控制信息给FPGA。论文格式,高清信号源。种类及其他信息变化状态后:单片机不发送控制信息给FPGA,本系统上电初始化,而后等待单片机或FPGA触发信号才会工作;而该触发信号FPGA而言只有当单片机配置完FPGA后才会发出。
在设计高清信号源时,使用美国ALTERA公司的FPGA来进行图像数据存储和整理以及产生驱动电路所需要的各种控制波形,而在调试电路时,使用FPGA中多余的逻辑来产生VGA信号和彩条信号,所产生的信号稳定可靠。为电路调试带来了很多方便,在实际应用中,还可以对彩条信号产生模块方便地进行修改,比如可以修改行、场计数器的判断值来调整彩条的大小。增加控制信号的位数。以及增加延时跳变的功能,使输出的信号摘要。本文所述信号实现方法和程序经实验是可行的,按照实际电路图布板做成PCB,程序烧入FPGA,整机连接调试所得的信号符合国家电视信号有关标准。
参考文献:
[1]董士海,张倪,肖磊,等.EGAVGA程序员手册[M].北京:北京大学出版社,1999.
[2]王城,吴继华,范丽珍,等.ALTERAFPGA/CPLD设计[M].北京:人民邮电出版社,2005.
关键词:石蜡成型机,串行通信,单片机,VisualBasic
本系统的目标是:通过相关软件、硬件的设计,实现由主机(上位机)通过单片机(下位机)通讯实现对石蜡车间现场石蜡成型机工作状态的监控。即利用主机的监控软件与单片机进行通信,以实现对石蜡成型机的监控功能。本系统应具备如下功能:
(1) 界面设计清晰,功能齐全,实时准确的显示石蜡成型机所有参数及状态
(2) 上位机与下位机能进行可靠、实时的通信。
(3) 查询历史记录功能
1软硬件的选取及上下位机间通信协议的定义
基于上述目标与功能,要实现本系统,首先要解决以下几个问题:
1.1 上位机与单片机之间通信方式的选取
串行通信使用一条数据线,将数据一位一位地依次传输,处理的数据电压只有一个准位,因此不容易漏失数据。串行通信端口(RS-232)是每部计算机上的必要配备,它不仅实用简单,而且价格便宜。。因此本系统采用RS-232串行通信方式用于上、下位机间的通信。
1.2 监控软件开发平台的选取
VisualBasic(VB)是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序。它简单易学、效率高,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。所以,本系统采用VB作为监控软件平台。
1.3 单片机型号以及芯片的选取
MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位具有精简指令集的、超低功耗的混合信号处理器(Mixed SignalProcessor)。由于它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,已成为众多单片机系列中一颗耀眼的新星。本系统采用MSP430单片机。
1.4 上位机与单片机之间的通信协议
Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。本系统采用Modbus通讯协议进行通讯,采用16位CRC校验以保证数据传输的准确性。
通信参数设置
关键词:ATmega8;电路设计;学生实验板;单片机教学
DOI:10.16640/ki.37-1222/t.2017.08.188
1 引言
嵌入式处理器已成为嵌入式系统应用和设计的主流,对于经济欠发达地区的中职学校,嵌入式教学系统平台已成为教学的瓶颈,设备添置满足不了教学需求。ATmega8是ATMEL公司推出的一款新型AVR高档单片机,具备AVR高档单片机MEGE系列的全部性能和特点,其价格仅与低档单片机相当,深受广大单片机用户的喜爱。本文采用基于Atmega8微处理器进行嵌入式教学平台电路设计,手工制作出单面PCB板,实现了实验板的设计与制作。
2 系统总体设计
总体设计原理框图如图2-1所示。单片机实验开发应用系统中 ATmega8核心模块通过RS232 与PC上位机进行通信,充分利用PC 机的资源。电源部分采用单独电源供电。该实验开发系统设计有下载器,只需一条下载线即可开始工作,使用方便,保证实验系统具有较高的性价比。
3 硬件电路设计
ATmega8单片机实验板上集成了LED数码管显示模块、 LCD液晶显示模块、通讯接口模块、流水灯、蜂鸣器模块、按键模块、 A /D和 D /A 转换模块、DS1302时钟模块、DS18B20测温模块、24C02存储模块等常用实验模块。同时实验板上还设计预留有可扩展的空间以满足学生进行综合课程设计、创新设计。
3.1 CPU模块设计
围绕核心芯片所设计的CPU模块如图 3-1所示。图中的复位电路 RESET有二种选择: 外部复位, J16必须插上短路块;或 PC6作I/O 口用, J16拔出短路块。晶振电路 XTAL1和 XTAL2 分别是片内振荡器的反向放大器的输入、输出端, 外接晶体振荡器。晶振有两种选择:一是外接8MHz无源晶振, 二是内部RC振荡器。当P1插上短路块时, 为用外接无源晶振;当P1不插短路块时, 则用 ATmega8内部振荡器。另外,模块还设计有ISP编程接口 ,实现在线下载或读取芯片内部程序。
3.2 具有自动识别输入电压极性的电源模块设计
具有自动识别输入电压极性的电源模块电路如图3-2所示,该电路有9V和5V双电源供电。10V直流电经J3加入电路板后经D3、D4、D6、D7四只二极管组成的极性保护电路。对学生而言,在实习中给实训板加错输入电压的极性,会给实验板带来了不必要的损害,有了具有自动识别输入电压极性的电路,对本实验板起到很好的保护作用。
3.3 流水灯和蜂鸣器模块设计
流水灯电路中的流水灯由LED1―LED8发光二极管组成,1K的限流电阻,发光二级管的正极经限流电阻接电源VCC,发光二极管负极由连接排线接单片机I/O口,采用的低电平驱动发光二级管。蜂鸣器电路(图3-3)由Q5、LS1、R11和R16组成,由JP14经连接导线接单片机驱动I/O端,采用的同样是低电平驱动。
3.4 显示模块设计
数码管显示模块采用采用动态扫描模式,选用四位一体共阳数码管,电路由SM1、R1―R8、Q1―Q4、R12―R15组成。Q1―Q4进行位码控制,连接线接单片机位码驱动I/O口,低电平有效驱动。段码控制经排线接单片机段码驱动I/O口,低电平有效。 LCD显示模块外接扩展LCD1602和外接扩展LCD128*64。
3.5 串口通信设计
ATmega8单片机与PC机通信采用MAX232串口通信模块。通信时,使用 RS232 接口线,从而实现 PC 机与ATmega8单片机的串行 UART通讯,充分利用 PC 机资源。
3.6 其它电路设计
ATmega8单片机实验板上还设计有按键模块、 A /D和 D /A 转换模块、24C02存储模块(图4-8)、DS1302时钟模块(图4-9)、DS18B20测温模块等常用实验模块;同时实验板上还设计预留有可扩展的空间以满足学生进行综合课程设计、创新设计等,满足学生的实验要求。
4 电路板的设计与制作
在总体电路框架分析后,先用Protel DXP软件进行电路设计,再用热转印法制作PCB电路板。具体的步骤如下:
(1)设计PCB板图:用Protel DXP软件绘制实验板电路原理图,再设计出实验板PCB板图。(2)打印:用激光打印机把设计好的PCB板图打印到热转印纸上。(3)预热、卸料:打开热转印机,将温度调节到180度左右,预热5―10分钟;根据PCB板的尺寸对覆铜板进行裁剪,并用细砂纸进行打磨去氧化。(4)热转印:将打印好电路图的热转印纸贴于覆铜板的铜面上,放入热转印机,热转移机便会自动地把PCB板图转印到覆铜板上。(5)修版:在热转印过程中可能有的电路线条受损,没转印过来,要对受损线条进行修补。(6)腐蚀:腐蚀液用1:1的双氧水和盐酸水溶液,将覆铜板浸入腐蚀液中,轻轻震动即可。注意腐蚀速度不能太快,否则会出现侧蚀。(7)清洗:先用清水进行清洗,再用汽油清洗掉墨粉(或用细砂纸打磨)。(8)打孔:用微型台钻进行打孔,钻头要用电路板专用钻头;打好孔后对板子进行清理、修边,再涂上松香水,一块精美的PCB板就做好了。
5 结束语
本文利用ATmega8微处理器来进行硬件设计,其目的是为经济欠发达地区的中职学生学习嵌入式系统提供一套制作简单、功能较多的的实验板,让学生在实训中学习单片机,降低学习难度,使他们能够把理论知识迅速赋予到工程实践中去。
参考文献:
[1]陈章余.基于SEP4020处理器嵌入式教学系统的开发与实现.[D]:[硕士学位论文].江苏南京:东南大学,2011.
[2]陈胜涛.嵌入式系统开发平台系统功能层的设计与实现.[D]:[硕士学位论文].青岛:青岛大学.
【关键词】智能家居 GSM模块 单片机
随着网络技术的发展,网络化智能家居系统可提供遥控、家电控制、照明控制、窗帘自控、防盗报警、可编程定时控制及计算机控制等多种功能和手段,使生活更加舒适、安全和便利。本文设计的基于GSM网络的智能家居监控系统由智能监控模块、数据采集系统和用户手机构成,通过GSM短信息的收发实现对家庭设备的远程监控。
1 总体设计方案
系统由中心控制模块和各分散控制模块组成。中心控制模块实现控制用户手机和各分散控制功能模块。选用AT89S52单片机作为该监控系统的核心控制元件。主控单片机模块接收用户手机发送的短信息,根据短消息的内容控制各子功能模块;同时主控单片机模块将家居系统的控制信息以短信形式发送到用户手机,由单片机构成各控制模块子系统。
1.1 系统硬件部分
根据任务需要,合理选择单片机、传感器、GSM模块和设备来构成系统。为使硬件设计尽可能合理,系统的电路设计遵循了以下几个方面:
(1)选择标准化、模块化的典型电路,提高设计的成功率和结构的灵活性。
(2)选用功能强、集成度高的电路或芯片。
(3)选择通用性强、市场货源充足的元器件。
(4)在对硬件系统总体结构考虑时,考虑通用性的问题,采用模块化的设计方式。
(5)系统的扩展及各功能模块的设计应适当留有余地,以备将来修改、扩展之需。
(6)在电路设计时,充分考虑应用系统各部分的驱动能力
最终确定采用AT89S52单片机作为处理芯片。西门子的TC35系列的TC35iGSM模块,TC35i与GSM2/2+兼容、双频(GSM900/GSMl800)、RS232数据口、符合ETSI标准GSM0707和GSM0705,且易于升级为GPRS模块。该模块集射频电路和基带于一体,向用户提供标准的AT命令接口,为数据、语音、短消息和传真提供快速、可靠安全的传输,方便用户的应用开发与设计。
1.2 系统软件部分
软件部分由以下几部分构成:数据采集单元、手机短信信令识别与分析单元、GSM模块TC35 modem接口程序部分、分析控制部分。其中数据采集部分和手机短信信令识别需要作实时处理;GSM模块TC35 modem接口程序部分和分析控制部分则是根据采集和手机短信信令进行分时操作有利于提高系统效率。
2 系统软件设计
软件设计部分主要有数据采集部分、手机短信信令识别、TC35Modem接口程序部分、分析控制部分。其中数据采集部分和手机短信信令识别需要作实时处理;GSM模块TC35Modem接口程序部分和分析控制部分则是根据采集和手机短信信令进行分时操作有利于提高系统效率。本智能家居监控系统软件设计的内容主要有主控模块程序、TC35Modem模块通信程序、串口通信初始化程序和短消息的编码解码程序。软件设计模块如图1所示。
2.1 单片机系统软件设计
为了实现单片机与TC35I模块的通信顺畅,必须使二者的串口波特率一致,如果单片机F=11.0590MHZ,设置串行口波特率为9600,工作方式为方式3,Tl定时器采用工作方式2。其中串行口和定时器的工作方式和初值可以根据具体情况加以更改。
本系统的软件设计是将整个短信处理模块放入单片机的中断服务子程序中。发送和接收串行口数据采用中断方式进行,这样可以大大节省CPU资源。当接收一帧数据进入一位寄存器,送入接收SBUF中,同时将Rl置1;当发送数据载入发送SBUF中开始向外发送,发送完毕后即将TI置1。无论Rl置1还是TI置1,均会激发串口中断,执行中断服务程序。响应中断时,首先判断中断是接收程序还是发送程序,若为接收中断则将SBUF中的数据存入接收队列缓冲区;若为发送中断便将待发送的数据帧发送到SBUF中。
2.2 短消息PDU模式编码解码程序
在GSM标准中,中文编码采用UTF-8的编码,不是目前国内常用的GB-2312编码,因此需要对中文编码进行转换才能与采用GB-2312汉字库相配合,方可正确显示出短消息中汉字字型。由于UTF-8和GB-2312编码之间不存在一一对应的线性关系,因此需要采用查表的方式进行转换。
2.3 短消息收发程序设计
发送短信息的主要工作是将发送的内容进行相应的编码,其次就是将发送所用的SMS服务中心号码、目标号、有效时间和短信内容按照PDU编码的格式发送出去。如果是接收短信息,其工作就是将接受到的短信息内容进行解码,发送和接收的PDU串的结构是不同的。接收程序流程图如图2所示。
3 运行结果
运行结果如图3所示。
4 结论
本文设计了一个基于GSM网络的无线传感智能家居监控系统。系统在运行中还有改进之处,还需进一步对程序结构进行优化。本设计只是智能家居控制中的一部分,目前国内很多公司都在致力于智能家居产品的开发,随着相关技术的进一步发展,我国将全面普及智能家庭网络系统和产品。
参考文献
[1]黄欣荣.基于GSM短信模块的家庭防盗报警系统的设计[J].中国新通信,2010(06),19-22.
[2]曾志永,凌振宝,王君.基于GSM技术的智能家居系统的设计[J].电子技术应用,2005(10),33-35.
[3]齐赵毅,陈杰浩,罗颖等.基于GSM的智能家居远程监控系统[J].科技信息,2013(04),19.
[4]申利民,刘冬香.基于GSM智能家居控制系统的设计[J].传感器世界,2011,17(1):32-36.
[5]王骐,何嘉斌.单片机控制GSM模块实现短信收发的软件设计[J].单片机与嵌入式系统的应用,2005.
[6]马忠梅.单片机的C语言应用程序设计[M].北京:北京航天航空大学出版社,2007.
[7]邱文静.基于GSM短信息的家居设施遥控监测系统设计[D].南京:南京理工大学硕士学位论文,2009.
[8]苏江福.基于GSM网络的智能家居监控系统设计与实现[D].哈尔滨工程大学硕士学位论文,2008.
关键词:单片机;智能家居;环境监测控制;传感器
中图分类号:TP332.3 文献标识号:A
A Smart Home Environment Monitoring System based on MCU STC12C5A60S2
CHEN Rongkun 本文由wWW. DyLw.NeT提供,第一 论 文 网专业写作教育教学论文和毕业论文以及服务,欢迎光临DyLW.neT
(Department of Electronic and Information Engineering, QuanZhou Institute of Information Engineering, Quanzhou, Fujian 362000,China)
Abstract: This paper introduces a microcontroller STC12C5A60S2 as the core, which can be used to monitor, control, alarming and display the smart home environment.The system uses sensor technology, microcontroller technology, etc., to achieve the indoor home environment temperature and humidity, light illumination collection, equipment operation and stop control, display and state alarm and other functions. Through the actual test, it has the application value of modern intelligence in the field of smart home environment.
Keywords: Single Chip Microcomputer;Smart Home;Environmental Monitoring Control;Sensor
0引 言
近年来,随着现代家庭生活水平及选择需求的不断提升,智能家居环境监测控制系统在改善现代人居的生活质量和完善生存环境方面正日渐发挥着其实效且重要的技术推动作用。基于此,本文即针对一套智能家居环境监控系统的研发设计而展开了如下研究。具体来说,该系统可对室内温湿度、光照度进行数据采集;还可将通过传感器采集的数据和预设置的参数进行比较,再利用单片机进行编程控制,从而实现智能家居的合理功能配设,并最终获得理想满意实践效果。
1 系统方案设计
系统以STC12C5A60S2型单片机为中央控制器,主要由温湿度检测模块、光照度检测模块、键盘模块、显示模块、风扇及照明模拟模块、报警提示模块和电源模块组成。系统方案如图1所示。
图1 室内环境监测控制系统原理框图
Fig.1 Block diagram of indoor environment monitoring control system
为了节约系统成本、提高系统稳定性及利于维护维修,系统采用模块化设计方式。该系统的主要功能是根据传感器采集的数据与预设定的参数值进行比较,进而通过单片机系统程序来控制相关模块的运行和停止。由图1可见,温湿度、光照度传感器模块可用于实时采集家居环境的数据;键盘模块则用于设定温湿度和光照度的范围;而显示模块将用于显示温湿度和光照度等级及舒适度情况。除此之外,模拟模块即用于设备运行与停止情况的仿真模拟;特别地,LED报警提示模块会用于当温湿度、光照度数据超过预设定值时来进行闪烁报警指示[ ]。
2 系统硬件设计
由于STC12C5A60S2集成度较高,只需要一块单片机加上一些必要的外围电路就可以完成硬件设计。
2.1 最小控制系统
基于系统的要求,芯片选用的是STC系列单片机STC12C5A60S2。其中复位电路、单片机STC12C5A60S2构成最小控制系统。实现电路如图2所示。
图2 最小控制系统电路
Fig.2 Minimum control system circuit
STC12C5A60S2是一款运算速度快、抗干扰能力强、超低功耗、并可支持SPI在线编程的单片机,其内部自带2路PWM控制器、2个定时器、2个串行口支持独立的波特率发生器、3路可编程时钟输出、10位AD转换器、一个SPI接口。时下,则因其价格低廉、功能完善,已在电子行业获得广泛认可和大量应用。
2.2温湿度传感器电路
温湿度传感器电路采用了DHT系列的数字式温湿度传感器DHT11。DHT11是一款内含有已校准数字信号输出的温湿度复合传感器,但仅有一个单总线制串行输出接口,这一配置使系统集成电路变得简易快捷。只是,由于传感器的单总线制特性,造成其发送和接收皆须为三态特性,因而外接上拉电阻,其在常规状态下将呈现为高电平[ ]。具体电路如图3所示。
图3 温湿度传感器电路
Fig.3 Temperature and humidity sensor circuit
2.3光照度传感器电路
光照度传感器电路选用的是BH系列光照传感器BH1750,BH1750 是一种用于两线式串行总线接口的数字型光强度传感器集成电路。这种集成电路可以根据收集的光线强度数据来调整液晶或者键盘背景灯的亮度,并利用自身的高分辨率探测较大范围的光强度变化。设计电路如图4所示。
图4 光照度传感器电路
Fig.4 Illumination sensor circuit
2.4 液晶显示电路
液晶显示电路采用的是LCD12864。LCD12864是一种低电压低功耗、具有4/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8 192个16*16点汉字,和128个16*8点ASCII字符集;利用该模块灵活接口方式及简单、方便的操作指令,即可构成全中文人机交互图形界面;而且可以显示8*4行、16*16点阵的汉字,并可完成图形显示。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁许多,且该模块的价格也略低于相同点阵的图形液晶模块[ ]。
2.5 风扇及照明模拟电路
风扇及照明模拟电路选用的是NPN系列的8050三极管,其原理即是利用三极管的开关工作状态。具体地,当监测智能家居环境温湿度数值和预设置数值对比不一样时,单片机将输出PWM1信号控制风扇(本文用马达)进行智能调节;当监测室内光照度比较暗时,单片机将输出PWM2信号控制室内照明,相应地进行室灯照明度的智能调节。反之亦然。基本电路如图5所示。
图5 风扇及模拟照明电路
Fig.5 Alarm and analog lighting circuit
2.6键盘电路
键盘模块电路是由4个轻触式按键 S1-S4和最小控制系统组合构建而成。键盘功能设定:按键S1第一次按下修改预设值,而后再按下S2键、S3键或S4键进行参数设置,设置完成后,再按下S1键,参数设置成功。S2键按下就是对任一参数进行设置;S3键和S4键按下则进行相应的加1或减1操作。如果并未按下S1键,即按下了S2键、S3键或S4键,将保持前状态继续进行,数据显示也不会发生改变。
2.7电源电路
单片机及外围电路都需要直流5V工作电压,均由变压器次级线圈输出 ,经由整流、滤波、稳压而得到[ ]。其对应电路如图6所示。
图6 电源电路
Fig 6. Power supply circuit
除以上各电路模块之外,还需要各种信号控制温湿度、光照度、液晶显示、风扇及照明、报警等。各功能模块均通过I/O接口连接至单片机,单片机将集中处理这些信号并作出回应,从而将各个模块连通整合在一起。另外,为了提高系统的抗干扰性能,在有可能出现干扰的输入及输出通道还设置并加强了一定的隔离措施。
3系统软件设计
采用8052内核,具有64K FLASH的程序存储器和1280字节的外部RAM数据存储器,系统选用C语言[ ]进行开发。软件采用模块化设计,重点包括主程序、初始化程序、数据处理显示程序、温湿度传感器DHT11程序、光照度传感器BH1750程序、控制电路程序等。并且将任务分成不同的模块处理,保证系统的稳定性。系统程序流程如图7所示。
图7系统程序流程图
Fig.7 System flow chart
4 系统调试结果 本文由wWW. DyLw.NeT提供,第一 论 文 网专业写作教育教学论文和毕业论文以及服务,欢迎光临DyLW.neT
STC12C5A60S2单片机能监测控制智能家居环境系统的运行与停止,并将监测控制数据显示在LCD上。当监测智能家居环境温湿度数值和预设置数值对比不一样时,单片机将输出PWM1信号控制风扇(本文用马达)进行智能调节;当监测室内光照度比较暗时,单片机将输出PWM2信号控制室内照明,也就是智能调节室灯的照明度。反之亦然。
5 结束语
本文研究开发了集温湿度、光照度监测控制为一体的智能家居环境系统,采用了高精度的传感器,并利用C语言编程,实现智能家居环境参数的精准测量。结果表明,该系统测量结果准确,符合智能家居环境的监测控制要求。
关键词:Proteus;单片机;教学
中图分类号:TP31 文献标识码:A 文章编号:1001-828X(2013)11-0-01
当今社会电子技术日新月异,在各种不同类型的嵌入式系统中,以单片微控制器作为系统的主要控制核心所构成的单片嵌入式系统占据着非常重要的地位。如何提高学生学习单片机的兴趣,成为了课程教学中的难点。将Proteus软件引入到单片机教学中,可以大大地提高了该课程的可视性,能够有效的激发学生学习兴趣和热情。
一、Proteus仿真软件简介
Proteus软件是英国Labcenter electronics公司出版的EDA工具软件,Proteus可以将spice电路原模型、动态外设以及微处理器的仿真结合起来,它的电路仿真功能是互动的。
Proteus具有数量庞大的原件库,包括基本元件库、74系列TTL元件和4000系列COMS元件,存储芯片包括各种的ROM、RAM和EEPROM等30多个元件库,并在不断的更新中。在proteus中只要完成了原理图布局并设置好元件的属性,即可进行仿真和虚拟测试。
Proteus可以仿真很多常用的微处理器,它支持仿真51系列、AVR、PIC、ARM、等主流单片机,针对微处理器的应用,可以直接在基于原理图的虚拟原型上编程,并实现软件代码级的调试,还可以直接实时动态的模拟按钮、键盘的输入,LED、液晶显示的输出,同时配合虚拟工具如示波器、逻辑分析仪等进行相应的测量和观测。可以实现实时输入和输出,给实验者提供一个最接近现实的调试环境。
二、Proteus在单片机仿真中的应用
Proteus支持单片机汇编语言的编辑/编译/源码级仿真,内带8051、AVR、PIC的汇编编译器,也可以与第三方集成编译环境(如CVAVR、Keil和Hitech)结合,进行高级语言的源码级仿真和调试。仿真时只需在设定元件属性时指定下载程序的路径即可进行实时动态仿真,展现了其强大的仿真功能。
1.基于51单片机中的Proteus的仿真
在 Keil是目前51单片机用的最多的编译软件,首先在keil中输入源程序并设置好输出.hex文件,然后在Proteus中画好51单片机的电路图,在Proteus中点击51单片机芯片,在弹出的的对话框中设置好电路仿真的时钟频率,并选中Program file选项添加之前已经编译好的.hex文件,就可以开始仿真观察实验现象了。
如图2.1所示,是使用AT89C51实现的一个简易数字电压表。仿真时在Proteus中通过改变滑动变阻器连接的阻值来改变输入到AD0832中的电压,从而达到模拟数字电压表的目的,此时数码管上也会实时更新当前电压值。
在很多时候,我们输入的源程序不一定正确或者是符合设计目的,这个时候就需要我们进行修改调试了。Proteus可以与keil进行联合仿真,在keil中观察程序单步执行的同时观察Proteus中电路的运行状态,从而方便我们查找错误原因并修改。
2.基于AVR单片机中的proteus仿真
Proteus支持AVR系列单片机的型号非常全面,从低端ATtiny10到高端的ATmega128均有可以直接调用的库元件。
Proteus支持AVR些列单片机所有的I/O操作,内部的定时器、计数器的模拟(包括输入捕获、输出比较、PWM模式),看门狗定时器,串行UART接口,主、从模式串行SPI接口,支持内置数模转ADC,支持Atmel 的TWI(TwoWire Interface)通信方式,存贮器方面支持外部SRAM扩展以及内置EEPROM 的模拟,支持多个微控制器的协同工作仿真等等。
首先绘制好电路原理图,然后将AVR源程序编译器生成下载文件的路径制定给原理图中的芯片,就可以开始仿真了。如图2.2所示,是基于ATmega16的按键中断仿真。K1键连接模拟外部中断0,此时数K2键连接模拟外部中断1,按下K1键表示此时外部0产生中断数码管显示加1,按下K2键表示此时外部1产生中断数码管显示减一。
三、Proteus引入单片机教学中的优点
将Proteus引入单片机教学中具有以下优点。
⑴学生通过仿真可以观察电路的运行状态,修改产生的错误,大大提高了搭建实际电路的成功率。
⑵教学投入相对较小。在完成了基本教学后,可以鼓励学生在Proteus中进行硬件改动,观察实验效果并思考原因,减小了因硬件改动而造成的成本增加,较好的促进了整个教学过程。
⑶极大地激发了学生的兴趣。Proteus提供的平台,其简易性、直观性极大地改善了单片机教学过程中的枯燥和乏味,使学生体验到了学习单片机的趣味性。
四、结语
Proteus的出现给单片机教学工作和单片机虚拟实验室的建设提供了一条方便、快捷、节约成本的新思路,在不需要硬件投入的条件下,学生对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用 Proteus 进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。因此,Proteus 有较高的推广利用价值。
参考文献:
摘要:根据通信协议的分层结构,对物理层、数据链路层和应用层进行设计。实现了下位机(主控制器、分支控制器和表决器)的通信协议和上位机(计算机)的通信协议。该协议适用于计算机和单片机点对点通信的情况。本文所提出的通信协议的设计思想和思路方法对于相关设计和应用具有一定的参考意义和借鉴价值。
关键词:通信协议;单片机;计算机;电子投票表决系统
中图分类号:TP368文献标识码:A
1引言
大型电子投票表决系统支持大型会议(如300-500人)的电子表决功能,采集和统计大量重要的短时表决数据必须准确稳定,实时性好,能够实现大规模、中距离、高速率、低成本的多机通信。目前,对大型电子投票表决系统的研究和应用成为智能会议系统的重点和难点,而系统通信的可靠性在很大程度上依赖于是否有一个好的通信协议。本文重点研究大型电子投票表决系统的通信协议。
2通信协议设计
在集散控制系统中,上位机与下位机之间如何进行数据传输,怎么提高通信的效率和可靠性,以及对通信过程中的故障处理,帧格式的约定,都需要一套详尽的通信协议。
通常,一个集散控制系统由一个主控计算机(上位机)和一系列单片机(下位机)构成,它们之间再通过一定的物理媒介连接在一起,以完成必要的通信功能。对于一个特定的测控系统而言,所要测控的对象和所采取的测控算法是个有个性的东西;而上位机和下位机之间的通信可以看作是一系列命令流和数据流的流动,所采用的通信协议是用来保证传输过程的可靠和高效,是具有共性的,能够也应该有一个统一的设计标准[1]。
2.1通信协议的分层结构
通信协议的设计通常采用分层的机构,如ISO的OSI参考模型[2]。基于RS485串行接口的电气标准属于七层OSI模型物理层的协议标准,如图1所示。
物理层是利用物理媒介实现物理连接的功能描述和执行连接的规程,提供用于建立、保持和断开物理连接的机械的、电气的、功能的和过程的条件;数据链路层用于建立、维持和拆除链路连接,实现无差错传输的功能;应用层针对不同的应用,利用链路层提供的服务,完成不同通信节点之间的通信。
2.2通信协议的分层设计
1)物理层协议设计
上位机(计算机)和下位机(单片机)都挂在通信总线上,物理层的通信协议由RS485标准和多单片机通信方式共同实现。物理层要完成发送及接收字节流的任务,但对传输过程的可靠性不做出保证,而由高层协议来保证。物理层为链路层提供接口(以子程序的形式来描述),包括Send子程序(功能为发送一个字节)及Receive子程序(功能为接收一个字节)。
2)数据链路层协议设计
链路层可以引入帧长度域、冗余字节和CRC校验等方法进行差错处理[3]。链路层向上层(应用层)提供的接口为SendFrame(功能是发送一帧)和ReceiveFrame(功能是接收一帧),其中利用了下层(物理层)提供的接口。
3)应用层协议设计
应用层是协议的最高层,它的设计对于不同的应用可以有所不同,但是也存在很多通用性的原则。应用层也个有一定的差错检查能力:首先,它引入了冗余类型字节;其次,数据域字节也可以采用CRC校验等方法进行校验[3]。
2.3通信协议的机制规范
基于本协议的通信可以有两种机制。一种是面向握手的,即每发出一帧,总是要等待确认帧,否则将认为是通信出错。这是一种可靠的通信方式,适合传输系统命令和一些非常重要的系统参数。另一种是无握手的,即发送方假设接收方总是接收正确,从而无须等待确认帧就不停地发送,适合大量前端采集数据的发送。在计算机与单片机实现编程通信之前,两者之间需要规定握手协议,以保证数据收发的正确性[4]。在本系统中,单片机与单片机之间采用同样格式的通信协议。在上位机呼叫下位机地址之后,就可利用本协议的规范来设计具体的通信流程。
另外,设计一套完整的通信协议还要求结构简单、功能完备、高效可靠,同时要求具有通用性、兼容性与可扩充性,并且尽量标准化。
3通信协议实现
电子投票表决系统从本质上来讲,可认为是一个分布式的数据采集与集散控制系统。在集散控制系统中,普遍采用RS-485总线作为底层通信接口[5]。
大型电子投票表决系统以RS485半双工通信协议为基础,由计算机、主控制器、分支控制器和表决器构成一个多级分层的总线型网络结构。下位机(包含主控制器、分支控制器和表决器)采用AT89CXX系列单片机实现,构成了一个符合RS-485通信规范的主从分布、三级驱动、串行连接的多机网络[6]。
软件系统设计主要包括基于Windows操作系统的计算机(上位机)统计管理软件设计和采用单片机技术的主控制器、分支控制器和表决器(下位机)的通信程序编写。系统采用异步串行通信、主从呼叫响应的通信方式,完成下位机通信、上位机通信和上下位机间的通信等功能。主控制器、分支控制器和表决器基于RS-485通信协议,采用查询和地址数据回送的方式实现相互通信和统计功能。最后由主控制器对数据进行收集、统计和处理,并回送计算机。
通信协议的实现主要包括下位机通信协议、上位机通信协议、上下位机间的通信过程等几个部分。
3.1下位机通信协议
3.1.1主控制器通信协议
主控制器核心芯片89C52对应的主控制器的通信协议。
主控制器至PC机通信协议:
1) 一般约定:
(1)采用RS-485(也可采用RS-232,需转换)标准串行接口,完成主控制器至PC机通信。
(2)波特率为:9600 bit/s。
(3)1位起始位,8位数据,1位停止位,无校验。
2) 帧数据结构:
起始码(固定为ASCII码“BJ”)
命令码
数据
校验码
3) 命令码定义:
表1命令码定义表
命令名称
命令码(ASCII码)
1.表决器测试(注册)开始
“C”
2.表决器测试(注册)结束
“E”
3.表决开始
“B”
4.计票数据(表决动态数据)
“P”
5.表决结束(含计票结果)
“X”
3.1.2分支控制器通信协议
电子投票表决系统的分支控制器核心芯片89C51对应的分支控制器的通信协议。
通信协议约定:对于11.059M晶振,波特率设定为 14400,倍速为28800,单字节传输时间为 347us,延时为1ms。
3.1.3表决器通信协议
电子投票表决系统的表决器核心芯片89C2051对应的表决器的通信协议。
通信协议约定:对于11.0592M晶振,波特率设定为 9600,延时为10ms。接受和发送数据为定长8字节。表决时改为按键短时保持。
3.2上位机通信协议
Visual Basic提供三种通信编程方式。一是使用MSComm控件;二是使用Windows API;另外一个就是使用Inp和Out直接对端口读写方式[7]。本论文利用MSComm控件实现计算机与主控制器的通信。
在上位机开始表决子程序的通信协议中,包含以下过程:
1)设置打开通信端口1(COM1),并设置通信参数为19200波特,不校验,8个数据位,一个停止位。
2)发送单片机命令:
为了使主机能够对整个检测过程进行实时控制,须要在发送命令以后设定等待的时间,也可以通过条件判断下一步是发达还是接收命令。对发送的命令,可能是文本方式或二进制代码。发送命令过程是一个带参过程,这样可使发送命令简便易行。
3)接收数据:
接收数据是一个被动的过程,可以通过函数来实现,由定时器开启。在接收过程中,多数用特征字符,如“OK”、“#”等。这些需要在通信协议中约定。
4)Timer控件控制:
通过Timer控件来控制通信中的发送命令和接收数据过程,在通信程序中设置两个Timer控件分别控制发送单片机命令和接收单片机数据。
5)自动接收、监视总线状态和通信错误的处理:
自动接收、监视总线状态和通信错误的处理可以通过OnComm事件实现。通过控件中的OnComm事件可以捕捉和处理错误。当CommEvent属性值发生改变时,表明有通信错误,就会产生OnComm事件。这样可以监视通信线路状态,得到单片机和主机及单片机和单片机之间的通信进程。
综合以上分析,我们可知:利用Visual Basic的串行通信控件实现了计算机与多单片机之间的通信。同时,采用定时器控件控制收发过程,在必要的地方自动接收,使定时控制和通信过程完美地结合起来,大大加快了进程,克服了往多“握手”协议造成的通信速度缓慢的缺点。
3.3上下位机间的通信过程
计算机(上位机)与多单片机(下位机)之间的串行通信采用RS-485总线标准,半双工传输方式。
1) 通信均有上位机发起,下位机不主动申请通信。
2) 当处于轮询状态时,上位机依据下位机地址,定时向下位机发送呼叫指令。此时,每台下位机都中断接受并判断,地址不相符的下位机中断返回,执行其他下位机任务;反之则把本机地址及其状态作为应答信号发送给上位机。上位机接收到应答信号后,可以作进一步的处理。
4结论
大型电子投票表决系统的软件设计主要集中在通信协议的设计。通信协议是保证通信畅通的关键,在一定程度上也影响着网络通信的可靠性。本论文设计了一种以单片机为主控机的基于帧的通信协议,本通信协议适用于计算机和单片机点对点通信的情况。
需要注意的是,数据通信只是整个系统的一部分内容,要占用尽量少的时间,以求达到整个系统的高效率。在通信数据量一定的情况下,采用较高的波特率虽然比较好,但高的波特率必定要降低传输距离,在实际应用中必须仔细衡量。为了能使具体的命令、数据在网络上正确地传输,在数据链路层必须提供一定的网络协议,保证在物理层的比特流出现错误时能够进行检测和校正。为保证数据传输质量,对每个字节进行校验的同时,应尽量减少特征字和校验字。
本文所提出的通信协议的设计思想和思路方法对于相关设计和应用具有一定的参考意义和借鉴价值。
参考文献
[1]唐竟新,董彦伶,李庆祥.计算机控制管理的投票系统[J].清华大学学报:自然科学版, 1997,37(1):98-101.
[2]唐竟新,许欢.第二代计算机控制和管理的投票系统[J].计算机工程应用,2002, 13(5):203-205.
[3]孟德红.循环冗余校验码的软件实现[J].矿业研究与开发,2000,24(2):40-41.
[4]李朝青.PC机及单片机数据通信技术(第一版) [M].北京:北京航空航天大学出版社,2000.
[5]沈红星.一种基于RS485总线的网络协议及其实现方法[J].单片机与嵌入式系统应用,2003,16(6):13-15.