单片机应用系统设计---机电11301班龙猛.doc_第1页
单片机应用系统设计---机电11301班龙猛.doc_第2页
单片机应用系统设计---机电11301班龙猛.doc_第3页
单片机应用系统设计---机电11301班龙猛.doc_第4页
单片机应用系统设计---机电11301班龙猛.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机应用系统设计一、应用系统的设计方法一般情况下,一个实际的单片机应用系统的设计过程主要包括以下几个阶段:(1)总体方案设计(2)硬件设计(3)软件设计(4)系统仿真调试(5)系统安装运行(6)文档的编制在以上的设计过程中,其中步骤(1)、(2)、(3)中要始终包括系统的可靠性、保密性、抗干扰性等的设计。1 总体方案设计系统的总体方案设计就是根据设计任务,参考国内外同类产品的资料,进行必要的理论分析和计算,提出合理而可行的技术指标,并编写出详细设计技术方案。详细设计方案应包括产品名称、设计目的、系统功能要求、系统性能指标、设计周期、设计费用、单片机的选型、单片机的资源分配、人机界面的形式、通信协议等,对所选用器件的生产商、精度要求、使用环境要求等也都要在该技术方案中加以说明。这个过程完成得好坏直接影响下一步的设计工作,一个好的设计方案往往要经过反复推敲和论证,最终达成共识。因此对于单片机应用系统的设计,最关键的一步就是系统总体方案设计。2 硬件设计所谓硬件设计,就是根据总体设计方案所确定的系统扩展所需要的存储器、I/O接口电路、A/D和D/A电路、通信接口电路等,设计出系统的电原理图,并根据设计出来的电原理图制作试验板或印刷电路板(PCB)的过程。为使硬件设计尽可能合理,系统硬件设计应注意以下几个方面:尽可能选择标准化、模块化的典型电路,提高设计的成功率和结构的灵活性;在条件允许的情况下,尽可能选择功能强、集成度高的电路或芯片。因为采用这种器件代替某一部分电路,不仅元件数量、接插件和相互连线减少,使系统可靠性增加,而且成本往往比用多个元件实现的电路要低。注意选择通用性强、市场货源充足的元器件,尤其对需大批量生产的场合,更应该注意这方面的问题。如果某种器件无法得到,也要能用其它元器件直接替换或只须对电路稍作修改就可使用其它器件替换。设计一个应用系统时,最好采取模块化设计,通常把中央控制单元、输入接口、输出接口、人机对话接口等分块进行设计,然后采用某种连接方式将其组合成一个完整的系统。系统的扩展及各功能模块的设计在满足应用系统功能要求的基础上,应适当留有余地,以备将来修改、扩展。如存储器的容量选择,在设计时采取多种不同容量芯片均能读写的电路(可设置跨接线选择)。设计时应尽可能地了解最新先进技术。现在电子技术的发展迅速,器件功能越来越强大,采取新技术、新工艺,所设计的系统就会具有更好的竞争力。如现在的单片机,有带看门狗的、有带LCD驱动的、有带A/D和D/A转换的等等,如系统需要LCD驱动就可直接选择自带LCD驱动的单片机,而不需再设计LCD驱动电路,如程序存储器空间不够,就可直接选用较大存储空间的单片机而不需扩充程序存储器。在电路设计时,要充分考虑应用系统各部分的驱动能力。如发光二极管的正常发光的驱动电流在15mA左右,能否直接用单片机I/O口驱动,不正确的设计容易损坏I/O口造成系统可靠性降低。印制板的设计应考虑工艺要求和系统的抗干扰性。包括器件的布局、布线等,还应考虑便于安装、调试、维修等。3 软件设计软件设计的任务是根据应用系统的总体设计方案的要求和硬件结构,设计出能够实现系统各种功能控制的程序。软件设计时,应从以下几个方面进行考虑:根据软件功能要求,将系统软件分成若干个相对独立的部分。根据它们之间的联系和时间上的关系,设计出合理的软件总体结构,使其清晰、简捷、流程合理。培养结构化程序设计风格。各功能程序应实行模块化、子程序化。这样,既便于调试、连接,又便于移植、修改。建立正确的数学模型。即根据功能要求,描述出各个输入和输出变量之间的数学关系。为提高软件的总体设计效率,应以简明、直观的方法对任务进行描述,在编写应用软件之前,先绘制出程序流程图。要合理分配系统资源。系统资源分配包括ROM、RAM、定时器/计数器、中断源等,特别是片内RAM的分配、中断优先级的设置等。注意在程序的有关位置处写上功能注释(非指令解释),提高程序的可读性。加强软件抗干扰设计,提高计算机应用系统可靠性。4 系统仿真调试基于上述考虑所完成的电路板和设计出的控制软件或多或少存在问题,一般不能直接应用。如印制板在设计过程中出现了短路、断路、遣漏;在焊接过程中出现了虚焊、器件装反、装错等;在器件采购过程中出现所购器件性能达不到要求,在程序设计过程中出现所设计程序存在语法错误或逻辑错误。要解决上述存在的问题,通常需借助仿真器进行调试,排除硬件和软件上的所有错误,使系统能够正常运行后,然后再把程序固化到单片机系统的程序存储器中,再经过一整套完全的测试方案进行测试,如测试结果在性能和功能上达不到总体设计方案规定的指标要求,还必须修改硬件或软件甚至修改总体设计方案,经过多次反复,直至满足系统设计要求。5 文档编制用单片机所设计的系统一般都具有一定的应用背景,最终要变成产品交由用户使用,从设计完成到生产出产品中间的一系列环节不可能均由设计者全部完成。因此,当系统设计完成时,应编制好一些必要的文档资料,如电原理图、印制板图、元器件清单及性能指标参数、加工制作工艺、产品调试测试工艺、产品检验工艺、技术说明书、使用安装说明书等等。二、应用设计举例1、总体设计方案2、硬件设计方法3、软件设计方法一、电子显示屏的设计电子显示屏已随处可见,如火车站列车时刻表的显示、公交车上的站名显示及广告显示、证券交易所内的股市行情、银行营业厅内的服务窗口指示及文明用语显示等等。电子显示屏主要由成千上万个发光二极管组成,为了方便安装,一般把发光二极管做成点阵模块,常见的点阵模块按发光二极管行列排列划分有57、58、88等几种类型,按点阵模块的面积划分有LED1088、LED1588、LED2088等几种型号,按点阵模块内部连线方法划分有共阳(列共阳)和共阴(列共阴)两种,按点阵模块发光二极管的发光颜色划分有单色、双色、多色等型号。无论采用哪种型号的点阵模块,最终目的是应能显示字符和汉字或图形信息,然后由单片机进行控制显示其内容。下面以设计一个显示4个汉字的电子显示屏为例说明其设计过程。1 汉字显示原理图10-4 “大”的1616点阵一个汉字完整显示通常需要1616点阵,如“大”的显示点阵如图10-4所示。如果用8位的89C51单片机控制, 由于单片机的每个I/O口只能输出8位,一个汉字需要由两个I/O口输出点阵信息码,图10-4中用P0口、P2口输出点阵汉字信息。一般我们把一个汉字拆分为上部和下部,上部由8*16点阵组成,由一个I/O输出,如图中用P0口输出上部信息码,下部也由8*16点阵组成,由另一个I/O口输出信息码,如图中用P2口输出下部信息码。若汉字显示的点阵模块采用4个88共阴极(列共阳)LED点阵模块,当显示第1列时,只需列线0为高电平,其它列线均为低电平,由P0口输出DFH(P05为低电平)、P2口输出FFH,第1列就只1个发光二极管点亮;当显示第2列时,只需列线1为高电平,其它列线均为低电平,由P0口输出DFH、P2口输出FDH(P21为低电平),第2列就有2只发光二极管点亮;依次类推,在20ms内把16列全部扫描一次,由发光二极管点亮所组成的“大”就可显示出来了。实际上,显示“大”就是向P0口和P2口各送入16字节的点阵信息码,根据送入的数据顺序排列为:DFH,FFH,DFH,FDH,DFH,FDH,DFH,FBHDFH,F7H,DFH,CFH,5FH,3FH,80H,FFH5FH,7FH,DFH,9FH,DFH,EFH,DFH,F7HDFH,FBH,CFH,F9H,DFH,FBH,FFH,FFH 每送入2个字节,使列线变化一次(只1列为高电平,可由译码器输出控制),显示一个汉字的电路图如图10-5所示。 一个汉字显示的电子显示屏电路图中汉字信息码的上半部分由P0口输出,下半部分由P2口输出,用P1口的P1.0P1.3经74LS154译码输出列选信号,P1.4控制译码器的输出,三极管驱动阵列提供一列16个发光二极管的驱动电流,使发二极管有足够的电流而发光。若要重复显示8个汉字内容,可编写程序如下:ORG0000HMAIN:SETBP1.4;禁止译码器输出,呈高阻状态MOVDPTR,#TABLE;汉字信息码存放首地址MOVR6,#8;总的显示汉字个数LP:MOVR5,#20;一个汉字显示时长控制LOOP:MOVR7,#16;显示一个汉字扫描次数MOVR1,#00H;列选码初值,由P1口输出控制MOVR2,#00H;取码指针,每取一码指针加1NEXT:MOVA,R2MOVCA,A+DPTR;取汉字码上半部分MOVP0,A;上半部分由P0口输出INCR2;取码指针加1MOVA,R2MOVCA,A+DPTR;取汉字码下半部分MOVP2,A;下半部分由P2口输出INCR2;取码指针加1MOVA,R1;列选译码值MOVP1,A;译码输出选列CALLDELAY;延时1msSETBP1.4;禁止译码INCR1;列选译码值加1DJNZR7,NEXT;下一列扫描DJNZR5,LOOPMOVA,DPL;改变DPTR,指向下一个汉字ADDA,#32;一个汉字32字节MOVDPL,A;低8位地址加32MOVA,DPHADDCA,#00H;高8位地址加进位MOVDPH,ADJNZR6,LOOP;所有汉字显示完否JMPMAIN;重复下一次显示DELAY:MOVR3,#2;延时1msDL0:MOVR4,#250;按机器周期1us计算DJNZR4,$DJNZR3,DL0RET;显示汉字编码(每汉字32字节),共8个汉字信息码TABLE: DB 0DFH,0FFH,0DFH,0FDH,0DFH,0FDH,0DFH,0FBH ;“大” DB 0DFH,0F7H,0DFH,0CFH,5FH,3FH,80H,0FFH DB 5FH,7FH,0DFH,9FH,0DFH,0EFH,0DFH,0F7H DB 0DFH,0FBH,0CFH,0F9H,0DFH,0FBH,0FFH,0FFH DB ;其它7个汉字信息码略 END 二、语音输入输出控制技术近几年语音电路发展极为迅速,在单片机系统中的应用越来越广。语音接口电路作为输出口时,主要用于报告运行状态、运行结果、提示系统操作过程及故障报警等;作为输入时,则主要是语音的记录、语言库的建立和语音的识别。在单片机的应用系统中,语音接口有如下特点: (1) 语言输出的基本词汇都是确定的,且数量有限,如故障提示、操作提示、运行报告结果等;(2) 充分发挥单片机灵活的控制功能,根据系统的实时状态结果,选择合适的语音词汇或语言段随时组合输出;(3) 写入后不易遗失,修改方便。现在语音处理合成芯片很多,大多是先将语音经A/D 转换后存入存储器中,放音时取出再经D/A 转换输出。美国信息存储器件公司推出的ISD 系列语音电路采用直接模拟存储技术,不需要专用开发工具、编程器,它操作简单,接口灵活,因此深受广大单片机应用人员的欢迎。国内许多厂家生产的语音板,大多以该公司的ISD系列芯片为核心构成。现在以系列中的ISD1420 芯片为例,介绍语音电路与单片机的应用技术。其他系列型号芯片与此基本相同。1 ISD1420性能特点u 使用方便的单片20秒语音录放u 高保真语音还原技术u 边沿/电平触发放音u 自动节电,维持电流0.5uAu 不耗电信息保存100年(典型值)u 100,000次录音周期(典型值)u 多段信息处理,可分为1、3、5、10、20、40、80、160段,段地址为00H9FHu 片内免调整时钟,可选用外部时钟u 无需开发系统5V单电源工作2 引脚及功能 ISD1420引脚排列如图10-11所示,其中: VCCA,VSSA:模拟电路电源。 VCCD,VSSD:数字电路电源。 ISD1420引脚图 :录音控制引脚,低电平有效。只要变低(不管芯片处在节电状态还是正在放音),芯片即开始录音。录音期间,必须保持为低。变高或内存录满后,录音周期结束,芯片自动写入一个信息结束标志(EOM),使以后的重放操作可及时停止,之后自动进入节电状态。:边沿触发放音,该引脚出现下降沿时,芯片开始放音。放音持续到EOM标志或内存结束,之后芯片自动进入节电状态。开始放音后,可以释放。:电平触发放音,该引脚出现下降沿时,芯片开始放音。放音持续至该端回到高电平,遇到EOM标志,或内存结束。放音结束后芯片自动进入节电状态。:录音指示输出,处于录音状态时,该引脚输出为低电平,可驱动一个LED表明现在正处于录音状态。此外,放音遇到EOM标志时,该引脚输出低电平脉冲。MIC:麦克输入,该引脚输入信号传送至片内前置放大器。片内自动增益控制电路(AGC)将前置增益控制在-15至24dB。外接话筒应通过串联电容耦合到此端。耦合电容值和该引脚内部的电阻(10K)决定输入的低频截止频率。MIC REF:麦克前置放大的反向输入,当以差分形式连接麦克时,可减小噪声,提高共模抑制比。AGC:自动增益控制,AGC动态调整前置放大器的增益,能在一个很宽的范围内适应麦克的输入电平。AGC电路能以很小的失真记录宽范围的声音。ANA OUT:前置放大器输出。前置放大器电压增益取决于AGC引脚的电平。ANA IN:将输入的信号传送到录音电路。对麦克输入,ANA OUT引脚必须通过外部电容连接到ANA IN引脚。这个电容的数值与ANA IN内部3K的输入阻抗能提供一个音频的低频截止频率。如果输入信号来自麦克以外,可以通过电容直接耦合到ANA IN引脚。SP+、SP-:喇叭输出引脚,这对输出引脚能驱动16以上的喇叭。单端使用时必须在输出端和喇叭间接耦合电容,而双端输出既不用电容又能将功率提高4倍。录音时,它们都呈高阻态;节电模式下,它们保持为低电平。XCLK:外部时钟输入。该引脚内部设有下拉电阻,不用时应接地。A0A7:地址输入。根据A7、A6的状态,地址输入有两种功能。当A7或A6有一个为0时,所有输入的地址均当作当前录音或放音的起始地址。地址输入在、或的下降沿锁存。 3 操作模式ISD1420具有多种操作模式,可用最少的外围器件实现最多的功能。操作模式由地址端控制;当A7和A6都为1时,其它地址位成为状态标志而不再是地址位。即操作模式和寻址模式不能同时使用。操作模式可由单片机,也可由硬件电路实现。使用操作模式有两点注意:(1)所有操作开始于地址00H,即存储空间的起始端开始。以后的操作根据所选用的模式可从其他的地址开始。此外,在操作模式中当A4=1时,由录转为放时地址计数器复位为0,而由放转为录则不复位。(2)在A6和A7为高时,当控制信号、或变低开始执行操作模式,直到下一次控制信号变低这种操作模式一直有效。操作模式见表10-1所示。 表10-1 操作模式简表模式功能典型应用可同时使用的模式A6=1A7=1A0信息检索正向快进信息A4A1删除EOM标志要最后一条信息的结束处放置EOMA3、A4A3循环从0地址循环放音A1A4连续寻址录放连续的多段信息A0、A1A0(信息检索)快速跳过信息而不必知道其确切的地址。控制端每输入一个低脉冲,内部地址计数器就跳到下一条信息。此模式仅用于放音,通常与A4同时使用。A1(EOM删除)删除各段的段结束标志,仅在最后一段保留一个EOM标志。使原多段信息变为一条信息,这个模式完成后,录入的所有信息就作为一条连续的信息。A3(信息循环)循环重放位于存储空间起始处的那条信息。一条信息可以完全占满存储空间,那么循环就从头至尾进行。给发低脉冲后循环开始,给发低脉冲后循环结束。A4(连续寻址)正常操作中,重放遇到EOM标志时,地址计数器会复位。A4模式禁止地址计数器复位,使得信息可连续录入或重放。当芯片既非录音又非放音时,将A4短暂拉低可使地址计数器复位为0。A2、A5 末用。应用系统的抗干扰技术随着单片机在各个领域中的应用越来越广泛,对其可靠性要求也越来越高。单片机系统的可靠性由多种因素决定,其中系统抗干扰性能是可靠性的一个重要指标。在不同的应用环境中不可避免有强烈的电磁干扰,因此必须采取抗干扰措施,否则难以稳定、可靠运行。如在工业应用环境中的干扰一般是以脉冲形式进入单片机系统,渠道主要有三条:空间干扰(场干扰),电磁信号通过空间辐射进入系统。过程通道干扰,干扰通过与系统相连的前向通道、后向通道及与其它系统的相互通道进入。供电系统干扰,电磁信号通过供电线路进入系统。一般情况下空间干扰在强度上远小于其它两种,故应用系统中应重点防止过程通道与供电系统的干扰。抗干扰措施有硬件措施和软件措施。硬件措施如果得当,可将绝大部分干扰拒之门外,但仍然会有少数干扰进入系统,故软件措施作为第二道防线必不可少。由于软件抗干扰措施是以CPU为代价的,如果没有硬件消除绝大多数干扰,CPU将疲于奔命,无暇顾及正常工作,严重影响系统的工作效率和实时性。因此,一个成功的抗干扰系统是由硬件和软件相结合构成的。一、 硬件抗干扰措施1 光电隔离在输入和输出通道上采用光电隔离器来进行信息传输是很有好处的,它将微机系统与各种传感器、开关、执行机构从电气上隔离开来,很大一部分干扰将被阻挡。如图10-16中的直流电动机控制电路采用了光电隔离器。2 过压保护电路在输入输出通道上采用过压保护电路,可以防止引入高电压,损坏系统。过压保护电路由限流电阻和稳压管组成,限流电阻选择要适宜,太大会引起信号衰减,太小起不到保护稳压管的作用。稳压管的选择也要适宜,其稳压值以略高于最高传送信号电压为宜,太低将对有效信号起限幅效果,使信号失真。3 电源抗干扰单片机应用系统中供电线路是干扰的主要来源,电源采用隔离变压器接入电网,可以防止电网的干扰侵入系统。隔离变压器与普通变压器的不同之处在于它在初级和次级之间加了一层屏蔽层,并将它和铁芯一起接地。4 配置去耦电容在印制板的各个关键部位合理配置去耦电容,原则上每个集成电路芯片旁都安置一个0.01uF的陶瓷电容器或聚乙烯电容,可以消除大部分高频干扰。电源进线端跨接一个100uF以上的电解电容以吸收电源进线引入的脉冲干扰。5 印制板布线合理在印制板设计中,要将强、弱电路严格分开,尽量不要把它们设计在一块印制板上,电源线的走向应尽量与数据传递方向一致,接地线应尽量加粗,模拟地和数字地要分开,最后只在一点相连,如果两者不分,则会互相干扰。6 CPU抗干扰如果单片机受到干扰,程序不能按正常状态执行,可采用人工复位或看门狗复位电路。看门狗不能完全解除单片机受到干扰造成的死机问题,因此电路中还必须有人工复位电路以增强系统的可靠性。二、 软件抗干扰措施单片机在输出信号时,外部干扰有可能使信号出错。在软件上,最有效的方法就是重复输出同一个信号,只要重复周期尽可能短,被接收到一个被干扰的错误信号后还来不及作出有效的反应,一个正确的输出信号又来到,就可以及时防止错误动作的产生。1 掉电保护电网瞬间断电或电压突然下降将使应用系统陷入混乱状态,电网电压恢复正常后,应用系统难以恢复正常。对付这一类事故的有效方法就是掉电保护。掉电信号由硬件电路检测到,加到单片机的外部中断输入端。软件中断将掉电中断规定为高级中断,使系统及时对掉电作出反应。在掉电中断子程序中,首先进行现场保护,保存当时重要的状态参数,当电源恢复正常时,CPU重新复位,恢复现场,继续未完成的工作。2 睡眠抗干扰CMOS型的51系列单片机具有睡眠状态,此时只有定时/计数系统和中断系统处于工作状态。这时CPU对系统三总线上出现的干扰不会作出任何反应,从而大大降低系统对干扰的敏感程度。如果程序中存在一些等待指令和循环检查程序,执行这些指令时很容易受干扰。若把CPU执行等待指令和循环程序的时间让CPU进入睡眠状态,必要时再由中断系统来唤醒它,之后又处于休眠。采用这种安排之后,大多数CPU可以有5095%的时间用于睡眠,从而使CPU受到随机干扰的威胁大大降低,同时降低了CPU的功耗。3 指令冗余当CPU受到干扰后,往往将一些操作数当作指令码来执行,引起程序执行混乱。要使程序纳入正轨(执行真正的指令系列),根据单片机指令字节数不超过3个字节且有很多单字节指令的特点,一旦程序执行到某一条单字节指令上时,就可以自动纳入正轨。因此,设计程序时在某一双字节或三字书指令后人为地增加一些单字节指令(如NOP),或将有效单字书指令重复一次,这样当程序执行混乱时,一遇到单片字节指令便可恢复正常执行。如在双字节和三字节指令之后插入两条NOP指令,不管CPU如何取指令,最终均能取出正确的指令字节,从而使程序走

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论