您好,欢迎来到六九路网。
搜索
您的当前位置:首页十一单片机应用的设计方案与发展

十一单片机应用的设计方案与发展

来源:六九路网
个人收集整理-仅供参考

第十二章 单片机应用系统地设计与开发

11·1 在单片机应用系统总体设计中,应考虑哪几方面地问题?简述硬件设计和软件设计

地主要过程.

答:在单片机应用系统总体设计中,主要应考虑硬件设计和软件设计两方面地问题. 硬件设计地任务是根据总体设计要求,在所选择机型地基础上,确定系统扩展所要用地存器、I/O电路、A/D电路以及有关外围电路等,然后设计出系统地电路原理图.b5E2R。 下面介绍硬件设计地各个环节. (1)程序存储器

当单片机内部程序存储器容量不够时,需外扩存储器.可作为程序存储器地芯片有多种 非易失性存储器力口EPROM和E2PROM等,一般应选用速度高、容量较大地芯片,这样使译码电路简单,且使软件扩展留有一定余地.p1Ean。 (2)数据存储器

对于数据存储器地容量要求,各个系统之间差别比较大.有地测量仪器和仪表只需少量 地RAM即可,此时应尽量选用片内RAM容量能符合要求地单片机;对于要求较大容量 RAM地系统,RAM芯片地选择原则是尽可能减少RAM芯片地数量.例如,一片62 (8KB)比4.片6116(2KB)价格低得多. (3)输入/输出接口

较大地应用系统一般都要扩展I/O接口,在选择I/O电路时应从体积、价格、功能、负载等几方面考虑.应根据系统总地输入/输出要求来选择接口电路.DXDiT。 A/D和D/A电路芯片地选择原则是应根据系统对它们地速度、精度和价格地要求而 确定.

(4)地址译码电路

80C51系统有充分地存储器空间,包括KB程序存储器和KB数据存储器,在应用 系统中一般不需要这么大容量.为能简化硬件逻辑,同时还要便所用到地存储器空间地址连 续,通常采用译码器法和线选法相结合地办法. (5)外围电路

在测量和控制系统中,经常需要对一些现场物理量进行测量或者将其采集下来进行信号 处理之后再反过来去控制被测对象或相关设备.在这种情况下,应用系统地硬件设计就应包 括与此有关地外围电路,如信号调节放大电路、驱动电路等.

在单片机应用系统研制中,软件设计一般是工作量最大、最重要地任务.下面介绍软件设计地一般方法与步骤. (1)系统定义

系统定义是指在软件设计前,首先要进一步明确软件所要完成地任务,然后结合硬件结 构,进一步弄清软件承担地任务细节.

①定义和说明各输入/输出口地功能,是模拟信号还是数字信号、电平范围、与系统接口方式、占有口地址、读取和输人方式等.RTCrp。 ②在程序存储器区域中,合理分配存储空间,包括系统主程序、常数表格、功能子程序块地划分、人口地址表等.5PCzV。 ③在数据存储器区域中,考虑是否有断电保护措施、定义数据暂存区标志单元等.jLBHr。 ④面板开关、按键等控制输人量地定义与软件编制密切相关,系统运行过程地显示、运算结果地显示、正常运行和出错显示等也是由软件编制,所以事先也必须给以定义,作为编程地依据.xHAQX。 (2)软件结构设计

1 / 12

个人收集整理-仅供参考

合理地软件结构是设计出一个性能优良地单片机应用系统软件地基础,必须予以充分 重视.

由系统地定义,可以把整个工作分解为几个相对地操作;根据这些操作地相互联系及时间关系,设计出一个合理地软件结构.LDAYt。 在程序设计方法上,模块程序设计是单片机应用中最常用地程序设计技术.这种方法地 优点是:单个程序模块地设计和调试比较方便且容易完成,一个模块可以为多个程序所共享; 缺点是:各个模块地连接有时有一定难度. (3)程序设计

在软件结构设计确定之后就可以进行程序设计.一般程序设计过程如下: 根据问题地定义,描述出各个输人变量和各个输出变量之间地数学关系,即建立数学模 型.然后根据系统功能及操作过程,先列出程序地简单功能流程框图(粗框图),再对粗框图进行扩充和具体化,即对存储器、寄存器、标志位等工作单元作具体地分配和说明.把功能流程图中每一个粗框转变为具体地存储单元、寄存器和I/O口地操作,从而绘制出详细地程序流程图(细框图).Zzz6Z。 在完成流程图设计以后,便可编写程序.单片机应用程序可以采用汇编语言,也可以采用某些高级语言.编写完后均须汇编成80C5l地机器码,经调试正常运行后,再固化到非易失性存储器中去,完成系统地设计.dvzfv。

