微机应用系统设计与实现Word文档下载推荐.docx
- 文档编号:19259550
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:20
- 大小:363.55KB
微机应用系统设计与实现Word文档下载推荐.docx
《微机应用系统设计与实现Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《微机应用系统设计与实现Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
5.确定软件框架及流程——软件系统设计
6.硬件和软件的具体设计——系统实现
7.软、硬件联调——系统调试
8.实验室模拟运行——离线仿真
9.现场调试、试运行
10.验收或鉴定——系统性能评估
12.2.4系统集成
12.3微机应用系统设计实例
12.3.1微机信号发生器
【例12-1】利用微机制作信号发生器。
通过在微型计算机中扩展A/D、D/A通道和信号变换设备,形成多种信号发生器的硬件环境。
通过软件编程使用DAC0832产生不同波形,然后利用ADC0809采集这个波形并以图形方式在显示器上显示。
本例以产生锯齿波为例,说明系统分析设计的全过程。
当然,若在软件设计上稍做修改,也可以产生方波、三角波信号等。
1.硬件设计
设计提示:
D/A转换送出的模拟量信号,再用A/D将其取回并转换成数字量数据。
对于D/A和A/D转换器的工作原理,可参考D/A和A/D章节部分,这里不做说明。
以图形方式显示各种波形,必须熟悉和掌握微型计算机显示器的图形编程方法,具体可用BIOS的INT10H调用来实现。
根据上述分析,依据前面介绍的设计原则和设计步骤,分析设计系统的硬件连接。
参考电路如图12.4所示。
其中:
(1)D/A电路采用双缓冲工作方式,用CS片选信号确定输入寄存器和DAC寄存器的端口地址,进行两次写操作便可以完成数据传送和转换。
第一次CS有效,完成将数据线上的数据锁存到输入寄存器;
第二次有效,完成将输入寄存器中的数据锁存到DAC寄存器实现D/A转换。
D/A电路用通用双运放LM358实现电流到电压的转换。
D/A输出为双极性,电压输出范围是-5~+5V,电压输出与数字量的应关系如表12-1所示。
表12-1电压输出与数字量的对应关系
(2)A/D电路将START端和ALE端相连,从而可同时锁存通道地址并开始A/D采样转换。
其输入控制信号为CS和IOW,故启动A/D转换只要能发出CS和IOW信号即可。
如:
MOVDX,2A0H;
ADC0809的端口地址
OUTDX,AL;
启动A/D
采用中断法读取A/D转换结果,即用A/D转换结束信号EOC作为中断请求信号,提出中断申请,在中断服务程序中,使用下面的指令读取A/D转换的结果:
MOVDX,2A0H
INAL,DX
可使用微型计算机的中断IRQ3(串行口2不用),A/D芯片的EOC信号接总线的IRQ3。
ADC0809采集通道用IN0,电压输出范围是0~+5V,端口地址为2A0H。
(3)8254用通道0对CPU主频进行分频(8086CPU主频为4MHz,分频后产生ADC0809所需的500kHz时钟)。
8254通道0的地址为2B0H,8254控制寄存器的地址为2B3H。
(4)地址译码器完成各个接口芯片的地址选择,可采用74LS128译码器,也可用逻辑门电路来实现线选译码。
在选择各个端口地址时一定不能与IBM-PC系统中的I/O端口地址冲突。
本例选择的地址范围为290H~2B7H。
其中的290H~29lH分配给DAC0832,2A0H~2A7H分配给ADC0809,2B0H~2B3H分配给8254。
图12.4例12-l的参考电路
2.软件设计(以锯齿波信号为例)
D/A数据端送出的锯齿波数据由80H(0V)开始,每次增1,顺序递增到0FFH(+5V),输出1个锯齿波。
重复此过程,可以连续输出多个锯齿波。
显示器应初始化成图形方式,再显示锯齿波图形。
A/D采集来的锯齿波图形放置到一个数据缓冲区中,同时画出该锯齿波的图形点。
数据缓冲区满时,将第一个锯齿波数据从数据缓冲区去掉,同时将对应的图形点抹掉。
将数据缓冲区中其余锯齿波数据顺序前移一个位置,并将其余锯齿波图形点的显示也顺序前移一个位置,这样可得到一个向前移动的锯齿波图形显示,使得演示的波形更加直观。
图12.5锯齿波主程序流程图图12.6中断服务程序流程图
3.锯齿波参考程序
;
系统主程序
DATASEGMENT
X0EQU155
Y0EQU155;
坐标系原点坐标(X0,Y0)
MESSDB‘pressanykeytoreturntodos.’,0DH,0AH;
提示信息
TMCTLEQU2B3H;
8254控制口地址
TMROEQU2B0H;
8254通道0地址
INPREQU290H;
DAC0832输入寄存器地址
DACREQU29lH;
DAC0832DAC寄存器地址
DAINDB?
;
DAC0832的D/A数据
INT3SDW?
;
IRQ3的中断向量段地址保存单元
INT3ODW?
IRQ3的中断向量偏移地址保存单元
IMRDB?
中断屏蔽字保存单元
ADDREQU2A0H;
ADC0809的片选地址
ADDADB?
ADC0809的采集数据
COUNTDW0;
ADC0809的采集数据个数
BUFFDB240DUP(?
);
采集数据缓冲区(240个数据)
DATAENDS
STACKSEGMENT
DB100DUP(?
)
STACKENDS
WRICHMACROCHAR,WH,COLOR;
写字符定调用(CHAR为字符,WH为位置,COLOR为颜色)
MOVAH,02H;
置光标位置功能调用
MOVDX,WH;
光标位置为WH
MOVBH,00H
INT10H;
显示功能调用
MOVAH,09H;
写字符功能调用
MOVAL,CHAR;
显示字符送AL
MOVBL,COLOR;
置字符颜色
MOVCX,l;
字符长度为1
INT10H
WRICHENDM
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVDS,AX
CLI;
关中断
MOVDX,TMCTL
MOVAL,00110110B
OUTDX,AL;
8254初始化
MOVDX,TMRO
MOVAL,08H;
计数低位字节,计数初值为8
OUTDX,AL
MOVAL,00H;
计数高位字节置0
MOVAL,0BH
MOVAH,35H
INT21H;
取IRQ3的中断向量并保存在INT3O
MOVINT3S,ES;
和INT3S单元
MOVINT3O,BX
PUSHDS
MOVDX,OFFSETADINT
MOVBX,SEGADINT
MOVDS,BX
MOVAH,25H
INT21H;
设置新的IRQ3中断向量
POPDS
INAL,21H
MOVIMR,AL;
保存中断屏蔽字
ANDAL,11110111B
OUT21H,AL;
开放IRQ3中断
MOVSI,OFFSETBUFF
CALLINIT;
屏幕图形初始化
MOVDAIN,80H;
锯齿波初值80H送DAIN
BEGIN:
MOVAL,DAIN
MOVDX,INPR
锯齿波值送DAC0832输入寄存器
MOVDX,DACR
锯齿波值送DAC0832DAC寄存器
INCDAIN
JNZQQQ
MOVDAIN,80H
QQQ:
STI;
开中断
MOVDX,ADDR
OUTDX,AL;
启动一次A/D转换
HLT;
等待中断
CLI
INCCOUNT;
采集数据个数+1
MOVAL,ADDA;
取A/D采集数据
MOVBX,COUNT
MOVBYTEPTR[SI+BX],AL;
将A/D采集数据送数据缓冲区
CMPCOUNT,240
JBDRAW
以下程序为采集数据缓冲区满的处理,在显示器上抹掉缓冲区中第一个数据的显示
将缓冲区中2~240位置的数据顺序向前移动一个位置
MOVBX,1;
从采集数据缓冲区的
第一个数据处开始处理
BUFDR:
MOVAL,00;
点的颜色为黑色
CALLDPT;
从显示器上抹掉第一个点
MOVAL,BYTEPTR[SI+BX+l]
MOVBYTEPTR[SI+BX],AL;
将采集数据缓冲区的数据
MOVAL,0FFH;
顺序前移一个位置,并置点的
颜色为白色,调用画点子程序
INCBX
CMPBX,240
JNEBUFDR
MOVCOUNT,239
JMPNEXT
DRAW:
MOVAL,0FH;
显示缓冲区未满时,
MOVBX,COUNT;
直接显示采集的数据
CALLDPT
NEXT:
MOVAH,06H
MOVDL,0FFH;
判断是否有键按下
INT21H
JZBEGIN;
没有按键,则继续
OVER:
PUSHDS
MOVDX,INTSO
MOVBX,INT3S
INT21H;
恢复原IRQ3中断向量
MOVAL,IMR
OUT21H,AL;
恢复原中断屏蔽字
STI
MOVAH,4CH
返回DOS
中断服务子程序
ADINTPROCNEAR;
A/D中断服务程序
PUSHAX
PUSHDX
MOVDS,AX;
送数据段地址;
确保中断服务程序
MOVDX,ADDR;
对数据段中的变量正确寻址
INAL,DX;
读入A/D数据并送ADDA单元
MOVADDA,AL
MOVAL,20H
OUT20H,AL;
送EOI命令
POPDX
POPAX
IRET;
中断返回
ADINTENDP
DPTPROCNEAR;
画点子程序
PUSHBX
PUSHCX
MOVCX,X0;
点的列位置(CX)为BX+X0
ADDCX,BX
MOVDH,00
MOVDL,BYTEPTR[SI+BX];
取缓冲区中的数据
SHRDX,l;
DX/2
MOVBX,DX;
DX值送BX
MOVDX,Y0-1;
点的行位置为Y0-1-BX
SUBDX,BX;
减1是为了避免将点画到坐标轴上
MOVAH,0CH;
画点
POPCX
POPBX
RET
DPTENDP
INITPROCNEAR;
初始化屏幕子程序
MOVAH,00;
设置显示器工作方式为EGA/VGA
MOVAL,0EH;
显示模式为640×
200×
16
WRICH‘∧’,0112H,0FH;
显示坐标系的两个箭头
WRICH‘>
’,124CH,0FH
写像素功能调用
颜色为白色
MOVCX,X0
MOVDX,Y0
DRAX:
INT10H;
画坐标系的X轴
INCCX
CMPCX,614
JNZDRAX
DRAY:
画坐标系的Y轴
DECDX
CMPDX,8
JNZDRAY
MOVAH,0CH
以下为显示坐标系上X、Y轴的刻度
MOVAL,0FH
MOVCX,X0-4;
给定Y轴刻度初值,画第一个
MOVDX,25;
刻度,长度为4点
YBJ:
INT10H
CMPCX,X0
JNZYBJ
MOVCX,X0-4;
在Y轴画间隔为26
ADDDX,26;
长度为4点的5条刻度线
CMPDX,Y0
JBYBJ
MOVCX,X0+80;
给定X轴刻度初值,画第一个
MOVDX,Y0+2;
刻度,长度为2点
XBJ:
JNZXBJ
MOVDX,Y0+2;
在X轴上,画间隔为80
ADDCX,80;
长度为2点的7条刻度线
CMPCX,600
JBXBJ
WRICH‘V’,0112H,0FH;
显示坐标系的Y轴标识V,
行列位置为(01H,12H),
白色
WRICH‘0’,1412H,0FH;
显示原点标识
WAICH‘T’,144CH,0FH;
显示X轴标识T
WAICH‘l’,14Ldh,0FH;
显示X轴的刻度
WRICH‘2’,1427H,0FH
WRICH‘3’,1431H,0FH
WRICH‘4’,143BH,0FH
WRICH‘5’,1445H,0FH;
WRICH‘2’,0D12H,0FH;
显示Y轴的刻度值
WRICH‘5’,0312H,0FH
POPES
MOVAX,1200H;
显示字符串功能调用
LEABP,MESS;
ES:
BP指向提示信息
MOVCX,35;
提示信息长度
MOVBL,0FH;
黑底,白字
MOVDX,1600H;
从16H行00列开始
INITENDP
CODEENDS
ENDSTART
12.3.2城市交通管理控制系统分析与设计
【例12-2】城市交通管理控制系统分析与设计。
城市交通管理中十字路口交通灯的控制对车辆运行效率及安全十分重要。
传统管理利用人工定时切换方式,控制过程不灵活。
采用计算机控制具有实时、高效、灵活和安全等优点,可为城市交通管理带来极大的经济效益和社会效益。
1.控制要求及系统分析
城市交通管理中,十字路口的交通灯布局情况如图12.7所示。
图12.7十字路口的交通灯控制
交通管理系统中,要求对十字路口的交通灯进行定时转换控制,这种灯光控制的规律可归结如下:
(1)纵向(A向)与横向(B向)的交通灯定时60秒交换红绿灯一次。
(2)灯光有三种颜色:
红、黄、绿(图12.7中的R、O、G),每次交换时要求在黄色灯亮时停留3秒钟。
(3)一路在60秒内过车完后超过6秒无车继续过时,如另一路有车在等待,则自动提前交换灯色。
交换过程也得先在黄灯处停留3秒。
(4)在紧急车辆(如消防车、救护车等)通过时,四边街口均显红灯,以便只许紧急车辆通过,其他车辆暂停行驶。
紧急车辆过后自动恢复原来的灯色标志。
还可以提出更多的要求。
不过,上述四点基本要求已足以说明交通灯控制问题对计算机提出的要求是什么。
这种控制方式具有如下的特点:
第一,这是一个开环控制系统,即无反馈的程序控制。
第二,开关量输入和开关量输出。
图12.7中的车辆检测传感器(A1、A2及B1、B2),是光电开关式的,所以送入计算机的信息是开关量。
计算机控制交通灯的通断是通过继电器的,所以也是开关量输出。
第三,有提前换灯信号功能,即一路的车辆能够申请另一路中断绿灯而让其通行。
不过这是有条件的,即必须是被请求的一路已有6秒钟无车通过才会响应;
硬件电路设置为IRQ5实现。
第四,有紧急车辆检测功能。
当图12.7中的紧急车辆检测传感器(J)检测到有紧急车辆要通过时,立即发出紧急中断讯号(也是开关量)。
这种中断请求不必等到被请求的一路已无车通过,而是无条件地停止其他车辆通过。
这里中断设置为IRQ3,它的优先级高于IRQ5。
2.系统硬件结构设计
图
12.8交通灯控制系统结构框图
12.9
微型计算机是系统的核心,它具有下列最基本的组件:
微处理机:
包含CPU、ROM/RAM等部件。
CPU是执行程序、接受输入信号并发出控制信号的指挥中心;
ROM/RAM是只读存储器/随机存储器,存放着控制系统的程序和数据,其中的程序是由用户编制的,故称为用户程序。
这个程序是根据交通灯控制的需要而由设计者(用户)制定的。
LED:
发光二极管显示器(模拟灯光标志)。
在编制程序时,此显示器可帮助程序员观察到存储器中所存的内容是否符合所编程序的要求,也可显示控制过程。
并行接口电路:
利用PA端口连接和控制十字路口的红、黄、绿三色灯,PB端口连接紧急车辆检测器。
REL:
继电器板。
其中有六个继电器以提高输出接口的六条输出线的功率,以便控制A向及B向的交通灯。
RA、OA、GA为A向两个街口的交通灯,红、黄、绿三色各有两个灯。
RB、OB、GB为B向两个街口的交通灯,也是三色各有两个灯。
GB:
门电路板。
其中装有两个或门,这实际上是一个门电路组件。
其各个与门的输入输出逻辑关系为:
A1+A2=A,B1+B2=B。
A1及A2为放在A向两个街口的检测器,只要其中一个为1(有车要通过),则A=1,即通知计算机A向有车要求通过。
B1与B2是放在B向两个街口的检测器,其作用和上述检测器是相同的。
J:
四个紧急车辆检测器的公共入口,即四个控制器的输出端并联在一起,接至此处。
NMI为CPU的一个非屏蔽中断输入端,低电位(即在J=0时)有效(表示有紧急车辆要通过)。
通过NMI端将此信息进入CPU,从而使RAM中正在进行的程序中断,而跳转至让紧急车辆通过的中断服务子程序。
当车辆过后,J恢复为1,则经由PC口的输入线使程序恢复到原来的主程序上去。
图12.9应用系统的计算机控制硬件结构
3.系统工作原理
这个系统的工作过程是:
(1)开始时设A向通行(GA,即A向的绿灯亮),B向不通(RB,即B向的红灯亮)。
这样,通行60秒后自动转为B向通行(GB,绿灯亮),A向不通(RA,红灯亮)。
这是两个方向都很频繁通车的情况。
(2)如在GA(绿灯)及RB(红灯)亮时,A向并未有车辆通行,等待6秒之后,如B向有车辆在等待通过,则通过B1或B2使程序跳转,其结果是使灯光自动按次序改变:
GA及RB灭;
OA及OB亮(3秒);
RA及GB亮,同时OA及OB灭。
(3)从此时起B向车辆可以通行,60秒后又自动转为A向车辆通行的程序。
如无论哪个方向正在通行时,突然来了紧急车辆,不论其方向是否与正在通行的方向相同,则通过S(S=0)使程序跳转至让紧急车辆通行的子程序而使RA及RB都亮,此时没有黄灯过渡时期,以便禁止一般车辆继续通行。
此时子程序所达到的灯光控制效果为:
如本来GA是亮的,则GA由亮转灭,然后RA亮。
而原来就是红灯亮(RB)的B向,其红灯RB仍不变。
在A向和B向的红灯全亮时,紧急车辆可以不受交通灯的管制而随意通行。
根据上述控制过程的灯色配置,可以将灯色状态归纳成四个模式(PAD),表12-2作出了这四种模式各自的灯色配置。
程序设计思路如下:
程序开始后,即对A向(纵向)进行测试,如A=1为真,即A向有车要求通过,则程序转至CHK1端而直接输出灯色模式ZA,否则输出灯色模式ZB(CHK2端)。
如A向及B向均无车时,则对CHK0及CHK2进行循环测试,同时维持原来的某一输出状态不变。
在循环测试过程中,测试某一方向有车,如A向有车,A=1是真,其控制流程为图中的左半部,则控制过程如下:
先检查该A向原来是否已处于放行状态(PAD=ZA)?
如PAD≠ZA,则在A向转为绿灯之前,必须经黄灯的过渡。
所以要用ZC子程序和3秒子程序,然后调用ZA子程序。
如果PAD=ZA,则说明该A向已处于放行状态,不需经过ZC子程序,而直接由CHK1处进入输出ZA的方框(即PAD=ZA),并等到60秒子程序进行完毕后再去进行循环检查。
当检出B=1为真,即B向有车时,其控制流程为图12.10中的右半部,其过程和左半部完全一样。
在图12.10中的60秒子程序方框旁的箭头附注A=0(或B=0)的意义是,在A向无车时,就转入进行循环测试。
为此,必须每隔若干秒(一般为零点几秒)测试一次A或B是否为0。
如A向(或B向)始终有车,则PAD=ZA(或PAD=ZB),要延续至满60秒再转入循环测试程序。
当有紧急车辆通过时,NMI线有效,则计算机进入紧急车辆程序,此程序一开始就将图12.10复位至初始状态,等紧急车辆过完后,才又从“开始”方框进入控制流程。
图12.10交通灯控制软件流程图
12.4虚拟仪器技术
虚拟仪器就是基于计算机的、具有传统仪器功能的软件与硬件的组合体。
虚拟仪器具有软件的表现形式,又有实际仪器的功能和形式,因此用户可根据需求的变化,通过增减相应的软件、硬件或修改软件的方法,重新定义或配置出新功能的测量仪器。
1.虚拟仪器的基本结构
图12.11虚拟仪器构成
2.虚拟仪器的主要技术
1)硬件技术
2)软件开发环境
3.虚拟仪器软件
虚拟仪器的软件主要由硬件驱动程序、控制软件和图形化用户接口等三部分组成。
(1)硬件驱动程序:
这是虚拟仪器软
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 应用 系统 设计 实现