搜档网
当前位置:搜档网 › (完整版)单片机课后习题答案

(完整版)单片机课后习题答案

(完整版)单片机课后习题答案
(完整版)单片机课后习题答案

单片机课后习题答案

1.89C51单片机内包含哪些主要逻辑功能部件?

答:80C51 系列单片机在片内集成了以下主要逻辑功能部件:

(l)CPU(中央处理器):8位(2)片内RAM:128B(3)特殊功能寄存器:21个(4)程序存储器:4KB (5)并行I/O 口:8位,4个⑹串行接口:全双工,1个⑺定时器/计数器:16位,2个(8)片内时钟电路:1 个

2.89C51 的EA 端有何用途?

答:/EA端接高电平时,CPU只访问片内flash Rom并执行内部程序,存储器/EA 端接低电平时,CPU 只访问外部ROM ,并执行片外程序存储器中的指令。/EA 端保持高电平时,CPU 执行内部存储器中的指令。

3.89C51 的存储器分哪几个空间?如何区别不同空间的寻址?

答:ROM (片内ROM和片外ROM统一编址)(使用MOVC)(数据传送指令)(16bits 地址)(64KB)片外RAM(MOVX)(16bits 地址)(64KB)片内RAM (MOV)(8bits 地址)(256B)

4. 简述89C51 片内RAM 的空间分配。

答:片内RAM有256B,低128B是真正的RAM区,高128B是SFR (特殊功能寄存器)区。

5. 简述布尔处理存储器的空间分配,片内RAM 中包含哪些可位寻址单元。

答:片内RAM 区从00H~FFH (256B)

其中20H~2FH (字节地址)是位寻址区对应的位地址是00H~7FH

6. 如何简捷地判断89C51 正在工作?

答:用示波器观察8051 的XTAL2 端是否有脉冲信号输出(判断震荡电路工作是否正常?)ALE (地址锁存允许)(Address Latch Enable )输出是fosc 的 6 分频用示波器观察ALE 是否有脉冲输出(判断8051 芯片的好坏?)观察PSEN (判断8051能够到EPROM 或ROM中读取指令码?)

因为/PSEN 接外部EPROM (ROM )的/OE 端子OE=Output Enable (输出允许)

7. 89C51 如何确定和改变当前工作寄存器组?

答:PSW (程序状态字)(Program Status Word )中的RS1和RS0可以给出4 中组合,用来从4组工作寄存器组中进行选择PSW属于SFR( Special Function Register)(特殊功能寄存器)

9. 读端口锁存器和“读引脚”有何不同?各使用哪种指令?

答:读锁存器(ANLP0,A )就是相当于从存储器中拿数据,而读引脚是从外部拿数据(如MOV A,P1 这条指令就是读引脚的,意思就是把端口p1 输入数据送给A)传送类MOV,判位转移JB、JNB、这些都属于读引脚,平时实验时经常用这些指令于外部通信,判断外部键盘等;字节交换XCH 、XCHD 算术及逻辑运算

ORL、CPL、ANL 、ADD、ADDC 、SUBB、INC 、DEC 控制转移CJNE、DJNZ 都属于读锁存器。10. 89C51

P0?P3 口结构有何不同?用作通用I /O 口输入数据时,应注意什么?

答:P0 口内部没有上拉电阻,可以用做16位地址的低8位;

P3有第二功能;

P2 口可以用做16位地址的高8位;

需要上拉电阻。OC 门电路无法输出高低电平,只有靠上拉电阻才能实现

11.89C51单片机的EA信号有何功能?在使用8031时,EA信号引脚应如何处理?答:(1)80C51 单片机的EA 信号的功能

EA 为片外程序存储器访问允许信号,低电平有效;在编程时,其上施加21V 的编程电压EA 引脚接高电平时,程序从片内程序存储器开始执行,即访问片内存储器;EA 引脚接低电平时,迫使系统全部执行片外程序存储器程序。

(2) 在使用80C31时,EA信号引脚的处理方法

因为80C31 没有片内的程序存储器,所以在使用它时必定要有外部的程序存储器,EA 信号引脚应接低电平。

12.89C51 单片机有哪些信号需要芯片引脚以第2功能的方式提供?

答:第一功能第二功能串行口:P3.0 RXD (串行输入口)

P3.1 TXD (串行输出口)

中断:P3.2 INT0 外部中断0

P3.3 INT1 外部中断1

定时器/计数器( T0、T1):

P3.4 T0 (定时器/计数器0的外部输入)

P3.5 T1 (定时器/计数器1的外部输入) 数据存储器选通:

P3.6 WR (外部存储器写选通,低电平有效,输出) P3.7 RD (外部存储器读选通,低电平有效,输出) 定时器/计数器( T2):

P1.0 T2 (定时器T2的计数端)

P1.1 T2EX (定时器T2的外部输入端)

13. 内部RAM 低128字节单元划分为哪3个主要部分?各部分主要功能是什么?答:片内RAM低128单元的划分及主要功能:(I)工作寄存器组(00H~IFH) 这是一个用寄存器直接寻址的区域,内部数据RAM 区的0~31(00H~lFH), 共32 个单元。它是4个通用工作寄存器组,每个组包含8个8位寄存器,编号为R0~R7。

(2) 位寻址区(20H~2FH)

从内部数据RAM区的32~47(20H~2FH)的16个字节单元,共包含128位,是可位寻址的RAM 区。这16个字节单元,既可进行字节寻址,又可实现位寻址。

(3) 字节寻址区(30H~7FH)

从内部数据RAM区的48~127(30H~7FH),共80个字节单元,可以采用间接字节寻址的方法访问。

14. 使单片机复位有几种方法?复位后机器的初始状态如何?

答:(1)单片机复位方法单片机复位方法有:上电自动复位、按键电平复位和外部脉冲三种方式,如题图

2-1 所示。

(2)复位后的初始状态复位后机器的初始状态,即各寄存器的状态:PC 之外,复位操作还对其他一些特殊

功能寄存器有影响,它们的复位状态如题表2-1 所例

15. 开机复位后,CPU使用的是哪组工作寄存器?它们的地址是什么?CPU如何确定和改变当前工作寄存器组?

答:一般开机复位后都是选择第一组通用工作寄存器作为工作寄存器的,一共

有4组,分别为0.123连续位于00h到仆H地址,然后在机器中有个程序状态字PSW,它的第四和第三位RS1, RS0是用来选择工作寄存器组的,可能不同机器地址稍有不同。他们俩的值和寄存器组的关系:

RS1/RS0 0/0 0/1 1/0 1/1 使用的工作寄存器0 1 2 3地址00-07 08-0F 10-17 18-1F 写程序的时候就是通过定义程序状态字来选择使用不同的寄存器组。也可以直接对RS1和RS0赋值。

16. 程序状态寄存器PSW的作用是什么?常用标志有哪些位?作用是什么?

答:PSW是一个SFR (特殊功能寄存器)位于片内RAM的高128B

具体地址D0H(00H~FFH)(片内RAM 的编址)(8bits编址方法)

PSW=Program Status Word (程序状态字)PSW 的常用标志位有哪些?CY=Carry (进位标志位)AC=Auxiliary

Carry (辅助进位标志位)(半进位标志位)F0 用户标志位

RS1,RS0,用来选择当前工作寄存器组(R0~R7)(4选1)

OV=Overflow (溢出标志位)P=Parity (奇偶校验位)

17. 位地址7CH 与字节地址7CH 如何区别?位地址7CH 具体在片内RAM 中的什么位置?

答:用不同的寻址方式来加以区分,即访问128个位地址用位寻址方式,访问低128 字节单元用字节寻址和间接寻址。

具体地址为2F 的第五位,即为7C。

