当前位置:首页 > 单片机作业答案第11章
第11章
一、问答、选择、填空题
1.简述看门狗的基本原理。
答:看门狗是通过软件和硬件的方式在一定的周期内监控单片机的运行状况,如果在规定时间内没有收到来自单片机的清除信号,也就是我们通常说的没有及时喂狗,则系统会强制复位,以保证系统在受干扰时仍然能够维持正常的工作状态 2.简述软件陷阱技术的原理。
答:软件陷阱就是用一条引导指令强行将捕获的程序引向一个指定的地址,在那里有一段专门对程序出错进行处理的程序,以使程序按既定目标执行。
3.采用串行总线扩展技术的主要目的是什么?单片机应用系统中常用的串行扩展总线有哪些?
答: 由于数据的串行传输连线少,采用串行总线扩展技术可以使系统的硬件设计简化、系统的体积减小,同时,系统的更改和扩充更为容易。
目前,单片机应用系统中常用的串行扩展总线有:IC(Inter IC BUS)总线、SPI(Serial Peripheral Interface)总线、Microwire总线及单总线(1-WIRE BUS)等。
4.简单介绍一下IC总线,绘出以51单片机为主机,其它器件为从机的IC总线单主机系统框图?
IC总线采用二线制传输,一根是数据线SDA,另一根是时钟线SCL,所有IC器件都连接在同名端的SDA和SCL上,每一个器件有一个唯一的地址。
IC总线是一个多主机总线,即总线上可以有一个或多个主机(或称主控制器件),总线运行由主机控制。这里所说的主机是指启动数据的传送(发起始信号)、发出时钟信号、发出终止信号的器件。通常,主机由单片机或其它微处理器担任。被主机访问的器件叫从机(或称从器件),它可以是其它单片机,而更多的是如A/D、D/A、LED或LCD驱动、时钟日历芯片、串行存储器等扩展芯片。
以51单片机为主机,其它器件为从机的单主机系统,如图。
P1.0 P1.1 SDA SCL SRAM SDA SCL E2PROM SDA SCL AD/DA SDA SCL I/O 89c51 22
2
2
2
2
VCC LCD 显示器 LCD驱动 控制器 SDA SCL KEY 键盘 键盘 芯片 SDA SCL LED 显示器 LED驱动 控制器 SDA SCL 时钟 时钟 芯片 SDA SCL SDA SCL 单主机系统I2C总线扩展示意图 60
5.举几个IC总线器件的型号,说明其主要作用。 答:见教科书p188。
6.简述ADC0832的主要特点。 答:ADC0832具有以下特点: ● 8位分辨率;
● 双通道A/D转换(差分输入时为一个通道); ● 输入输出电平与TTL/CMOS相兼容;采用SPI总线; ● 5V电源供电时输入电压在0~5V之间; ● 工作频率为250KHZ,转换时间为32μS; ● 一般功耗仅为15mW;
6.SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用几条线?每条线的作用是什么?
答:SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用3-4根连接线:串行时钟线SCK、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI(有的SPI接口芯片将主机输出/从机输入数据线MOSI合为一根线)和低电平有效的从机选择线SS。
7. 利用SPI总线可在软件的控制下构成各种系统, 其中一个“主MCU”和一个或多个“从外围I/O器件(设备)”所构成的系统使用较多,请画出这种系统的结构框图。 答:
8.ADC0832是一种 8 位分辨率、最多为 双 通道、采用SPI总线的 A/D 转换器转换芯片。
9. IIC总线采用几根引脚,基本型51单片机是否有IIC总线,基本型51单片机如何使用IIC?
答:IC总线采用二线制传输,一根是数据线SDA,另一根是时钟线SCL,所有IC器件都连接在同名端的SDA和SCL上,每一个器件有一个唯一的地址。基本型51单片机没有IIC总线,但可以用任意两根IO引脚(需要接上拉电阻),模拟的IIC总线协议进行工作。
2
2
2
61
10.根据下列ADC0832的时序图和说明书编写驱动程序。
答:根据时序图和说明书,把时序图的时序分为几个关键点,如下图,在根据这几个关键点写出驱动程序,其中可以通过_nop()_来调节时序中的时间。
62
驱动程序如下:
/*-----------------------------------------
功能:ADC0832的驱动程序(只读取ADC0832一次,未加读二次检验)
------------------------------------------------------------*/ #include
#define uchar unsigned char
//ADC0832的引脚
sbit ADCS =P3^3; sbit ADDI =P3^7; sbit ADDO =P3^7; sbit ADCLK =P3^6;
/*------------------------------------------------------------ 功能:读ADC0832的转换数据
参数:ch=0单极性,通道0; ch=1 单极性,通道1;
ch= 2差分输入ch0+,ch1-;ch=3差分输入 ch0-,ch1+;
返回:转换结果
------------------------------------------------------------*/ #define nop _nop_() //定义nop uchar adc0832(uchar ch) {
uchar i=0,dat=0,channel=0;
63
共分享92篇相关文档