单片机总复习答.doc

上传人:s****u 文档编号:12752169 上传时间:2020-05-22 格式:DOC 页数:18 大小:268.52KB
返回 下载 相关 举报
单片机总复习答.doc_第1页
第1页 / 共18页
单片机总复习答.doc_第2页
第2页 / 共18页
单片机总复习答.doc_第3页
第3页 / 共18页
点击查看更多>>
资源描述
单片机总复习一、选择题1. 存储器的地址范围是0000H0FFFH,它的容量为( D )。A. 1KB B. 2KB C. 3KB D. 4KB2 利用下列( D )关键字可以改变工作寄存器组A. interruptB. sfrC. while D. using2C51中一般指针变量占用( C)字节存储。A、一个 B、两个 C、三个 D、四个3使用宏来访问绝对地址时,一般需包含的库文件是(B)A、reg51.h B、absacc.h C、intrins.h D、startup.h4执行#define PA8255 XBYTE0x3FFC;PA8255=0x7e;后存储单元0x3FFC的值是( A )A、Ox7e B、8255H C、未定 D、7e5设有int i;则表达式i=1,+i,+i|+i,i的值为 ( C )A、1 B、2 C、3 D、46设有int a =10,11,12,*p=&a0;则执行完*p+;*p+=1;后a0,a1,a2的值依次是( C )A、10,11,12 B、11,12,12 C、10,12,12 D、11,11,127设有int i;则表达式i=1,+i,i|+i,i的值为( B )A、1 B、2 C、3 D、48A/D转换方法有以下四种,ADC0809是一种采用( C )进行A/D转换的8位接口芯片。A. 计数式 B. 双积分式 C. 逐次逼近式 D.并行式98051单片机内有( B )个16位的定时/计数器 ,每个定时/计数器都有( B )种工作方式。A. 4, 5 B. 2, 4 C. 5, 2 D. 2, 3 10. 定时器1工作在计数方式时,其外加的计数脉冲信号应连接到( D )引脚。A.P3.2 B.P3.3 C.P3.4 D.P3.511当MCS-51复位时,下面说法准确的是( A )A. PC=0000H B. SP=00H C. SBUF=00H D.(30H)=00H12要使MCS-51能响应定时器T1中断,串行接口中断,它的中断允许寄存器IE的内容应是( A ) A. 98H B. 84H C. 42H D. 22H12. 若某存储器芯片地址线为12根,那么它的存储容量为( C ) A. 1KB B. 2KB C.4KB D.8KB14.要想测量引脚上的一个正脉冲宽度,则TMOD的内容应为( A ) A. 09H B.87H C.00H D.80H15. PSW=18H时,则当前工作寄存器是 ( D ) A. 0组 B. 1组 C. 2组 D. 3组16. MCS-51有中断源 ( A ) A. 5 B. 2 C. 3 D. 617. MCS-51上电复位后,SP的内容应为( B ) A. 00H B. 07H C.60H D. 70H18. 控制串行口工作方式的寄存器是 ( C ) A. TCON B. PCON C. SCON D. TMOD19. P1口的每一位能驱动 ( B ) A.2个TTL低电平负载 B. 4个TTL低电平负载 C.8个TTL低电平负载 D. 10个TTL低电平负载20. 下面哪种外设是输出设备 ( A ) A.打印机 B.纸带读出机 C.键盘 D. A/D转换器21. 所谓CPU是指( A ) A.运算器和控制器 B. 运算器和存储器 C.输入输出设备 D. 控制器和存储器22. 计算机在使用中断方式与外界交换信息时,保护现场的工作应该是 ( C ) A.由CPU自动完成 B.在中断响应中完成 C.应由中断服务程序完成 D.在主程序中完成23.关于MCS-51的堆栈操作,正确的说法是 ( C ) A.先入栈,再修改栈指针 B.先修改栈指针,再出栈 C.先修改栈指针,在入栈 D.以上都不对24.某种存储器芯片是8KB*4/片,那么它的地址线根数是( C ) A.11根 B.12根 C. 13根 D. 14根25.若MCS-51中断源都编程为同级,当他们同时申请中断时CPU首先响应( B ) A. B. C.T1 D.T026. MCS-51单片机复位操作的主要功能是把PC初始化为( C )。 A. 0100H B. 2080H C. 0000H D. 8000H27.若单片机的振荡频率为6MHz,设定时器工作在方式1需要定时1ms,则定时器初值应为( C )。 A.500 B.1000 C.216-500 D.216-100028.定时器1工作在计数方式时,其外加的计数脉冲信号应连接到( D )引脚。 A. P3.2 B. P3.3 C. P3.4 D. P3.529.当外部中断请求的信号方式为脉冲方式时,要求中断请求信号的高电平状态 和低电平状态都应至少维持( A )。 A. 1个机器周期 B. 2个机器周期 C. 4个机器周期 D. 10个晶振周期30. MCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应( A )。 A. 外部中断0 B. 外部中断1 C. 定时器0中断 D. 定时器1中断31.定时器若工作在循环定时或循环计数场合,应选用( C )。 A. 工作方式0 B. 工作方式1 C. 工作方式2 D. 工作方式332. MCS-51单片机的外部中断1的中断请求标志是( D )。 A. ET1 B. TF1 C. IT1 D. IE133. 串行口每一次传送 ( A ) 字符。 A. 1个 B. 1串 C. 1帧 D. 1波特34. 要想把数字送入DAC0832的输入缓冲器,其控制信号应满足 ( B )。 A. ILE=1, =1,=0 B. ILE=1, =0, =0 C. ILE=0, =1, =0 D. ILE=0, =0, =035. 8031单片机的( )口的引脚,还具有外中断、串行通信等第二功能。( D )A. P0 B. P1 C. P2 D. P336. 单片机应用程序一般存放在( B ) A. RAMB. ROM C. 寄存器 D. CPU37. 已知某数的BCD码为0111 0101 0100 0010 则其表示的十进制数值为( B ) A. 7542H B. 7542 C. 75.42H D. 75.4238. INTEL8051CPU是(C)位的单片机 A. 16 B. 4 C. 8 D. 准1639. 8051复位后,PC与SP的值为(B) A. 0000H,00H B. 0000H,07H C. 0003H,07H D. 0800H,00H40. 8031单片机中既可位寻址又可字节寻址的单元是(A) A. 20H B. 30H C. 00H D. 70H41. 计算机能识别的语言是( C )。A.汇编语言 B.自然语言 C.机器语言 D.高级语言42. MCS-51单片机外扩存储器芯片时,4个I/O口中用作数据总线的是( B )。A. P0和P2口 B. P0口 C. P2和P3口 D. P2口43. 访问外部数据存储器时,不起作用的信号是( C )。A. B. C. D. ALE 44. 以下指令中,属于单纯读引脚的指令是( C )。A. MOV P1,A B. ORL P1,#0FH C. MOVC C ,P1.5 D. DJNZ P1,LAB45. 使用定时器T1时,有几种工作模式( C )。A. 1种 B. 2种 C. 3种 D. 4种46. 若MCS-51中断源同级,当它们同时申请中断时,CPU首先响应( B )。A. B. C. T1 D. T047. 如果8255端口A设置为方式2,则端口B设置为( A )。A. 只可以方式0 B. 也可以方式2 C. 除方式2外,其它方式均可 D. 任意方式48. 当MCS-51进行多机通讯时,串行接口的工作方式应选为( C )。A. 方式0 B. 方式1 C. 方式2或方式3 D. 方式0或方式249.七段共阴极发光两极管显示字符H,段码应为( D )A. 67H B. 6EH C. 91H D. 90H50. 在串行通信中, 8031中发送和接收的寄存器是( B ) 。A.TMOD B. SBUF C. SCON D. DPTR51.波特的单位是( B ) A. 字符/秒 B. 位/秒 C. 帧/秒 D. 字节/秒二、填空题1. 设定T1为计数器方式,工作方式2,则TMOD中的值为_。60H(高位为6即可)2. 若IT1=0,当引脚_为低电平的时候,INT0的中断标志位_才能复位。 P3.2 IE03. 在接口电路中,把已经编址并能进行读写操作的寄存器称为_。端口4. 在单片机中,为实现数据的I/O传送,可使用三种控制方式,即_方式、_方式和_方式。无条件传送 查询 中断5. 单片机内有组成微机的主要功能部件_、_和_。CPU;存储器;I/O接口6. 堆栈的特性是_,8051的堆栈一般在_,其堆栈指针是_。后进先出;内部RAM 30H7FH的范围内;SP7. MCS-51内部的SFR共有_个。218. RS232C是_总线标准。串行通信9. 8255是_接口。通用的可编程并行10. MCS-51有一个全双工的_步串行口,有_种工作方式。异;411. 若寄存器IP中的内容为000101100B,则优先级最高者为 ,最低者为 。12. MCS-51单片机的P0-P4口均是_IO口,其中的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建系统的_和_,在P0P4口中,_为真正的双向口,_为准双向口。 并行 数据总线 地址总线 P0 P1P3 13. MCS-5l单片机的堆栈区只可设置在_,堆栈寄存器SP是_位寄存器。片内数据存储区(器) 814. MCS-51单片机外部中断请求信号有电平方式和_,在电平方式下,当采集到INT0、INT1的有效信号为_时,激活外部中断。脉冲方式 低电平 15. 定时器计数器的工作方式3是指的将_拆成两个独立的8位计数器。而另一个定时器计数器此时通常只可作为_使用。定时器计数器0 串行口的波特率发生器 16. MCS-51指令共有六种寻址方式,分别是立即数寻址、_、_、寄存器间接寻址、_、相对寻址。直接寻址, 寄存器寻址, 变址寻址17. P2口通常用作_,也可以作通用的I/O口使用。高8位地址线18. 若由程序设定RS1、RS0=01,则工作寄存器R0R7的直接地址为_。08H0FH19. 所谓寻址,其实质就是_。如何确定操作数的单元地址20. 定时器中断请求发生在_。定时时间到21. 中断响应时间是指_。从查询中断请求标志位到转向中断区入口地址所需的机器周期数22. 通过CPU对I/O状态的测试,只有I/O已准备好时才能进行I/O传送,这种传送方式称为_。程序查询方式23. 一个完整的微机系统由和两大部分组成。硬件 软件24. 单片微型计算机由CPU、存储器和_三部分组成。I/O25. 8051 的引脚RST是_(IN脚还是OUT脚),当其端出现_电平时,8051进入复位状态。8051一直维持这个值,直到RST脚收到_电平,8051才脱离复位状态,进入程序运行状态,从ROM H单元开始取指令并翻译和执行。IN脚 高 低 000026. 帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是 。方式127. PC存放_,具有_特性。在8051中决定程序执行顺序的是PC还是DPTR? 它是_位? (是,不是)SFG? CPU将要执行的指令所在的地址 自动加1 PC 16位 不是28. 8051内部有 并行口,P0口直接作输出口时,必须外接 ;并行口作输入口时,必须先 ,才能读入外设的状态。4 上拉电阻 将口锁存器置129. 51的并行I/O口信息有_和_两种读取方法,读改写操作是针对并行I/O口内的锁存器进行的。读引脚 读锁存器30. MCS-51系统中,当信号有效时,表示从P0口稳定地送出了_。低8位地址31. 半导体存储器分成两大类 和 ,其中 具有易失性,常用于存储 。RAM ROM RAM 临时性数据32. MCS-51的堆栈只可设置在 ,其最大容量为 ,存取数据的原则是 。堆栈寄存器SP是 位寄存器,存放 。片内RAM低128B区 128B 后进先出 8 堆栈栈顶的地址33. 中断处理的全过程分为以下3个段: 、 、 。中断请求 、 中断响应 、 中断服务34. 定时和计数都是对_进行计数,定时与计数的区别是_。脉冲 定时是对周期已知的脉冲计数;计数是对周期未知的脉冲计数35. 中断请求信号有_触发和_触发两种触发方式。电平 边沿(脉冲)36. MCS-51有_中断源,有2个中断优先级,优先级由软件填写特殊功能寄存器_加以选择。5个 IP37. A/D转换器的三个重要指标是_、_和_。转换速度 分辨率 转换精度38. 用串行口扩展并行口时,串行接口的工作方式应选为_。方式039. 74LS273通常用来作简单_接口扩展;而74LS244则常用来作简单_接口扩展。输出 输入40. KeiL C51软件中,工程文件的扩展名是_,编译连接后生成可烧写的文件扩展名是 _。UV2 ,HEX41. C51支持的指针有 和 。一般指针,存储器指针42. C51中,没有专门的循环语句,我们可以用函数_完成一个字节的循环左移,用_ _完成二个字节的循环左移。crol,irol43. 是C语言的基本单位。函数44. 语言中输入和输出操作是由库函数 和 等函数来完成。scanf,printf45. 若有说明int i,j,k;则表达式i=10,j=20,k=30,k*=i+j的值为 。 90046. 是一组有固定数目和相同类型成分分量的有序集合。数组47. 变量的指针就是变量的 ;指针变量的值是 。地址,指针48. C51的基本数据类型有 、 、 、 、 、 。位型、字符型、整形、长整形、浮点型、双精度浮点型49. C51的存储类型有 data 、 bdata 、 idata 、 pdata 、 xdata 、 code 。50. 8051存储区可分为 、 以及 。内部数据存储区、外部数据存储区以及程序存储区 51. C51的存储模式有 、 和 。SMALL、COMPACT、LARGE52. C51程序与其他语言程序一样,程序结构也分为 、 、 三种。顺序结构、选择结构(或分支结构)、循环结构53. 数组的一个很重要的用途就是 。查表54. 8051内部有_个并行口,P0口直接作输出口时,必须外接_;并行口作输入口时,必须先将并口锁存器_(填“置1”或“置0”),才能读入外设的状态。4,上拉电阻,155. LED数码显示有_和_两种显示形式。动态、静态三、判断题1若一个函数的返回类型为void,则表示其没有返回值。( )2特殊功能寄存器的名字,在C51程序中,全部大写。()3“sfr”后面的地址可以用带有运算的表达式来表示。()4#include 与#include “reg51.h”是等价的。()5sbit不可以用于定义内部RAM的可位寻址区,只能用在可位寻址的SFR上。()6Continue 和break都可用来实现循环体的中止。()7若一个函数的返回类型为void,则表示其没有返回值。( )8所有定义在主函数之前的函数无需进行声明。()9int i,*p=&i;是正确的C说明。( )107&3+12的值是15。()11一个函数利用return不可能同时返回多个值。( )12存储器分成内存和外存两大部分,其中外内存可以直接与CPU交换信息。13P2口既可以作为I/O使用,又可以作地址/数据复用口使用。14在中断响应阶段CPU一定要做如下2件工作:保护断点和给出中断服务程序入口地址。15DPTR是由DPH和DPL两个8位特殊寄存器组成的。16C51中,特殊功能寄存器一定需要用大写。 ( )17使用片内存储器时,脚必须置低。( )18单片机外部中断时只有用低电平触发。( )19bit定义的变量一定位于内部RAM的位寻址区。( )20采用单片机的C语言开发时,只能利用C51语言书写程序,不能嵌套汇编语言。( )21MCS-51单片机的程序存储器是可以用来存放数据的。( )22bit和sbit都是用来定义位变量,所以两者之间没有区别,可以随便替换使用。( )23串口中断请求标志必须由软件清除。( )四、简答题1. MCS-51的位存储区在哪里?寻址范围是多少?答:内部RAM的202FH为位寻址区域,位地址范围007FH;特殊功能寄存器中地址能被8整除的字节地址单元也可以位寻址,位地址范围80FFH;位存储区共256个位。2各中断源对应的中断服务程序的入口地址是否能任意设定? 答:各中断源的入口地址已经在中断地址区中被定义了,不能任意设定。3. 如何正确使用P3口? 答: (1)说明P3口有第一功能和第二功能的使用。 (2)P3口的第二功能各位线的含义。 (3)使用时应先按需要选用第二功能信号,剩下的口线才作I/O线用。 (4)读引脚数据时,必需先给锁存器输出“1”。4. 简述MCS-51单片机的中断入口地址。答:中断入口地址为中断响应后PC的内容即中断服务的入口地址。 它们是:外部中断0 0003H 定时器T0中断 000BH 外部中断1 0013H 定时器T1中断 001BH 串行口中断 0023H 5. 简述串行数据传送的特点。答:(1)传送按位顺序进行,速度慢。 (2)传输线少,成本低。 (3)传送距离远,可达几公尺到几千公里。6MCS-51的中断系统有几个中断源?几个中断优先级?中断优先级是如何控制的?在出现同级中断申请时,CPU按什么顺序响应(按由高级到低级的顺序写出各个中断源)?各个中断源的入口地址是多少?答:MCS51单片机有5个中断源,2个中断优先级,中断优先级由特殊功能寄存器IP控制,在出现同级中断申请时,CPU按如下顺序响应各个中断源的请求:INT0、T0、INT1、T1、串口,各个中断源的入口地址分别是0003H、000BH、0013H、001BH、0023H。7已知单片机系统晶振频率为6MHz,若要求定时值为10ms时,定时器T0工作在方式1时,定时器T0对应的初值是多少?TMOD的值是多少?TH0=?TL0=?(写出步骤)答:定时值为10ms时,定时器T0工作在方式1时, 定时器T0对应的初值是1388HTMOD的值是00000001B,TH0=13H;TL0=88H。8MCS-51单片机内部包括哪些主要逻辑功能部件?答:MCS-51单片机主要由下列部件组成:1个8位CPU;1个片内振荡器及时钟电路;4KB ROM程序存储器,256BRAM;21个特殊功能寄存器;2个16位定时/计数器;4个8位并行I/O口及1个可编程全双工串行接口;可寻址64KB的外部程序存储器空间;可寻址64KB的外部数据存储器空间;5个中断源、两个优先级中断嵌套中断结构。9MCS-51单片机内部有几个定时/计数器?它们由哪些寄存器组成?答:MCS-51单片机内部有两个16位可编程的定时/计数器,简称定时器0(T0)和定时器1(T1)。它们分别由方式寄存器TMOD、控制寄存器TCON和数据寄存器TH0、TL0,TH1、TL1组成。10单片机对中断优先级的处理原则是什么?答:(1)低优先级中断源可被高优先级中断源所中断,而高优先级中断源不能被任何中断源所中断; (2)一种中断源(不管是高优先级还是低优先级)一旦得到响应,与它同级的中断源不能再中断它。 当同时收到几个同一优先级的中断时,响应哪一个中断源取决于内部查询顺序。其优先级排列如下: 中断源 同级内的中断优先级外部中断0 最高定时器/计数器0溢出中断外部中断1定时器/计数器1溢出中断串行口中断 最低11简述子程序调用和执行中断服务程序的异同点。答:相同点:均能中断主程序执行本程序,然后再返回断点地址继续执行主程序。 不同点: 1) 中断服务程序入口地址是固定的,子程序调用入口地址是用户自己设定的。 2) 中断服务子程序返回指令除具有子程序返回指令所具有的全部功能之外,还有清除中断响应时被置位的优先级状态、开放较低级中断和恢复中断逻辑等功能。 3) 中断服务子程序是在满足中断申请的条件下,随机发生的;而子程序调用是用户主程序事先安排好的。 12已知晶振频率为6MHz,在P1.0引脚上输出周期为500微秒的等宽矩形波,若采用T1中断,工作方式2,试写出中断初始化程序。13C51 的data、bdata、idata 有什么区别?答:data、bdata、idata是表明数据的存储类型,data是指片内RAM的低128字节,可在一个周期内直接寻址;bdata是指片内RAM的位寻址区,16字节;idata是指片内RAM的256字节,必须采用间接寻址。14C51中的中断函数和一般的函数有什么不同?答:C51编译器允许用C51创建中断服务函数,中断函数是由中断系统自动调用的。中断函数的定义格式为:函数类型 函数名 interrupt n using n其中:interrupt和using为关键字;interrupt后面的n 为中断源的编号,即中断号;using后面的n所选择的寄存器组,取值范围为03。定义中断函数时,using是一个选项,可以省略不用。如果不用using选项,则由编译器选择一个寄存器组作为绝对寄存器组。8051的中断过程通过使用interrupt关键字和中断号(031)来实现,中断号告诉编译器中断函数的入口地址。15按照给定的数据类型和存储类型,写出下列变量的说明形式(1)在data区定义字符变量val1答:char data vall;(2)在idata区定义整型变量val2答:int idata val2;(3)在xdata区定义无符号字符型数组val34。答:unsigned xdata val34;(4)在xdata区定义一个指向char类型的指针px。答:char xdata *px;(5)定义可位寻址变量flag。答:bit flag;(6)定义特殊功能寄存器变量P3。答:Sfr P3=0xB0;16在有串行通信时,定时器/计数器1的作用是什么,怎样确定串行口的波特率?17MCS-51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突,为什么? 答:因为访问外扩的程序存储器和数据存储器执行的指令不同,所发出的控制信号也就不同。读外部数据存储器时,RD信号有效。写外部数据存储器时,WR*信号有效。而读外部程序存储器时,PSEN*信号有效。由于发出的控制信号不同,且只能有一种信号有效,因此,即使MCS-51外扩的程序存储器和数据存储器有相同的地址空间,也不会发生数据冲突。18说明MCS-51的外部引脚EA的作用? 答: EA是内外程序存储器选择控制信号。当EA0时,只选择外部程序存储器。当EA1时,当PC指针0FFFH时,只访问片内程序存储器;当PC指针0FFFH时,则访问外部程序存储器19D/A转换器的主要性能指标都有哪些?设某DAC为二进制12位,满量程输出电压为5v,试问它的分辨率是多少?五、综合应用题1设单片机时钟频率为6MHz,利用T0在P1.0引脚输出50ms周期的方波。#include reg51.hsbit P10=P10;void main()TMOD=0x01;TH0=(65536-12500)/256;TL0=(65536-12500)%256;ET0=1;EA=1;TR0=1;while(1); void T0_srv(void)interrupt 1 using 1TH0=(65536-12500)/256;TL0=(65536-12500)%256;P10=!P10;2分析下面程序实现什么功能?#include reg51.h#include stdio.hvoid init_ser()SCON = 0x50; /*SCON:工作模式1,8-bit UART,允许接收*/TMOD |= 0x20; /*TMOD:定时器T1,工作模式2, 8位自动重载方式*/TH1 = 0xf3; /*当波特率为2400时,定时器初值*/TR1 = 1; /*定时器T1开始运行*/TI = 1; /*允许发送数据*/long factorial(int n) reentrantlong result;if(n=0)result=1;elseresult=n*factorial(n-1);return result;void main()int j;long tmp;long (*p)(int n);/*函数指针变量定义*/init_ser();p=(void*)factorial;/*函数指针变量p指向factorial()函数*/for(j=0;j11;+j)tmp=(*p)(j);/*用指针变量p调用factorial()函数*/printf(%d!=%ldn,j,tmp);for(;);解:输出010的阶乘。3. 假设单片机的晶体振荡器的频率是12MHz,利用定时器1采用方式1定时20ms,写出初值的计算过程和整个定时器初始化程序,同时写出在P1.7脚上输出0.2秒的方波的完整程序。4. 画出下列要求的原理图,假设单片机的P1口的连接8个LED,P3连接8的对地的按键,当某个按钮按下时相应的LED点亮。根据描述画出原理图,并编写程序控制? 5. 某单片机控制系统有8个发光二极管。试画出89C51与外设的连接图并编程使它们由左向右轮流点亮。6. 某控制系统有2个开关K1和K2,1个数码管,当K1按下时数码管加1,K2按下时数码管减1。试画出8051与外设的连接图并编程实现上述要求。7. 在8051系统中,已知振荡频率是12MHz,用定时器/计数器T0实现从P1.1产生周期是2s的方波,试编程。解:#include sbit P1_1=P11;/定义位变量unsigned char i;/定时次数void timer0over(void); /函数声明(定时50ms函数)void main( ) /主函数 i=0; TMOD=0x01;/定时器T0定时50ms,方式1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1;/开T0 for(;) if(TF0) timer0over( ); void timer0over(void) TH0=(65536-50000)/256; TL0=(65536-50000)%256; TF0=0; i+; if(i=20) /20次到了吗? i=0; P1_1=!P1_1; 8. 在8051系统中,已知振荡频率是12MHz,用定时器/计数器T1实现从P1.1产生高电平宽度是10ms,低电平宽度是20ms的矩形波,试编程。解:#include unsigned char i;sbit P1_1=P11;void main( )/主函数 i=0; TMOD=0x10;/T1定时方式1,定时时间10ms TH0=(65536-10000)/256; TL0=(65536-10000)%256; EA=1; ET1=1; TR1=1; while(1);void timer1_int(void) interrupt 3 TH0=(65536-10000)/256; TL0=(65536-10000)%256; i+; if(i=1) P1_1=0; else if(i=3) i=0; P1_1=1; 9. 用单片机和内部定时器来产生矩形波,要求频率为100Hz,占空比为2:1,设单片机的时钟频率为12MHz,写出有关程序。解:#include unsigned char i;sbit P1_1=P11;void main() i=0; TMOD=0x10; TH0=(65536-10000)/256; TL0=(65536-10000)%256; EA=1; ET1=1; TR1=1; while(1);void timer1_int(void) interrupt 3 TH0=(65536-10000)/256; TL0=(65536-10000)%256; i+; if(i=2) P1_1=0; else if(i=3) i=0; P1_1=1; 10. 如图1-1所示,单片机P1口的P1.0和P1.1各接一个开关S1、S2,P1.4、P1.5、P1.6和P1.7各接一只发光二极管。由S1和S2的不同状态来确定哪个发光二极管被点亮,如表1-4所示。表1-4 S1、S2与二极管的关系S2S1被点亮的二极管00VD101VD210VD311VD4解:(一)程序如下:#includevoid main() char a; a=P1/*读P1口*/ a=a&0x03;/*屏蔽高6位*/ if(a=0) P1=0x83; else if a=1 P1=0x43; else if a=2 P1=0x23; else P1=0x13;(二)程序如下:#include “reg51.h”void main( )char a;a=P1;/*读P1口*/a=a&0x03;/*屏蔽高6位*/switch (a) case0:P1=0x83;break; case1:P1=0x43;break; case2:P1=0x23;break;case3:P1=0x13; 11. 外部中断0引脚(P3.2)接一个开关,P1.0接一个发光二极管。开关闭合一次,发光二极管改变一次状态,试编程。解:程序如下:#include “reg51.h”#include “intrins.h”void delay(void) int a=5000; while(a-)_nop_(); void int_srv(void)interrupt 0 using 1 delay(); if(INT0=0) P10=!P10;while(INT0=0); void main() P10=0; EA=1; EX0=1;while(1); 12. 让接在P1.0引脚上的LED发光,试编程。解:程序如下:includesbit P1_0=P10;void main()P1_0=0;13. 让接在P1.0引脚上的LED闪烁发光,试编程。解:程序如下:#includereg51.h#define uchar unsigned char#define uint unsigned intsbit P1_0=P10;/*延时程序,有Delay参数确定延迟时间*/void mdelay(uint Delay)uint i; for(;Delay0;Delay-)for(i=0;i124;i+);void main()for(;)P1_0=!P1_0;/取反P1.0引脚mdelay(10000);13. MCS-51单片机扩展一片2716存储器,画出系统电路原理图,写出地址分布。答:P2.7PSENP2.0P2.2P2.1P0.0ALEP0.78031.A8CEOEA9A10Q7D7GOE74LS373.D0.Q0D7D0A72716(2K).A1.程序存储器的地址范围为:0000H07FFH14. 已知如图所示电路,请回答: (1) ADC0809的口地址为_。 (2) EOC的作用是_。答:(1) ADC0809口地址为7FF0H7FF7H(或7FF87FFFH) (2) EOC为A/D转换结束信号,用来引起中断或查询,以便读取A/D的转换结果。15. 阅读下列硬件图,补齐连接线 ,并回答问题 :ALE、PSEN、WR、RD的功能 答:ALE作地址锁存的选通信号,以实现低八位地址的锁存,PSEN信号作扩展程序存储器的读选通信号,WR、RD作为扩展数据存储器和I/O端口的读写选通信号。 图中各芯片的功能 74LS373:地址锁存器,用来锁存P0口发送的地址低8位 2764 :容量为8KB的程序存储器(EPROM)用来存储程序 6264 :容量为8KB的数据存储器(RAM)用来存储数据 8031:不含程序存储器的8位单片机芯片,是不带I/O设备的微型计算机。2764、6264的地址范围(P2.5取”0”)答:2764:8000H9FFFH 6264: 4000H5FFFH16. 如图所示电路,P1口接4盏LED灯,P3.7引脚接开关SP1。要求从上电开始,当按下SP1,L1闪烁;再按下SP1,L2闪烁;再按下SP1,L3闪烁;再按下SP1,L4闪烁。依次循环,请写出实现以上功能的程序流程图。答:17. 如图所示,利用AT89S51单片机的P0端口的P0.0P0.7连接到一个共阴数码管的ah的笔段上,数码管的公共端接地。在数码管上循环显示09数字,时间间隔0.2秒。请写出实现以上功能的程序流程图。答:18
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!