18.89C51 单片机的时钟周期与振荡周期之间有什么关系?什么叫机器周期和指令周期?答:时钟信号的周期称为机器状态周期,是振荡周期的两倍。一个机器周期是

指CPU 访问存储器一次所需的时间。指令周期是执行一条指令所需的时间。

19. 一个机器周期的时序如何划分?

答:一个机器周期=1 2个震荡周期=6个时钟周期(状态周期)

S1P1,S1P2,S2P1,S2P2,S3P1,S3P2,S4P1,S4P2,S5P1,

S5P2,S6P1,S6P2 其中s=state (状态),p=phase (相位)20.

什么叫堆栈?堆栈指针SP的作用是什么?89C51单片机堆栈的容量不能超过多少字节?

答:堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数

据项进行插入和删除。要点:堆:顺序随意栈:后进先出(Last-In/First-Out)在调用子程序时需要保存调用函数的CPU寄存器PC指针,PC指针是被CALL

指令自动压入SP所指向的片内存储器,CPU寄存器要由用户用PUSH指令自行保存,因此SP的作用就是一个指针,当进行中断调用,子函数调用时将现场数据压入SP所指向的存储器,SP自动增加1或2,当中断结束RETI,调用返回RET,POP 时将SP 数据弹出,SP自动减1或,28051最大为128字节的片内存储器,0X20以上理论都可以做堆栈用96字节,8052为256字节224字节可用,但这样便没有其它空间可用于数据存储现在的单片机的程序一般都能用C51 来,不用关心堆栈大

小与SP 寄存器

21. 89C51 有几种低功耗方式?如何实现?答:空闲方式和掉电方式

空闲方式和掉电方式是通过对SFR中的PCON(地址87H)相应位置1而启动的。当CPU 执行完置IDL=1(PCON.1 )的指令后,系统进入空闲工作方式。这时,内

部时钟不向CPU提供,而只供给中断、串行口、定时器部分。CPU的内部状态维持,即包括堆栈指针SP、程序计数器PC、程序状态字PSW、累加器ACC 所有的内容保持不变,端口状态也保持不变。ALE 和PSEN 保持逻辑高电平。当CPU执行一条置PCON.1位(PD)为1的指令后,系统进入掉电工作方式。在这种工作方式下,内部振荡器停止工作。由于没有振荡时钟,因此,所有的功能部件都停止工作。但内部RAM 区和特殊功能寄存器的内容被保留,而端口的输出状态值都保存在对

应的SFR中,ALE和PSEN都为低电平。

22. PC与DPTR各有哪些特点?有何异同?

答:(1)程序计数器PC作为不可寻址寄存器的特点

程序计数器PC是中央控制器申最基本的寄存器,是一个独立的计数器,存放着下一条将程序存储器中取出的指令的地址。

程序计数器PC变化的轨迹决定程序的流程。程序计数器的宽度决定了程序存储器可以寻址的范围。

程序计数器PC的基本工作方式有:

①程序计数器PC自动加1。这是最基本的工作方式,也是这个专用寄存器被称为计数器的原因。

②执行条件或无条件转移指令时,程序计数器将被置入新的数值,程序的流向发生

变化。

变化的方式有下列几种:带符号的相对跳转SJMP、短跳转AJMP、长跳转LJMP 及JMP @A+DPTR 等。

③在执行调用指令或响应中断时:

PC的现行值,即下一条将要执行的指令的地址送入堆栈,加以保护;

将子程序的入口地址或者中断矢量地址送入PC,程序流向发生变化,执行子程序或中断服务程序;子程序或中断服务程序执行完毕,遇到返回指令RET 或RETI 时,将栈顶的内容送到PC 寄存器中,程序流程又返回到原来的地方,继续执行。(2)地址指针

DPTR 的特点

地址指针DPTR 的特点是,它作为片外数据存储器寻址用的地址寄存器(间接寻址)。

(3)地址指针DPTR 与程序计数器PC 的异同① 相同之处:

两者都是与地址有关的、16位的寄存器。其中,PC 与程序存储器的地址有关,而DPTR 与数据存储器的地址有关。

作为地址寄存器使用时,PC与DPTR都是通过P0和P2 口(作为16位地址总线)输出的。但是,PC的输出与ALE及PSEN有关;DPTR的输出,则与ALE、RD 及WR 相联系

②不同之处:

PC只能作为16位寄存器对待,由于有自动加1的功能,故又称为计数器; DPTR 可以作为16位寄存器对待,也可以作为两个8位寄存器对待。

PC 是不可以访问的,有自己独特的变化方式,它的变化轨迹决定了程序执行的流程; DPTR 是可以访问的,如MOV DPTR ,#XXXXH ,INC DPTP 。23. 89C51 端口锁存器的“读—修改—写”操作与“读引脚”操作有何区别?答:指令系统中有些

指令读锁存器的值,有些指令则读引脚上的值。读锁存器指令是从锁存器中读取一个值并进行处理,把处理后的值(原值或已修改后的值)重新写入锁存器中。这类指令称为读-修改-写指令。对于读-修改-写指令。直接读锁存器而不是读端口引脚,

是因为从引脚上读出的数据不一定能真正反映锁存器的状态。单片机原理及接口技术课后习题答案第三章1、指令:CPU 根据人的意图来执行某种操作的命令指令系统:一台计算机所能执行的全部指令集合机器语言:用二进制编码表示,计算机能直接识别和执行的语言汇编语言:用助记符、符号和数字来表示指令的程序语言高级语言:独立于机器的,在编程时不需要对机器结构及其指令系统有深入了解的通用性语言

3、操作码[目的操作数] [ ,源操作数]

5、SFR :直接寻址,位寻址,寄存器寻址;片外RAM :寄存器间接寻址

6 MOV A , 40H ;直接寻址(40H)—A MOV R0 , A;寄存器寻址(A)—RO MOV P1 , #OFOH ;立即数寻址0F0—P1 MOV @R0,30H ;直接寻址(30H)—(R0)MOV DPTR,#3848H ;立即数寻址3848H—DPTR

MOV 40H,38H ;直接寻址(38H)—40H MOV R0,30H ;直接寻址(30H)—

R0 MOV P0,R0 ;寄存器寻址(R0 )—P0 MOV 18H ,#30H ;立即数寻址30H—

18H MOV A ,@R0 ;寄存器间接寻址((R0))—A MOV P,2 P1 ;直接寻址(P1)

—P2 最后结果:(R0)=38H , (A)=40H , (P0)=38H , (P1)=

(P2)=0F0H , (DPTR)=3848H,(18H)=30H,(30H)=38H,(38H)=40H,(40H

)=40H,(48H)=38H

注意:—左边是内容,右边是单元7、用直接寻址,位寻址,寄存器寻址8、MOV A,DATA; 直接寻址2字节1 周期MOV A,#DATA; 立即数寻址2字节1 周期MOV DATA1,DATA2; 直接寻址3字节2周期

MOV 74H,#78H;立即数寻址3字节2周期如果想查某一指令的机器码,字节数或周期数可查阅书本后面的附录A

9MOVA,@R0;((R0))=80H —AMOV@R0,40H;(40H)=08H—(R0)

MOV40H,A;(A) =80—40HMOVR0,#35H;35H—R0 最后结果:(R0)=35H (A)=80H,(32H)=08H ,(40H)=80H

10、用直接寻址,位寻址,寄存器寻址

11、只能采用寄存器间接寻址(用MOVX 指令)

12、低128字节:直接寻址,位寻址,寄存器间接寻址,寄存器寻址(R0~R7)高128 字节:直接寻址,位寻址,寄存器寻址

13、采用变址寻址(用MOVC 指令)

