单片机应用技术_课后习题参考答案
51单片机应用技术(C语言版)习题答案(1)

解:计数初值X=216- T/T机=65536-1000/1=64536=FC18H
则TH0 = 0xfc
TL0 = 0x18
定时器0方式1时,TMOD=0x01
查询法参考程序:
#include<reg51.h>
同级或低级中断请求不能打断正在执行的中断;
同级中断源同时提出请求时按自然优先级响应:
单片机复位时,IP各位都被置0,所有中断源为低级中断。
自然优先级顺序是:/INT0→ T0 → /INT1→T1→TI/RI
5.答:有一按键接到单片机外部中断0引脚上,要求编程对按键动作进行计数和显示,达到99后重新由0开始计数(采用中断方式)。
答:MCS-51单片机的存储器采用的是哈佛结构,即把程序存储器和数据存储器分开,有各自的寻址系统、控制信号和功能。
MCS-51单片机存储器的最大寻址空间64KB。
4.MCS-51单片机的时钟周期,状态周期,机器周期,指令周期的含义是什么?当晶振频率为6MHZ时,它们分别为多少?
答:时钟周期:由振荡电路产生的时钟脉冲的周期;
MCS-51单片机提供了4个8位的I/O端口,分别命名为P0、P1、P2、P3,这些端口既可以按字节一次输入或输出8位数据,同时它们的每一位都可以独立进行输出或输出操作。
MCS-51单片机内部有两个16位的定时器/计数器,既可以做定时功能,又可以做计数功能。
2.MCS-51单片机的P0-P3口在功能上各有什么用途和区别?当它们做I/O口使用时,具有哪些特点?
sbit p1_0=P1^0;
void main()
{
TMOD=0x01;
单片机应用技术_课后习题参考答案-推荐下载

(4)机械式按键组成的键盘,应如何消除按键抖动?答:可以采用硬件和软件两种方式,硬件上可在键输出端加RS触发器或单稳态触发器构成去抖电路,软件上可以在检测到有按键按下时,执行一个10ms左右的延时程序,然后确认该键是否仍保持闭合状态的电平。
(1)周期为25ms的锯齿波发生器C语言源程序如下:#include<abs acc.h>#include<reg51.h>#define DA0832 XBYTE[0x7fff]#define uchar unsigned char#define uint unsigned intuchar i;void delay_100us(){ TH1=0xff;// 置定时器初值0xff9c,即65436,定时0.1msTL1=0x9c;TR1=1;// 启动定时器1while(!TF1); // 查询计数是否溢出,即定时0.1ms时间到,TF1=1 TF1=0;// 0.1ms时间到,将定时器溢出标志位TF清零}void main(void){TMOD=0x10; // 置定时器1为方式1while(1){for(i=0;i<=255;i++)//形成锯齿波输出值,最大255{DA0832=i;//D/A转换输出delay_100us();}}}(2)周期为50ms的三角波C语言源程序如下:#include<absacc.h>#include<reg51.h>#define DA0832 XBYTE[0x7fff]#define uchar unsigned char#define uint unsigned intuchar i,j;void delay_100us(){ TH1=0xff;//置定时器初值0xff9c,即65436,定时0.1msTL1=0x9c;TR1=1;// 启动定时器1while(!TF1); // 查询计数是否溢出,即定时0.1ms时间到,TF1=1 TF1=0;// 0.1ms时间到,将定时器溢出标志位TF清零}void main(void){TMOD=0x10; // 置定时器1为方式1while(1){for(i=0;i<=255;i++)//形成三角波输出值,最大255{ DA0832=i;//D/A转换输出delay_100us();}for(j=255;j>=0;j--)//形成三角波输出值,最大255{ DA0832=j;//D/A转换输出delay_100us();}}}(3)周期为50ms的方波C语言源程序如下:#include<absacc.h>#include<reg51.h>#define DA0832 XBYTE[0x7fff]#define uchar unsigned char#define uint unsigned intuchar i,j;void delay_25ms(){ TH1=0x9e;// 置定时器初值TL1=0x58;TR1=1;// 启动定时器1while(!TF1); // 查询计数是否溢出,即定时25ms时间到,TF1=1 TF1=0;// 25ms时间到,将定时器溢出标志位TF清零}void main(void){TMOD=0x10; // 置定时器1为方式1while(1){DA0832=255;//形成方波输出值,最大255 ,D/A转换输出delay_25ms();DA0832=0;//D/A转换输出delay_25ms();}}6.7答:在选定转换通道后,ADC0809工作的主要有以下几个步骤:1.启动A/D转换,给START引脚一个下降沿;2.ALE信号与START信号一般连接在一起,这样使得在ALE信号的前沿写入地址信号,紧接着在其后沿就启动转换;3.查询EOC引脚状态,EOC引脚由0变1,表示A/D转换过程结束;4.允许读数,将OE引脚设置为1状态。
单片机技术与应用各章习题答案

单片机技术与应用各章习题答案第一章:单片机概述与应用领域1. 单片机是指在一个芯片上集成了微处理器核心、存储器和各种外设接口电路的微型计算机系统。
它具有体积小、功耗低、成本低等特点,广泛应用于各个领域。
2. 单片机的分类有多种方式,按照处理器核心可以分为8位、16位和32位单片机;按照指令集结构可以分为CISC和RISC单片机;按照应用领域可以分为通用型和专用型单片机等。
3. 单片机在工业控制、汽车电子、消费电子、通信设备等领域有着广泛应用。
例如,它可以运用于家电控制、智能家居、无人机控制等领域。
4. 单片机系统由单片机核心、存储器、外设接口电路和时钟电路等部分组成。
其中,单片机核心是整个系统的核心和控制中心。
第二章:单片机的基本结构与指令系统5. 单片机的基本结构包括中央处理器(CPU)、存储器(存储程序和数据)、输入输出(I/O)端口和计时/计数器等。
它们通过总线进行连接和数据传输。
6. 单片机的指令系统决定了其工作方式和功能。
指令由操作码和操作数组成,用于完成特定的指令功能。
7. 单片机的指令系统可以分为数据传输指令、算术运算指令、逻辑运算指令、移位指令等。
不同的指令功能可以通过编程实现。
8. 单片机的程序是由一系列指令组成,按照指令执行的顺序顺序执行。
其中,程序计数器(PC)用于存储当前执行的指令地址。
第三章:单片机的输入输出与中断系统9. 单片机的输入输出包括数字输入输出和模拟输入输出两种方式。
数字输入输出使用端口进行数据传输,而模拟输入输出则需要辅助模块进行处理。
10. 单片机的中断系统是为了实现对外部事件的响应而设计的。
当发生特定的中断事件时,单片机可以暂停当前任务,执行相应的中断服务程序。
11. 单片机的端口是实现输入输出的重要接口。
输入端口用于接收外部信号,输出端口用于向外部设备发送信号。
12. 单片机的中断是通过中断向量表实现的。
中断向量表是一个存储特定中断服务程序地址的表格,通过查表可以找到相应的服务程序。
单片机应用技术C语言版第2版课后习题复习资料王静霞

P3.3
外部中断1申请
P3.4
T0
定时/计数器0的外部输入
P3.5
T1
定时/计数器1的外部输入
P3.6
外部RAM写选通
P3.7
外部RAM读选通
3
什么是机器周期?机器周期和晶振频率有何关系?当晶振频率为6MHz时,机器周期是多少?
规定一个机器周期的宽度为12个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。
A.0x06 B.0x7D C.0x82 D.0xFA
B
5
一个单片机应用系统用LED数码管显示字符“8”的段码是0x80,可以断定该显示系统用的是___________。
A.不加反相器的共阴极数码管
B.加反相驱动的共阴极数码管或不加反相驱动的共阳极数码管
C.加反相驱动的共阳极数码管
D.以上都不对
B
6
1
项目一 熟悉单片机操作环境
1.3 问答题
什么是单片机?它由哪几部分组成?什么是单片机应用系统?
单片微型计算机是指集成在一个芯片上的微型计算机,它的各种功能部件,包括CPU(Central Processing Unit)、随机存取存储器RAM(Random Access Memory)、只读存储器ROM(Read-only Memory)、基本输入/输出(Input/Output,简称I/O)接口电路、定时器/计数器等都制作在一块集成芯片上,构成一个完整的微型计算机,可以实现微型计算机的基本功能。
程序存储器
3
片内RAM低128单元,按其用途分为_______、_______和________三个区域。
工作寄存器组、位寻址区、用户RAM区
4
当振荡脉冲频率为12MHz时,一个机器周期为________;当振荡俯冲频率为6MHz时,一个机器周期为__________。
《单片机应用技术》答案

《单片机应用技术》习题答案第一章1-1选择1.计算机中最常用的字符信息编码是( A )A ASCIIB BCD码C 余3码D 循环码2.要MCS-51系统中,若晶振频率屡8MHz,一个机器周期等于(A ) μsA 1.5B 3 C3.MCS-51的时钟最高频率是( A ).A 12MHzB 6 MHzC 8 MHzD 10 MHz4.以下不是构成的控制器部件(D ):A 程序计数器、B指令寄存器、C指令译码器、D存储器5.以下不是构成单片机的部件(D )A 微处理器(CPU)、B存储器C接口适配器(I\O接口电路) D 打印机6.下列不是单片机总线是(D )A 地址总线B 控制总线C 数据总线D 输出总线7.-49D的二进制补码为.( B )A 11101111B 11101101C 0001000D 111011008.十进制29的二进制表示为原码(C )A 11100010B 10101111C 00011101D 000011119. 十进制0.625转换成二进制数是( A )A 0.101B 0.111 C10 选出不是计算机中常作的码制是( D )A 原码B 反码C补码 D ASCII1-2填空题原码、反码和补码000111013.十进制数-29的8位补码表示为.11100011CPU、存储器和I\O接口三部分组成.EA必须接地.6.输入输出设备是计算机与外部世界交换信息的载体..110100018.-49D的二进制补码为.11101101ASCII10.计算机中的数称为机器数,它的实际值叫真值。
1-3判断题1.我们所说的计算机实质上是计算机的硬件系统与软件系统的总称。
(√)2.MCS-51上电复位时,SBUF=00H。
(×)。
SBUF不定。
3.使用可编程接口必须处始化。
(√)。
4.8155的复位引脚可与89C51的复位引脚直接相连。
(√)5.MCS-51是微处理器。
(×)不是。
单片机应用技术(C语言版)习题参考答案

⑴将 m 中的数据从 P1 口输出。
⑵将 mybit 中的数据从 P1.2 口线输出。
⑶将 P1.5 口线置 1。
⑷将 P1.0 口线清 0。
⑸读 P1 口的输入状态,并保存至 m 中。
⑹读 P1.7 口线输入状态,并保存到 mybit 中。
【解】
⑴ sfr P1=0x90;
unsigned char m;
3.用 C51 设计单片机程序时,应尽量使用 无符号字符 型和 位 型数据,以便提高程 序的运行速度。
4.写出下列常量和变量的定义式: ⑴值为 20 的符号常量 KTIM。 ⑵无符号字符型变量 i、j。 ⑶带符号整型变量 k。 ⑷浮点型变量 f。 ⑸有符号的长整型变量 sl。 ⑹位变量 mybit。 ⑺定义无符号字符型变量 i、j,并给 i 赋值 3、j 赋值 4。 【解】 ⑴ #define KTIN 20 ⑵ unsigned char i,j; ⑶ int k; 或者 signed int k; ⑷ float f; ⑸ long sl; 或者 signed long sl; ⑹ bit mybit; ⑺ unsigned char i=3,j=4; 5.语句“i=(j=3)+(k=4);”的含义是 求求两个赋值表达式“j=3”与“k=4”的和,并 将和值赋给变量 i ,语句执行后 i= 7 ,j= 3 ,k= 4 。 6.若有下列定义:
int i=0x1234; unsigned char j; 语句“j=i;”执行后,i= 0x1234 ,j= 0x34 。 7.若有下列定义: int i; unsigned char j=0x82; 语句“i=j;”执行后,i= 0x0082 。 8.若有下列定义: unsigned int i; char j=0x82; 语句“i=j;”执行后,i= 0xff82 ,j= 0x82 。 9.定义下列特殊功能寄存器和特殊位: ⑴特殊功能寄存器 P0、P1、P2、P3。 ⑵16 位特殊功能寄存器 RCAP2,RCAP2 的低字节地址为 0xca,高字节地址为 0xcb。
[单片机原理及应用课后答案]单片机原理及应用技术
![[单片机原理及应用课后答案]单片机原理及应用技术](https://img.taocdn.com/s3/m/28e1825068eae009581b6bd97f1922791788be55.png)
[单片机原理及应用课后答案]单片机原理及应用技术篇一: 单片机原理及应用技术_课后答案章1 绪论1.第一台计算机的问世有何意义?答:第一台电子数字计算机ENIAC问世,标志着计算机时代的到来。
[)与现代的计算机相比,ENIAC有许多不足,但它的问世开创了计算机科学技术的新纪元,对人类的生产和生活方式产生了巨大的影响。
2.计算机由哪几部分组成?答:由运算器、控制器、存储器、输入设备和输出设备组成,运算器与控制器合称为CPU。
3.微型计算机由哪几部分构成?答:微型计算机由微处理器、存储器和I/O接口电路构成。
各部分通过地址总线、数据总线和控制总线相连。
4.微处理器与微型计算机有何区别?答:微处理器集成了运算器和控制器;而微型计算机包含微处理器、存储器和I/O接口电路等。
5.什么叫单片机?其主要特点有哪些?答:在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。
单片机主要特点有:控制性能和可靠性高;体积小、价格低、易于产品化;具有良好的性能价格比。
6.微型计算机有哪些应用形式?各适于什么场合?答:微型计算机有三种应用形式:多板机、单板机和单片机。
多板机,通常作为办公或家庭的事务处理及科学计算,属于通用计算机。
单板机,I/O设备简单,软件资源少,使用不方便。
早期主要用于微型计算机原理的教学及简单的测控系统,现在已很少使用。
单片机,单片机体积小、价格低、可靠性高,其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势。
目前,单片机应用技术已经成为电子应用系统设计的最为常用技术手段。
7.当前单片机的主要产品有哪些?各有何特点?答:多年来的应用实践已经证明,80C51的系统结构合理、技术成熟。
因此,许多单片机芯片生产厂商倾力于提高80C51单片机产品的综合功能,从而形成了80C51的主流产品地位,近年来推出的与80C51兼容的主要产品有:? A TMEL公司融入Flash存储器技术推出的A T89系列单片机;? Philips公司推出的? 华邦公司推出的- 74 -? ADI公司推出的ADμC8xx系列高精度ADC单片机;? LG公司推出的GMS90/97系列低压高速单片机;? Maxim公司推出的DS89C420高速单片机;? Cygnal公司推出的C8051F系列高速SOC单片机等。
单片机应用技术习题答案汇总

单片机应用技术习题答案目录1 单片机基础知识 (2)2 M CS-51单片机的硬件结构 (3)3 单片机指令系统 (6)4 汇编语言程序设计 (8)5 单片机的中断与定时系统 (12)6 串行通信 (14)7 系统扩展技术 (21)8 应用系统接口技术 (23)9 C语言程序设计 (30)1单片机基础知识1. 何谓单片机?它有哪些主要特点?主要应用于哪些方面?单片机是中央处理单元CPU、一定容量的随机存取存储器RAM、只读存储器ROM、定时器/计数器以及I/O接口电路等微机的主要部件集成在一块芯片上的微型计算机,称为单片微型计算机,简称单片机。
特点:体积小,结构简单;控制功能强;集成度高、有很高的可靠性;低电压、低功耗。
主要应用于智能仪表、机电一体化领域、实时控制以及日常生活中的电器产品等方面。
2. 计算下列十进制数对应的二进制、十六进制数。
78D=01001110B=4EH;90D=01011010B=5AH;366D=000101101110B=16EH;2579D=101000010011B=0A13H3. 计算下列十六进制数对应的十进制、二进制数。
68H=01101000B=104D;0F5H=11110101B=245D;36AH=001101101010B=874D;1A7H=000110100111B=423D2M C S-51单片机的硬件结构(一)问答题1.中央处理器(CPU)是单片机最核心的部分,是指挥中心和执行机构。
它的作用是读入和分析每条指令,根据指令的要求,完成运算和控制操作。
内部数据存储器包括RAM(128×8)和RAM地址寄存器等,其中高128单元被专用寄存器占用,供用户使用的只有低128单元,用于存放可读写的数据。
因此,通常所说的内部数据存储器是指低128单元,简称“内部RAM”。
内部程序存储器包括ROM(4K×8)和程序地址寄存器等。
80C51共有4KB掩膜ROM,用于存放程序和原始数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1习题1答案1.2 填空题(1)单片级应用系统是由硬件系统、软件系统组成的(2)除了单片机和电源外,单片机最小系统包括时钟电路、复位电路(3)除了电源和电线引脚外,XTAL1、XTAL2、RST、EA引脚信号必须连接相应电路(4)51系列单片机的存储器主要有4个物理存储空间,即片内数据存储器、片内程序存储器、片外数据存储器、片外程序存储器(5)51系列单片机的XTAL1和XTAL2引脚是时钟电路(6)51系列单片机的应用程序一般存放在程序存储器(7)片内RAM低128单元,按其用途划分为工作寄存器组、位寻址区、用户RAM区(8)但振荡脉冲频率为12MHz时,一个机器周期为1us,当振荡脉冲频率为6MHz时,一个机器周期为2us(9)51系列单片机的复位电路有两种,即上电复位电路、按键复位电路(10)输入单片机的复位信号需延续2个机器周期以上的高电平即为有效。
1.3(4)什么是机器周期?机器周期和晶振频率有何关系?当晶振频率为6MHz时,机器周期是多少?答:规定一个机器周期的宽度为12个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。
当振荡脉冲频率为6 MHz时,一个机器周期为2 µs。
(5)51系列单片机常用的复位方法有哪几种?画电路图并说明其工作原理。
答:(a)上电复位电路(b)按键复位电路单片机常见的复位电路图(a)为上电复位电路,它是利用电容充电来实现的。
在接电瞬间,RST端的电位与VCC相同,随着充电电流的减少,RST的电位逐渐下降。
只要保证RST为高电平的时间大于两个机器周期,便能正常复位。
图(b)为按键复位电路。
该电路除具有上电复位功能外,若要复位,只需按图(b)中的RESET键,此时电源VCC经电阻R1、R2分压,在RST端产生一个复位高电平。
习题3 答案3.2 填空题(2)用C51编程访问51单片机的并行I/O口是,可以按字节,寻址操作,还可以按位操作(4)C51中定义一个可位寻址变量FLAG访问P3口的P3.1引脚的方法是s bit FLAG=P3^1; (10)下面的while循环执行了无限次空语句。
i=3;While(i!=0);(15)在以下的数组定义中,关键字“code”是为了把tab数组存储在程序存储器ROM中Unsigned char code b[]={};3.3 上机操作题(1)//xiti3_3_1.c——第三章习题3.3上机操作题(1)#include <reg51.h>void delay(unsigned char i); //延时函数声明void main() //主函数{while(1){P1=0x55; //按状态1的方式点亮8个LEDdelay(200); //延时P1=0xaa; //按状态2的方式点亮8个LEDdelay(200); //延时}}void delay(unsigned char i) //延时函数参见任务1程序ex1_1.c(2)//xiti3_3_2.c——第三章习题3.3上机操作题(2)#include <reg51.h> //包含头文件REG51.Hvoid delay(unsigned char i); //延时函数声明void main() //主函数{unsigned char i,l,r;while(1){l=0x10; // 高4位灯的位置初值为00010000Br=0x08; // 低4位灯的位置初值为00001000Bfor(i=0;i<4;i++){P1=~(l|r); // 循环点亮灯l<<=1; // 高4位灯的位置移动r>>=1; // 低4位灯的位置移动delay(200); //延时}}}void delay(unsigned char i) //延时函数参见任务1程序ex1_1.c(3)//xiti3_3_3.c——第三章习题3.3上机操作题(3)#include <reg51.h> //包含头文件REG51.Hvoid delay(unsigned char i); //延时函数声明void main() //主函数{unsigned char i;unsigned char display[]={0x89, 0xff,0x86, 0xff,0xc7, 0xff,0xc7, 0xff,0xc0, 0xff};while(1){for(i=0;i<10;i++){P1=display[i]; //显示字送P1口delay(200); //延时}}}void delay(unsigned char i) //延时函数参见任务1程序ex1_1.c习题4 答案4.2 填空题(1)MCS-51系列单片机定时器的内部结构由以下四部分组成:①定时器T0 ②定时器T1 ③定时器方式寄存器TMOD ④定时器控制寄存器TCON(251系列单片机的定时/计数器,若只用软件启动,与外部中断无关,应使TMOD中的GATE=0(3)51系列单片机的T0用做计数方式时,用工作方式1(16位),则工作方式控制字为TMOD=0x05(4)定时器方式寄存器TMOD的作用是选择定时器T0/T1的工作方式(5)定时器方式寄存器TCON的作用是控制定时器的启动、停止,标志定时器的溢出和中断情况。
(6)51的中断系统由定时控制寄存器TCON、串行口控制寄存器SCON、中断允许寄存器IE、中断优先权寄存器IP等寄存器组成(7)51的中断源有外部中断0、定时器0、外部中断1、定时器1、串行口(8如果定时器控制寄存器TCON中的IT1和IT0位为0,则外部中断请求信号为电平触发方式(9)中断源中断请求撤销包括硬件自动清除、软件清除、硬件配合软件共同清除 等三种形式(10)外部中断0的中断类型号为04. 3(1)51系列单片机定时/计数器的定时功能和计数功能有什么不同?分别应用在什么场合 ?答:当定时/计数器设置为定时工作方式时,计数器对内部机器周期计数,每过一个机器周期,计数器增1,直至计满溢出。
定时器的定时时间与系统的振荡频率紧密相关,如果单片机系统采用12M 晶振,则计数周期为:s 112/110121T 6μ=⨯⨯=,这是最短的定时周期,适当选择定时器的初值可获取各种定时时间。
当定时/计数器设置为计数工作方式时,计数器对来自输入引脚T0(P3.4)和T1(P3.5)的外部信号计数,外部脉冲的下降沿将触发计数,检测一个由1到0的负跳变需要两个机器周期,所以,最高检测频率为振荡频率的1/24。
计数器对外部输入信号的占空比没有特别的限制,但必须保证输入信号的高电平与低电平的持续时间在一个机器周期以上。
当需要准确计算时间时往往采用定时器的定时方式,而当要对一些外部事件计数时则采用定时器的计数方式。
(6)什么叫中断?中断有什么特点?答:中断是通过硬件来改变CPU 的运行方向。
计算机在执行程序的过程中,当出现CPU 以外的某种情况,由服务对象向CPU 发出中断请求信号,要求CPU 暂时中断当前程序的执行而转去执行相应的处理程序,待处理程序执行完毕后,再继续执行原来被中断的程序。
这种程序在执行过程中由于外界的原因而被中间打断的情况称为“中断”。
调用中断服务程序的过程类似于调用子程序,其区别在于调用子程序在程序中是事先安排好的;而何时调用中断服务程序事先却无法确定,因为“中断”的发生是由外部因素决定的,程序中无法事先安排调用指令,因此,调用中断服务程序的过程是由硬件自动完成的。
中断的特点:分时操作、实时处理、故障处理习题5答案5.3(2)7段LED 静态显示和动态显示在硬件连接上分别具有什么特点?实际设计时应如何选择使用?答:LED 静态显示时各位数码管相对独立,公共端恒定接地(共阴极)或正电源(共阳极),每个数码管的8个字段分别与一个8位I/O 口地址相连,适合于2个及其以下的数码管显示。
动态显示时各位数码管的段选线相应并联在一起,由一个8位的I/O 口控制,各位的段选线由另外的I/O 口控制。
(4)机械式按键组成的键盘,应如何消除按键抖动?答:可以采用硬件和软件两种方式,硬件上可在键输出端加RS 触发器或单稳态触发器构成去抖电路,软件上可以在检测到有按键按下时,执行一个10ms 左右的延时程序,然后确认该键是否仍保持闭合状态的电平。
(1)周期为25ms的锯齿波发生器C语言源程序如下:#include<abs acc.h>#include<reg51.h>#define DA0832 XBYTE[0x7fff]#define uchar unsigned char#define uint unsigned intuchar i;void delay_100us(){ TH1=0xff; // 置定时器初值0xff9c,即65436,定时0.1ms TL1=0x9c;TR1=1; // 启动定时器1while(!TF1); // 查询计数是否溢出,即定时0.1ms时间到,TF1=1 TF1=0; // 0.1ms时间到,将定时器溢出标志位TF清零}void main(void){ TMOD=0x10; // 置定时器1为方式1while(1){ for(i=0;i<=255;i++) //形成锯齿波输出值,最大255{ DA0832=i; //D/A转换输出delay_100us();}}}(2)周期为50ms的三角波C语言源程序如下:#include<absacc.h>#include<reg51.h>#define DA0832 XBYTE[0x7fff]#define uchar unsigned char#define uint unsigned intuchar i,j;void delay_100us(){ TH1=0xff; //置定时器初值0xff9c,即65436,定时0.1msTL1=0x9c;TR1=1; // 启动定时器1while(!TF1); // 查询计数是否溢出,即定时0.1ms时间到,TF1=1 TF1=0; // 0.1ms时间到,将定时器溢出标志位TF清零}void main(void){ TMOD=0x10; // 置定时器1为方式1while(1){ for(i=0;i<=255;i++) //形成三角波输出值,最大255{ DA0832=i; //D/A转换输出delay_100us();}for(j=255;j>=0;j--)//形成三角波输出值,最大255{ DA0832=j; //D/A转换输出delay_100us();}}}(3)周期为50ms的方波C语言源程序如下:#include<absacc.h>#include<reg51.h>#define DA0832 XBYTE[0x7fff]#define uchar unsigned char#define uint unsigned intuchar i,j;void delay_25ms(){ TH1=0x9e; // 置定时器初值TL1=0x58;TR1=1; // 启动定时器1while(!TF1); // 查询计数是否溢出,即定时25ms时间到,TF1=1 TF1=0; // 25ms时间到,将定时器溢出标志位TF清零}void main(void){ TMOD=0x10; // 置定时器1为方式1while(1){ DA0832=255; //形成方波输出值,最大255 ,D/A转换输出delay_25ms();DA0832=0; //D/A转换输出delay_25ms();}}6.7答:在选定转换通道后,ADC0809工作的主要有以下几个步骤:1.启动A/D转换,给START引脚一个下降沿;2.ALE信号与START信号一般连接在一起,这样使得在ALE信号的前沿写入地址信号,紧接着在其后沿就启动转换;3.查询EOC引脚状态,EOC引脚由0变1,表示A/D转换过程结束;4.允许读数,将OE引脚设置为1状态。