第十一章单片机应用的设计方案与发展_第1页
第十一章单片机应用的设计方案与发展_第2页
第十一章单片机应用的设计方案与发展_第3页
第十一章单片机应用的设计方案与发展_第4页
第十一章单片机应用的设计方案与发展_第5页
已阅读5页,还剩6页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、第十二章 单片机应用系统的设计与开发11 在单片机应用系统总体设计中,应考虑哪几方面的问题?简述硬件设计和软件设计的主要过程。答:在单片机应用系统总体设计中,主要应考虑硬件设计和软件设计两方面的问题。 硬件设计的任务是根据总体设计要求,在所选择机型的基础上,确定系统扩展所要用的存 器、I/O电路、A/D电路以及有关外围电路等,然后设计出系统的电路原理图。下面介绍硬件设计的各个环节。(1 程序存储器 当单片机内部程序存储器容量不够时,需外扩存储器。可作为程序存储器的芯片有多种 非易失性存储器力口 EPROM和E2PROM等,一般应选用速度高、容量较大的芯片,这样使 译码电路简单,且使软件扩展留有

2、一定余地。(2数据存储器 对于数据存储器的容量要求,各个系统之间差别比较大。有的测量仪器和仪表只需少量的RAM即可,此时应尽量选用片内 RAM容量能符合要求的单片机。对于要求较大容量RAM 的系统, RAM 芯片的选择原则是尽可能减少 RAM 芯片的数量。例如,一片 6264 (8KB比4片6116(2KB价格低得多。(3输入 /输出接口较大的应用系统一般都要扩展 I/O接口,在选择I/O电路时应从体积、价格、功能、负载等 几方面考虑。应根据系统总的输入 /输出要求来选择接口电路。A/D和D/A电路芯片的选择原则是应根据系统对它们的速度、精度和价格的要求而确定。(4地址译码电路80C51系统有

3、充分的存储器空间,包括64KB程序存储器和64KB数据存储器,在应用系统中一般不需要这么大容量。为能简化硬件逻辑,同时还要便所用到的存储器空间地址 连 续,通常采用译码器法和线选法相结合的办法。(5外围电路 在测量和控制系统中,经常需要对一些现场物理量进行测量或者将其采集下来进行信号 处理之后再反过来去控制被测对象或相关设备。在这种情况下,应用系统的硬件设计就应包括与此有关的外围电路,如信号调节放大电路、驱动电路等。 在单片机应用系统研制中,软件设计一般是工作量最大、最重要的任务。下面介绍软件设 计的一般方法与步骤。(1系统定义 系统定义是指在软件设计前,首先要进一步明确软件所要完成的任务,然

4、后结合硬件结 构,进一步弄清软件承担的任务细节。 定义和说明各输入 /输出口的功能,是模拟信号还是数字信号、电平范围、与系统接口方 式、占有口地址、读取和输人方式等。 在程序存储器区域中,合理分配存储空间,包括系统主程序、常数表格、功能子程序块 的划分、人口地址表等。 在数据存储器区域中,考虑是否有断电保护措施、定义数据暂存区标志单元等。 面板开关、按键等控制输人量的定义与软件编制密切相关,系统运行过程的显示、运算 结果的显示、正常运行和出错显示等也是由软件编制,所以事先也必须给以定义,作为编 程的依据。(2软件结构设计 合理的软件结构是设计出一个性能优良的单片机应用系统软件的基础,必须予以充

5、分 重视。由系统的定义,可以把整个工作分解为几个相对独立的操作。根据这些操作的相互联系及 时间关系,设计出一个合理的软件结构。在程序设计方法上,模块程序设计是单片机应用中最常用的程序设计技术。这种方法的 优点是 :单个程序模块的设计和调试比较方便且容易完成,一个模块可以为多个程序所共享 。缺点是 :各个模块的连接有时有一定难度。(3程序设计在软件结构设计确定之后就可以进行程序设计。一般程序设计过程如下:根据问题的定义,描述出各个输人变量和各个输出变量之间的数学关系,即建立数学模 型。然后根据系统功能及操作过程,先列出程序的简单功能流程框图(粗框图 ,再对粗框图进行扩充和具体化,即对存储器、寄存

6、器、标志位等工作单元作具体的分配和说明。把 功能流程图中每一个粗框转变为具体的存储单元、寄存器和I/O 口的操作,从而绘制出详细的程序流程图 (细框图 。在完成流程图设计以后,便可编写程序。单片机应用程序可以采用汇编语言,也可以采用某些高级语言。编写完后均须汇编成80C5I的机器码,经调试正常运行后,再固化到非易失性存储器中去,完成系统的设计。11 2如何技高应用系统的抗干扰性 ?可采取哪些措施? 答:单片机应用系统在实际工作中,可能会受到各种外部和内部的干扰,使系统工作产生错 误或故障。为减少这种错误和故障,就要采取各种提高可靠性的措施。常用措施如下: 提高元器件的可靠性 :在系统硬件设计和

7、加工时应注意选用质量好的电子元器件和接插件,并进行严格的测试、筛选和老化。设计时技术参数 (如负载 应留有余量。 提高印刷电路板和组装的质量,设计电路板时布线及接地方法要符合要求。 对供电电源采取抗干扰措施 :用带屏蔽层的电源变压器。加电源低通滤波器。电源变压器的容量应留有余地。 输人 /输出通道的抗干扰措施 :采用光电隔离电路。光电隔离器作为数字量、开关量的输人 /输出 ,这种隔离电路效果很好。采用正确的接地技术。 采用双绞线。 双绞线抗共模干扰的能力较强 ,可以作为接口连接线。11 3请自行设计一个节日彩灯循环闪烁的应用系统。答 :该题可以有多种循环方式 ,延时时间及左右移不同会有不同的循

8、环效果。以下只是其中的一种形式,其余可自行编程实验。本例电路见题图11-1,由P1口的8位控制8路电灯电路,在每一路中都通过一个可控硅 SCR控制N路并联电灯的开关。单片机工作频率12MHz,该程序延时选为200 ms,用定时器T0作为定时器,初值为50mS。编程如下:Jfif_iP1P1P1P1F1F1F1EX11_3:M0V PI,#OFEHEX11_3A:ACALLDELAYMOV A , PIRL AMOVPI,AAJMPEXII_3ADELAYMOV TMOD , #0IHMOV RI , #04HDELAY_1:MOV TH0 , #3CHMOV TL0 , #0B0HSETBTR

9、OJNBTFO, $题图 11-1。初始化为第0位的一组灯亮。调延时子程序。顺序左移一位CLRTF0DJNZR1,DELAY_1RET11 4请自行设计一个交通灯控制系统,此系统还要求显示秒倒计教时间,每当还差10S亥换指示打时(例如红灯挨绿打 ,该指示灯变为闪烁点亮。答:设计电路如题图11-2所示,单片机工作频率12MHz,在本题中只考虑马路一边的交通 灯控制系统。分别用 PI.0和PI.1控制红灯和绿灯,用两个数码管显示秒的变化。定时器 T0用 于显示定时,定时器TI用于灯闪定时。HjD pli。数码管断码地址。数码管位码地址。位寄存器。定位时间寄存器DM_ADDR EQU ODFFFH

10、WM_ADDR EQU 0BFFFH POSITION EQU 30HCOUNTER EQU 31HLAMP1 EQU P1.0。红灯LAMP2 EQU P1.1。绿灯ORG 0000HLJMP EX4ORG 000BHLJMP TIMER0ORG0030HEX4: MOVSP,#50H。设堆栈指针MOVPOSITION, #0FEH。初始化位码寄存器MOVTMOD,#11H。设置定时器工作方式MOVTH0,#0F6H。定时器0初值MOVTL0,#03CHSETBTR0。启动定时器。SETBET0。允许定时器0中断SETBEA。开中断SETBLAMP1。关红灯CLRLAMP2。开绿灯EX4_S

11、TART:MOVCOUNTER,# 60 H。置用BCD码表示的定时初值EX4A:LCALLDL Y_1S 。延时 1sMOV A ,COUNTER 。时间减 1(十进制 ADDA , #99HDAAMOVCOUNTER,ACJNEA , #IOH,EX4A。剩余时间大于10s,继续 LCALLGLARE 。剩余时间为10s,调闪烁子程序CPLLAMPI 。红灯取反CPLLAMP2 。绿灯取反LJMPEX4_STARTGLARE:MOV RI , #04HGLARE_LP:CPLLAMP1CPLLAMP2LCALLDL Y_250MSDJNZR1,GLARE_LPMOVA, COUNTER。时

12、间减 1(十进制 ADDA,#99HDAAMOVCOUNTER, A。时间未到,继续闪烁JNZGLARE。时间到,返回RET。 DLY_1S:MOV R7,#14DL Y_1 S_A:MOVTHI,#03CH。置50ms定时初值MOVTL1,#0B0HSETBTR1JNBTF1, $CLRTF1DJNZR7,DL Y_1S_ACLRTR1RETDLY.250MSMOV R7,#05HDLY_250_A:MOVTH1,#03CH MOVTLI.#0B0H SETBTR1 JNBTF1, $CLRTF1DJNZR7,DL Y_250_ACLRTR1RETTIMERO:PUSHPSW 。保护现场PU

13、SHACCCLRTF0 。清溢出标志MOVTH0,#0F6H 。重置初值MOVTL0,#03CHMOVA, POSITION 。确定当前显示位置 CJNEA,#0FEH,TIMER0_AMOVA, COUNTER 。根据位置将显示内容送 A ,第1位显示时间 ANLA,#0FHLJMPTIMER0, BTIMERO_A:CJNEA , #0FDH ,T_ENDMOV A ,COUNTER 。第 2位显示时间十位ANLA , #0F0HSWAPATIMERO_B:PUSHACC 暂存显示内容MOVA ,#0FFH 。关显示MOVDPTR , #WM_ADDRMOVXDPTR , APOPACC。

14、查段码ADDA,#04HMOVCA,A+PCLJMPTIMER0_CDB3FH,06H,05BH,04FH,066H,06DH,07DHDB07H,7FH,6FHTIMERO_C:MOVDPTR , #DM_ADDR 。将段码送出 DPTR,AMOVX DPTR,AMOV A , POSITION。将位码送出MOV DPTR.#WM_ADDRMOVX DPTR,AMOVAPOSITION。改变位码寄存器RLAMOVPOSITION,ACJNE A , #0FBH , T_END。一遍扫描末完,转MOV POSITION,#0FEH。重置位码寄存器T_END:POPACC。恢复现场POPPSWR

15、ETI。中断返回11 5请自行设计一个温度采集系统,要求按 1路/秒的速度顺序捡测8路温度点,测温范 围为+20+100C,测量精度为%。要求用5位数码管显示温度,最高位显示通道号 ,次高位显示一,低三位显示温度值。答按题意设计电路如题图11-3所示。图中数码管采用共阴极,因为测量精度为%,所以采用8位的ADC0809即可满足要求,在显示温度时最低位单位为Oc。单片机工作频率为12MHz,采用定时器0定时为50ms。其地址分配及编程如下DM_ADDREQU 0DFFFH 。数码管段码地址WM_ADDREQU 0BFFFH 。数码管位码地址ADC_ADDREQU 07FF0H。AD0809 转换

16、通道 0地址POSITION EQN30 H CHANNELEQU31H DISPLAYIEQU38H DISPLAY2EQU39H DISPLAYSEQU3AH DISPLAY4EQU3BH DISPLAYSEQU3CH CONEQU3DH。显示位码寄存器。通道寄存器。显示数据寄存器(高位。显示数据寄存器(低位 秒汁数器题图11-3ORG0000H。转10ms定时中断程序LJMPMAINORG000BHLJMPTIMER0ORG0030HMAIN:MOVSP,#50H 。修改堆栈指针MOVPOSITION, #0FEH 。设置位码寄存器MOVTMOD,#01H 。设置定时器 0工作方式MOV

17、TH0,#0D8H 。定时器 0置初值 (l0msMOVTL0,#0F0HSETBTR0 。启动定时器 0SETBET0 。允许定时器 0 中断SETBEA 。开中断CLR10H 。秒标志位清 0MOVCON, #100 。秒计数器置初值START:MOVCHANNEL,#00H 。通道设置 (0 通道 EX5A: MOVDPTR,#ADC_ADDRMOV A,DPLADDA , CHANNEL 。计算通道地址MOVDPL , AMOVXDPTR , A。启动 A/D 转换NOPJBINT1, $ 等待转换结束MOVXA,DPTR 。读取结果LCALLBCD 。调结果转换子程序MOVDISPL

18、AYl .CHANNEL 。送当前显示通道号MOVDISPLAY2, #0AH 。段码表中 一的位置偏移量DISP1:LCALLDISP 。调结果显示子程序JB10H,DISP1。1s不到,等待CLR10HMOVCON, # 100 。秒计数器重置初值INCCHANNEL 。下一通道MOVA.CHANNELCJNEA,#08H,EX5A 。不是最后一通道,转 EX5ALJMPTART 。循环。 。将OOFFH的十六进制数转换成 000999的十进制数,显示单位为 0C。转换近似公式为 :A, l003D/256D ,结果存人 R2(HR3(L 中,其中 A:00FFH , l003=3EBH。

19、将BCD结果送人寄存器 DISPIJAY3DISPI.AY5中BCD:MOVR2,AMOVB , #0EBH。 R2* 1003D(3EBHMULABMOVR4,AMOVR3,BMOV A,R2MOVB , #03HMULABADDA,R3MOVR3,AMOVA,BADDCA ,#00HMOVR2,ACJNER4,#80H , BCDI。与 80H 比较决定 4舍 5人BCD1: JCBCD2MOVA,R3ADDA , #0IHMOVR3,AMOVA,R2ADDC A , #00HMOV R2 , ABCD2。XCHA,R3。转换成非组合BCD码XCHA , BXCHA,R2MOVR0 , #DISPLAY3MOVR6,#00HMOVR5,#64HLCALLSUM 。调除法子程序MOVR6,#00HMOVR5,#0AHLCALLSUMXCHA , BMOVR0 , ARET。 SUM:MOV R7,#00HSUM0:CLRCXCH A , BSUBBA,R5XCH A , BSUBBA,R6INCR7JNCSUM0DECR7XCHA , BADDA,R5XCHA , BADDCA,R6XCHA,R7MOV R0,AXCHA,R7INCR0R

温馨提示

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

评论

0/150

提交评论