14、压缩BCD 码在进行加法运算时应逢十进一,而计算机只将其当作十六进制数处理,此时得到的结果不正确。用DA A 指令调整(加06H ,60H ,66H )15 、用来进行位操作

16、ANL A , #17H ; 83H A 17H=03F—A

ORL 17H , A ; 34H V 03H=37F—17HXRL A , @R0 ; 03H ? 37H=34HCPL A ;

34H 求反等于CBH 所以( A)=CBH

17、( 1) SETB ACC.0 或SETB E0H;E0H 是累加器的地址

(2)CLR ACC.7 CLR ACC.6 CLR ACC.5 CLR ACC.4(3)CLR ACC.6 CLR ACC.5 CLR ACC.4 CLR ACC.3

18、MOV 27H ,R7MOV 26H ,R6MOV 25H ,R5MOV 24H ,R4MOV 23H ,

R3MOV 22H ,R2MOV 21H ,R1MOV 20H ,R0

19、MOV 2FH ,20

MOV 2EH ,21 MOV 2DH ,22

20、CLR CMOV A , #5DH ;被减数的低8 位—AMOV R2 , #B4H ;减数低8 位-

R2SUBB A , R2 ;被减数减去减数,差-A

MOV 30H , A ;低8位结果—30HMOV A , #6FH ;被减数的高8位—A MOV

R2 ,#13H ;减数高8位—R2SUBB A , R2 ;被减数减去减数,差—AMOV 31H,A ;高8 位结果 -30H 注意:如果在你的程序中用到了进位位,在程序开始的时候要记得清0进位位21、(1) A> 10CJNE A , #0AH , L1 ; (A)与10 比较,不等转L1LJMP LABEL ;相等转LABELL1 :JNC LABEL

;(A)大于10,转LABEL 或者:CLR C

SUBB A, #0AHJNC LABEL

(2) A> 10CJNE A , #0AH , L1 ; (A)与10 比较,不等转L1RET ;相等结束L1 : JNC LABEL ; (A)大于10,转LABEL RET

;(A)小于10,结束或者:CLR CSUBB A , #0AHJNC L1RETL1RET ;数据块长度减1,不等于0,继续查找(3) A< 10 RETCJNE A , #0AH , L1 27、MOV DPTR , #SOURCE ; (A)与10 比较,不等转L1 ;源首地址—DPTRL2 : LJMP LABEL ;相等转LABEL MOV R0 , #DIST L1 : JC L2 ; (A)小于10,转L2; 目的首地址 -R0RET LOOP :MOVX A , @DPTR 或者:;传送一个字符CLR C MOV @R0 , ASUBB A, #0AH INC DPTR

JC LABEL

JZ LABELRET22 、(SP) =23H,(PC) =3412H

23、(SP) =27H,(26H) =48H,(27H) =23H,(PC) =3456H 参看书上79页24、不能。ACALL是短转指令,可调用的地址范围是2KB。在看这个题的时候同时看一下AJMP 指令。同时考虑调用指令ACALL 和LCALL 指令和RET 指令的关系。

25、MOV R2, #31H ;数据块长度 -R2 MOV R0, #20H ;数据块首地址 -R0LOOP:MOV A , @R0 ;待查找的数据 -A CLR C ;清进位位

SUBB A, #0AAH ;待查找的数据是0AAH 吗JZ L1 ;是,转L1 INC R0 ; 不是,地址增1,指向下一个待查数据DJNZ R2, LOOP ;数据块长度减1, 不等于0,继续查找MOV 51H , #00H ;等于0,未找到, 00H-51H

RET L1 :MOV 51H , #01H ;找到, 01H-51H RET

26、MOV R2, #31H ;数据块长度 -R2 MOV R0, #20H ;数据块首地址 -

R0LOOP:MOV A , @R0 ;待查找的数据 -A JNZ L1 ;不为0,转L1 INC 51H ;为0, 00H 个数增1 L1:INC R0 ;地址增1,指向下一个待查数据DJNZ R2, LOOP ;指向下一个字符INC R0 CJNE A , #24H, LOOP

;传送的是“$”字符吗?不是,传送下一个字符RET28、MOV A , R3 ;取该数高8位—A ANL A , #80H ;取出该数符号判断JZ L1 ;是正数,转L1 MOV A, R4 ;是负数,将该数低8位—A CPL A ;低8位取反ADD A , #01H ;加

1

MOV R4 ,A ;低8位取反加1后—R4 MOV A , R3 ;将该数高8位—A CPL A ; 高8位取反ADDC A ,#00H ;加上低8位加 1 时可能产生的进位MOV R3 ,A ;高8位取反加1后—R3 L1 : RET29、CLR C ;清进位位 C MOV A , 31H ; 取该数低8位—A RLC A ;带进位位左移1位MOV 31H , A ;结果存回31H MOV A,30H ;取该数

高8位—A RLC A ;带进位位左移1位

MOV 30H , A ;结果存回30H30、MOV R2 , #04H ;字节长度—R2 MOV R0 , #30H

;一个加数首地址—R0 MOV R1 ,#40H ;另一个加数首地址—R1 CLR C ; 清进位位LOOP :MOV A ,@R0 ;取一个加数ADDC A ,@R1 ;两个加数带进位位相加DA A ;十进制调整MOV @R0 ,A ;存放结果INC R0 ;指向下一个字节MOV A ,@R0 ; 98H—A INC R1 ; INC R0 ; 41H—R0 DJNZ R2 ,LOOP ADD A ,@R0 ; 98H+(41H)=47H—A

INC R0 ;数据块长度减1,不等于0,继续查找

RETMOV @R0 ,A ;结果存入42H 单元31、MOV R2 ,#08H ;数据块长度—

R2CLR A ;清A MOV R0 ,#30H ADDC A ,#0 ;进位位存入A

INC R0 ;数据块目的地址—R0

MOV DPTR ,#2000H MOV @R0 ,A ;进位位存入43H

;数据块源地址—DPTR

LOOP:MOVX A ,@ DPTR ;传送一个数据

MOV @R0 ,A

INC DPTR ;指向下一个数据INC R0 ; DJNZ R2,LOOP ;数据块长度减1,没传送完,继续传送RET32、(1)MOV R0,0FH ; 2 字节,2 周期 4 字节 4 周期(差)MOV B ,R0 ; 2字节,2周期(2)MOV R0 ,#0FH ; 2字节,1 周期4字节3周期(中)MOV B,@R0 ; 2字节,2周期(3)MOV B,#0FH ; 3字节,2周期3字节2周期(好)33、(1)功能是将片内RAM 中50H~51H 单元清0。

(2)7A0A