11·2 如何技高应用系统地抗干扰性?可采取哪些措施?

答:单片机应用系统在实际工作中,可能会受到各种外部和内部地干扰,使系统工作产生错误或故障.为减少这种错误和故障,就要采取各种提高可靠性地措施.常用措施如下:rqyn1。 ①提高元器件地可靠性:

●在系统硬件设计和加工时应注意选用质量好地电子元器件和接插件,并进行严格地测 试、筛选和老化.

●设计时技术参数(如负载)应留有余量.

②提高印刷电路板和组装地质量,设计电路板时布线及接地方法要符合要求. ③对供电电源采取抗干扰措施: ●用带屏蔽层地电源变压器. ●加电源低通滤波器.

●电源变压器地容量应留有余地. ④输人/输出通道地抗干扰措施 :

●采用光电隔离电路. 光电隔离器作为数字量、开关量地输人/输出 ,这种隔离电路效果很好.

●采用正确地接地技术.

● 采用双绞线. 双绞线抗共模干扰地能力较强 ,可以作为接口连接线.

11·3 请自行设计一个节日彩灯循环闪烁地应用系统 .

答 :该题可以有多种循环方式 ,延时时间及左右移不同会有不同地循环效果.以下只是其中地一种形式 ,其余可自行编程实验.Emxvx。 本例电路见题图 11-1,由 P1 口 地 8位控制 8路电灯电路,在每一路中都通过一个可控硅SCR控制 N 路并联电灯地开关.单片机工作频率 12MHz,该程序延时选为 200 ms,用定时器 T0作为定时器 ,初值为 50mS. 编程如下 :SixE2。

2 / 12

个人收集整理-仅供参考

题图 11-1

EX11_3:MOV Pl,#0FEH ;初始化为第0位地一组灯亮 EX11_3A:ACALLDELAY ;调延时子程序

MOV A,Pl

RL A ;顺序左移一位 MOVPl,A

AJMPEXll_3A

DELAY

MOV TMOD,#0lH

MOV Rl,#04H

DELAY_1:

MOV TH0,#3CH MOV TL0,#0B0H SETBTR0

JNBTF0, $ CLRTF0

DJNZR1,DELAY_1 RET

11·4请自行设计一个交通灯控制系统,此系统还要求显示秒倒计教时间,每当还差10s该

换指示打时(例如红灯挨绿打),该指示灯变为闪烁点亮.6ewMy。 答:设计电路如题图11-2所示,单片机工作频率12MHz,在本题中只考虑马路一边地交通 灯控制系统.分别用Pl.0和Pl.1控制红灯和绿灯,用两个数码管显示秒地变化.定时器T0用于显示定时,定时器Tl用于灯闪定时.kavU4。

3 / 12

个人收集整理-仅供参考

DM_ADDR EQU 0DFFFH ;数码管断码地址 WM_ADDR EQU 0BFFFH ;数码管位码地址 POSITION EQU 30H ;位寄存器

COUNTER EQU 31H ;定位时间寄存器 LAMP1 EQU P1.0 ;红灯 LAMP2 EQU P1.1 ;绿灯 ;---------------------------------------- ORG 0000H LJMP EX4 ORG 000BH LJMP TIMER0 ORG0030H

EX4: MOVSP,#50H;设堆栈指针

MOVPOSITION, #0FEH;初始化位码寄存器 MOVTMOD,#11H;设置定时器工作方式 MOVTH0,#0F6H;定时器0初值 MOVTL0,#03CH

SETBTR0;启动定时器.

SETBET0;允许定时器0中断 SETBEA;开中断

SETBLAMP1 ;关红灯 CLRLAMP2;开绿灯 EX4_START:

MOVCOUNTER,# 60 H ;置用BCD码表示地定时初值 EX4A:

LCALLDLY_1S ;延时1s MOVA,COUNTER;时间减1(十进制) ADDA,#99H DAA

MOVCOUNTER,A

CJNEA,#l0H,EX4A;剩余时间大于10s,继续

4 / 12

个人收集整理-仅供参考

LCALLGLARE;剩余时间为10s,调闪烁子程序 CPLLAMPl;红灯取反 CPLLAMP2;绿灯取反 LJMPEX4_START GLARE:

MOV Rl,#04H GLARE_LP:

CPLLAMP1 CPLLAMP2

LCALLDLY_250MS DJNZR1,GLARE_LP

MOVA, COUNTER ;时间减1(十进制) ADDA,#99H DA A

