单片机期末考试卷集锦.doc_第1页
单片机期末考试卷集锦.doc_第2页
单片机期末考试卷集锦.doc_第3页
单片机期末考试卷集锦.doc_第4页
单片机期末考试卷集锦.doc_第5页
免费预览已结束,剩余7页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2、TTL电平使用+5V表示数字( 1 ),0V表示数字( 0 )。4、LED显示器有(静态)和(动态)两种显示方式。6、MCS-51单片机的存储空间,从使用者的角度看可分为(片内RAM )、(片外RAM )、( ROM )三种。8、ALU指的是(算术逻辑部件 )。9、对于定时器/计数器T2,从引脚T2EX输入的脉冲触发信号的作用(可能是重装初值、捕获计数值或单纯的产生外中断。)。10、在片外数据区0xfdff地址处定义一无符号字符型变量dis_bit,便于通过dis_bit给数码管送位码。其定义为:unsigned char xdata dis_bit _at_ 0xfdff;11、C51与汇编语言混合编程的两种方法是(程序中只有C语言文件,个别C语言函数中嵌入汇编语句)和(程序中包含有C语言与汇编语言两种文件)12、根据信息的传送方向,串行通信通常有三种:(单工)、(半双工 )和(双工 )。13、某单片机有一个8位中断优先级高字节特殊功能寄存器IPH它的地址是0xb7,定义该特殊功能寄存器IPH的方法是:sfr IPH=0xb71、某单片机有一个8位串口2数据缓冲特殊功能寄存器S2BUF,它的地址是0x9b,定义该特殊功能寄存器S2BUF的方法是:sfr S2BUF=0x9b;3、机器语言是用(二进制编码)表示每条指令,是计算机能够直接识别和执行的语言。4、单片机的应用系统可以分为(前向通道)通道(后向通道)通道和(人机通道)通道。6、MCS-51单片机内部有一个( 8 )位CPU。7、A/D转换芯片是将(模拟)量转换为(数字)量的芯片。8、把无符号字符型变量i、j,定义在片内RAM低128字节的一般数据区域。其定义为:unsigned char data i,j;10、数字0的共阳极段码是(3F),共阴极段码是(C0)。11、串行通信的两种基本的通信方式是(同步 )方式和(异步 )方式。13、欲在函数founct()中使用第2组工作寄存器,则定义函数时的说明部分应该是(假设不传递参数,返回无符号字符型数据):unsigned char founct() using 22、DPTR是一个16位的寄存器,其高字节寄存器用(DPH)表示,低字节寄存器用(DPL)表示。3、对于多路DA转换接口,要求同步进行DA转换输出时,必须采用(双缓冲器同步)方式接法。7、单片机对外部访问的数据总线宽度为(8)位。 10、D/A转换芯片是将(数字)量转换为(模拟)量的芯片。 15、把长度为50的无符号字符型数组array,定义在片外RAM数据区域。其定义为:unsigned char xdata array50;,分别是(空闲)方式和(掉电)方式。2、89C52单片机定时器2的8位低字节特殊功能寄存器TL2,它的地址是0xcc,定义该特殊功能寄存器TL2的方法是:sfr TL2=0xcc;5、编写定时器2中断服务函数int_t2(),则函数的说明部分应该是:void int_t2() interrupt 56、已知无符号字符型变量operate定义在bdata区域中,将其第0位定义为位变量flag_key的方法为:sbit flag_key=operate0;7、在片外数据区0xdfff地址处定义一无符号字符型变量da_port,便于通过da_port输出实现D/A转换。其定义为:unsigned char xdata da_port _at_ 0xdfff;8、单片机数据存储器存储的内容是(程序执行中用到的各种数据、堆栈等)。11、PSW的作用是用来(设定CPU的状态和指示指令执行后的状态)。 15、定时器/计数器T2的时钟输出引脚为(P1.0)。16、(指令)是计算机中CPU根据人的意图来执行某种操作的命令。2、编写外中断0服务函数int_ex0(),则函数的说明部分应该是:(void int_ex0() interrupt 0)5、定时器/计数器T2以自动重装方式工作时,外部信号T2EX触发使(RCAP2L、RCAP2H)中的初值装入计数器TL2、TH2。9、在RS232电气规范中,使用+3V+15V表示数字(0)。(-3V-15V,表示数字1)10、单片机有一个8位看门狗控制特殊功能寄存器WDT_CONTR,它的地址是0xc1,定义该特殊功能寄存器CLK_DIV的方法是:(sfr WDT_CONTR=0xc1) 13、用 (助记符、符号、数字) 等来表示指令的程序语言,叫汇编语言。14、定时器/计数器T0、T1以模式0工作时的原理结构可以分为4个部分:(1)信号源,包括内部时钟信号和外部计数脉冲信号;(2)运行控制,包括内部控制和外部信号控制两个部分;(3)计数器,包括低8位和高8位两个部分;(4)计数溢出标志。16、在片外数据区0xefff地址处定义一无符号字符型变量ad_port,便于通过ad_port读取A/D转换结果。其定义为:(unsigned char xdata ad_port _at_ 0xefff)5、程序计数器PC的内容是(将要执行的下一条指令的地址) 。68、89C52单片机的定时器2有一个8位捕获低字节特殊功能寄存器RCAP2L,它的地址是0xca,定义该特殊功能寄存器RCAP2L的方法是:(sfr RCAP2L=0xca;)13、 定时器/计数器T0的计数输入引脚为 ( P3.4)12、某单片机有一个8位串口2控制特殊功能寄存器S2CON,它的地址是0x9a,定义该特殊功能寄存器S2CON的方法是:sfr S2CON=0x9a;13、定时器/计数器T2配置有一外部控制信号T2EX,其作用有4种:(1)触发重装初值; (2)触发捕获计数值; (3)控制计数方向; (4)单纯的产生外中断。15、RST是单片机的(复位) 信号输入端。3、定时器/计数器T2的外部触发信号是(下降沿)有效。8、键盘按结构的不同可分为(独立式、行列式)两类。 2、按照指令的长度来分,51单片机指令可分为(单字节)指令,(双字节)指令和(3字节)指令。4、把长度为20的有符号字符型数组array,定义在片内RAM数据区域(不限制在低128字节区域)。其定义为char idata array20;7、消除键盘的机械抖动有(硬件、软件)法。 10、单片机程序存储器存储的内容是(程序、常数和数据表格) 4、定时器/计数器T2的计数输入引脚为(P1.0)15、编写串行口中断服务函数int_s(),则函数的说明部分应该是:void int_s() interrupt 41、某8位数模转换器与单片机并行连接,使用总线方式进行访问,已知转换器的地址为0xbff0,欲通过指针变量pdca访问转换器,则指针变量pdca的定义方法为:unsigned char xdata *pdca=0xbff06、编写定时器1中断服务函数int_t1(),则函数的说明部分应该是:void int_t1() interrupt 13、定时器/计数器T1的计数输入引脚为(P3.5)。14、存在(空闲)位是串行异步通信的特征之一。 4、一台计算机所能执行的全部指令的集合,称为这个CPU的(指7、把长度为20的浮点型数组array,定义在片内RAM数据区域(不限制在低128字节区域)。其定义为: float idata array20;11、CPU包含两个基本部分:(运算器 )和(控制器 )。3、89C52单片机有一个与定时器2相配套的16位捕获特殊功能寄存器RCAP2,它的地址是0xca,定义该特殊功能寄存器RCAP2的方法是:sfr16 RCAP2=0xca;4、定义一个标示设备运行状态的位变量flag_run, flag_run的定义方法为:bit flag_run;14、定时器/计数器T0的运行外部控制引脚P3.2是(高电平)有效。15、编写定时器0中断服务函数int_t0(),则函数的说明部分应该是:void int_t0() interrupt 11、某单片机系统的晶振频率为6MHz,使用T0(或T1)以模式0定时,则最大定时时间为(D)s。A、512 B、8192;C、16382; D、163842、单片机串行口的工作方式(D)是11位异步方式,波特率由定时器溢出率决定。A、0 B、1 C、2 D、32、单片机串行口的工作方式(C)是11位异步方式,波特率固定。A、0 B、1 C、2 D、33、某单片机系统T1用外部门控制以模式2计数, T0以模式1定时,则模式寄存器TMOD应该设置为(A)。A、0xe1; B、0xe5; C、0xd1; D、0xd5。6、下面的指令哪一个是错误的。( A)A、MOV R0,R3 B、MOV 34H,R0C、ADD A,34H D、MOV B,34H2、定时器/计数器T0、T1以模式0工作时,是1个(C)位的定时器或计数器。A、8; B、12; C、13; D、16.7、下面的指令中正确且是寄存器间接寻址的指令是(A )A、MOVX A,DPTR B、ADD B,R0C、MOV R7,A D、MOV A,R211、单片机串行口的工作方式( A )是同步移位寄存器方式。A、0 B、1 C、2 D、31、某单片机系统的晶振频率为12MHz,使用T0(或T1)以模式0定时,则最大定时时间为(B)s。A、65536;B、8192; C、8191; D、2568、某单片机系统使用T0中断定时扫描显示数码管,系统还使用了外中断0、外中断1和串行口中断,为了使其它中断对数码管显示不产生影响,可以通过设置各个中断的优先级实现,对中断优先级寄存器IP设置为下面的(A)。A、0x02; B、0x04; C、0x08; D、0x20。10、单片机对外部访问时( C )口提供高8位地址信号。A、P0 B、P1 C、P2 D、P32、单片机串行口的工作方式(B)是10位异步方式。A、0 B、1 C、2 D、32、使用printf、putchar、puts函数输出数据,必须先对串行口初始化,初始化内容之一是写SCON设置串行口工作方式。设串行通信传输格式为8个数据位、1个停止位,1个校验位,则设置SCON的数值为下面的(C)。A、0x40; B、0x80; C、0xc0; D、0x50。3、使用printf、putchar、puts函数输出数据,必须先对串行口初始化,初始化内容之一是写SCON设置串行口工作方式。设串行通信传输格式为8个数据位、1个停止位,不校验,则设置SCON的数值为下面的(A)。A、0x40或0x50; B、0x80; C、0x90; D、0xc0。1、使用getchar、scanf等函数从串行口输入数据,必须先对串行口初始化,初始化内容之一是写SCON设置串行口工作方式、启动接收。设串行通信传输格式为8个数据位、1个停止位,1个校验位,则设置SCON的数值为下面的(D)。A、0x40; B、0x50; C、0xc0; D、0xd0。4、某单片机系统的晶振频率为12MHz,使用T0定时50ms。对T0进行设置以下不正确的是(B)。A、设置以模式1定时;B、模式寄存器TMOD高4位设置为1;C、初值设置为15536; D、计数脉冲来自于片内时钟。5、PSW中的奇偶标志指的是( D )。A、CY B、AC C、OV D、P6、下面的指令哪一个是正确的。(A )A、MOV R0,34H B、MOV #34H,R0C、ADD B,34H D、MOV B,R19、串行异步通信的一帧数据是由以下几个部分组成:起始位、数据位、奇偶校验位、停止位,选择下列正确说法。(A)A、都是 B、都不是C、不是 D、不是11、MCS-51增强型单片机的3个定时器/计数器的位数是下面的(B)。A、T0是8位的,T1和T2是16位的; B、T0、T1和T2都是16位的;C、T0是8位的,T1是16位的,T2是24位的;D、T0和T1是16位的,T2是24位的。12、下面的指令中是寄存器寻址的指令是(D )A、MOV A,#34H B、ADD B,34HC、MOV R7,P0 D、MOV A,R213、C51中整型数据的存放方式是:AA、高字节在前、低字节在后; B、低字节在前、高字节在后;C、低字节在低地址、高字节在高地址。1、使用单片机T0对生产线上的工件进行计数,每够255个进行一项处理,对T0的工作模式进行设置,以下正确的是(D)。A、设置以模式2定时; B、模式寄存器TMOD低4位设置为2;C、模式寄存器TMOD低4位设置为5; D、模式寄存器TMOD低4位设置为6。3、使用单片机T0对生产线上的工件进行计数,每够250个进行一项处理,对T0进行设置以下正确的是(B)。A、设置以模式2定时; B、模式寄存器TMOD低4位设置为6;C、初值设置为5; D、计数脉冲从P3.5引脚输入。2、下面的指令中是变址寻址的指令是(A )A、MOVC A,A+DPTR B、ADD B,R0 C、MOV R7,A D、MOV A,#38H6、某单片机系统的晶振频率为11.0592MHz,使用T0(或T1)以模式1定时,则最大定时时间为(D)ms。A、0.278; B、8.889; C、71.11; D、71.1118、PSW中的进位标志指的是( A )。A、CY B、AC C、OV D、P13、PSW中的溢出标志指的是( C )。A、CY B、AC C、OV D、P1、PSW中的半进位标志指的是( B )。A、CY B、AC C、OV D、P5、下面的指令中是寄存器寻址的指令是(D )A、MOV A,#34H B、ADD B,34H C、MOV R7,P0 D、MOV A,R26、单片机串行口的工作方式(B )是10位异步方式。 A、0 B、1 C、2 D、37、某单片机系统T1做串行口波特率发生器,T0以模式3工作,用TL0计数,用TH0定时,则模式寄存器TMOD应该设置为(D)。 A、0x03; B、0x07; C、0x23; D、0x27。4、某海洋资源勘测系统使用单片机T1计数控制探头勘测深度,其中有一项目要求深度为计数35500。对T1进行设置以下不正确的是(B)。A、设置以模式1计数; B、模式寄存器TMOD高4位设置为6;C、初值设置为30036; D、计数脉冲从P3.5引脚输入。1、定时器/计数器T0、T1以模式0工作时的最大计数值为(B)。 A、8191; B、8192; C、65535; D、655364、定时器/计数器T0、T1以模式2工作时的最大计数值为(B)。A、255; B、256; C、8192; D、655364、定时器/计数器T0以模式3工作时TH0的最大计数值为(C)。A、65535; B、8192; C、256; D、2553、某单片机系统的晶振频率为6MHz,使用T1定时460s。对T1进行设置以下不正确的是(A)。A、设置以模式1定时;B、模式寄存器TMOD高4位设置为2;C、初值设置为26; D、计数脉冲来自于片内时钟。5、某单片机系统T1做串行口波特率发生器,T0以模式1定时,则模式寄存器TMOD应该设置为(B)。A、0x12; B、0x21; C、0x25; D、0x61。9、下面的指令哪一个是错误的。(C )A、MOV R0,A B、MOV 34H,R0C、ADD B,34H D、MOV B,34H1、 在C51的small存储(编译)模式下,变量的默认存储区域是data、idata区域。2、 定时器/计数器T1的运行外部控制引脚P3.3是高电平有效。1、指针变量p的定义方法为:char *p;则p为字符型通用指针 4、伪指令是汇编程序中,用于指示汇编程序如何对源程序进行汇编的指令。5、程序计数器PC的内容是正在执行的指令的地址。8、sfr、sfr16是C51增加的特殊功能寄存器型变量 10、同步方式不是串行通信的两种基本的通信方式之一。2、定时器/计数器T2的计数输入引脚为P3.6。4、定时器/计数器T0、T1运行的外部控制信号为低电平有效。5、程序计数器PC是可以寻址的。6、按照指令的长度来分,51单片机指令可分为单字节指令,双字节指令,和3字节指令。8、并行通信比串行通信适合近距离通信。10、MCS-51单片机内部有一个8位CPU。2、TTL电平使用正逻辑表示。4、并行通信比串行通信传输速度慢。5、在C51的compact存储(编译)模式下,变量的默认存储区域是pdata区域。8、在RS232电气规范中,使用负逻辑表示。9、单片机对外部访问的地址总线宽度为16位。1、定义指向片内可按位访问区域中的无符号字符型指针变量p的方法为:unsigned char bdata *p; 5、在RS232电气规范中,使用+3V+15V表示数字0。6、EQU的功能是将右边的项赋值给左边。在汇编过程中,遇到EQU定义的符号名,就用其右边的项代替符号名。8、并行通信比串行通信所需电缆线数目少。10、异步方式不是串行通信的两种基本的通信方式之一。3、存在空闲位是同步通信的特征之一。 5、异步方式是串行通信的两种基本的通信方式之一。7、在子程序中,要注意保护在主调程序中使用的寄存器、存储单元中的数据,必要时在子程序的开始使其进栈保护,在子程序返回前再出栈恢复原来值。 9、bit、sbit是C51增加的位型变量 6、伪指令不同于指令,在汇编时并不翻译成机器代码,只是在汇编过程进行相应的控制和说明。7、MCS-51单片机内部有一个16位CPU。 3、C51中默认的存储(编译)模式是small。 4、TTL电平使用0V表示数字0。 5、定时器/计数器T1的运行外部控制引脚P3.3是高电平有效。 6、DATA的功能与EQU相似,是将右边的项赋值给左边。在汇编过程中遇到DATA定义的符号名,就用其右边的项代替符号名。该伪指令是用于定义片内数据区变量。 7、并行通信比串行通信适合远距离通信慢。8、单片机对外部访问的数据总线宽度为8位。9、存在空闲位不是串行异步通信的特征之一。 3、定义指向片内可按位访问区域中的无符号整型指针变量p的方法为:unsigned int *p;4、存在空闲位是串行异步通信的特征之一。4、89C52单片机的16位定时器2特殊功能寄存器T2,它的地址是0xcc,定义该特殊功能寄存器T2的方法是:sfr T2=0xcc; 5、并行通信比串行通信适合远距离通信。7、子程序末尾一定要有返回指令。而调用子程序的指令应该在其它程序中。9、TTL电平使用0V表示数字0。2、在子程序中,要明确指出“入口参数”和“出口参数”,入口参数就是在调用前需要给子程序准备的数据,出口参数就是子程序的返回值。()9、程序计数器PC的内容是将要执行的下一条指令的地址。()10、字符A的共阳极段码是77,共阴极段码是88。()2、定义一个位变量flag,用于某种事件出现的标志,flag定义方法为:bit flag;()5、子程序是指完成某一确定任务,并且能够被其它程序反复调用的程序段。采用子程序,可以简化程序,提高编程效率。()1、已知无符号字符型变量operate定义在bdata区域中,将其第5位定义为位变量flag_port的方法为:sbitflag_port =operate5; 2、在片外数据区0xfdff地址处定义一无符号字符型变量dis_bit,便于通过dis_bit给数码管送位码。其定义为:unsigned char xdatadis_bit _at_ 0xfdff;4、欲在函数founct()中使用第2组工作寄存器,则定义函数时的说明部分应该是(假设不传递参数,没有返回值):void founct() use2 四、简答题1、简述定时器/计数器T0以模式3工作时T0的原理结构。答案:(1)分成TL0和TH0两个8位计数器; (2)TL0的结构仍然包括内外2个可选信号源、内外两个运行控制部分、8位计数器TL0、计数溢出标志4个部分; (3)TH0的结构包括时钟信号源、内部运行控制、8位计数器TH0、计数溢出标志4个部分。2、常见的开关器件有哪些?答案:继电器,光电耦合器,光电耦合驱动晶闸管等。3、单片机复位后,CPU使用哪组工作寄存器?它们的地址是什么?用户如何改变当前工作寄存器组?答案:单片机复位后,CPU使用0组工作寄存器。它们的地址是00H07H。通过程序状态字PSW中的RS1、RS0标志位改变当前工作寄存器组。 4、MCS-51单片机内部包含哪些主要逻辑功能部件?答案:1)、1个8位CPU2)、128(256)字节的RAM3)、4kB(8kB)Flash ROM4)、4个8位并行口5)、2(3)个16位定时/计数器6)、中断机构7)、1个全双工的串行口8)、振荡电路和时钟发生器9)、对外访问的系统三总线结构2、简述串行口四种工作方式的特点。答案:方式0:同步移位寄存器,波特率为fosc/12;方式1:10位异步方式,波特率由定时器控制;方式2:11位异步方式,波特率为fosc/32或fosc/64;方式3:11位异步方式,波特率同方式1。3、若定时器T1设置成模式2作波特率发生器,已知fosc=6MHz,求可能产生的最高和最低的波特率。答案:波特率=fosc*(SMOD+1)/(384*(256-X)fosc=6*106当SMOD=1,X=255时,波特率有最大值31250当SMOD=0,X=0时,波特率有最低值615、动态数码管显示的原理是什么?答案:段选码、位选码每送入一次后延时1ms,因人眼的视觉暂留时间为0.1s(100 ms),所以每位显示的间隔不要超过20ms,并保持延时一段时间,以造成视觉暂留效果,给人看上去每个数码管总在亮。6、89C52中SCON的SM2、TB8、RB8有何作用?答案:SM2:多机通信控制位。 TB8:发送数据的第9位。 RB8:接收数据的第9位。7、ADC0809的EOC引脚有何作用?答案:EOC转换结束信号,是芯片的输出信号。转换开始后,EOC信号变低;转换结束时,EOC返回高电平。这个信号可以作为AD转换器的状态信号来查询,也可以直接用作中断请求信号。4、什么是单片机?单片机有哪些特点?答案:单片机是指将CPU、RAM、ROM、中断系统、定时器以及I/O口等集成在一块芯片上构成的单片微型计算机。它有体积小、成本低、运用灵活、扩展能力强、抗干扰能力强等特点。8、简述单片机多机通信的原理。答案:主机首先发送的一帧数据为地址,即某从机机号,其中第9位为1,所有的从机接收到数据后,将其中第9位装入RB8中。各个从机根据收到的第9位数据(RB8中)的值来决定从机可否再接收主机的信息。若(RB8)=0,说明是数据帧,则使接收中断标志位RI=0,信息丢失;若(RB8)=1,说明是地址帧,数据装入SBUF并置RI=1,中断所有从机,被寻址的目标从机清除SM2,以接收主机发来的一帧数据。其他从机仍然保持SM2=1。9、若晶振为11.059 2MHz,串行口工作于方式1,波特率为4 800b/s。写出用T1作为波特率发生器的方式字和计数初值。答案:方式字TMOD:0x20 计数初值:设置波特率控制位(SMOD)=0 X=256-11.0592*106*(0+1)/(384*4800)=250所以,(TH1)=(TL1)=250。10、若定时器T1设置成模式2作波特率发生器,已知fosc=6MHz,求可能产生的最高和最低的波特率。答案:波特率=fosc*(SMOD+1)/(384*(256-X) fosc=6*106 当SMOD=1,X=255时,波特率有最大值31250当SMOD=0,X=0时,波特率有最低值6111、简述行扫描法的工作原理?答案:行扫描法是:向行线输出全扫描字00H,把全部行线置为低电平,如果有按键按下,总会有一根列线电平被拉至低电平,从而使列输入不全为l。从而得到列号;然后依次给行线送低电平,然后查所有列线状态,称行扫描。如果全为l,则所按下的键不在此行;如果不全为l,则所按下的键必在此行。从而得到行号。12、常见的模/数转换电路有哪些? 答案:(计数比较型、逐次逼近型、双积分型)13、为什么要消除键盘的机械抖动?有哪些方法?答案:键抖动会引起一次按键被误读多次。为了确保CPU对键的一次闭合仅做一次处理,必须去除键抖动。可用硬件或软件两种方法消除。14、89C52单片机的串行口由哪些功能部件组成?各有什么作用?答案:89C52通过引脚RXD(P3.0,串行数据接收端)和引脚TXD(P3.1,串行数据发送端)与外界进行通信,单片机内部的全双工串行接口部分,包含有串行发送器和接收器,有两个物理上独立的缓冲器,即发送缓冲器和接收缓冲器SBUF。发送缓冲器只能写入发送的数据,但不能读出;接收缓冲器只能读出接收的数据,但不能写入。控制状态寄存器SCON ,用于定义串行通信口的工作方式和反映串行口状态。15、什么是堆栈?栈指针SP的作用是什么?答案:堆栈是在RAM专门开辟的一个特殊用途的存储区。堆栈是按照“先进后出”(即先进入堆栈的数据后移出堆栈)的原则存取数据。堆栈指针SP是一个8位寄存器,其值为栈顶的地址,即指向栈顶,SP为访问堆栈的间址寄存器。16、MCS-51单片机的P0P3口用作通用I/O口输入数据时应注意什么?P0口用作输出口输出数据时应注意什么?答案:MCS-51单片机的P0P3口用作通用I/O口输入数据时应注意先向口锁存器写1;P0口用作输出口输出数据时应加上拉电阻。17、简述MCS-51单片机片内RAM存储的空间分配。内部RAM低128字节分为哪几个主要部分。答案:MCS-51单片机片内RAM分为低128字节、高128字节和SFR。内部RAM分为工作寄存器组区、位寻址区和用户数据区三部分。18、为什么定时器T1用作串行口波特率发生器时,常选用工作模式2?若已知系统时钟频率和通信用波特率,如何计算其初值?答案:定时器的模式2是8位自动重装初值的方式,可以产生非常精确的定时时间,所以被用作串行口波特率发生器。定时器初值计算公式:X=256-fosc*(SMOD+1)/(384*波特率)19、单片机前向通道的作用是什么?答案:被测对象的有关参量往往是一些连续变化的模拟量,如温度、压力、流量、速度等物理量,这些模拟量必须转换成数字量后才能输入到计算机进行处理。这就是单片机与被测对象联系的前向通道。20、MCS-51单片机片内RAM包含哪些可以位寻址的单元。位地址7CH和字节地址7CH如何区别?位地址7CH具体在片内RAM的什么位置?答案:MCS-51单片机片内RAM包含位寻址区和SFR中字节地址能够被8整除的SFR。位地址和字节地址的区别在于使用不同的寻址方式,位地址使用位寻址,字节地址使用直接寻址或间接寻址。位地址7CH在片内RAM中字节地址为2FH的第4位。21、简述按键扫描的过程?答案:判断键盘中是否有键按下;进行行扫描,判断是哪一个键按下,若有键按下,则调用延时子程序去抖动;读取按键的位置码;将按键的位置码转换为键值六、编程题1、设计一个22的行列式键盘(同在P1口)电路并编写键扫描程序。答案:#includeunsigned char key() unsigned char row,col=0,k =-1; P1=0xfc; if(P1&0xfc)=0xfc) return(k); delay20ms(); if(P1&0xfc)=0xfc) return(k); for(row=0;row2;row+) P1=(1row); k=P1&0xfc; if(k!=0xfc) while(k&(1(col+2) col+; k=row*2+col; P1=0xfc; while(P1&0xfc!=0xfc); break; return k;2、编写一密码锁开锁时的密码核对函数,函数入口参数为开锁者输入的6位十进制数(长整型),系统已经保存有10组密码passw,函数的功能是把输入的数与保存的密码逐个比较,正确时返回1,错误时返回0。答案:bit check_password(long dd) unsigned char i;for(i=0;i10;i+) if(passwi=dd) return 1;return 0;3、使用MCS-51单片机系统的定时器/计数器T1定时中断,从P3.6和P3.7引脚分别输出周期为500s和1000s的方波。设晶振频率为6MHz。完成下列问题:(1)使用一个定时器怎样产生两种方波?(2)定时多少s?定时器初值是什么?使用模式几?(3)编写主函数和T1中断服务函数,使P3.6和P3.7引脚产生方波。(不考虑T0)。答案:(1)T1定时每次中断对P3.6引脚取反产生周期为500s的方波,每2次中断对P3.7引脚取反产生周期为1000s的方波。(2)定时250s;初值为131;使用模式2。(3)C语言程序#include sbit P36=P36; sbit P37=P37; 主函数:main() TMOD=0x21; TL1=131; TH1=131; EA=1; ET1=1; TR1=1; while(1); T1中断服务函数:void int_t1(4、某MCS-51单片机系统使用定时器/计数器T0监测某设备信号,当设备出现故障时其信号为高电平,要求出现故障时,从P3.5引脚输出方波,产生频率为1000Hz的报警声音。设晶振频率为12MHz,不考虑T1。完成下列各问题:(1)怎样使用故障信号控制T0工作产生方波?(2)计算声音信号的周期、T0的定时时间、T0在定时时间内的计数值;(3)选T0以何种模式工作?TMOD赋何值?(4)计算T0初值;(5)编写主函数和T0中断服务函数,使T0以中断方式从P3. 5引脚产生报警声音方波。答案:(1)用外部门控制T0工作(2)1ms,500s,500(3)模式2,TMOD=0X29(4)65036(5)C语言程序#include sbit P35=P35;主函数:main() TMOD=0x29; TL0=12, TH0=254; EA=1, ET0=1; TR0=1; while(1); T0中断服务函数:void int_t0(void) interrupt 1 TL0=12, TH0=254;P35=P355、编写一函数,对无符号字符型数组用冒泡法从小到大进行排序,函数的入口参数为拟排序的数组aa和数组的长度m。答案:void sort(unsigned char aa, unsigned char m) unsigned char I,j,n,tem; for(i=0;im-1;i+) n=m-i-1; for(j=0;jaaj+1) tem=aaj; aaj=aaj+1; aaj+1=tem; 6、设fsoc=11.059 2MHz,试编写一段程序,其功能为对串行口初始化,使之工作于方式1,波特率为1 200b/s;并用查询串行口状态的方法,读出接收缓冲区的数据并回送到发送缓冲区。答案:#includevoid main()unsigned char c; TMOD=2; TH1=0xe8; TL1=0xe8; TR1=1; SCON=0x50; while(1) while(!RI); RI=0; c=SBUF; SBUF=c; while(!TI); TI=0; 7编写函数,查找code区域中从0x0030开始的100个单元中出现0x55的次数,并将查找的结果从函数中返回。答案:unsigned char find(void) if(*(p+)=0x55) unsigned char i, dd=0;dd+;unsigned char code *p;return dd; I=100; p=0x0030;while(i-)8、某MCS-51单片机系统使用定时器/计数器T1定时,产生频率为1000Hz的方波声音信号,要求方波信号从P3.5引脚输出。设fosc=6MHz,不考虑T0。完成下列各问题:(1)计算声音信号的周期和T0的定时时间; (2)计算T1在定时时间内的计数值;(3)应该选T1以何种模式工作最恰当?写出模式字TMOD的值; (4)计算T1的定时初值;(5)编写主函数和T1中断服务函数,使T1以中断方式从P3. 5引脚产生方波。答案:(1)1ms,500s (2)250 (3)模式2,TMOD=0X25 (4)6 (5)C语言程序#include sbit P35=P35;主函数:main() TMOD=0x25; TL1=6, TH1=6; EA=1, ET1=1; TR1=1; while(1); T1中断服务函数:void int_t1(void) interrupt 3 P35=P35; 9、使用MCS-51单片机的P3.2引脚测量正脉冲的宽度。设系统振荡频率为12MHz。完成下列问题:(1)测量的原理是什么?(2)如果是使用定时器/计数器实现,是定时还是计数?使用什么模式?(3)编写C语言测量函数(不考虑T1)。答案:(1)用T0定时,外部门控制工作,脉冲出现期间所计数对应的时间,就是脉冲宽度。(2)用T0以模式1定时(3)测量函数#include sbit P32=P32; unsigned int measure () TMOD=0x09;TL0=0; TH0=0;while(P32=1);TR0=1;while(P32=0);while(P32=1);TR0= 0;return (TH0*256+TL0);10、编写一函数,查找片外RAM区域中从0x0100开始的200个单元中出现0xaa的次数,并将查找的结果从函数中返回。答案:unsigned char find(void) unsigned char data i, d=0;unsigned char xdata *p;i=200; p=0x0100;while(i-)if(*(p+)=0xaa) d+;return d; 11、某MCS-51单片机系统使用定时器/计数器T0定时,从P1.0 产生频率为100kHz等宽矩形波。假定单片机的晶振频率为12MHz,不考虑T1。完成下列各问题:(1)计算方波周期和T0的定时时间;(2)计算T0在定时时间内的计数值;(3)应该选T0以何种模式工作最恰当?写出模式字TMOD的值;(4)计算T0的定时初值;(5)编写主函数和T0中断服务函数,使

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论