管轮流发光各1s,不断循环,试画出包括地址译码器、8255A或8155与发光管部分的接口电路图,并编写控制程序。 解:
电路连接图如图4.25所示。
图4.25 4.25题硬件连接电路图
其中,PB0~PB3接红色发光二极管,PB4~PB7接绿色发光二极管。设MCS-51单片机主频为12MHz。
程序如下:
ORG 0000H LJMP START ORG 0030H
START:MOV SP, #60H
MOV DPTR, #7FFFH ; 数据指针指向8255A控制口 MOV A, #80H MOVX @DPTR, A ; 工作方式字送8255A控制口 MOV DPTR, #7FFDH ; 数据指针指向8255A 的B口
MOV A, #0FH ; 置红色发光二极管亮 LP1: MOVX @DPTR, A ; 置红色发光二极管亮 LCALL DELAY ; 调用1S延时子程序 CPL A ; 置发光二极管亮反色 LJMP LP1 ; 循环执行
DELAY: MOV R7,#8 ; 1S延时子程序
D1:MOV R6,#250 D2:MOV R5,#250 D3:DJNZ R5,D3
DJNZ R6,D2 DJNZ R7,D1
RET END
采用定时器T0方式1中断实现1S定时。 1S=50mS×20次。
T0方式1实现50mS定时,初值=216-50mS/1μS=15536=3CB0H
(1S=20mS×50次,初值=216-20mS/1μS=45536=B1E0H)
ORG 0000H
LJMP START ORG 000BH LJMP TT0 ORG 1000 H
START:MOV SP, #60H
MOV DPTR, #7FFFH ; 数据指针指向8255A控制口 MOV A, #80H MOVX @DPTR, A ; 工作方式字送8255A控制口 MOV DPTR, #7FFDH ; 数据指针指向8255A 的B口
MOV A, #0FH ; 置红色发光二极管亮 MOV R2, A
MOVX @DPTR, A ; 置红色发光二极管亮 MOV 30H, #00H ; 次数计数单元初值
MOV TL0, #0B0H ; T0赋初值 MOV TH0, #3CH MOV TMOD, #01H ; 定时器/计数器0工作于方式1 SETB TR0 ; 启动T0 SETB ET0 ; 开T0中断 SETB EA ; 开总允许中断
LP1:SJMP LP1 ; 等待定时器中断 TT0:PUSH ACC PUSH PSW INC 30H MOV A, 30H
CJNE A, #20, LP2 MOV A, R2 CPL A
MOV R2, A
MOVX @DPTR, A MOV 30H, #00H
LP2: MOV TL0, #0B0H ; T0赋初值
MOV TH0, #3CH POP PSW POP ACC SETB TR0
RETI END
26.简述RS-232C, RS-422A及RS-485串行通信接口的特点,画出在双机通信情况下,3个串行通信接口的接口电路。 解:
RS-232C采取不平衡传输方式,是为点对点(即只用一对收、发设备)通信而设计的,采用负逻辑,其驱动器负载为3k?~7k?。由于RS-232C发送电平与接收电平的差仅为2~3V,所以其共模抑制能力差,再加上双绞线上的分布电容,因此,RS-232C适用于传送距离不大于15m,速度不高于20kb/s的本地设备之间通信的场合。
RS-422由RS-232发展而来,RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到1220m(速率低于100kb/s时),并允许在一条平衡总线上最多连接10个接收器。RS-422是一种单机发送、多机接收的单向、平衡的通信总线标准。
RS-485是在RS-422的基础上制定的标准,增加了多点、双向通信能力,通常在要求通信距离为几十米至上千米时,广泛采用RS-485总线标准。它采用平衡发送和差分接收,即在发送端,驱动器将TTL电平信号转换成差分信号输出;在接收端,接收器将差分信号变成TTL电平。具有较高的灵敏度,能检测低至200mV的电压,具有抑制共模干扰的能力,数据传输可达千米以上。
RS-232的双机通信接口电路如图4.26-1所示。
图4.26-1 4.26题硬件连接电路图
RS-422和RS-485的双机通信接口电路如图4.26-2所示。
图4.26-2 4.26题硬件连接电路图
31.何谓“看门狗”?它如何实现对系统程序的监控? 解:
“看门狗(WDT)”,也称为程序监视定时器。WDT的作用是通过不断监视程序每周期的运行事件是否超过正常状态下所需要的时间,从而判断程序是否进入了“死循环”,并对进入“死循环”的程序作出系统复位处理。
在程序中设置适当的指令,清WDT,就可监视微处理器的工作。例如在主程序开始时,将WDT置位,如果主程序执行过程中产生死循环,就无法清WDT,超过WDT的定时时间时,WDT就会对微处理器发出复位信号。从而实现对系统程序的监控。
32.说明I2C总线的特点以及在单片机中实现该总线的方法。 解:
I2C总线是由串行数据线SDA和串行时钟线SCL构成的,可发送和接收数据。它允许若干兼容器件共享总线。所有挂接在I2C总线上的器件和接口电路都应具有I2C总线接口,且所有的SDA/SCL同名端相连。总线上所有器件要依靠SDA发送的地址信号寻址,不需要片选线。
I2C总线最主要的优点是其简单性和有效性。占用的空间小,降低了互连成本。总线的长度可高达7.6m,并且能够以10kbps的最大传输速率支持40个组件。支持多主控器件,其中,任何能够进行发送和接收的设备都可以成为主器件。主控能够控制信号的传输和时钟频率。当然,在某时刻只能有一个主控器件。
在单片机控制系统中,广泛使用I2C器件。如果单片机自带I2C总线接口,则所有I2C器件对应连接到该总线上即可;若无I2C总线接口,则可以使用I/O口模拟I2C总线。 使用单片机I/O口模拟I2C总线时,硬件连接非常简单,只需两条I/O口线即可,在软件中分别定义成SCL和SDA。MCS-51单片机实现I2C总线接口电路如图4.32所
示。
电路中单片机的P1.0引脚作为串行时钟线SCL,P1.1引脚作为串行数据线SDA,通过程序模拟I2C串行总线的通信方式。I2C总线适用于通信速度要求不高而体积要求较高的应用系统。
图4.32 4.32题硬件连接电路图
第五章作业答案
6. 当DAC 0832 D/A转换器的CS接8031的P2.0时,程序中0832的地址指针DPDR寄存器应置为( D )。
A:0832H B;FE00H C:FEF8H D;以上三种都可以
10.简述D/A转换器的主要技术指标。 解:
D/A转换器的主要性能指标有:
(1)分辨率:单位数字量所对应模拟量增量,即相邻两个二进制码对应的输出电压之差称为D/A转换器的分辨率。它确定了D/A产生的最小模拟量变化,也可用最低位(LSB)表示。
(2)精度:精度是指D/A转换器的实际输出与理论值之间的误差,它是以满量程VFS的百分数或最低有效位(LSB)的分数形式表示。
(3)线性误差:D/A转换器的实际转换特性(各数字输入值所对应的各模拟输出值之间的连线)与理想的转换特性(始、终点连线)之间是有偏差的,这个偏差就是D/A的线性误差。即两个相邻的数字码所对应的模拟输出值(之差)与一个LSB所对应的模拟值之差。常以LSB的分数形式表示。
(4)转换时间TS(建立时间):从D/A转换器输入的数字量发生变化开始,到其输出模拟量达到相应的稳定值所需要的时间称为转换时间。
22.具有8位分辨率的A/D转换器,当输入0~5V电压时,其最大量化误差是多少? 解:
对于8位A/D转换器,实际满量程电压为5V,则其量化单位1LSB=5V/256=0.0196V,考虑到A/D转换时会进行四舍五入处理,所以最大量化误差为(1/2)LSB,即0.0098V。
23.在一个80C51单片机与一片DAC0832组成的应用系统中,DAC0832的地址为7FFFH,输出电压为0~5V。试画出有关逻辑电路图,并编写产生矩形波,其波形占空比为1:4,高电平为2.5V,低电平为1.25V的转换程序。 解:
硬件电路连接图如图5.23所示。
相关推荐: