单片机应用技术课后习题参考答案

合集下载

单片机应用技术_课后习题参考答案-推荐下载

单片机应用技术_课后习题参考答案-推荐下载

(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状态。

单片机应用技术C语言版第2版课后习题复习资料王静霞

单片机应用技术C语言版第2版课后习题复习资料王静霞
外部中断0申请
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语言版)习题参考答案

单片机应用技术(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。

单片机应用技术(C语言版)第2版课后习题答案-王静霞

单片机应用技术(C语言版)第2版课后习题答案-王静霞
A
3
LED数码若采用动态显示方式,下列说法错误的是__________。
A.将各位数码管的段选线并联
B.将段选线用一个8位I/O端口控制
C.将各位数码管的公共端直接连接在+5V或者GND上
D.将各位数码管的位选线用各自独立的I/O端口控制
C
4
共阳极LED数码管加反相器驱动时显示字符“6”的段码是_________。
规定一个机器周期的宽度为12个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。
当振荡脉冲频率为12MHz时,一个机器周期为1µs;当振荡脉冲频率为6MHz时,一个机器周期为2µs。
序号
知识点
题型
内容
答案
1
项目三单片机并行I/O端口的应用
3.1单项选择题
下面叙述不正确的是()
A.一个C源程序可以由一个或多个函数组成
P3口各引脚与第二功能表
引脚
第二功能
信号名称
P3.0
RXD
串行数据接收
P3.1
TXD
串行数据发送
P3.2
外部中断0申请
P3.3
外部中断1申请
P3.4
T0
定时/计数器0的外部输入
P3.5
T1
定时/计数器1的外部输入
P3.6
外部RAM写选通
P3.7
外部RAM读选通
3
什么是机器周期?机器周期和晶振频率有何关系?当晶振频率为6MHz时,机器周期是多少?
voiddelay(void)
{inti;
for(i=0; i<10000; i++);
}
10000
12
在单片机的C语言程序设计中,______________类型数据经常用于处理ASCII字符或用于处理小于等于255的整型数。

单片机课后习题参考答案(全).

单片机课后习题参考答案(全).

第1章单片机概述参考答案1.答:微控制器,嵌入式控制器2.答:CPU、存储器、I/O口、总线3.答:C4.答:B5.答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。

而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机。

嵌入式处理器一般意义上讲,是指嵌入系统的单片机、DSP、嵌入式微处理器。

目前多把嵌入式处理器多指嵌入式微处理器,例如ARM7、ARM9等。

嵌入式微处理器相当于通用计算机中的CPU。

与单片机相比,单片机本身(或稍加扩展)就是一个小的计算机系统,可独立运行,具有完整的功能。

而嵌入式微处理器仅仅相当于单片机中的中央处理器。

为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。

6.答:MCS-51系列单片机的基本型芯片分别:8031、8051和8071。

它们的差别是在片内程序存储器上。

8031无片内程序存储器、8051片内有4K字节的程序存储器ROM,而8751片内有集成有4K字节的程序存储器EPROM。

7.答:因为MCS-51系列单片机中的“MCS”是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。

8.答:相当于MCS-51系列中的87C51,只不过是AT89S51芯片内的4K字节Flash存储器取代了87C51片内的4K字节的EPROM。

9.单片机体积小、价格低且易于掌握和普及,很容易嵌入到各种通用目的的系统中,实现各种方式的检测和控制。

单片机在嵌入式处理器市场占有率最高,最大特点是价格低,体积小。

DSP是一种非常擅长于高速实现各种数字信号处理运算(如数字滤波、FFT、频谱分析等)的嵌入式处理器。

由于对其硬件结构和指令进行了特殊设计,使其能够高速完成各种复杂的数字信号处理算法。

单片机作业习题答案

单片机作业习题答案

作业习题答案《单片机应用技术》部分习题与参考答案第1章单片机概述1-1什么是嵌入式系统?嵌入式系统的硬件和软件各包括哪些内容?答: 以应用为中心,以计算机技术为基础,软/硬件可剪裁,针对具体应用系统,对功能、可靠性,成本、体积、功耗严格要求的专用计算机系统称为嵌入式计算机系统。

简称为嵌入式系统。

嵌入式系统的硬件包括:嵌入式处理器、存储器和外部设备器件、输入输出接口、图形控制器等。

软件包括操作系统和应用程序。

嵌入式系统是专用的计算机系统,嵌入式系统的核心是嵌入式处理器,单片机是嵌入式处理器的典型代表。

1-2 什么叫单片机?一个完整的单片机芯片至少有哪些部件?答:将微处理器(CPU)、存储器、定时/计数器及输入输出接口电路等部件集成在一块集成电路上,称为单片微型计算机,简称单片机。

一个完整的单片机芯片至少有中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、定时/计数器及I/O接口等部件。

1-3嵌入式处理器有何特点?嵌入式处理器分为哪几类?答:嵌入式处理器对实时和多任务系统有和强的支持能力、对存储区保护功能强、具有可扩展的处理器结构及低功耗等特点。

嵌入式处理器分为:嵌入式微处理器、微控制器、嵌入式DSP处理器和片上系统等。

1-4 单片机系统的开发过程分为那几步进行?答:1.硬件的设计与调试。

2 应用程序的设计和调试。

3系统联调。

4程序的固化。

5.脱机运行。

1-5 Intel 公司的主要单片机产品分为哪几大系列?各系列的区别何在?答:Intel公司的MCS-48系列、MCS-51系列、MCS-96系列产品;48系列的单片机在片内集成4位CPU,片内含有多种I/O接口,有的根据不同用途还配有许多专用接口,价格便宜,控制功能强。

51系列的单片机在片内集成8位CPU、片内RAM为128字节,ROM为4K字节,4个并行I/O口、2个16位定时/计数器、串行接口、5个中断源。

96系列单片机CPU为16位,片内RAM为232字节,ROM为8K字节,片内带有高速输入输出部件,多通道10位A/D转换部件,中断处理为8级。

单片机应用技术-课后习题参考答案

单片机应用技术-课后习题参考答案

单片机应用技术-课后习题参考答案在单片机应用技术中,习题是我们巩固知识、提高技能的重要途径。

以下是本章节习题的参考答案,供大家参考。

1. 什么是单片机?单片机是一种集成了处理器、存储器和各种输入输出接口的微型计算机系统。

它具有体积小、功耗低、成本低、可编程性强等特点,被广泛应用于嵌入式系统、家电、汽车电子、电力控制等领域。

2. 单片机有哪些常见的应用?单片机在各个领域均有广泛的应用,主要包括:- 家电控制:如空调、洗衣机、冰箱等家电产品中,通过单片机实现控制、自动化功能。

- 工业控制:包括物流自动化、生产流水线控制、机器人等。

- 电力控制:用于电力系统的监控与保护、电力设备的控制等。

- 交通运输:如汽车发动机控制、车载导航系统等。

- 通信设备:单片机广泛应用于手机、无线路由器、通信基站等设备上。

3. 单片机的工作原理是什么?单片机的工作原理主要包括以下几个方面:- 输入信号的采集:通过输入端口采集外部信号,如按键输入、传感器信号等。

- 数据处理:通过处理器核心执行程序,对输入信号进行处理,例如判断、计算、逻辑运算等。

- 输出控制:根据处理结果,通过输出端口驱动外部设备,实现对外部环境的控制。

4. 单片机有哪些常见的型号?单片机的型号种类繁多,常见的有51系列(如AT89C51)、AVR系列(如ATmega8)、PIC系列(如PIC16F877A)等。

每个型号都具有不同的特点和适用场景,需要根据具体需求选择。

5. 单片机编程语言有哪些?单片机编程语言主要包括汇编语言和高级语言。

汇编语言是单片机底层编程语言,直接操作硬件寄存器和指令集;高级语言包括C语言、C++语言等,具有更高的可读性和可移植性。

6. 单片机开发常用的开发工具有哪些?单片机开发常用的开发工具包括编译器、开发板和仿真器。

编译器用于将高级语言代码转换为机器语言;开发板是一个具备输入输出接口、可编程逻辑等功能的硬件平台,用于搭建实验环境;仿真器是用于调试和测试单片机程序的工具。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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状态。

相关文档
最新文档