(大家可以看一下书上,对于立即数寻址的话,后面一个字节存放的是立即数)7850 (第一个字节的后三位是寄存器,前一个条指令

是010也就是指的R2,在这里是R0,所以应该是7

8,后一个字节存放的是立即数)DAFC (这里涉及到偏移量的计算,可以

34、INC @R0 ;(7EH)=00H INC R0 ;(R0)=7FH INC @R0 ;(7FH)=39H INC DPTR ;(DPTR)=10FFH INC DPTR ;(DPTR)=1100H

INC DPTR ;(DPTR)=1101H35、解:(1000H)=53H (1001H)=54H (1002H)=41H (1003H)=52H (1004H)=54H (1005H)=12H (1006H)=34H (1007H)=30H

(1008H)=00H

(1009H)=70H

36、MOV R0 ,#40H ; 40H—R0

功能:将40H,41H 单元中的内容相加结果放在42H 单元,进位放在43H 单元,(R0)=43H,(A)=1,(40H)=98H,(41H)=AFH ,(42H)=47H,(43H)

=01H37、MOV A,61H ; F2H—A MOV B,#02H ; 02H—B MUL AB ;

F2HX O2H=E4H>A ADD A , 62H ;积的低8 位加上CCH>A MOV 63H , A ;

结果送62H CLR A ;清A ADDC A , B;积的高8位加进位位—A MOV 64H , A ;结果送64H 功能:将61H 单元的内容乘2,低8位再加上62H 单元的内容放入63H,将结果的高8位放在64H单元

。(A) =02H , (B) =01H , (61H) =F2H , (62H) =CCH , (63H) =B0H , (64H) =02H39、MOV A ,XXHORL A ,#80H

MOV XXH , A40、(2) MOV A , XXH MOV R0 , A

XRL A, R0 第五章1、什么是中断和中断系统?其主要功能是什么?答:当CPU 正在处理某件事情的时候, 外部发生的某一件事件请求CPU 迅速去处理, 于是, CPU

单片机课后习题答案部分筛选

第一章 2单片机具有哪些特点 (1)片内存储容量越来越大。 (2抗干扰性好,可靠性高。 (3)芯片引线齐全,容易扩展。 (4)运行速度高,控制功能强。 (5)单片机内部的数据信息保存时间很长,有的芯片可以达到100年以上。 第二章 6. 如何简捷地判断89C51正在工作? 答:用示波器观察8051的XTAL2端是否有脉冲信号输出(判断震荡电路工作是否正常?) ALE(地址锁存允许)(Address Latch Enable)输出是fosc的6分频用示波器观察ALE是否有脉冲输出(判断 8051芯片的好坏?) 观察PSEN(判断8051能够到EPROM 或ROM中读取指令码?) 因为/PSEN接外部EPROM(ROM)的/OE端子 OE=Output Enable(输出允许) 9. 读端口锁存器和“读引脚”有何不同?各使用哪种指令? 答:读锁存器(ANL P0,A)就是相当于从存储器中拿数据,而读引脚是从外部拿数据(如MOV A,P1 这条指令就是读引脚的,意思就是把端口p1输入数据送给A) 传送类MOV,判位转移JB、JNB、这些都属于读引脚,平时实验时经常用这些指令于外部通信,判断外部键盘等;字节交换XCH、XCHD算术及逻辑运算 ORL、CPL、ANL、ADD、ADDC、SUBB、INC、DEC控制转移CJNE、DJNZ都属于读锁存器。 13. 内部RAM低128字节单元划分为哪3个主要部分?各部分主要功能是什么? 答:片内RAM低128单元的划分及主要功能: (l)工作寄存器组(00H~lFH) 这是一个用寄存器直接寻址的区域,内部数据RAM区的0~31(00H~lFH),共32个单元。它是4个通用工作寄存器组,每个组包含8个8位寄存器,编号为R0~R7。 (2)位寻址区(20H~2FH) 从内部数据RAM区的32~47(20H~2FH)的16个字节单元,共包含128位,是可位寻 址的RAM区。这16个字节单元,既可进行字节寻址,又可实现位寻址。 (3)字节寻址区(30H~7FH) 从内部数据RAM区的48~127(30H~7FH),共80个字节单元,可以采用间接字节寻址 的方法访问。 15. 开机复位后,CPU使用的是哪组工作寄存器?它们的地址是什么?CPU如何确定和改变当前工作寄存器组?

单片机课后答案

答:中断是指计算机在执行某一程序的过程中,由于计算机系统内、外的某种原因而必须终止原程序的执行,转去完成相应的处理程序,待处理结束之后再返回继续执行被终止原程序的过程。中断源指向 CPU 提出中断申请的设备,包括中断请求信号的产生及该信号怎样被CPU 有效地识别,要求中断请求信号产生一次,只能被CPU 接收处理一次,即不能一 次中断申请被CPU 多次响应。当 CPU 正在执行中断服务程序时,又有中断优先级更高的中断申请产生,CPU 就会暂停原来的中断处理程序而转去处理优先级更高的中断请求,处理完毕后再返回原低级中断服务程序,这一过程称为中断嵌套.中断优先级指在实际应用系统中往往有多个中断源,且中断申请是随机的,有时还可能会有多个中断源同时提出中断申请,但CPU 一次只能响应一个中断源发出的中断请求,CPU 响应哪个中断请求,就需要用软件或硬件安排一个优先顺序,即中断优先级排队。 6-2 MCS-51 单片机提供了几个中断源有几级中断优先级别各中断标志是如何产生的又如何清除这些中断标志各中断源所对应的中断矢量地址是多少 答:(1)MCS-51 单片机提供了5 个中断源: INT0 、INT1 、T0、T1、串行口。 (2)MCS-51 系列单片机有两个中断优先级,每一个中断请求源均可编程为高优先级中 断或低优先级中断,从而实现两级中断嵌套。 (3)外部中断可以设置边沿触发或者电平触发,靠软件置位。边沿触发进入中断程序后硬件自动清中断标志。电平触发需要软件清除中断标志位,还需在中断响应后把中断请求信号引脚从低电平强制改变为高电平。 (4)定时器T0、T1 计数溢出产生中断,进入中断程序后由硬件自动清除标志位TF0 或TF1。(5)串行口发送完成或者接收到数据就触发中断,由于是两个中断标志共享一个中断向量,所以需要在中断程序里由软件判断是发送中断还是接受中断,并且只能由软件清除中断标志位。使用软件清除中断标志位的方法是: CLR TI ;清TI 标志位 CLR RI ;清RI 标志位 (6)各中断源对应的中断矢量地址分别为: 中断源中断矢量 外部中断 0 0003H 定时器T0 中断000BH 外部中断1 0013H 定时器T1 中断001BH 串行口中断0023H 定时器中断T2(仅52 系列有) 002BH 6-3 外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同怎样设定 答:采用中断电平触发方式时,中断请求标志IT0=0,CPU 在每个机器周期的S5P2 期间采样,一旦在( INT0 )引脚上检测到低电平,则有中断申请,使IE0 置位(置1),向CPU 申请中断。在电平触发方式中,在中断响应后中断标志位IE0 的清0 由硬件自动完成,但由于CPU 对( INT0 )引脚没有控制作用,使中断请求信号的低电平可能继续存在,在以后的机器周期采样时又会把已清0 的IE0 标志位重新置1,所以, 在中断响应后必须采用其它方法撤消该引脚上的低电平,来撤除外部中断请求信号,否则有可能再次中断造成出错。采用边沿触发方式时,IT0=1,CPU 在每个机器的S5P2 期间采样,当检测到前一周期为高电平,后一周期为低电平时,使标志IE0 置1,向CPU 申请中断,此标志位一直保持到CPU 响应中断后,才由硬件自动清除。在边沿触发方式中,为保证CPU 在两个机器周期内检测到由高到低的负跳变,高电平与低电平的持续时间不得少于一个机器周

单片机原理及应用习题答案 第三版

第一章习题参考答案 1-1:何谓单片机?与通用微机相比,两者在结构上有何异同? 答:将构成计算机的基本单元电路如微处理器(CPU)、存储器、I/O接口电路与相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。 单片机与通用微机相比在结构上的异同: (1)两者都有CPU,但通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度与精度的进一步提高。例如,现今微机的CPU都支持浮点运算,采用流水线作业,并行处理、多级高速缓冲(Cache)技术等。CPU的主频达到数百兆赫兹(MHz),字长普遍达到32位。单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度与精度也相对要低一些。例如,现在的单片机产品的CPU 大多不支持浮点运算,CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用4位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用16位字长单片机,32位单片机产品目前应用得还不多。 (2) 两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量与CPU对数据的存取速度。现今微机的内存容量达到了数百兆字节(MB),存储体系采用多体、并读技术与段、页等多种管理模式。单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上,CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为64 KB。 (3) 两者都有I/O接口,但通用微机中I/O接口主要考虑标准外设(如CRT、标准键盘、鼠标、打印机、硬盘、光盘等)。用户通过标准总线连接外设,能达到即插即用。单片机应用系统的外设都就是非标准的,且千差万别,种类很多。单片机的I/O接口实际上就是向用户提供的与外设连接的物理界面。用户对外设的连接要设计具体的接口电路,需有熟练的接口电路设计技术。 另外,单片机的微处理器(CPU)、存储器、I/O接口电路集成在一块芯片上,而通用微机的微处理器(CPU)、存储器、I/O接口电路一般都就是独立的芯片 1-4 IAP、ISP的含义就是什么? ISP:In System Programable,即在系统编程。用户可以通过下载线以特定的硬件时序在线编程(到单片机内部集成的FLASH上),但用户程序自身不可以对内部存储器做修改。 IAP:In Application Programable,即在应用编程。用户可以通过下载线对单片机进行在线编程,用户程序也可以自己对内部存储器重新修改。 1-6 51单片机与通用微机相比,结构上有哪些主要特点? (1)单片机的程序存储器与数据存储器就是严格区分的,前者为ROM,后者为RAM; (2)采用面向控制的指令系统,位处理能力强; (3)I/O引脚通常就是多功能的; (4) 产品系列齐全,功能扩展性强; (5) 功能就是通用的,像一般微处理机那样可广泛地应用在各个方面。 1-7 51单片机有哪些主要系列产品? (1)Intel公司的MCS-51系列单片机:功能比较强、价格比较低、较早应用的单片机。 此系列三种基本产品就是:8031/8051/8751; (2)ATMEL公司的89系列单片机:内含Flash存储器,开发过程中可以容易地进行程

单片机原理与应用教程第3版习题课后答案

《单片机原理及应用程序》(第三版)习题参考答案 第一章 1. 为什么计算机要采用二进制数?学习十六进制数的目的是什么? 在计算机中,由于所采用的电子逻辑器件仅能存储和识别两种状态的特点,计算机部一切信息存储、处理和传送均采用二进制数的形式。可以说,二进制数是计算机硬件能直接识别并进行处理的惟一形式。十六进制数可以简化表示二进制数。 2. (1) 01111001 79H (2) 0.11 0.CH (3) 01111001.11 79.CH (4) 11101010.101 0EA.AH (5)01100001 61H (6) 00110001 31H 3. (1) 0B3H (2)80H (3) 17.AH (4) 0C.CH 4. (1)01000001B 65 (2) 110101111B 431 5. (1) 00100100 00100100 00100100 (2) 10100100 11011011 11011100 (5) 10000001 11111110 11111111 6. 00100101B 00110111BCD 25H 7. 137 119 89 8.什么是总线?总线主要有哪几部分组成?各部分的作用是什么? 总线是连接计算机各部件之间的一组公共的信号线。一般情况下,可分为系统总线和外总线。 系统总线应包括:地址总线(AB)控制总线(CB)数据总线(DB) 地址总线(AB):CPU根据指令的功能需要访问某一存储器单元或外部设备时,其地址信

息由地址总线输出,然后经地址译码单元处理。地址总线为16位时,可寻址围为216=64K,地址总线的位数决定了所寻址存储器容量或外设数量的围。在任一时刻,地址总线上的地址信息是惟一对应某一存储单元或外部设备。 控制总线(CB):由CPU产生的控制信号是通过控制总线向存储器或外部设备发出控制命令的,以使在传送信息时协调一致的工作。CPU还可以接收由外部设备发来的中断请求信号和状态信号,所以控制总线可以是输入、输出或双向的。 数据总线(DB):CPU是通过数据总线与存储单元或外部设备交换数据信息的,故数据总线应为双向总线。在CPU进行读操作时,存储单元或外设的数据信息通过数据总线传送给CPU;在CPU进行写操作时,CPU把数据通过数据总线传送给存储单元或外设9.什么是接口电路? CPU与接口电路连接一般应具有哪些信号线?外部设备与接口电路连接一般应具有哪些信号线? CPU通过接口电路与外部输入、输出设备交换信息, 一般情况下,外部设备种类、数量较多,而且各种参量(如运行速度、数据格式及物理量)也不尽相同。CPU为了实现选取目标外部设备并与其交换信息,必须借助接口电路。一般情况下,接口电路通过地址总线、控制总线和数据总线与CPU连接;通过数据线(D)、控制线(C)和状态线(S)与外部设备连接。 10. 存储器的作用是什么?只读存储器和随机存储器有什么不同? 存储器具有记忆功能,用来存放数据和程序。计算机中的存储器主要有随机存储器(RAM)和只读存储器(ROM)两种。随机存储器一般用来存放程序运行过程中的中间数据,计算机掉电时数据不再保存。只读存储器一般用来存放程序,计算机掉电时信息不会丢失。 11.某存储器的存储容量为64KB,它表示多少个存储单元?64×1024 12. 简述微型计算机硬件系统组成。

单片机课后习题答案

单片机课后习题答案 1.89C51单片机内包含哪些主要逻辑功能部件? 答:80C51系列单片机在片内集成了以下主要逻辑功能部件: (l)CPU(中央处理器):8位(2)片内RAM:128B(3)特殊功能寄存器:21个(4)程序存储器:4KB (5)并行I/O口:8位,4个(6)串行接口:全双工,1个(7)定时器/计数器:16位,2个(8)片内时钟电路:1个 2.89C51的EA端有何用途? 答:/EA端接高电平时,CPU只访问片内flash Rom并执行内部程序,存储器。/EA端接低电平时,CPU只访问外部ROM,并执行片外程序存储器中的指令。/EA端保持高电平时,CPU执行内部存储器中的指令。 3.89C51的存储器分哪几个空间?如何区别不同空间的寻址? 答:ROM(片内ROM和片外ROM统一编址)(使用MOVC)(数据传送指令)(16bits地址)(64KB)片外RAM(MOVX)(16bits地址)(64KB)片内RAM (MOV)(8bits地址)(256B) 4.简述89C51片内RAM的空间分配。 答:片内RAM有256B,低128B是真正的RAM区,高128B是SFR(特殊功能寄存器)区。 5.简述布尔处理存储器的空间分配,片内RAM中包含哪些可位寻址单元。 答:片内RAM区从00H~FFH(256B) 其中20H~2FH(字节地址)是位寻址区对应的位地址是00H~7FH 6. 如何简捷地判断89C51正在工作? 答:用示波器观察8051的XTAL2端是否有脉冲信号输出(判断震荡电路工作是否正常?)ALE(地址锁存允许)(Address Latch Enable)输出是fosc的6分频 用示波器观察ALE是否有脉冲输出(判断8051芯片的好坏?) 观察PSEN(判断8051能够到EPROM 或ROM中读取指令码?) 因为/PSEN接外部EPROM(ROM)的/OE端子OE=Output Enable(输出允许) 7. 89C51如何确定和改变当前工作寄存器组? 答:PSW(程序状态字)(Program Status Word)中的RS1和RS0 可以给出4中组合,用来从4组工作寄存器组中进行选择PSW属于SFR(Special Function Register)(特殊功能寄存器) 9.读端口锁存器和“读引脚”有何不同?各使用哪种指令? 答:读锁存器(ANLP0,A)就是相当于从存储器中拿数据,而读引脚是从外部拿数据(如MOV A,P1这条指令就是读引脚的,意思就是把端口p1输入数据送给A)传送类MOV,判位转移JB、JNB、这些都属于读引脚,平时实验时经常用这些指令于外部通信,判断外部键盘等;字节交换XCH、XCHD算术及逻辑运算 ORL、CPL、ANL、ADD、ADDC、SUBB、INC、DEC控制转移CJNE、DJNZ

单片机原理及应用习题答案 第三版

第一章习题参考答案 1-1:何谓单片机?与通用微机相比,两者在结构上有何异同? 答:将构成计算机的基本单元电路如微处理器(CPU)、存储器、I/O接口电路和相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。 单片机与通用微机相比在结构上的异同: (1)两者都有CPU,但通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度和精度的进一步提高。例如,现今微机的CPU都支持浮点运算,采用流水线作业,并行处理、多级高速缓冲(Cache)技术等。CPU的主频达到数百兆赫兹(MHz),字长普遍达到32位。单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度和精度也相对要低一些。例如,现在的单片机产品的CPU大多不支持浮点运算,CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用4位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用16位字长单片机,32位单片机产品目前应用得还不多。 (2) 两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量和CPU对数据的存取速度。现今微机的内存容量达到了数百兆字节(MB),存储体系采用多体、并读技术和段、页等多种管理模式。单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上,CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为64 KB。 (3) 两者都有I/O接口,但通用微机中I/O接口主要考虑标准外设(如CRT、标准键盘、鼠

单片机课后习题答案解析

一)填空题 1. 十进制数14对应的二进制数表示为(1110B),十六进制数表 示为(0EH)。十进制数-100的补码为(9CH),+100的补码为(64H)。 2. 在一个非零的无符号二进制整数的末尾加两个0后,形成一个新的无符号二进制整数,则新数是原数的(4)倍。 3. 8位无符号二进制数能表示的最大十进制数是(255)。带符号二进制数11001101转换成十进制数是(-51)。 4. 可以将各种不同类型数据转换为计算机能处理的形式并输送到计算机中去的设备统称为(输入设备)。 5. 已知字符D的ASCII码是十六进制数44,则字符T的ASCII码是十进制数(84)。 6. 若某存储器容量为640KB,则表示该存储器共有(655360)个存储单元。 7. 在计算机中,二进制数的单位从小到大依次为(位)、(字节)和(字),对应的英文名称分别是(bit)、(Byte)和(Word)。 8. 设二进制数A=10101101,B=01110110,则逻辑运算A∨B=(11111111),A ∧B=(00100100),A⊕B=(11011011)。 9. 机器数01101110的真值是(+110),机器数01011001的真值是(+89),机器数10011101的真值是(+157或-115),机器数10001101的真值是(+206或-50)。(二)单项选择题 1. 用8位二进制补码数所能表示的十进制数范围是(D) (A)-127 ~ +127 (B)-128 ~ +128 (C)-127 ~ +128 (D)-128 ~ +127 2. 下列等式中,正确的是(B) (A)1 KB = 1024×1024 B (B)1 MB = 1024×1024 B (C)1 KB = 1024 M B (D)1 MB = 1024 B 3. 程序与软件的区别是(C) (A)程序小而软件大(B)程序便宜而软件昂贵 (C)软件包括程序(D)程序包括软件 4. 存储器中,每个存储单元都被赋予惟一的编号,这个编号称为(A) (A)地址(B)字节(C)列号(D)容量 5. 8位二进制数所能表示的最大无符号数是(B) (A)255 (B)256 (C)128 (D)127 6. 下列4个无符号数中,最小的数是(B) (A)11011001(二进制)(B)37(八进制) (C)75(十进制)(D)24(十六进制) 7. 下列字符中,ASCII码最小的是(B) (A)a (B)A (C)x (D)X 8. 下列字符中,ASCII码最大的是(C) (A)a (B)A (C)x (D)X 9. 有一个数152,它与十六进制数6A相等,那么该数是(B) (A)二进制数(B)八进制数(C)十进制数(D)十六进制数 第2章80C51单片机的硬件结构 (一)填空题

单片机实验考核题目及答案

---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------

单片机课后习题答案

1.1 计算机经过了哪些主要发展阶段? 解:单片机的发展大致经历了四个阶段: 第一阶段(1970—1974年),为4位单片机阶段; 第二阶段(1974—1978年),为低中档8位单片机阶段; 第三阶段(1978—1983年),为高档8位单片机阶段; 第四阶段(1983年至今),为8位单片机巩固发展阶段及16位单片机、32位单片机推出阶段。 1.2 写出下列机器数的真值: (1)01101110 (2)10001101 (3)01011001 (4)11001110 解:(1)01101110的真值=+110 (2)10001101的真值=+141或-115 (3)01011001的真值=+89 (4)11001110的真值=+206或-50 说明:机器数是指计算机中使用的二进制数,机器数的值称为真值。机器数可表示为无符号数也可表示为带符号数,其中计算机中的带符号数一般为补码形式。10001101若为无符号数。则其真值为+141;若为带符号数,由于最高位(符号位)为1.所以为负数(补码形式),则其真值为-115。 1.4 写出下列二进制数的原码、反码和补码(设字长为8位)。 (1)010111 (2)101011 (3)-101000 (4)-111111 解:(1) [x]原=00010111 [x]反= 00010111 [x]补= 00010111 (2)[x]原=00101011 [x]反= 00101011 [x]补= 00101011 (3)[x]原=10101000 [x]反= 11010111 [x]补= 11011000 (4)[x]原=10111111 [x]反= 11000000 [x]补=11000001 1.5 已知X=10110110,Y=11001111,求X 和Y 的逻辑与、逻辑或和逻辑异或。 解:10000110X Y ?= 11111111X Y += 01111001X Y ⊕= 1.6 已知X 和Y ,试计算下列各题的[]X Y +补和[]-X Y 补(设字长为8位)。 (1)X=1011 Y=0011 (2)X=1011 Y=0101 (3)X=1001 Y=-0100 (4)X=-1000 Y=0101 (5)X=-1100 Y=-0100 解:(1)X 补码=00001011 Y 补码=00000011 [X+Y]补=00001110 [X-Y]补=00001000 (2)X 补码=00001011 Y 补码=00000101 [X+Y]补=00010000 [X-Y]补=00000110 (3)X 补码=00001001 Y 补码=11111100 [X+Y]补=00010000 [X-Y]补=00000110

单片机课后习题-答案~

习题答案 习题0 1.单片机是把组成微型计算机的各功能部件即(微处理器(CPU))、(存储器(ROM 和RAM))、(总线)、(定时器/计数器)、(输入/输出接口(I/O口))及(中断系统)等部件集成在一块芯片上的微型计算机。 2.什么叫单片机?其主要特点有哪些? 将微处理器(CPU)、存储器(存放程序或数据的ROM和RAM)、总线、定时器/计数器、输入/输出接口(I/O口)、中断系统和其他多种功能器件集成在一块芯片上的微型计机,称为单片微型计算机,简称单片机。 单片机的特点:可靠性高、便于扩展、控制功能强、具有丰富的控制指令、低电压、低功耗、片内存储容量较小、集成度高、体积小、性价比高、应用广泛、易于产品化等。 3. 单片机有哪几个发展阶段? (1)第一阶段(1974—1976年):制造工艺落后,集成度低,而且采用了双片形式。典型的代表产品有Fairchild公司的F8系列。其特点是:片内只包括了8位CPU,64B的RAM 和两个并行口,需要外加一块3851芯片(内部具有1KB的ROM、定时器/计数器和两个并行口)才能组成一台完整的单片机。 (2)第二阶段(1977—1978年):在单片芯片内集成CPU、并行口、定时器/计数器、RAM和ROM等功能部件,但性能低,品种少,应用范围也不是很广。典型的产品有Intel 公司的MCS-48系列。其特点是,片内集成有8位的CPU,1KB或2KB的ROM,64B或128B的RAM,只有并行接口,无串行接口,有1个8位的定时器/计数器,中断源有2个。片外寻址范围为4KB,芯片引脚为40个。 (3)第三阶段(1979—1982年):8位单片机成熟的阶段。其存储容量和寻址范围增大,而且中断源、并行I/O口和定时器/计数器个数都有了不同程度的增加,并且集成有全双工串行通信接口。在指令系统方面增设了乘除法、位操作和比较指令。其特点是,片内包括了8位的CPU,4KB或8KB的ROM,128B或256B的RAM,具有串/并行接口,2个或3个16位的定时器/计数器,有5~7个中断源。片外寻址范围可达64KB,芯片引脚为40个。代表产品有Intel公司的MCS-51系列,Motorola公司的MC6805系列,TI公司的TMS7000系列,Zilog公司的Z8系列等。 (4)第四阶段(1983年至今):16位单片机和8位高性能单片机并行发展的时代。16位机的工艺先进,集成度高,内部功能强,运算速度快,而且允许用户采用面向工业控制的专用语言,其特点是,片内包括了16位的CPU,8KB的ROM,232B 的RAM,具有串/并行接口,4个16位的定时器/计数器,有8个中断源,具有看门狗(Watchdog),总线控制部件,增加了D/A和A/D转换电路,片外寻址范围可达64KB。代表产品有Intel公司的MCS-96系列,Motorola公司的MC68HC16系列,TI公司的TMS9900系列,NEC公司的783××系列和NS公司的HPC16040等。然而,由于16位单片机价格比较贵,销售量不大,大量应用领域需要的是高性能、大容量和多功能的新型8位单片机。 近年来出现的32位单片机,是单片机的顶级产品,具有较高的运算速度。代表产品有Motorola公司的M68300系列和Hitachi(日立)公司的SH系列、ARM等。 4.在实际应用中,如何选择单片机的类型? 选择原则:主要从指令结构、运行速度、程序存储方式和功能等几个方面选择单片机。 MCS-51为主流产品。 Motorola是世界上最大的单片机厂商。品种全、选择余地大、新产品多。其特点是噪声低,抗干扰能力强,比较适合于工控领域及恶劣的环境。 Microchip单片机是市场份额增长较快的单片机。它的主要产品是PIC系列8位单片机。其特点是运行速度快,低价位,适用于量大、档次低、价格敏感的产品。 美国德州仪器(TI)公司生产的MSP430系列单片机是一种特低功耗的Flash微控制器。主要用于三表及超低功耗场合。

51单片机实验报告

51单片机实验报告

实验一 点亮流水灯 实验现象 Led灯交替亮,间隔大约10ms。实验代码 #include void Delay10ms(unsigned int c); void main() { while(1) { P0 = 0x00; Delay10ms(50); P0 = 0xff; Delay10ms(50); } }

void Delay10ms(unsigned int c) { unsigned char a, b; for (;c>0;c--) { for (b=38;b>0;b--) { for (a=130;a>0;a--); } } } 实验原理 While(1)表示一直循环。 循环体首先将P0的所有位都置于零,然后延时约50*10=500ms,接着P0位全置于1,于是LED全亮了。接着循环,直至关掉电源。延迟函数是通过多个for循环实现的。 实验2 流水灯(不运用库函数) 实验现象 起初led只有最右面的那一个不亮,半秒之后从右数第二个led

也不亮了,直到最后一个也熄灭,然后led除最后一个都亮,接着上述过程 #include #include void Delay10ms(unsigned int c); main() { unsigned char LED; LED = 0xfe; while (1) { P0 = LED; Delay10ms(50); LED = LED << 1; if (P0 == 0x00) { LED = 0xfe; } } } void Delay10ms(unsigned int c)

单片机原理及应用课后习题参考答案1~6章(DOC)

《单片机原理及应用》习题答案 第一章计算机基础知识 1-1 微型计算机主要由哪几部分组成?各部分有何功能? 答:一台微型计算机由中央处理单元(CPU)、存储器、I/O接口及I/O设备等组成,相互之间通过三组总线(Bus):即地址总线AB、数据总线DB和控制总线CB来连接。 CPU由运算器和控制器组成,运算器能够完成各种算术运算和逻辑运算操作,控制器用于控制计算机进行各种操作。 存储器是计算机系统中的“记忆”装置,其功能是存放程序和数据。按其功能可分为RAM和ROM。 输入/输出(I/O)接口是CPU与外部设备进行信息交换的部件。 总线是将CPU、存储器和I/O接口等相对独立的功能部件连接起来,并传送信息的公共通道。 1-3 什么叫单片机?其主要由哪几部分组成? 答:单片机(Single Chip Microcomputer)是指把CPU、RAM、ROM、定时器/计数器以及I/O接口电路等主要部件集成在一块半导体芯片上的微型计算机。 1-4 在各种系列的单片机中,片内ROM的配置有几种形式?用户应根据什么原则来选用? 答:单片机片内ROM的配置状态可分四种: (1)片内掩膜(Mask)ROM型单片机(如8051),适合于定型大批量应用产品的生产; (2)片内EPROM型单片机(如8751),适合于研制产品样机; (3)片内无ROM型单片机(如8031),需外接EPROM,单片机扩展灵活,适用于研制新产品; (4)EEPROM(或Flash ROM)型单片机(如89C51),内部程序存储器电可擦除,使用更方便。 1-5 写出下列各数的另两种数制的表达形式(二、十、十六进制) 1-6 写出下列各数的BCD参与: 59:01011001,1996:0001100110010110,4859.2:0100100001011001.0010

C51单片机实验报告

实验报告册 课程名称:单片机原理与应用B 指导老师:xxx 班级:xxx 姓名:xxx 学号:xxx 学期:20 —20 学年第学期南京农业大学工学院教务处印

实验目录实验一:指示灯/开关控制器 实验二:指示灯循环控制 实验三:指示灯/数码管的中断控制 实验四:电子秒表显示器 实验五:双机通信

姓名:学号:班级:成绩: 实验名称:指示灯/开关控制器 一、实验目的: 学习51单片机I/O口基本输入/输出功能,掌握C语言的编程与调试方法。 二、实验原理: 实验电路原理图如图所示,图中输入电路由外接在P1口的8只拨动开关组成;输入电路由外接在P2口的8只低电平驱动的发光二极管组成。此外,还包括时钟电路、复位电路和片选电路。 在编程软件的配合下,要求实现如下指示灯/开关控制功能:程序启动后,8只发光二极管先整体闪烁3次(即亮→暗→亮→暗→亮→暗,间隔时间以肉眼可观察到为准),然后根据开关状态控制对应发光二极管的亮灯状态,即开关闭合相应灯亮,开关断开相应灯灭,直至停止程序运行。 三、软件编程原理为; (1)8只发光二极管整体闪烁3次

亮灯:向P2口送入数值0; 灭灯:向P2口送入数值0FFH; 闪烁3次:循环3次; 闪烁快慢:由软件延时时间决定。 (2)根据开关状态控制灯亮或灯灭 开关控制灯:将P1口(即开关状态)内容送入P2口;无限持续:无条件循环。 四、实验结果图: 灯泡闪烁:

按下按键1、3、5、7:

经检验,其余按键按下时亦符合题目要求。 五、实验程序: #include"reg51.h" void delay(unsigned char time) { unsigned int j=15000; for(;time>0;time--) for(;j>0;j--); } void main(){ key,char i; for(i=0;i<3;i++) { P2=0x00; delay(500); P2=0xff; delay(500) } while(1) { P2=P3;

51单片机练习题

一.闪烁灯 1.实验任务 如图4.1.1所示:在端口上接一个发光二极管L1,使L1在不停地一亮一灭,一亮一灭的时间间隔为秒。 2.电路原理图 图4.1.1 3.系统板上硬件连线 把“单片机系统”区域中的端口用导线连接到“八路发光二极管指示模块”区域中的L1端口上。 4.程序设计内容 (1)延时程序的设计方法 作为单片机的指令的执行的时间是很短,数量大微秒级,因此,我们要 求的闪烁时间间隔为秒,相对于微秒来说,相差太大,所以我们在执行 某一指令时,插入延时程序,来达到我们的要求,但这样的延时程序是 如何设计呢下面具体介绍其原理:

如图4.1.1所示的石英晶体为12MHz,因此,1个机器周期为1微秒机器周期微秒 MOV R6,#20 2个 2 D1: MOV R7,#248 2个22+2×248=49820× DJNZ R7,$ 2个2×248(498 DJNZ R6,D1 2个2×20=40 10002 因此,上面的延时程序时间为。 由以上可知,当R6=10、R7=248时,延时5ms,R6=20、R7=248时,延时10ms,以此为基本的计时单位。如本实验要求秒=200ms,10ms×R5 =200ms,则R5=20,延时子程序如下: DELAY: MOV R5,#20 D1: MOV R6,#20 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET (2).输出控制 如图1所示,当端口输出高电平,即=1时,根据发光二极管的单向导 电性可知,这时发光二极管L1熄灭;当端口输出低电平,即=0时,发 光二极管L1亮;我们可以使用SETB指令使端口输出高电平,使用CLR 指令使端口输出低电平。 5.程序框图

单片机课后习题答案--胡汉才编

单片机部由哪几部分电路组成各部分电路的主要功能是什么 解:单片机部由CPU、存储器和I/O接口等电路组成。CPU的主要功能是对二进制数进行算术和逻辑运算、执行指令(从ROM中取指令,对指令译码,发各种控制信号使CPU和其他部分协调一致的工作,完成指令的功能),存储器由ROM和RAM组成,ROM的主要功能是存储单片机应用系统的程序,RAM的主要功能是存储实时数据或作为通用寄存器、堆栈、数据缓冲区。I/O接口的主要功能是负责单片机和外设、外部存储器间的通信。 第二章 存在的错别字问题:“振荡”写出“推荡”;“芯片”写成“蕊片”。 、程序状态字PSW各位的定义是什么 解:PSW的各位定义如下: @ Cy:进位标志位;AC:辅助进位位; F0:用户标志位;RS1、RS0:寄存器选择位; OV:溢出标志位;P:奇偶标志位; PSW1:未定义。 、什么叫堆栈8031堆栈的最大容量是多少MCS51堆栈指示器SP有多少位,作用是什么单片机初始化后SP中的容是什么 解:堆栈:符合“先进后出”或“后进先出”存取规律的RAM区域。 8031堆栈的最大容量是128B; 】 MCS-51堆栈指针SP有8位,作用是存放栈顶(/栈低)地址; 单片机初始化后(即单片机复位后)SP中的容是07H。 存在的问题:1、堆栈的定义中,未答出“RAM区域”,而用了“部件”; 2、只说了“单片机初始化后(即单片机复位后)SP中的容是栈底地址”,未说明具体值07H; 3、8031堆栈的最大容量错成128M或256B。 、数据指针DPTR有多少位,作用是什么 解:数据指针DPTR有16位;作用是存放ROM或外部RAM的地址。 | 、8051片RAM容量有多少可以分为哪几个区各有什么特点 解:8051的片RAM容量有128B;分为三个区:工作寄存器区、位寻址区和便笺区; 存在的问题:1、8051的片RAM容量错成256B。 、8051的特殊功能寄存器SFR有多少个可以位寻址的有哪些 解:8051的SFR有21个,可位寻址的有11个:ACC、B、PSW、IP、P3、IE、P2、SCON、P1、TCON 和P0。 存在的问题:SFR有21个错成了26个;可位寻址的SFR中多了一个T2CON,个别同学甚至在T2CON 用了一个“+”号。 :

单片机课后习题参考答案

单片机课后习题答案 1.26解:单片机内部由CPU、存储器和I/O接口等电路组成。CPU的主要功能是对二进制数进行算术和逻辑运算、执行指令(从ROM中取指令,对指令译码,发各种控制信号使CPU和其他部分协调一致的工作,完成指令的功能),存储器由ROM和RAM组成,ROM的主要功能是存储单片机应用系统的程序,RAM的主要功能是存储实时数据或作为通用寄存器、堆栈、数据缓冲区。I/O接口的主要功能是负责单片机和外设、外部存储器间的通信。 2.3、解:PSW的各位定义如下: PSW7PSW6PSW5PSW4PSW3PSW2PSW1PSW0 Cy AC F0RS1RS0OV_P Cy:进位标志位;AC:辅助进位位; F0:用户标志位;RS1、RS0:寄存器选择位; OV:溢出标志位;P:奇偶标志位; PSW1:未定义。 2.4、解:堆栈:符合“先进后出”或“后进先出”存取规律的RAM区域。 8031堆栈的最大容量是128B; MCS-51堆栈指针SP有8位,作用是存放栈顶(/栈低)地址; 单片机初始化后(即单片机复位后)SP中的内容是07H。 2.5、解:数据指针DPTR有16位;作用是存放ROM或外部RAM的地址。 2.7、解:8051的片内RAM容量有128B;分为三个区:工作寄存器区、位寻址区和便笺区; 2.8、解:8051的SFR有21个,可位寻址的有11个:ACC、B、PSW、IP、P3、IE、P2、SCON、P1、TCON和P0。 2.11、解:8051和片外RAM/ROM连接时,P0口用来分时地传送片外RAM/ROM的低8位地址信号和8位数据信号,P2口用来传送片外RAM/ROM的高8位地址信号;因为P0口在访问片外RAM/ROM的一个机器周期内,要先传送地址信号,后传送数据信号,所以P0口需要片外地址锁存器。 2.12、解:8051的ALE线用于锁存P0口输出的片外RAM/ROM的低8位地址;8051不和片外RAM/ROM相连时,ALE线上输出脉冲的频率是fosc/6(fosc是8051的时钟频率),该脉冲信号可用作外部时钟源或作为定时脉冲源使用。 2.13、解:PSEN:片外ROM的选通线; R D:片外RAM的读选通线; W R:片外RAM的写选通线。

单片机原理及应用张毅刚课后习题答案完整版

第1章思考题及习题1参考答案 一、填空 1. 除了单片机这一名称之外,单片机还可称为或。答:微控 制器,嵌入式控制器. 2.单片机与普通微型计算机的不同之处在于其将、、和 三部分,通过内部连接在一起,集成于一块芯片上。答:CPU、存储器、I/O口、总线 3. AT89S52单片机工作频率上限为 MHz。答:33 MHz。 4. 专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低 和提高。答:成本,可靠性。 二、单选 1. 单片机内部数据之所以用二进制形式表示,主要是 A.为了编程方便B.受器件的物理性能限制 C.为了通用性D.为了提高运算速度答:B 2. 在家用电器中使用单片机应属于微计算机的。 A.辅助设计应用B.测量、控制应用

C.数值计算应用D.数据处理应用 答: B 3. 下面的哪一项应用,不属于单片机的应用范围。 A.工业控制 B.家用电器的控制 C.数据库管理 D.汽车电子设备 答:C 三、判断对错 1. STC系列单片机是8051内核的单片机。对 2. AT89S52与AT89S51相比,片内多出了4KB的Flash程序存储器、128B的RAM、 1个中断源、1个定时器(且具有捕捉功能)。对 3. 单片机是一种CPU。错 4. AT89S52单片机是微处理器。错 5. AT89C52片内的Flash程序存储器可在线写入,而AT89S52则不能。错 6. 为AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片AT89S51替换。对 7. 为AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片AT89S52替换。对

相关主题