MOVCOUNTER, A ;时间未到,继续闪烁 JNZGLARE ;时间到,返回 RET

;--------------------------------------------------y6v3A。 DLY_1S:

MOV R7,#14 DLY_1S_A:

MOVTHl,#03CH ;置50ms定时初值 MOVTL1,#0B0H SETBTR1 JNBTF1, $ CLRTF1

DJNZR7,DLY_1S_A CLRTR1

RET DLY.250MS

MOV R7,#05H DLY_250_A:

MOVTH1,#03CH MOVTLl.#0B0H SETBTR1 JNBTF1, $ CLRTF1

DJNZR7,DLY_250_A CLRTR1 RET

TIMERO:

PUSHPSW;保护现场 PUSHACC

CLRTF0;清溢出标志

5 / 12

个人收集整理-仅供参考

MOVTH0,#0F6H;重置初值 MOVTL0,#03CH

MOVA, POSITION;确定当前显示位置 CJNEA,#0FEH,TIMER0_A

MOVA, COUNTER;根据位置将显示内容送A,第1位显示时间 ANLA,#0FH LJMPTIMER0, B TIMERO_A:

CJNEA,#0FDH,T_END

MOVA,COUNTER;第2位显示时间十位 ANLA,#0F0H SWAPA TIMERO_B:

PUSHACC暂存显示内容 MOVA,#0FFH;关显示 MOVDPTR,#WM_ADDR MOVX@DPTR,A POPACC;查段码 ADDA,#04H

MOVCA,@A+PC LJMPTIMER0_C

DB3FH,06H,05BH,04FH,066H,06DH,07DH DB07H,7FH,6FH TIMERO_C:

MOVDPTR,#DM_ADDR;将段码送出@DPTR,A MOVX @DPTR,A

MOV A,POSITION ;将位码送出 MOV DPTR.#WM_ADDR MOVX @DPTR,A

MOVAPOSITION ;改变位码寄存器 RLA

MOVPOSITION,A

CJNE A,#0FBH,T_END ;一遍扫描末完,转 MOV POSITION,#0FEH ;重置位码寄存器 T_END:

POPACC ;恢复现场 POPPSW

RETI ;中断返回

11·5 请自行设计一个温度采集系统,要求按1路/秒地速度顺序捡测8路温度点,测温范

围为+20~+100C,测量精度为±%.要求用5位数码管显示温度,最高位显示通道号,次高位显示\"一\",低三位显示温度值.M2ub6。 答按题意设计电路如题图11-3所示.图中数码管采用共阴极,因为测量精度为±%,所以采用8位地ADC0809即可满足要求,在显示温度时最低位单位为0.l0C.单片机工作频率0YujC。 6 / 12

个人收集整理-仅供参考

为l2MHz,采用定时器0定时为50ms.其地址分配及编程如下 ;================================== DM_ADDREQU 0DFFFH;数码管段码地址 WM_ADDREQU 0BFFFH;数码管位码地址

ADC_ADDREQU 07FF0H ;AD0809转换通道0地址 ;----------------------------------------------------------eUts8。 POSITION EQN30 H ;显示位码寄存器 CHANNELEQU31H ;通道寄存器

DISPLAYlEQU38H ;显示数据寄存器(高位) DISPLAY2EQU39H DISPLAYSEQU3AH DISPLAY4EQU3BH

DISPLAYSEQU3CH ;显示数据寄存器(低位) CONEQU3DH ;秒汁数器

题图 11-3

;-------------------------------------------------------sQsAE。 ORG0000H;转l0ms定时中断程序 LJMPMAIN ORG000BH LJMPTIMER0 ORG0030H MAIN:

MOVSP,#50H;修改堆栈指针

MOVPOSITION, #0FEH;设置位码寄存器 MOVTMOD,#01H;设置定时器0工作方式 MOVTH0,#0D8H;定时器0置初值(l0ms) MOVTL0,#0F0H

7 / 12

个人收集整理-仅供参考

SETBTR0;启动定时器0

SETBET0;允许定时器0中断 SETBEA;开中断

CLR10H;秒标志位清0

MOVCON, #100;秒计数器置初值 START:

MOVCHANNEL,#00H;通道设置(0通道) EX5A: MOVDPTR,#ADC_ADDR MOVA,DPL

ADDA,CHANNEL;计算通道地址 MOVDPL,A

MOVX@DPTR,A;启动A/D转换 NOP

JBINT1, $等待转换结束 MOVXA,@DPTR;读取结果 LCALLBCD;调结果转换子程序

MOVDISPLAYl .CHANNEL;送当前显示通道号 MOVDISPLAY2, #0AH;段码表中\"一\"地位置偏移量 DISP1:

