1、1、单片机是将微处理器、一定容量的 RAM 和 ROM 以及 I/O 口、定时器等电路集成在一块芯片上而构成的微型计算机。2、单片机 89C51 片内集成了 4 KB 的 FLASH ROM,共有 5 个中断源。3、两位十六进制数最多可以表示 256 个存储单元。4、89C51 是以下哪个公司的产品?( C )A、INTEL B、AMD C、ATMEL D、PHILIPS5、在 89C51 中,只有当 EA 引脚接 高 电平时,CPU 才访问片内的 Flash ROM。6、是非题:当 89C51 的 EA 引脚接低电平时,CPU 只能访问片外ROM,而不管片内是否有程序存储器。T7、是非题:当
2、 89C51 的 EA 引脚接高电平时,CPU 只能访问片内的 4KB 空间。F8、当 CPU 访问片外的存储器时,其低八位地址由 P0 口提供,高八位地址由 P2 口提供,8 位数据由 P0 口提供。9、在 I/O 口中, P0 口在接 LED 时,必须提供上拉电阻,P3 口具有第二功能。10、是非题:MCS-51 系列单片机直接读端口和读端口锁存器的结果永远是相同的。F11、是非题:是读端口还是读锁存器是用指令来区别的。T12、是非题:在 89C51 的片内 RAM 区中,位地址和部分字节地址是冲突的。F13、是非题:中断的矢量地址位于 RAM 区中。F14、MCS-51 系列单片机是属于
3、( B )体系结构。A、冯诺依曼 B、普林斯顿 C、哈佛 D、图灵15、89C51 具有 64 KB 的字节寻址能力。16、是非题:在 89C51 中,当 CPU 访问片内、外 ROM 区时用MOVC 指令,访问片外 RAM 区时用 MOVX 指令,访问片内RAM 区时用 MOV 指令。T17、在 89C51 中,片内 RAM 分为地址为 00H7FH 的真正RAM 区,和地址为 80HFFH 的 特殊功能寄存器(SFR) 区两个部分。18、在 89C51 中,通用寄存器区共分为 4 组,每组 8 个工作寄存器,当 CPU 复位时,第 0 组寄存器为当前的工作寄存器。19、是非题:工作寄存器区
4、不允许做普通的 RAM 单元来使用。F20、是非题:工作寄存器组是通过置位 PSW 中的 RS0 和 RS1 来切换的。T21、是非题:特殊功能寄存器可以当作普通的 RAM 单元来使用。F22、是非题:访问 128 个位地址用位寻址方式,访问低 128 字节单元用直接或间接寻址方式。T23、是非题:堆栈指针 SP 的内容可指向片内 00H7FH 的任何RAM 单元,系统复位后,SP 初始化为 00H。F24、数据指针 DPTR 是一个 16 位的 特殊功能寄存器 寄存器。25、是非题:DPTR 只能当作一个 16 位的特殊功能寄存器来使用。F26、是非题:程序计数器 PC 是一个可以寻址的特殊
5、功能寄存器。F27、在 89C51 中,一个机器周期包括 12 个振荡周期,而每条指令都由一个或几个机器周期组成,分别有单周期指令、双周期指令和 4 周期 指令。28、当系统处于正常工作状态且振荡稳定后,在 RST 引脚上加一个高 电平并维持 2 个机器周期,可将系统复位。29、是非题:单片机 89C51 复位后,其 PC 指针初始化为0000H,使单片机从该地址单元开始执行程序。T30、单片机 89C51 复位后,其 I/O 口锁存器的值为 0FFH ,堆栈指针的值为 07H ,SBUF 的值为 不定 ,内部 RAM 的值不受复位的影响,而其余寄存器的值全部为 0H 。31、是非题:单片机系
6、统上电后,其内部 RAM 的值是不确定的。T32、以下哪一个为 51 系列单片机的上电自动复位电路(假设 RST端内部无下拉电阻) (P39 图 2-16(a) ) 。33、在 89C51 中,有两种方式可使单片机退出空闲模式,其一是 任何的中断请求被响应 ,其二是 硬件复位 ;而只有 硬件复位 方式才能让进入掉电模式的单片机退出掉电模式。34、请用下图说明 89C51 单片机读端口锁存器的必要性。读锁存器是为了避免直接读端口引脚时,收到外部电路的干扰,而产生的误读现象。-35、请说明为什么使用 LED 需要接限流电阻,当高电平为+5V 时,正常点亮一个 LED 需要多大阻值的限流电阻(设 L
7、ED 的正常工作电流为 10mA,导通压降为 0.6V) ,为什么?解:因为 LED 导通时,电压降是固定的(0.6V) 。为了使 LED 既能正常工作(电流为 10mA) ,又不至于被过大的电流损坏,所以必须加一个限流电阻。36、以下哪一条指令的写法是错误的( C ) 。A、MOV DPTR,#3F98H B、MOV R0,#0FEH C、MOV 50H,#0FC3DH D、INC R037、以下哪一条指令的写法是错误的( D ) 。A、INC DPTR B、MOV R0,#0FEH C、DEC A D、PUSH A38、以下哪一条指令的写法是错误的( B ) 。A、MOVC A,A+DPT
8、R B、MOV R0,#FEH C、CPL A D、PUSH ACC39、是非题:在 51 系列单片机的指令系统中,其加法、减法、乘法和除法必须有累加器 A 的参与才能完成。T40、以下哪一条是位操作指令( B ) 。A、MOV P0,#0FFH B、CLR P1.0 C、CPL A D、POP PSW41、以下哪一条是位操作指令( B ) 。A、MOV P1,#0FFH B、MOV C,ACC.1 C、CPL A D、POP PSW42、以下哪一条是位操作指令( B ) 。A、MOV P0,#0FFH B、SETB TR0 C、CPL R0 D、PUSH PSW43、简述 89C51 单片机
9、中断的概念。当 CPU 正在处理某件事情的时候,外部发生的某一事件请求 CPU迅速去处理,于是,CPU 暂时中止当前的工作,转去处理所发生的时间。中断服务处理完该事件以后,再回到原来被中止的地方,继续原来的工作,这样的过程成为中断。44、什么是保护现场,什么是恢复现场?保护现场:当 CPU 响应中断程序时,硬件会自动把断点地址(16位程序计数器的值)压入堆栈之外,用户还须注意保护有关工作寄存器、累加器、标志位等信息;恢复现场:在完成中断服务程序后,恢复原工作寄存器、累加器、标志位等的内容。45、单片机 89C51 有哪些中断源,对其中断请求如何进行控制?89C51 中断系统有 5 个中断源:I
10、NT0:外部中断 0 请求,低电平有效。通过 P3.2 引脚输入。INT1:外部中断 1 请求,低电平有效。通过 P3.3 引脚输入。T0 :定时器/计数器 0 溢出中断请求。T1 :定时器/计数器 1 溢出中断请求。TXD/RXD:串行口中断请求。当串行口完成一帧数据的发送或接收时,便请求中断。46、单片机 89C51 的 5 个中断源分别为 INT0 、 INT1 、 T0 、T1 以及 TXD/RXD 。47、单片机 89C51 的中断要用到 4 个特殊功能寄存器,它们是 TCON 、SCON、IE 以及 IP。48、在 89C51 中,外部中断由 IT0(1)位来控制其两种触发方式,分
11、别是 电平 触发方式和 边沿 触发方式。-49、简述单片机 89C51 中断的自然优先级顺序,如何提高某一中断源的优先级别。中断源(控制位) 自然优先级外部中断 0(PX0) 最 高定时器/计数器 0 溢出中断(PT0)外部中断 1(PX1)定时器/计数器 1 溢出中断(PT1)串行口中断(PS) 最 低若某几个控制位为 1,则相应的中断源就规定为高级中断;反之,若某几个控制位为 0,则相应的中断源就规定为低级中断。当同时接收到几个同一优先级的中断请求时,响应哪个中断源则取决于内部硬件查询顺序(即自然优先级) 。-50、是非题:在 89C51 中,当产生中断响应时,所有中断请求标志位都由硬件自
12、动清零。F51、中断处理过程分为 3 个阶段,即 中断响应 、中断处理以及 中断返回 。52、简述 51 系列单片机中断响应的条件。有中断源发出中断请求;中断总允许位 EA=1,即 CPU 开中断;申请中断的中断源的中断允许位为 1,即中断没有屏蔽;无同级或更高级中断正在被服务;当前的指令周期已经结束;若现在指令为 RETI 或者是访问 IE 或 IP 指令,则该指令以及紧接着的另一条指令已执行完。53、是非题:在 51 系列单片机中,中断服务程序从矢量地址开始执行,一直到返回指令 RETI 为止。T54、在 51 系列单片机执行中断服务程序时,为什么一般都要在矢量地址开始的地方放一条跳转指令
13、?因为 51 系列单片机的两个相邻中断源中断服务程序入口地址相距只有 8 个单元,一般的中断服务程序是容纳不下的,因此一般都要在相应的中断服务程序入口地址中放一条跳转指令。55、为什么一般都把主程序的起始地址放在 0030H 之后?因为 0000H0030H 中有中断的矢量地址,为了避免冲突,一般都把主程序的起始地址放在 0030H 之后。56、是非题:在执行子程序调用或执行中断服务程序时都将产生压栈的动作。T57、单片机 89C51 片内有两个 16 位的定时/计数器,即 T0和 T1,它们都有 定时 和事件计数 的功能。58、是非题:定时/计数器工作于定时方式时,是通过 89C51 片内振
14、荡器输出经 12 分频后的脉冲进行计数,直至溢出为止。T59、是非题:定时/计数器工作于计数方式时,是通过 89C51 的P3.4 和 P3.5 对外部脉冲进行计数,当遇到脉冲下降沿时计数一次。T60、是非题:定时/计数器在工作时需要消耗 CPU 的时间。F61、是非题:定时/计数器的工作模式寄存器 TMOD 可以进行位寻址。F62、是非题:定时/计数器在使用前和溢出后,必须对其赋初值才能正常工作。F63、简述定时/计数器 4 种工作模式的特点。模式 1:是 16 位的定时器/计数器;模式 2:把 TL0(或 TL1)配置成一个可以自动重装载的 8 位定时器/计数器;模式 3:对 T0 和 T
15、1 大不相同。若将 T0 设置为模式 3,则 TL0 和 TH0 被分为两个相互独立的 8位计数器。定时器 T1 无工作模式 3 状态。模式 0:与模式 1 几乎完全相同,唯一的差别是模式 0 中,寄存器 TL0 用 5 位, TH0 用 8 位。64、如何运用两个定时/计数器相串联来产生一秒的时钟基准信号。试画出必要的电路部分,并写出程序。 (设晶振频率为 12MHz,用 LED 显示秒信号。注:计数器输入端为 P3.4(T0)、P3.5(T1) 。 )ORG 0000HLJMP MAINORG 000BHLJMP ONEORG 001BHLJMP COUORG 0030HMAIN: MOV
16、 P1,0FFHMOV SP,#60HMOV TMOD,#01100001BMOV TL0,#0B0HMOV TH0,#3CHMOV TL1,#0F6HMOV TH1,#0F6HSETB TR0SETB TR1SETB ET0SETB ET1SETB EASJMP $ONE: PUSH PSWPUSH ACCMOV TL0,#0B0HMOV TH0,#3CHCPL P1.1POP ACCPOP PSWRETICOU: PUSH PSWPUSH ACCCPL P1.0POP ACCPOP PSWRETIEND65、是非题:在 51 系列单片机的指令中,既有带借位的减法指令,又有不带借位的减法指令
17、。F66、用一个定时/计数器加软件计数器的方式,实现一秒的时钟基准信号,试写出程序。 (设晶振频率为 12MHz,由 P1.0 口输出秒信号。 )(本程序使用定时器 T0,工作模式 1。由于晶振频率为 12MHz,因此利用定时器 T0 计时 50ms,其初值为 3CB0H。利用工作寄存器 R7 作软件计数器,计数 20 次。每计时满一秒,就将 P1.0 口输出信号取反,以输出秒信号。)ORG 0000HLJMP MAINORG 000BHLJMP ONEORG 0030HMAIN: MOV P1,0FFHMOV SP,#60HMOV R7,#20MOV TMOD,#01HMOV TL0,#0B
18、0HMOV TH0,#3CHSETB TR0SETB ET0SETB EASJMP $ONE: PUSH PSWPUSH ACCMOV TL0,#0B0HMOV TH0,#3CHDJNZ R7,LOOPCPL P1.0MOV R7,#20LOOP: POP ACCPOP PSWRETIEND67、单片机 89C51 的时钟频率为 6MHz,若要求定时 1ms,定时/计数器工作于模式 1,其定时/计数器的初值为 FE0CH 。68、是非题:单片机 89C51 的定时 /计数器是否工作可以通过外部中断进行控制。T69、单片机 89C51 具有 并行 通信和 串行 通信两种通信方式。70、是非题:并
19、行通信的优点是传送速度高,缺点是所需传送线较多,远距离通信不方便。T71、是非题:串行通信的优点是只需一对传送线,成本低,适于远距离通信,缺点是传送速度较低。T72 、串行通信有 同步 通信和 异步 通信两种通信方式。73、在异步通信中,数据的帧格式定义一个字符由 4 部分组成,即: 起始位 、数据位、 奇偶校验位 和停止位。74、是非题:异步通信中,在线路上不传送字符时保持高电平。T75、是非题:在异步通信的帧格式中,数据位是低位在前高位在后的排列方式。T76、是非题:异步通信中,波特率是指每秒传送二进制代码的位数,单位是 b/s。T77、串行通信中,为使设备同步工作,需要通信双方有两个共同
20、的要求,一是 通信双方必须采用统一的编码方式 ,二是 通信双方必须能产生相同的传送速率 。78、是非题:在 89C51 的串行通信中,串行口的发送和接收都是对特殊功能寄存器 SBUF 进行读/写而实现的。T79、单片机 89C51 中的串行通信共有 4 种方式,其中方式 0 是用作同步移位寄存器来扩展 I/O 口的。80、是非题:在单片机 89C51 中,串行通信方式 1 和方式 3 的波特率是固定不变的。F81、是非题:在单片机 89C51 中,读和写的 SBUF 在物理上是独立的,但地址是相同的。T82、是非题:单片机 89C51 一般使用非整数的晶振是为了获得精确的波特率。T83、是非题
21、:单片机 89C51 和 PC 机的通信中,使用芯片MAX232 是为了进行电平转换。T84、设 89C51 的晶振频率为 11.0592MHz,选用定时器 T 工作模式 2 作波特率发生器,波特率为 2400b/s,且 SMOD 置 0,则定时器的初值为 F4H 。85、简述 89C51 串口通信的四种方式及其特点。方式 0:同步移位寄存器输入/输出方式,常用于扩展 I/O 口。波特率固定为振荡频率的 1/12,并不受 PCON 寄存器中 SMOD 位的影响。方式 1:用于串行发送或接收,为 10 位通用异步接口。TXD 与RXD 分别用于发送与接收数据。收发一帧数据的格式为 1 位起始位、
22、8 位数据位(低位在前) 、1 位停止位,共 10 位。波特率由定时器 T1 的溢出率与 SMOD 值同时决定。方式 2:用于串行发送或接收,为 11 位通用异步接口。TXD 与RXD 分别用于发送与接收数据。收发一帧数据的格式为 1 位起始位、8 位数据位(低位在前) 、1 位可编程的第 9 数据位和 1 位停止位,共 11 位。波特率取决于 PCON 中 SMOD 位的值:当SMOD0 时,波特率为 的 1/64;当 SMOD1 时,波特率为 的 1/32。方式 3:用于串行发送或接收,为 11 位通用异步接口。TXD 与RXD 分别用于发送与接收数据。帧格式与方式 2 相同,波特率与方式
23、 1 相同。86、以下哪种方式的接口总线最少?( C )A、SPI B、I2C C、单总线 D、并行通信87、是非题:89C51 单片机没有 SPI 接口,只能依靠软件来模拟SPI 的操作。T88、是非题:89C51 单片机没有 I2C 接口,只能依靠软件来模拟I2C 的操作。T89、是非题:在 89C51 中,当用某两根口线来实现 I2C 总线的功能时,这两根口线必须接上拉电阻。T90、是非题:在 I2C 总线的时序中,首先是起始信号,接着传送的是地址和数据字节,传送完毕后以终止信号结尾。F91、是非题:在单总线测温器件 DS18S20 中,每个器件都具有一个唯一的序号。T92、简述在使用普
24、通按键的时候,为什么要进行去抖动处理,如何处理。键抖动会引起一次按键被误读多次。为了确保 CPU 对键的一次闭合仅做一次处理,必须去除键抖动。在键闭合稳定时,读取键的状态,并且必须判别;在键释放稳定后,再作处理。按键的抖动,可用硬件或软件两种方法消除。93、键盘可分为 独立连接 式和 行列(矩阵)式两类。键盘可分为 编码 式和 非编码 式两类。94、LED 数码管有 静态 显示和 动态 显示两种方式。95、简述 LED 数码管动态扫描的原理及其实现方式。动态扫描的原理是利用人的视觉暂留,让人觉得各位 LED 同时点亮一样。逐位轮流点亮各个 LED,每一位保持 1ms,在 1020ms之内再一次
25、点亮,重复不止,就可以实现动态扫描。96、是非题:在 A/D 转换器中,逐次逼近型在精度上不及双积分型,但双积分型在速度上较低。T97、是非题:A/D 转换的精度不仅取决于量化位数,还取决于参考电压。T98、以下哪个是属于单片机系统前向通道的器件?( A )A、A/D 转换 B、D/A 转换 C、LED 数码管 D、继电器99、能否把继电器直接接在 89C51 的某一口线上来用?为什么?不能。因为 89C51 的 I/O 所提供的电压不足于驱动继电器,必须加一个三极管。104、在执行下列指令后,A=_60H_,R0=_45H_,(60H)=_45H_。 MOV A,# 45H MOV R0,#
26、 60HMOV R0,AXCH A, R0105、MCS-51 单片机的最大时序定时单位是( D )。 A、 拍节 B、状态 C、机器周期 D、指令周期 106、设 RAM 中(2456H)=66H,(2457H)=34H,ROM 中(2456H)=55H,(2457H)=64H。请分析下面程序执行后各寄存器的内容。 (A)=_64H_,(DPTR)=_2356H_。 MOV A,#1 MOV DPTR,#2456H MOVC A,A+DPTR 107、MCS-51 单片机的定时器/计数器工作方式 0 是( C )。A、8 位计数器结构 B、16 位计数器结构 C、13 位计数器结构 D、2
27、个 8 位计数器结构 108、执行下列程序后,(A)=_35H_,(B)=_16H_。 MOV A,#9FH MOV B,#36H ANL B,A SETB C ADDC A,B 109、MCS-51 单片机的外部中断 0 中断入口地址为( C )。 A、 000BH B、 001BH C、0003H D、 0013H 110、将以表格形式存放在从 table 开始的内部单元中的 8 个单字节正数求平均值。 MOV R0,#TABLE MOV R2,#8 MOV R4,#0 LOOP1:MOV A,R0 _ADDC A,R4_ MOV R4,A INC R0 DJNZ R2,LOOP1 MOV
28、 B,#8 _DIV AB_ RET一、填空题(每空 1 分,共 20 分)1、单片微型计算机由 CPU、存储器和 I/O 三部分组成。2、MCS-51 系统中,当 信号有效时,表示从 P0 口稳定地PSEN送出了低 8 位地址。3、访问 8031 片外数据存储器采用的是 寄存器间接 寻址方式。4、累加器(A)=80H,执行完指令 ADD A,#83H 后,进位位 CY= 1 。5、指令 LCALL 37B0H,首地址在 2000H,所完成的操作是 2003H入栈,37B0H 送入 PC。6、51 有 5 个 中断源,有 2 个中断优先级,优先级由软件填写特殊功能寄存器 IP 加以选择。7、在
29、变址寻址方式中,以 A 作为变址寄存器,以 PC 或 DPTR 作基址寄存器。8、中断请求信号有 电平 触发和 脉冲 触发两种触发方式9、用串行口扩展并行口时,串行接口的工作方式应选为方式 0。10、74LS273 通常用来作简单 输出 接口扩展;而 74LS244 则常用来作简单 输入 接口扩展。11、51 的并行 I/O 口信息有 读引脚 和 读锁存器 两种读取方法,读改写操作是针对并行 I/O 口内的锁存器进行的。12、A/D 转换器的三个重要指标是转换速度、 分辨率 和 转换精度。二、选择题(从备选答案中选择一个正确答案,并将代号写在括号内。每题 1.分,共 10 分)2、MCS-51
30、 单片机外扩存储器芯片时,4 个 I/O 口中用作数据总线的是( B )。(A)P0 和 P2 口 (B)P0 口 (C)P2 和 P3 口 (D)P2 口3、在中断服务程序中,至少应有一条( D )。(A)传送指令 (B)转移指令 (C)加法指令 (D)中断返回指令4、访问外部数据存储器时,不起作用的信号是( C )。(A) (B) (C) (D)ALE RWPSEN5、以下指令中,属于单纯读引脚的指令是( C )。(A)MOV P1,A (B)ORL P1,#0FH (C)MOVC C ,P1.5 (D)DJNZ P1,LAB6、使用定时器 T1 时,有几种工作模式( C )。(A)1 种
31、 (B)2 种 (C)3 种 (D)4 种7、若 MCS-51 中断源都编程为同级,当它们同时申请中断时,CPU首先响应( B )。(A) (B) (C)T1 (D)T0INT0I8、MCS-51 响应中断时,下面哪一个条件不是必须的( C )。A、当前指令执行完毕 B、中断是开放的 C、没有同级或高级中断服务 D、必须有 RETI 指令9、如果 8255 端口 A 设置为方式 2,则端口 B 设置为( A )。(A)只可以方式 0 (B)也可以方式 2 (C)除方式 2 外,其它方式均可 (D)任意方式10、当 MCS-51 进行多机通讯时,串行接口的工作方式应选为( C )。(A)方式 0
32、 (B)方式 1 (C)方式 2 (D)方式 0 或方式 2三、简答题 (每题 5 分,共 20 分)1、MCS-51 单片机内部包括哪些主要逻辑功能部件?答:MCS-51 单片机主要由下列部件组成:1 个 8 位 CPU;1 个片内振荡器及时钟电路;4KB ROM 程序存储器,256BRAM;21 个特殊功能寄存器;2 个 16 位定时/计数器;4 个 8 位并行 I/O 口及 1 个可编程全双工串行接口;可寻址 64KB 的外部程序存储器空间;可寻址 64KB 的外部数据存储器空间;5 个中断源、两个优先级中断嵌套中断结构。MCS-51 单片机内部有几个定时/计数器?它们由哪些寄存器组成?
33、答:MCS-51 单片机内部有两个 16 位可编程的定时/计数器,简称定时器 0(T0)和定时器 1(T1)。它们分别由方式寄存器TMOD、控制寄存器 TCON 和数据寄存器 TH0、TL0,TH1、TL1 组成。单片机对中断优先级的处理原则是什么?答:(1)低优先级中断源可被高优先级中断源所中断,而高优先级中断源不能被任何中断源所中断;(2)一种中断源(不管是高优先级还是低优先级)一旦得到响应,与它同级的中断源不能再中断它。当同时收到几个同一优先级的中断时,响应哪一个中断源取决于内部查询顺序。其优先级排列如下: 4、8255 有哪几种工作方式?怎样选择其工作方式?答:8255A 有三种工作方
34、式: 方式 0:基本输入/输出方式。方式1:选通输入输出方式。方式 2:双向总线方式。8255 的工作方式选择是通过对控制口输入控制字来实现的。四、阅读或编写程序 1、编写一程序实现将 1000H 单元开始的 100 个单元的数据转移到2000H 开始的单元中。(8 分)ORG 0000HMOV DPTR, #1000H ;给源数据块地址指针 DPTR 赋初值MOV P2,#20H ;给目的数据块地址指针 P2 和 R0 赋初值MOV R0,#00HLOOP: MOVX A,DPTRMOVX R0,AINC DPTRINC R0CJNE R0,#64H,LOOPSJMP $2、设 R0=20H
35、,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,(26H)=6FH,(27H),下列程序执行后,结果如何?(7 分) (20H)=20H (21H)=00H (22H)=17H (23H)=01H CY=1 A=17H R0=23H R1=28HCLR CMOV R2,#3LOOP:MOV A,R0ADDC A,R1MOV R0,AINC R0INC R1DJNZ R2,LOOPJNC NEXTMOV R0,#01HSJMP $NEXT:DEC R0SJMP $五、MCS-51 单片机外扩展一片 2716 存储器,画出系统电路原理图,写出地址分布
36、。(15 分)程序存储器的地址范围为:0000H07FFH六、编写航标灯控制程序。要求航标灯在白天熄灭,在夜晚断续点亮,时间间隔 2 秒,即亮 2 秒,息 2 秒,周期循环进行。(20分)主程序ORG 2000H MAIN: MOV SP,#30HGAT0: CLR P1.7MOV TMOD,#09H ;T0 定时,模式 1,GATE=1MOV TL0,#058H ;T0 计算初值MOV TH0,#9EH MOV R7,#28H ;软件计数初值HERE1:JNB P3.2,HERE1 ;夜晚到了吗?P3.2=0(白天)转HER1 即停在此语句等待,夜晚到了 P3.2=1 往下执行。SETB T
37、R0 ;到了,启动 T0SETB ET0 ;允许 T0 中断SETB EA ;CPU 开中断HERE2:JB P3.2,HERE2 ;白天到了吗?P3.2=1(黑夜)转HERE2,即停在此语句等待,白天到了 P3.2=0 往下执行。CLR TR0 ;到了,关 T0CLR ET0 ;禁止 T0 中断CLR EA ;关中断CLR P1.7 ;关信号灯SJMP GAT0中断服务程序ORG 000BHSJMP T0INTORG 0020HT0INT:MOV TL0,#058H ;重赋 T0 初值MOV TH0,#9EHDJNZ R7,EXIT ;软件计数为零吗?MOV R7,#28H ;计数已到,重赋
38、初值CPL P1.7 ;输出取反,控制灯亮或灭EXIT: RETI ;中断返回END一、填空题 (共 10 分 每题 2 分)1. 在一片集成电路芯片上集成微处理器、存储器、I/O 接口电路,从而构成了单芯片微型计算机。2.80C51 系列单片机在片内程序存储器的配置上,有三种形式即掩膜 ROM、EPROM 和 ROMLess。3. 80C31 的存储器在物理上设计成哈佛结构,即程序存储器和数据存储器是两个独立的空间。4. 80C51 的寻址方式有七种。即寄存器寻址、直接寻址、立即寻址、变址寻址、相对寻址、位寻址、寄存器间接寻址。5.若晶振频率为 6MHz,程序段如下:DEL:MOV R7,#
39、200 DEL1:MOV R6,#123 NOP DEL2:DJNZ R6,DEL2 DJNZ R7,DEL1 RET 共延时 100.002 ms二、判断题 (共 10 分 每题 2 分)(正确的打,错误的打)答:1( ) 2( ) 3( ) 4( )5( )1. 80C51 系列单片机 P1 口输出高电平时,能向外提供拉电流负载,不必再接上拉电阻,当口用作输入时,须向口锁存器写入1。2. CPU 在每条指令执行期间,中断系统对各个中断源进行 1 次采样,这些采样值在下一个机器周期内按优先级和内部顺序被依次查询。3.对于电平触发有效的外部中断源若有请求,必须把有效的低电平保持到请求获得响应时
40、为止,不然就会漏掉;而在中断服务程序结束之前,中断源又必须撤消其有效的低电平。4. 80C51 系列在产品型号中凡带有字母“C”的即为 CHMOS 芯片,CHMOS 芯片的电平既与 TTL 电平兼容,又与 CMOS 电平兼容。5. 单片机复位后的状态:PC=0000H,P0P3=FFH,SP=07H,IP、IE 和 PCON 的有效位为1,PSW=00H。三、选择题 (共 10 分 每题 2 分)1.若外部中断定义为边沿触发方式,则引脚上的高低电平均至少要保持 1 个机器周期.A. 1 B.2 C.3 D.42.D/A 转换器的建立时间是指输入的数字量发生满刻度变化时,输出模拟信号达到满刻度值
41、的1/2LSB 所需的时间。A. 1/4LSB B. 1/2LSB C. 2LSB D. 1/2LSB3.80C51 的中断响应时间是指从标志位置 1 到进入相应的中断服务,对于没有嵌套的单级中断,响应时间为 38 个机器周期。 A. 标志位置 1 到进入相应的中断服务,38 P.0SEN71AL83CO9QDG46(K)B. 提出申请到进入相应的中断服务,38 C. 标志位置 1 到进入相应的中断服务,3 D. 提出申请到进入相应的中断服务,34.80C51 系列单片机串行口在方式 1 时,若 SM2=1,则只有接收到有效的停止位时,RI 才置 1。A. 0 B. 1 C.2 D. 35.8
42、0C51 系列单片机的 CPU 在访问片外 ROM 的一个机器周期内,信号 ALE 出现 2 次(正脉冲)。A. 2 B. 1 C. 4 D. 3答: 1( A ) 2( B ) 3( A ) 4( B) 5(A )四、问答题(2 小题,共 20 分,每小题 10 分)1. 80C51 单片机遇到什么条件,中断将受阻?答:(1)CPU 正在处理同级或高优先级中断;( 3 分)(2)当前查询的机器周期不是所执行指令的最后一个机器周期。即在完成所执行指令前,不会响应中断,从而保证指令在执行过程中不被打断;( 3 分)(3)正在执行的指令为 RET、RETI 或任何访问 IE 或 IP 寄存器的指令
43、。即只有在这些指令后面至少再执行一条指令时才能接受中断请求。( 4 分)2. 80C51 I/O 接口的基本功能是什么?答:对单片机输出的数据进行锁存,以解决单片机与 I/O 设备的速度协调问题。(3 分)对输入设备进行三态缓冲,实现 I/O 设备与数据总线的隔离。(3 分)信号转换:实现信号类型、电平、格式等转换。(2 分)时序协调:协调 I/O 设备与 CPU 的逻辑控制及时序关系。(2 分)五、程序阅读(共 10 分)1. 阅读下面子程序,说明它实现的功能。(10 分)SUB: MOV R0, 40HMOV R1, 50HMOV R5, 10CLR CSUB1: MOV A, R0ADD
44、C A, R1MOV R1, AINC R0INC R1DJNZ R5, SUB1RET答:将 40H 开始存放的 10 个字节的被加数与 50H 开始存放的 10 个字节的加数相加(6 分),被加数指针 R0 指向最低 8 位, 加数指针 R1 指向最低 8 位(2 分), 和放回加数 50H 开始的单元(2 分)。六、程序设计(共 40 分)1. 假设晶振频率为 12 MHz,试利用定时/计数器 T0 的方式 2,以中断方式在 P1.7 引脚输出周期为 400 s 的方波。(20 分)解:定时器 T0 初值 M 为:(3 分)H8561208ORG 0000HLJMP MAIN ; 跳到主
45、程序入口(2 分)ORG 000BHLJMP CTC0 ; 定时器 T0 中断入口地址(2 分)ORG 100HMAIN:MOV TMOD,#02H ; 将工作方式控制字写入 TMODMOV TL0, #38H ; 送初值MOV TH0, #38H ; 送重装初值 (6 分)SETB ET0 ; 允许定时器 T0 中断SETB EA ; 开中断SETB TR0 ; 启动定时器 T0 (3 分)HERE: SJMP HERE ; (1 分)CTC0: CPL P1.7RETI (3 分)2.D/A 转换器与单片机的接口如图,试回答:(1)2 片 D/A 转换器是什么连接?能解决什么问题?(2)编
46、写将片内 39H 单元的内容从片 1、片外 ROM 1200H 单元的内容从片 2,二路同时输出的子程序。(20 分)答: (1)2 片 D/A 转换器是双缓冲方式连接,能实现 2 片 DAC 同步输出。(3 分)(2) MOV DPTR, 0DFFFH ; 指向 DAC0832(1)MOV A, 39H ; (39H)送入 DAC0832(1)中锁存MOVX DPTR, A ; (5分)MOV DPTR,#1200HMOV A,#0MOVC A,A+DPTR (4 分)MOV DPTR, 0BFFFH ; 指向 DAC0832(2)MOVXDPTR, A;(1200H)送入 DAC0832(2)中锁存(4 分)MOV DPTR, 7FFFH ; 给 0832(1)和(2)提供 WR 信号MOVX DPTR, A ; 同时完成 D/A 转换输出 (3 分)RET (1 分)