A、B、C:通道地址输入。
地址锁存信号ALE在上升沿将三位通道地址锁存,相应通道的模拟量经多路模拟开关送到A/D转换器。启动信号START上升沿复位内部电路,START信号的下降沿启动A/D转换。此时转换结束信号EOC呈低电平状态,由于逐次逼近需要一定的过程,所以在此期间模拟信号应维持不变,比较器一次次地进行比较,直到转换结束。此时转换结束信号EOC变为高电平,若CPU发出输出允许信号OE,则可读出数据,一次A/D转换的过程就结束了。
4.在一个由MCS?51单片机与一片ADC0809组成的数据采集系统中,ADC0809的地址为7FF8H~7FFFH。试画出有关的逻辑框图,并编写出每隔一分钟轮流采集一次8个通道数据的程序。共采样100次,其采样值存入片外RAM 3000H开始的存储单元中。
原理框图参看图10-23。
5.如何启动一个ADC进行A/D转换?启动方式有几种?单片机如何了解到ADC是否转换结束?
通过写信号对A/D进行驱动。通过转换 结束信号了解ADC是否转换结束。
6.使用DAC0832与MCS?51单片机连接时有哪些控制信号?双缓冲方式如何工作?在何种情况下要使用双缓冲工作方式?
ILE:输入锁存使能信号输入端,高电平有效。
CS:片选信号端。
WR1、WR2:两个写信号端,均为低电平有效。
XFER:传输控制信号输入端,低电平有效。
DAC0832可工作于双缓冲器方式,输入寄存器的锁存信号和DAC寄存器的锁存信号分开控制,这种方式适用于几个模拟量需同时输出的系统,每一模拟量输出需一个DAC0832,构成多个DAC0832同时输出的系统。
7.试设计一个12位A/D转换器与8031的接口电路,编写连续转换10次并将转换结果存入片内50H开始的单元中的程序。
接口电路参看图10-26。
LL: AD574A:
MOV MOV LCALL MOV INC MOV DJNZ SJMP MOV
R1,#50H
R7,#10 AD574A @R1,31H R1
@R1,30H R7,LL $
R0,#7CH ;AD574A端口地址
LOOP:
MOVX @R0,A ;启动AD574A进行12位转换 SETB P1.0 ;置P1.0为输入方式 JB P1.0,LOOP ;检测STS的状态 INC MOVX MOV INC
R0 ;使R/C为1,按双字节读取转换结果
A,@R0 ;读取高8位转换结果 31H,A ;存高8位结果 R0
INC R0 ;使R/C、A0均为1 MOVX A,@R0 ;读取低4位结果 ANL A,#0FH ;屏蔽高4位 MOV 30H,A ;存低4位结果 RET
8.试设计一个12位D/A转换器与8031的接口电路,编写将存放在片内RAM的50H、51H单元的12位数(低8位在50H单元中,高4位在51H的低半字节中)进行转换输出的程序。
接口电路参看图10-18。
SYNC BIT P1.0 ;DAC7512的SYNC与8051的P1.0相连 SCLK BIT P1.1 ;DAC7512的SCLK与8051的P1.1相连 DIN BIT P1.2 ;DAC75121的DIN与8051的P1.2相连 DAH DATA 50H ;12位数据高字节 DAL DATA 51H ;12位数据低字节 DAOUT:MOV R7,#08H ;置循环次数 MOV A,DAH ;取高4位数 ANL A,#0FH ;正常工作模式 CLR SYNC ;启动写时序
DA1: RLC A ;从最高位开始串行移位 MOV DIN,C ;输出数据
SETB SCLK ;产生SCLK上升沿 CLR SCLK ;产生SCLK下降沿 DJNZ R7,DA1 ;8位数据传送完毕? MOV R7,#08H MOV A,DAL ;取低8位数据 DA2: RLC A MOV DIN,C SETB SCLK CLR SCLK
DJNZ R7,DA2 ;低8位数据传送完毕? NOP
SETB SYNC SETB DIN RET
9.要求某电子秤的称重范围为0~500g,测量误差小于0.05g。至少应该选择分辨率为多少位的A/D转换器?
14位。 214=16384
10.如果一个8位D/A转换器的满量程(对应于数字量255)为10V,试分别确定模
拟量为2.0V和8.0V所对应的数字量。
51 204
11.某12位D/A转换器,输出电压为0~2.5V,当输入的数字量为400H时,对应的输出电压是多少?
[2.5/212]*400H=0.625V
第11章 单片机应用系统设计
1.单片机应用系统一般由哪几部分组成?
从系统的角度来看,单片机应用系统是由硬件系统和软件系统两部分组成的。硬件系统是指单片机扩展的存储器、外设及其接口电路等,软件系统包括监控程序和各种应用程序。
2.单片机应用系统设计主要有哪些内容?
单片机应用系统的设计包含硬件设计与软件设计两部分,具体涉及的内容主要有单片机系统、通道与接口、系统的抗干扰、应用软件的设计等。
3.单片机应用系统的一般设计方法是什么? (1)确定系统的功能与性能。 (2)确定系统基本结构。
(3)单片机应用系统硬件与软件设计。 (4)资源分配
4.在单片机应用系统设计中,软、硬件分工的原则是什么?对系统结构有何影响? (1)硬件系统设计原则
一个单片机应用系统的硬件电路设计包括如下两部分内容:
① 单片机系统的扩展,即单片机内部的功能单元(如程序存储器、数据存储器、I/O、定时器/计数器、中断系统等)的容量不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的扩展电路。
② 系统配置,即按照系统功能要求配置外设,如键盘、显示器、打印机、A/D转换器、D/A转换器等,要设计合适的接口电路。
系统扩展的配置设计应遵循下列原则:
① 尽可能选择典型通用的电路,并符合单片机的常规用法,为硬件系统的标准化、模块化奠定良好的基础。
② 系统的扩展与外设配置的水平应充分满足应用系统当前的功能要求,并留有适当余地,便于以后进行功能的扩充。
③ 硬件结构应结合应用软件方案一并考虑,硬件结构与软件方案会产生相互影响。 ④ 整个系统中相关的器件要尽可能做到性能匹配。例如,选用晶体振荡频率较高时,存储器的存取时间就较短,应选择存取速度较快的芯片;选择COMS芯片单片机构成低功耗系统时,系统中的所有芯片都应选择低功耗产品。如果系统中相关的器件性能差异很大,系统综合性能就会降低,甚至不能正常工作。
⑤ 可靠性及抗干扰设计是硬件设计中不可忽略的一部分,它包括芯片、器件选择、去
耦合滤波、印制电路板布线、通道隔离等。如果设计中只注重功能实现,而忽略可靠性及抗干扰设计,到头来只能是事半功倍,甚至会造成系统崩溃,前功尽弃。
⑥ 单片机外接电路较多时,必须考虑其总线驱动能力。驱动能力不足时,系统工作不可靠。解决的办法是增加驱动能力,增加总线驱动器或者减少芯片功耗,降低总线负载。 (2)软件设计的原则
应用系统中的应用软件是根据系统功能设计的,应可靠地实现系统的各种功能。应用系统种类繁多,应用软件各不相同,但优秀的应用软件应具有以下特点:
① 软件结构清晰、简捷、流程合理。
② 各功能程序事先模块化、系统化。这样既便于调试、连接,又便于移植、修改和维护。 ③ 程序存储区、数据存储区规划合理,既能节约存储容量,又能给程序设计与操作带来方便。
④ 运行状态实现标志化管理。各个功能程序运行状态、运行结果及运行需求都设置状态标志以便查询,程序的转移、运行、控制都可通过状态标志来控制。
⑤ 经过调试修改后的程序应进行规范化,除去修改“痕迹”。规范化的程序便于交流、借鉴,也为今后的软件模块化、标准化打下基础。
⑥ 实现全面软件抗干扰设计。软件抗干扰是计算机应用系统提高可靠性的有力措施。 ⑦ 为提高运行的可靠性,在应用软件中设置自诊断程序,在系统运行前先运行自诊断程序,以检查系统各特征参数是否正常。
整个单片机应用系统是一个整体。在进行应用系统总体设计时,软件设计和硬件设计应统一考虑,相结合进行。当系统的硬件电路设计定型后,软件的任务也就明确了。
5.什么是联调?主要解决哪些问题?
系统联调是指让用户系统的软件在其硬件上运行,进行软、硬件联合调试,从中发现硬件故障错误或软、硬件设计错误。这是对用户系统检验的重要一关。
系统联调主要解决以下问题:
① 系统的软、硬件能否按预定的要求配合工作。 ② 系统运行中是否有潜在的设计时难以预料的错误。
③ 系统的动态性能指标(包括精度、响应速度等)是否满足设计要求。
系统联调时,首先采用单步、断点、连续运行方式调试与硬件相关的各程序段,既可检验这些程序段的正确性,又可在各功能独立的情况下,检验软、硬件的配合情况。然后将软、硬件按系统工作要求进行综合运行,以解决在系统总体运行情况下软、硬件的协调问题,并提高系统的动态性能。在具体操作中,用户系统在开发系统环境下,先借用仿真器的单片机、存储器等资源进行工作。若发现问题,按上述软、硬件调试方法准确定位错误,分析错误原因,找出解决办法。用户系统调试完后,将用户程序固化到用户系统的程序存储器中,再借用仿真器单片机,使用户系统运行。若无问题,则用户系统插上单片机即可正确工作。
6.为什么要进行现场调试?
一般情况下,通过系统联调后,用户系统就可以按照设计目标正常工作了。但在某些情况下,由于用户系统运行的环境较为复杂(如环境干扰较为严重、工作现场有腐蚀性气体等),在实际现场工作之前,环境对系统的影响无法预料,只能通过现场运行调试来发现问题,找出相应的解决方法;或者虽然已经在系统设计时考虑到了抗干扰的对策,但是否行之有效,还必须通过用户系统在实际现场的运行来加以验证。另外,有些用户系统的调试是在模拟设备代替实际监测、控制对象的情况下进行的,这就更有必要进行现场调试,以检验用户系统在实际工作环境中工作的正确性。
总之,现场调试对用户系统的调试来说是最后必需的一个过程,用户系统只有经过现场调试才能保证可靠地工作。现场调试仍需利用开发系统来完成,其调试方法与前述类似。
7.试设计一个采用单片机控制的自动交通信号灯系统。设在一个十字路口的两个路口均有一组交通信号灯(红、黄、绿),控制要求:主干线绿灯亮的时间为30秒,然后转为黄灯亮,2秒后即转为红灯亮。支干线在主干线绿灯和黄灯亮时,其为红灯亮,直到主干线黄灯熄灭时才转为绿灯亮。其绿灯亮的持续时间为20秒,然后黄灯亮2秒后即转为红灯亮,如此反复控制。试绘出系统逻辑图、程序流程图,并编制程序。