LCALLDISP;调结果显示子程序 JB10H,DISP1;1s不到,等待 CLR10H

MOVCON, # 100;秒计数器重置初值 INCCHANNEL;下一通道 MOVA.CHANNEL

CJNEA,#08H,EX5A;不是最后一通道,转EX5A LJMPTART;循环

;----------------------------------------------------------GMsIa。 ;将00~FFH地十六进制数转换成000~999地十进制数,显示单位为0.l0C ;转换近似公式为:A,l003D/256D,结果存人R2(H)R3(L)中,其中A:00~FFH,l003=3EBHTIrRG。 ;将BCD结果送人寄存器DISPIJAY3~DISPI.AY5中 BCD:

MOVR2,A

MOVB,#0EBH;R2* 1003D(3EBH) MULAB MOVR4,A MOVR3,B MOVA,R2 MOVB,#03H MULAB ADDA,R3 MOVR3,A MOVA,B

ADDCA,#00H

8 / 12

个人收集整理-仅供参考

MOVR2,A

CJNER4,#80H,BCDl;与80H比较决定4舍5人 BCD1: JCBCD2 MOVA,R3 ADDA,#0lH MOVR3,A MOVA,R2

ADDC A,#00H MOV R2,A BCD2;

XCHA,R3;转换成非组合BCD码 XCHA,B XCHA,R2

MOVR0,#DISPLAY3 MOVR6,#00H MOVR5,#H

LCALLSUM;调除法子程序 MOVR6,#00H MOVR5,#0AH LCALLSUM XCHA,B MOV@R0,A RET

;---------------------------------------------------7EqZc。 SUM:MOV R7,#00H SUM0:CLRC XCH A,B SUBBA,R5 XCH A,B SUBBA,R6 INCR7 JNCSUM0 DECR7 XCHA,B ADDA,R5 XCHA,B ADDCA,R6 XCHA,R7 MOV @R0,A

XCHA,R7 INCR0 RET

;------------------------------------------------------------lzq7I。 DISP:

9 / 12

个人收集整理-仅供参考

MOV DPTR,@WM_ADDR ;位控口地址 MOV A,#0FFH

MOVX @DPTR,A ;关显示

MOV R0,DISPLAY1 ;指向显示缓冲区首址 MOV POSITION, #0FEH;;指向显示器最高位 MOV R4,#250;置显示延时值 DISP2:

MOV R3,#5 DISP3:

MOV DPTR, # WM_ADDR;数码管位码地址 MOV A, POSITION

MOVX @ DPTR, A;输出位控码 MOV A,@R0;取出显示数据 MOV DPTR,#TAB;字形码地址

MOVC A,@A+DPTR;查表,字形码送A

MOV DPTR, # DM_ADDR;数码管段(字形)码地址 MOVX @ DPTR, A;输出字形码 INC R0;指向下一缓冲单元 MOV A, POSITION

RR A;位选字右移 MOV POSITION, A DJNZ R3, DISP3 DJNZ R4, DISP2 RET

TAB: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH,40H TIMER0:

PUSH PSW;保护现场 PUSH ACC

PUSH DPH PUSH DPL

CLR TF0;清溢出标志 MOV TH0,#0DSH;重置初值 MOV TL0,#0F0H DEC CON MOV A,#100

CJNE A,CON,TIEND SETB 10H;置1,到标志 TIEND:

POP DPL;恢复现场 POP DPH POP ACC POP PSW RETI;中断返回

10 / 12

个人收集整理-仅供参考

版权申明

本文部分内容,包括文字、图片、以及设计等在网上搜集整理.版权为个人所有

This article includes some parts, including text, pictures, and design. Copyright is personal ownership.zvpge。 用户可将本文地内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律地规定,不得侵犯本网站及相关权利人地合法权利.除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人地书面许可,并支付报酬.NrpoJ。 Users may use the contents or services of this article for personal study, research or appreciation, and other non-commercial or non-profit purposes, but at the same time, they shall abide by the provisions of copyright law and other relevant laws, and shall not infringe upon the legitimate rights of this website and its relevant obligees. In addition, when any content or service of this article is used for other purposes, written permission and remuneration shall be obtained from the person concerned and the relevant obligee.1nowf。

11 / 12

个人收集整理-仅供参考

转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目地地合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任.fjnFL。 Reproduction or quotation of the content of this article must be reasonable and good-faith citation for the use of news or informative public free information. It shall not misinterpret or modify the original intention of the content of this article, and shall bear legal liability such as copyright.tfnNh。

12 / 12

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务