单片机原理及应用教程第版习题课后答案修订版
单片机原理及应用课后习题答案
单片机原理及应用课后习题答案1. 为什么单片机被广泛应用于各种电子设备中?单片机被广泛应用于各种电子设备中的原因有很多。
首先,单片机具有体积小、功耗低、成本低的特点,能够满足现代电子设备对于小型化、便携和节能的需求。
其次,单片机集成了中央处理器、存储器、输入输出端口等功能模块,能够满足电子设备对于高性能、多功能的要求。
此外,单片机具有灵活的可编程性,能够根据不同的应用需求进行定制开发,满足各种电子设备的特定功能和性能要求。
因此,单片机被广泛应用于各种电子设备中。
2. 什么是单片机的工作原理?单片机是一种集成了中央处理器、存储器、输入输出端口等功能模块的微型计算机系统。
其工作原理是通过中央处理器执行程序指令,对输入输出端口进行数据交换,从而实现对外部设备的控制和数据处理。
单片机内部包含了运算器、控制器、存储器等核心部件,通过时钟信号的控制,按照程序指令序列完成各种运算和数据处理操作。
单片机的工作原理可以简单概括为接收输入信号、进行数据处理、输出控制信号的过程。
3. 单片机的应用领域有哪些?单片机在各种电子设备中都有广泛的应用,主要包括消费类电子产品、工业自动化设备、通信设备、汽车电子系统等领域。
在消费类电子产品中,单片机被应用于智能手机、数码相机、家用电器等产品中,实现各种功能和控制。
在工业自动化设备中,单片机被应用于PLC、工业控制器、传感器等设备中,实现自动化生产和控制。
在通信设备中,单片机被应用于调制解调器、路由器、交换机等设备中,实现数据传输和网络控制。
在汽车电子系统中,单片机被应用于发动机控制、车载娱乐、车身电子系统等领域,实现车辆的各种功能和控制。
可以看出,单片机在各种应用领域都有重要的地位和作用。
4. 单片机的发展趋势是什么?随着科技的不断发展,单片机也在不断演进和升级。
未来单片机的发展趋势主要包括以下几个方面,首先,单片机将继续向着高性能、低功耗、小型化的方向发展,以满足电子设备对于性能和外形的要求。
单片机原理与应用课后习题答案
课后思考题级习题答案思考题与习题1一、填空通用型 和 专用型 。
微控制器 和 单片微型计算机 。
二、简答1.什么是单片机?答:单片机也称微控制器,它是将中央处理器、程序处理器、数据处理器、输入/输出接口、定时/计数器串行口、系统总线等集成在一个半导体芯片上的微计算机,因此又称为单片微型计算机,简称为单片机。
2.简述单片机的特点和应用领域。
答:〔1〕单片机体积小,应用系统结构简单,能满足很多应用领域对硬件功能的要求。
〔2〕单片机的可靠性高。
〔3〕单片机的指令系统简单,易学易用。
〔4〕单片机的开展迅速,特别是最近几年,单片机的部结构越来越完善。
3.写出AT89S51与AT89S52芯片的主要区别。
部程序存储区容量不同,52的程序存储空间为8K ,部数据存储空间为256B ,中断源8个,定时器/计数器有3个,而51的程序存储空间为4K ,部数据存储空间为128B ,中断源5个,定时器/计数器有2个。
思考题与习题2一、填空题1.如果〔PSW 〕=10H, 如此部RAM 工作存放器区的当前存放器是第二 组存放器,8个存放器的单元地址为 10H ~ 17H 。
2.为寻址程序状态字F0位,可使用的地址和符号有 PSW.5 、 0D0H.5 、 F0 和 0D5H 。
3.单片机复位后,〔SP 〕= 07H ,P0~P3= FFH ,PC= 0000H ,PSW= 00H A= 00H 。
PC 决定的,由于AT89S51单片机的PC 是 16 位的,所以最大寻址围为 64KB 。
5.写出位地址为20H 所在的位,字节地址 24H.0 。
07H ,最低位的位地址为 00H 。
MHz 6OSC f ,如此一个时钟周期为,一个机器周期为2us 。
8. AT89S51单片机共有26个特殊功能存放器。
9. AT89S51单片机片外数据存储器最多可以扩展64KB 。
10.如果CPU 从片外ROM 的0000H 单元开始执行程序,那么EA 引脚应接 低电平。
单片机习题答案
单片机原理及应用作业参考答案 1.2 单片机的结构特点表现在哪些主要方面? . 单片机的结构特点表现在哪些主要方面? 答: (1)在存储器结构上,严格将程序存储器和数据存储器在空间上分开,并使用不同的寻址方式,使用两个不同的地址指针; (2)在内部有一个全双工的串行接口; (3)有一个独立进行操作的位处理器. 1.4 通用单片机的供应状态主要取决于什么?供应状态有哪几种?用户选用单片机的供应状态的原则. 通用单片机的供应状态主要取决于什么?供应状态有哪几种? 是什么? 是什么? 答:通用单片机的供应状态主要取决于片内ROM 的配置状态. (1)片内ROM 的配置状态掩膜ROM,适合于低成本.大批量产品的场合(2)片内EPROM 配置状态可通过高压脉冲写入应用程序到EPROM,适合于开发样机,小批量生产. (3)片内无ROM 配置状态必须外扩EPROM,价格低,使用灵活,适合于需要外接能在现场进行修改和更新程序存储器的应用场合. 2.3 单片机的EA 端有何功用?8031 的EA 端应如何处理,为什么? . 端有何功用? 端应如何处理,为什么? 答: EA 端是访问外部程序存储器的控制信号:当EA 无效时,访问内部ROM,当EA 为有效时,访问外部ROM.由于8031 没有内部ROM,所以EA 端必须接低电平. 2. MCS-51 引脚中有多少I/O 线?它们与单片机对外的地址总线, . 4 它们与单片机对外的地址总线, 数据总线和控制总线有什么关系? - 数据总线和控制总线有什么关系? 地址总线和数据总线各是几位? 地址总线和数据总线各是几位? 答:MCS-51 引脚中有32 根I/O 线,一般由P0 口提供单片机对外的数据总线,同时作为分时复用的地址总线的低8 位, P2 口作为地址总线的高8 位, 由控制总线由第二功能的状态下的P3 口以及RST, , EA ALE 和PSEN 提供. 2.5 8051 单片机的内部数据存储器可以分为哪几个不同的区域?各有什么特点? . 单片机的内部数据存储器可以分为哪几个不同的区域?各有什么特点? 答:数据存储器主要分为两个区域:00H~7FH 是真正的RAM 区,80H~FFH 专门用作特殊功能寄存器的区域. 其中00H~7FH 可分为三个区域: 00H~1FH 为四组工作寄存器; 20H~2FH 为128 位位寻址区, 30H~7FH 为一般RAM 区. 2.6 单片机对外有几条专用控制线?其功能是怎样的? . 单片机对外有几条专用控制线?其功能是怎样的? 答:单片机对外的专用控制线有 4 条,分别是: (1) PSEN : 外部取指操作,在访问外部ROM 时, PSEN 信号自动产生; (2)ALE/ PROG :ALE 为地址锁存允许信号,在访问外部ROM 或RAM 时,用来锁存P0 口的低8 位地址.第二功能PROG 是对8751 的EPROM 编程时,编程脉冲输入. 1 (3) EA /VPP: EA 是访问外部程序存储器的控制信号, EA 无效时,访问内部ROM, EA 有效时,访问外部ROM,第二功能VPP 为对8751EPROM 的21V 编程电源输入. (4)RST/VPD:RST 是复位信号输入端,第二功能VPD 是备用电源输入端. 2.8 有哪几种方法使单片机复位?复位后各寄存器,RAM 中的状态如何? 中的状态如何? . 有哪几种方法使单片机复位?复位后各寄存器, 答:单片机的复位方式有两种,上电自动复位和按钮复位.复位后各寄存器状态为: PC 0000H ACC 00H PSW 00H SP 07H DPTR 0000H P0~P3FFH IP XX000000B IE 0X000000B TMOD 00H TCON 00H TL0 00H TH0 00H TL1 00H TH1 00H SCON 00H SBUF XXH PCON 0XXX0000B 2.9 在8051 扩展系统中,片外程序存储器和片外数据存储器使用相同的地址编址,是否会在数据总线扩展系统中,片外程序存储器和片外数据存储器使用相同的地址编址, . 上出现争总线的现象?为什么? 上出现争总线的现象?为什么? 答:不会发生争总线的现象,因为从外部ROM 取指令需要用ALE 和PSEN 信号控制读取操作,由P2 和P0 提供地址;而片外数据存储器的读写除了地址之外还要RD , WR 控制,所以不会争总线. 2.10 如果8051 端口P0~P3 作为通用I/O 口使用,则在输入引脚数据时应注意什么? . 口使用,则在输入引脚数据时应注意什么? ~答:8051 的P1,P2 和作为一般输入I/O 口的P 以及第一功能的P3 口均为准双向口,在输入数据时应先向端口写1,然后方可作为高阻输入.以使其场效应管T2 截止,才不会影响输入电平. 3.2 若要完成以下的数据传送,应如何用MCS-51 的指令实现? . 若要完成以下的数据传送, 的指令实现? (1)R1 的内容传送到R0 (5)ROM2000H 单元的内容传送到R0 MOVA,R1 MOV DPTR,#2000H MOV R0,A CLR A MOVC A,@A+DPTR (2) 外部RAM20H 单元的内容传送到R0 MOV R0,#20H MOV R0,A MOVX A,@R0 (6)ROM2000H 单元的内容传送到内部RAM20H 单元MOV R0,A MOV DPTR,#2000H CLR A (3)外部RAM20H 单元的内容传送到内MOVC A,@A+DPTR 部RAM20H 单元MOV R0,#20H MOV 20H,A MOVX A,@R0 (7)ROM2000H 单元的内容传送到外部RAM20H 单元MOV 20H,A MOV DPTR,#2000H CLR A (4)外部RAM1000H 单元内容传送到内MOVC A,@A+DPTR 部RAM20H 单元MOV DPTR,#1000H MOV R0,#20H MOVX A,@DPTR MOVX @R0,A MOV 20H,A 3.3 间接转移指令JMP @A+DPTR 有何优点?为什么它能代替众多的判跳指令?试举例说明. 有何优点?为什么它能代替众多的判跳指令?试举例说明. . 答:该间接转移指令的转移地址由 A 的内容和数据指针DPTR 的内容之和决定,且两者都是无符号数, 由DPTR 决定多分支转移程序的首地址, A 的不同值实现多分支转移. 由因为可以根据A 的内容进行分支转移,所以可以替代众多判跳指令. 如:根据 A 的内容调用相应的程序,如 A 为0 调用OP0,A 为 1 调用OP1,这里 A 的值小于128. MOV DPTR,#OPTAB 2 A @A+DPTR … OPTAB: ACALL OP0 ACALL OP1 ACALL OP2 … 3.4 设内部RAM 的30H 单元的内容为40H,即(30H)= )=40H,还知(40H)= )=10H, (10H)= )=00H, . , )= ,还知( )= , ( )= , 端口P1=0CAH.问执行以下指令后,各有关存储器单元,寄存器以及端口的内容(即R0,R1,A,B, = .问执行以下指令后,各有关存储器单元,寄存器以及端口的内容( , , , , P1 以及40H,30H,10H 单元的内容) 单元的内容) , , . MOV R0,#30H ; (R0)=30H MOV A,@R0 ;(A)=(30H)=40H MOV R1,A ; (R1)=40H MOV B,@R1 ; (B)=(40H)=10H MOV @R1,P1 ; (40H)=0CAH MOV P2,P1 ; (P2)=0CAH MOV 10H,#20H ; (10H)=20H MOV 30H,10H ; (30H)=20H 3.5 已知8751 单片机的P1 口为输出,经驱动电路接有8 只发光二极管.当输出位是1 时,发光二极 . 口为输出, 只发光二极管. 管点亮; 时发光二极管熄灭.试分析下述程序的执行过程及发光二极管的发光情况. 管点亮;输出位是0 时发光二极管熄灭.试分析下述程序的执行过程及发光二极管的发光情况. LP: MOV P1,#81H ;1000 0001B LCALL DELAY LCALL DELAY MOV P1,#24H ;0010 0100B MOV P1,#42H ;0100 0010B LCALL DELAY LCALL DELAY MOV P1,#42H ;0100 0010B MOV P1,#24H ;0010 0100B LCALL DELAY LCALL DELAY SJMP LP MOV P1,#18H ;0001 1000B 答:程序执行MOV P1,#DATA 后,根据DATA 的每位的值点亮相应的LED,调用延时程序使点亮的LED 保持一段时间.LED 发光的情况为:每次同时点亮两个LED 并从两边向中间移动,然后再向两边移动, 并一直循环. 3.6 在上题中,若系统的晶体振荡器频率为6MHz,求子程序DELAY 的延时时间. 的延时时间. . 在上题中, , DELAY: MOV R2,#0FAH ;①2S L1: MOV R3,#0FAH ;②2S L2: DJNZ R3,L2 ;③4S DJNZ R2,L1 ;④4S RET ;⑤4S 0FAH=250D 其中③执行250 次,执行时间为250×4S 其中②③④循环250 次,该循环执行时间为(2+250×4+4)×250S 加上①和⑤的执行时间,DELAY 的延时时间为2+(2+250×4+4)×250+4=251.506ms 延时程序的设计: 延时程序的设计: 首先设计内循环: MOV R3,#data1 ;2s NOP ;2s DJNZ R3,$ ;4s×data1 延时时间t1=2+2+4×data1=4×(data1+1)=1000s=1ms,则data1=249 3 RL JMP 若需要大于1ms 时间,则先增加一层循环MOV R2,#data2 ;2s L1: MOV R3,#data1 ;2s NOP ;2s DJNZ R3,$ ;4s×data1 DJNZ R2,L2 ;(4s+t1)×data2 延时时间为:2+(4s+t1)×data2=2+[4s+4×(data1+1)]×data2= =2+4×(data1+2)×data2=250ms,这里将data1 修正为248, 得2+4×(248+2)×data2=2+1000×data2=250ms 则data2=250 3.7 根据图3-3 线路,试设计灯亮移位程序,使8 只发光二极管每次亮一个,循环右移或左移,一个一线路,试设计灯亮移位程序, 只发光二极管每次亮一个,循环右移或左移, . 个地亮,循环不止. 个地亮,循环不止. MOV A,#80H DIS: MOV P1,A ACALL DELAY RR A AJMP DIS 3.8 设逻辑运算表达式为: . 设逻辑运算表达式为: Y = A (B + C) + D (E + F ) 其中变量A,B,C 分别为P1.0,P1.4,定时器1 溢出标志TF1,D,E,F 分别为22H.0,22H.3,外中断, , , , , , , , , 现上述逻辑功能的程序段. 方式标志IE1;输出变量为P1.5.试编写实现上述逻辑功能的程序段. ; .试编写实现上述逻辑功能的程序段MOV C,P1.4 ORL ANL MOV MOV ORL ANL CPL ORL MOV C,/TF1 C,P1.0 F0,A C,22H.3 C,/IE1 C,22H.0 C C,/F0 P1.5,C ; (B + C) ; A (B + C) ;用户自定义标志位,暂存数据;(E + F ) ; D (E + F ) ; D (E + F ) ; A (B + C) + D (E + F ) 4.1 试设计数据块传送程序,将起始地址为0400H 的100 个连续单元中的内容送到以4000H 为首址的区. 试设计数据块传送程序, 域中去解:分析:地址为16 位,且进行数据传送,所以连续单元应为外部的存储器,只能使用外部数据传送指令,由于源和目的地址都为16 位,所以要保存DPTR 的值,但源低8 位和目的低8 位相同,可以用一个寄存器保存. MOV R0,#00 NEXT: MOV DPH,#04H MOV DPL,R0 MOVX A,@DPTR MOV DPH,#40H MOVX @DPTR,A INC R0 CJNE R0,#100,NEXT 4.2 试编写程序,计算片内RAM 区40H~47H8 个单元中数的算术平均值,结果存放在4AH 中. 个单元中数的算术平均值, . 试编写程序, ~解:分析:8 个数总和最大值为FFH×8=7F8H,所以求和时必须用两字节加法,设R7 保存和高8 位, R6 保存低8 位,求和后再除以8 即得算术平均值,这里需使用16/8 除法,但因为除数为23,所以可以直4 接通过算术右移3 位实现除以8,前提存储的数据为无符号数. MOV MOV MOV NEXT : MOV INC ADD MOV CLR A ADDC MOV CJNE MOV DIV8: CLR C MOV RRC MOV MOV RRC MOV DJNZ R0,#40H R6,#00H R7,#00H A,@R0 R0 A,R6 R6,A ;和低字节清零;和高字节清零;取出一个字节;地址指针下移;低字节求和;保存和的低字节A,R7 ;如果低字节求和有进位,则加至高字节R7,A ;保存和的高字节R0,#48H,NEXT R1,#03H ;循环移位 3 次,实现除以8 A,R7 A R7,A A,R6 A R6,A R3,DIV8 ;高字节先移位,将D0 移至C ;将C 移入低字节的D7,从而实现16 位数据的移位16 位除以8 位除法子程序: 位除法子程序: 被除数R6R5,除数R4,商R3R2,余数R1 DIV168: JC NEXT MOV R3,#00H MOV A,R2 MOV R1,#00H ADD A,#01H NEXT2: MOV R2,A CLR C JNC NEXT2 MOV A,R5 INC R3 SUBB A,R4 AJMP NEXT2 MOV R5,A NEXT: MOV A,R5 MOV A,R6 ADD A,R4 SUBB A,#00H MOV R1,A MOV R6,A RET 4.3 设有两个长度为15 的数组,分别存放在0200H 和0500H 为首地址的存储区域中,试编写程序求的数组, 为首地址的存储区域中, . 其对应项之和, 为首地址的存储区域中. 其对应项之和,结果存放在以0300H 为首地址的存储区域中. 解:分析:0200H 和0500H 都是片外地址,必须利用MOVX 指令获取数据,这将导致DPTR 使用不方便,解决办法: (1)0200H,0500H 和0300H 低字节地址相同,可以共用DPL,DPH 单独处理; (2)可以考虑先将两个存储区的数据先转移到内部RAM 中,然后再进行运算. 这里只是求对应项之和,并不是多位数求和,两数相加,可能产生进位,这里应该只考虑没有进位的情况. 这里采用第一种方法 5 MOV R0,#15 MOVX A,@DPTR MOV DPL,#00H ADD A,B NEXT: MOV DPH,#02H MOV DPH,#03H MOVX A,@DPTR MOVX @DPTR,A MOV B,A INC DPTR MOV DPH,#05H DJNZ R0,NEXT 4.4 在起始地址为2100H,长度为64 的数表中找 F 的ASCII 码,并将其地址送到1000H 和1001H 单. , 元中去. 元中去. 解:都为RAM 单元,只要找到"F" ,则停止查找.利用寄存器R7 保存高8 位地址,R6 保存低8 位地址. SF: MOV DPTR,#2100H MOVX @DPTR,A MOV R0,#64 INC DPTR NEXT1:MOVX A,@DPTR MOV A,R7 CJNE A,#4FH,NEXT2 MOVX @DPTR,A MOV R7,DPH AJMP SFEND MOV R6,DPL NEXT2:INC DPTR MOV DPTR,#1000H DJNZ R0,NEXT1 MOV A,R6 SFEND: RET 4.5 设计一个多字节无符号数加法子程序和减法子程序. . 设计一个多字节无符号数加法子程序和减法子程序. 解: (1)多字节无符号数加法(2)多字节无符号数减法设R0 为加数首地址,R1 为被加数首地址,R2 设R0 为被减数首地址,R1 为减数首地址,R2 为字节数为字节数JIAFA: CLR C JIANFA: CLR C NEXT: MOV A,@R0 NEXT: MOV A,@R0 ADDC A,@R1 SUBB A,@R1 MOV @R0,A MOV @R0,A INC R0 INC R0 INC R1 INC R1 DJNZR2,NEXT DJNZ R2,NEXT RET RET 4.6 试设计一个双字节无符号数乘法子程序和除法子程序. . 试设计一个双字节无符号数乘法子程序和除法子程序. 解:设被乘数为R7R6,乘数为R5R4,结果存于R3R2R1R0 设被除数为R7R6,除数为R5R4,商存于R3R2,余数存于R1R0 将被除数减除数,够减商加1,然后将差作为被减数,继续前面的减法操作,直到不够减为止,这时需要恢复余数. 6 MUL1616:MOV MOV MUL MOV MOV MOV MOV MUL ADD MOV A,R6 B,R4 AB R0,A R1,B A,R7 B,R4 AB A,R1 R1,A MOV ADC MOV MOV MOV MUL ADD MOV MOV ADC A,B A,#0 R2,A A,R6 B,R5 AB A,R1 R1,A A,B A,R2 MOV MOV MOV MUL ADD MOV MOV ADC MOV RET R2,A A,R7 B,R5 AB A,R2 R2,A A,B A,#0 R3,A DIV1616:MOV DPTR,#0 JC NEXT MOV R1,A LOOP: CLR C INC DPTR MOV A,DPH MOV A,R6 JMP LOOP MOV R3,A SUBB A,R4 NEXT: MOV A,R6 MOV A,DPL MOV R4,A ADD A,R4 MOV R2,A MOV A,R7 MOV R0,A RET SUBB A,R5 MOV A,R7 MOV R7,A ADC A,R5 4.7 在3000H 为首的存储器区域中,存放着14 个由ASCII 码表示的0~9 之间的数,试编写程序将它为首的存储器区域中, . ~之间的数, 单元中. 们转换成BCD 码,并以压缩BCD 码的形式存放在2000H~2006H 单元中. ~解:0~9 的ASCII 码为30H~39H,首先必须去掉其中的3,可以通过减去30H 实现,也可通过ANL 实现.另外还得将两个BCD 码压缩成一个BCD 码,注意低地址对应低字节,比如3000H 为31H(低字节) ,3001H 为38H(高字节) ,合并后应为81H,存于2000H 单元,可利用ORL 或ADD 进行合并. 由于涉及到源和目的地址都为16 位,为了方便操作,现将转换结果存于内部RAM. MOV R0,#30H MOV @R0,A MOV R1,#14 INC R0 MOV DPTR,#3000H CJNE R1,#37H,NEXT MOV R0,#30H NEXT: MOVX A,@DPTR ;取出低字节MOV DPTR,#2000H INC DPTR ;源区地址指针下移NEXT2:MOV A,@R0 ANL A,#0FH ;低字节转换为BCD 码INC R0 MOV R4,A ;暂存数据MOVX @DPTR,A MOVX A,@DPTR ;取出高字节INC DPTR INC DPTR CJNE R0,#37H,NEXT2 ANL A,#0FH ;高字节转换为BCD 码SW AP A ;高低四位互换ORL A,R4 ;将两个BCD 码合并 4.8 编写一段程序,模拟如图所示的逻辑电路的逻辑功能,要求将四个输入与非门的逻辑模拟先写成一. 编写一段程序,模拟如图所示的逻辑电路的逻辑功能,要求将四个输入与非门的逻辑模拟先写成一个子程序,然后以多次调用得到整个电路的功能模拟. 都已定义为位地址, 个子程序,然后以多次调用得到整个电路的功能模拟.设X,Y,Z 和W 都已定义为位地址,若程序中还, , 需要其他地址标号,也可以另行定义. 需要其他地址标号,也可以另行定义. 解: 方法一:设计四输入与非门子程序,利用子程序必定要传递参数,但位操作的传送指令必须由C 完成,所以调用子程序时参数传递较复杂. 7 MOV MOV MOV CPL MOV MOV MOV MOV MOV ACALL MOV SETB MOV MOV MOV MOV MOV MOV ACALL MOV C,W 00H,C C,Z C 01H,C C,Y 02H,C C,X 03H,C NAND4 04H,C 00H C,X 01H,C C,Y 02H,C C,Z 03H,C NAND4 05H,C CPL MOV CPL MOV MOV MOV ACALL SETB MOV MOV MOV MOV MOV ACALL MOV AJMP NAND4: ANL ANL ANL CPL C RET END 01H C,Y C 02H,C C,W 03H,C NAND4 00H 01H,C C,04H 02H,C C,05H 03H,C NAND4 F,C $ MOV C,00H C,01H C,02H C,03H SETB 00H MOV C,X MOV 01H,C 方法二:利用宏实现MACRO,宏可以带参数,所以参数传递将很方便NAND4 MACRO A1,A2,A3,A4 MOV ONE,C MOV C,A1 NAND4 X,Y,ONE,W ANL C,A2 MOV 04H,C ANL C,A3 SETB ONE ANL C,A4 NAND4 X,Y,ONE,W CPL C MOV 05H,C ENDM CPL Y SETB ONE ORG 0000H NAND4 X,Y,ONE,W AJMP MAIN MOV 06H,C ORG 0030H SETB ONE MAIN: MOV C,Z NAND4 04H,05H,06H,ONE CPL C MOV F,C 5.3 已知8051 单片机系统时钟频率为6MHz,试利用定时器T0 和P1 口输出矩形脉冲,其波形如图所. 口输出矩形脉冲, , 示(建议用方式2) ) . 解:定时器T0 的工作方式:方式2,定时方式,所以TMOD 为:0000010(02H) 定时初值: 8-TH0 初值)×时钟周期×12=(28-X)×(1/6M)×12=40s (2 X=236=0ECH,360s 则为9 次定时中断MOV TMOD,#02H JNB TF0,$ CLR TF0 MOV TH0,#0ECH MOV TL0,#0ECH NEXT1: CLR P1.0 CLR P1.0 WAIT2: JNB TF0,$ SETB TR0 CLR TF0 DJNZ R0,WAIT2 NEXT3: MOV R0,#09H SETB P1.0 AJMP NEXT3 8 5.4 要求8051 单片机定时器的定时值以内部RAM 的20H 单元的内容为条件而改变;当(20H)= . 单元的内容为条件而改变; )=00H )= )=01H 时,定时值为20ms.请根据以上要求编写相应程序. 时,定时值为10ms;当(20H)= ; )= .请根据以上要求编写相应程序. 解:采用定时器T0,工作方式:方式1,定时方式,所以TMOD 为:0000001(01H) 定时初值:216-T0 初值) ( ×时钟周期×12= 16-X) (2 ×(1/6M)×12= 16-X) (2 2s=10[(20H)+1]1000s X = 65536 10[(20H) + 1]1000 = 65536 5000 5000 ×(20H) 2 = 60536 5000(20H ) = EC 78H 1388H × (20H ) (这里20H 单元的内容最大为12,否则超出16 为定时器的范围) TIMER:MOV A,20H MOV B,#88H MUL AB ;88H×(20H) MOV R0,A ;R0 保存低字节MOV R1,B ;R1 保存高字节MOV A,20H MOV B,#13H MUL AB ;13H×(20H) ADD A,R1 MOV R1,A ;只要限制20H 单元内容小于13,1388H×(20H)即为两字节CLR C MOV A,78H SUBB A,R0 ;78H 减去1388H×(20H)的低字节MOV TL0,A MOV A,#0ECH SUBB A,R1 ;ECH 减去1388H×(20H)的高字节MOV TH0,A MOV TMOD,#01H SETB TR0 W AIT: JNB TF0,WAIT RET ;定时时间到上述定时初值的设置适合(20H)为00H~12H,即可以实现10ms~190ms 的定时. 若仅仅是10ms 和20ms 两种情况,初值设置将更简单X 00 H = 60536 = EC 78H TIMER: MOV CJNE MOV MOV AJMP NEXT1: CJNE X 01H = EC 78H 1388H ×(01H ) = D8F0H MOV MOV NEXT2: MOV SETB WAIT: JNB RET TH0,#0D8H TL0,#0F0H TMOD,#01H ;T0 工作方式TR0 TF0,WAIT ;定时时间到A,20H A,#00H,NEXT1 TH0,#0ECH TL0,#78H NEXT2 A,#01H,NEXT2 5.5 试用定时器T1 设计外部事件计数器.要求每计数1 万个脉冲,就将T1 转为10ms 定时方式,当. 设计外部事件计数器. 万个脉冲, 定时方式, 定时到后,又转为计数方式,如此反复循环不止. 定时到后,又转为计数方式,如此反复循环不止.设系统的时钟频率为6MHz,建议选用方式 1 编写相, 应程序. 应程序. 解:T1 工作方式为方式1,计数方式:TMOD:01010000(50H) ,定时方式:TMOD:00010000(10H) 计数初值X=M-计数模值=65536-10000=55536=D8F0H 定时初值(65536-X)×2=10000,X=60536=EC78H MAIN: MOV TMOD,#50H WAIT1: JBC TF1,NEXT1 MOV TL1,#0F0H AJMP W AIT1 MOV TH1,#0D8H NEXT1: MOV TMOD,#10H SETB TR1 MOV TL1,#78H 9 MOV W AIT2: JBC TH1,#0ECH TF1,MAIN AJMP W AIT2 5.7 利用8051 单片机定时器测量某正脉冲宽度宽度,采用何种工作方式可以获得最大的量程?若时钟. 单片机定时器测量某正脉冲宽度宽度,采用何种工作方式可以获得最大的量程? 频率为6MHz,则允许测量的最大脉宽是多少? ,则允许测量的最大脉宽是多少? 解:要获得最大量程,那么定时/计数器的计数值必须达到最大,只有方式 1 是工作在16 位计数模式. 因为测脉宽,所以定时/计数器工作于定时方式,且由外部中断引脚电平启动定时. 最大定时时间为: (M-X)×T=(65536-0)×12×1/6MHz=131.072ms 7.3 某异步通讯接口,其帧格式由一个起始位,7 个数据位,1 个奇偶校验位和一个停止位组成.当该. 某异步通讯接口,其帧格式由一个起始位, 个数据位, 个奇偶校验位和一个停止位组成. 接口每分钟传送1800 个字符时,计算其传送波特率. 个字符时,计算其传送波特率. 解:由帧格式可知:一个字符由1+7+1+1=10 位组成,波特率=1800×10/60=300 波特. 7. 为什么定时器T1 用作串行口波特率发生器时常采用工作方式2?若已知T1 设置成方式2, . 6 ? , 用作波特率发生器, 特率发生器,系统时钟频率为11.0592MHz,求可能产生的最高和最低的波特率各是多少? ,求可能产生的最高和最低的波特率各是多少? 答:因为定时器T1 的方式 2 为自动重装定时初值,这样操作方便,也避免了因重装定时初值引起的定 2 SMOD f OSC 1 时误差.由波特率= × 32 12 256 初值当初值为0,SMOD=0 时,得到最低波特率=112.5 当初值为255,SMOD=1 时,得到最低波特率=57.6K 7.7 在8051 应用系统中,时钟频率为6MHz.现需利用定时器T1 方式 2 产生1200 波特的波特率.试. 应用系统中, 波特的波特率. . 计算定时器的初值,并指出实际得到的波特率与所要求的波特率是否有误差. 计算定时器的初值,并指出实际得到的波特率与所要求的波特率是否有误差. 解:根据波特率计算公式2 SMOD f OSC 1 ×32 12 256 初值 2 SMOD 6MHz 1 1 SMOD 1200 = × = 15625 × 2 32 12 256 初值256 初值当SMOD=0 时,初值为243,此时实际的波特率为:1201.92 当SMOD=1 时,初值为230,此时实际的波特率为:1201.92 所以实际波特率与要求的波特率有误差. 7.8 试设计一个8051 单片机的双机通讯系统,并编写程序将 A 机片内RAM40H~5FH 的数据块通过. 单片机的双机通讯系统, ~中去. 串行口传送B 机的片内RAM 60H~7FH 中去. ~解:该双机通讯系统,是将A 机数据发送到B 机,所以可以采用单工工作方式串行口采用方式 1 10 位异步收发,采用查询方式MOV R0,#40H A 机:发送MOV TMOD,#20H CLR TI MOV TL1,#0F3H NEXT: MOV A,@R0 MOV TH1,#0F3H INC R0 MOV SBUF,A SETB TR1 MOV SCON,#40H JNB TI,$ 10 CJNE R0,#60H, NEXT MOV R0,#60H AJMP $ NEXT: CLR RI JNB RI,$ B 机:接收MOV TMOD,#20H MOV A,SBUF MOV TL1,#0F3H MOV @R0,A MOV TH1,#0F3H INC R0 SETB TR1 CJNE R0,#80H, NEXT AJMP $ MOV SCON,#50H 8.1 8051 有几个中断源,各中断标志是如何产生的,又是如何复位的?CPU 响应中断时其中断入口地有几个中断源,各中断标志是如何产生的,又是如何复位的? . 址各是多少? 址各是多少? 答:8051 有5 个中断源,分别是外部中断0,定时器T0 中断,外部中断1,定时器T1 中断,串行口中断.中断入口地址分别为0003H,000BH,0013H,001BH,0023H. 定时器中断标志TF1 和TF0 是当计数器溢出时产生的,CPU 响应中断时能自动清除;外部中断IE1 和IE0 则是根据外部INT1 和INT0 的变化产生的, 只有边沿方式的IE1 和IE0 能在响应中断是自动清除, 电平方式的只能软件清除;串行口中断标志RI,TI 是在串行口接收和发送是产生的,它们只能利用软件清除. 8.3 如何区分串行通讯中的发送中断和接收中断? . 如何区分串行通讯中的发送中断和接收中断? 答:串行通讯中,发送和接收中断共用一个中断入口地址,但可以通过RI 和TI 标志判断是哪种中断, TI=1 表示发送中断,RI=1 表示接收中断. 8.4 如何设定外部中断源是采用边沿触发还是电平触发? 这两种中断触发所产生的中断过程有和不. 如何设定外部中断源是采用边沿触发还是电平触发? 同? 答:可通过IT1 和IT0 标志位进行设置,IT=0 时,为电平触发,IT=1 时,为边沿触发.电平触发,CPU 响应中断时不会清除IE 标志,所以中断返回前应撤销INT 引脚上的低电平;边沿触发方式,CPU 连续两个机器周期采样到先高后低的电平,则置位IE 标志,CPU 响应中断时由硬件清除IE 标志. 8.7 试用中断方法设计秒,分脉冲发生器,即由8051 的P1.0 每秒钟产生一个机器周期的正脉冲,由. 试用中断方法设计秒,分脉冲发生器, 每秒钟产生一个机器周期的正脉冲, P1.1 每分钟产生一个机器周期的正脉冲. 每分钟产生一个机器周期的正脉冲. 解:设系统时钟为6MHz,由定时器完成定时,最大定时时间为65536×2us=131096us=131.096ms,所以设置定时器定时时间为100ms,10 次定时为 1 秒钟,60 次一秒为一分钟,所以设置两个计数器分别对10 和60 计数(M-X)×2us=100ms,所以X=15536=3CB0H ORG 0000H MOV R4,#60 AJMP MAIN MOV R3,#10 ORG 0023H STB ET0 AJMP INTTIMER SETB EA MAIN: MOV TH0,#3CH INTTIMER: MOV TL0,#0B0H MOV TL0,#0B0H MOV TMOD,#01H MOV TH0,#3CH SETB TR0 DJNZ R3,INTEND CLR P1.0 SETB P1.0 CLR P1.1 CLR P1.0 11 MOV R3,#10 CLR P1.1 DJNZ R4,INTEND MOV R4,#60 SETB P1.1 INTEND: RETI 8.8 试运用定时器中断技术设计一个秒闪电路,其功能是使发光二极管LED 每秒钟闪亮400ms,设系统. 试运用定时器中断技术设计一个秒闪电路, , 主频为6MHz. . 答: 分析题目可知每秒钟LED 闪亮400ms, 也就是600msLED 灭, 那也就是只要LED 亮400ms, 600ms 灭即满足要求, 即要实现两个延时, 根据定时/计数器延时计算公式: (M-X) T=定时值, 最大定时值为65536 ×2us=131.072ms,不足400ms,所以设置基本延时为100ms,400ms 和600ms 定时通过多次基本延时实现. (M-X)×2us=100ms,所以X=15536=3CB0H 程序如下: LED ORG AJMP ORG AJMP MAIN: MOV MOV MOV SETB MOV STB SETB INTTIMER: MOV MOV INC CJNE CLR AJMP NEXT: CJNE SETB MOV INTEND: EQU P1.0 0000H MAIN 0023H INTTIMER TH0,#3CH TL0,#0B0H TMOD,#01H LED R3,#00H ET0 EA TL0,#0B0H TH0,#3CH R3 R3,#04H,NEXT LED INTEND R3,#0AH,INTEND LED R3,#00H RETI 12。
单片机原理与应用(习题答案)
《单片机原理与应用》课后习题参考答案第1章1.(1)15 (2)0.0859375 (3)14.68752.(1)10000100 (2)1011101001111 (3)100110100. 10113. 原码:正数的符号位用0表示,负数符号位用1表示,而数值位保持原样的机器码称为原码。
反码:在计算机中,对于正数,其反码的符号位为“0”,数值部分保持不变;对于负数,其反码除了在符号位上表示“1”外,数值部分的各位都取与它相反的数码,即“0”变“1”、“1”变“0”。
也就是说:正数的反码与它的原码相同;负数的反码由其绝对值按位求反后得到。
补码:在计算机中,对于正数,其补码的符号位为“0”,数值部分保持不变;对于负数,其补码除了在符号位上表示“1”外,数值部分的各位都取与它相反的数码,然后在最低位加“1”。
也就是说:正数的补码与它的原码相同;负数的补码由其对应的绝对值按位求反后加1得到。
4.(1)原码:000101110 反码:000101110 补码:000101110(2)原码:10.10101101 反码:10.01010010 补码:10.01010011(3)原码:00.101011 反码:00.101011 补码:00.1010115.[N]原=1.1010 [N]补=1.0110 N=-0.6256.原码0.1010-0.1011 = -0.0001补码0.1010+(1.0101)=(1.1111)7. 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
微处理器是是指计算机内部对数据进行处理并对处理过程进行控制的部件,采用大规模集成电路工艺在一块或几块芯片上制成的中央处理器。
如果将构成微型计算机的各功能部件(CPU,RAM,ROM及I/O接口电路)集成在同一块大规模集成电路芯片上,一个芯片就是一台微型机,则该微型机就称为单片微型计算机。
8. MCS-51系列单片机是美国INTEL公司于1980年推出的一种8位单片机系列。
单片机原理及应用课后习题答案、很全的张毅刚主编
“单片机原理及应用”习题解答第一章2-4:在MCS-51单片机中,如果采用6MHz晶振,1个机器周期为()。
答:2us。
析:机器周期为振荡周期的1/6。
2-6:内部RAM中,位地址为30H的位,该位所在字节的字节地址为()。
答:26H2-7:若A中的内容为63H,那么,P标志位的值为()。
答:0析:P为偶校验位,因为A中1的个数为偶数,所以P=0。
2-8:判断下列说法是否正确:A、8031的CPU是由RAM和EPROM所组成。
B、区分片外程序存储器和片外数据存储器的最可靠的方法是看其位于地址范围的低端还是高端。
C、在MCS-51中,为使准双向的I/O口工作在输入方式,必须保证它被事先预置为1。
D、PC可以看成使程序存储器的地址指针。
答:错、错、对、对2-9:8031单片机复位后,R4所对应的存储单元的地址为(),因上电时PSW=()。
这时当前的工作寄存器区是()组工作寄存器区。
答:04H、00H、02-11:判断以下有关PC和DPTR的结论是否正确?A、DPTR是可以访问的,而PC不能访问。
B、它们都是16位的存储器C、它们都有加1的功能。
D、DPTR可以分为两个8位的寄存器使用,但PC不能。
答:对、对、对、对2-13:使用8031芯片时,需将/EA引脚接()电平,因为其片内无()存储器。
答:低、程序2-14:片内RAM低128个单元划分为哪3个主要部分?各部分的主要功能是什么?答:工作寄存器区、位寻址区、数据缓冲区2-15:判断下列说法是否正确A、程序计数器PC不能为用户编程时直接使用,因为它没有地址。
B、内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。
C、8031共有21个特殊功能寄存器,它们的位都是可以用软件设置的,因此,是可以进行位寻址的。
答:对、错、错2-16:PC的值是A、当前正在执行指令的前一条指令的地址B、当前正在执行指令的地址C、当前正在执行指令的下一条指令的地址D、控制器中指令寄存器的地址答:C2-17:通过堆栈操作实现子程序调用,首先就要把()的内容入栈,以进行断点保护。
单片机原理及应用课后习题参考标准答案1-6章
单片机原理及应用》习题答案第一章计算机基础知识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),需外接EPRO,M单片机扩展灵活,适用于研制新产品;(4)EEPRO(M或Flash ROM)型单片机(如89C51),内部程序存储器电可擦除,使用更方便。
1-5 写出下列各数的另两种数制的表达形式(二、十、十六进制)1- 6 写出下列各数的BCD参与:59:01011001,1996:0001100110010110,4859.2:0100100001011001.0010389.41 :001110001001.01000001第二章MCS-51 单片机的硬件结构2-1 8052 单片机片内包含哪些主要逻辑功能部件?答:8052 单片机片内包括:①8位中央处理器CPU一个②片内振荡器及时钟电路③256B 数据存储器RAM。
《单片机原理及应用》课后习题答案
《单片机原理及应用》课后习题答案第三章课后习题答案6.用指令实现下列数据传送:(1)R7内容传送到R4:MOV A,R7;MOV R4,A;(2)内部RAM20H单元送内部RAM40H;MOV 40H,20H(3)外部RAM20H单元内容送内部RAM30H: MOV R0,#20H;MOVX A,@R0;MOV 30H,A(4)ROM2000H单元内容送R2MOV DPTR,#2000HMOV A,#00HMOVC A,@A+DPTR;MOV R2,A(5)外部RAM3456H的内容送外部78HMOV DPTR,#3456HMOVX A,@DPTRMOV R0,#78HMOVX @R0,A(6)外部ROM2000H单元内容送外部RAM20H MOV DPTR,#2000HMOV A,#00HMOVC A,@A+DPTR;MOV R0,#20HMOVX @R0,A(7)外部RAM2040H单元内容与3040H内容交换MOV DPTR,#2040HMOVX A,@DPTRMOV R0,AMOV DPTR,#3040HMOVX A,@DPTRMOV R1,AMOV A,R0MOVX @DPTR,AMOV A,R1MOV DPTR,#2040HMOVX @DPTR,A(8)将片内数据存储器20H~23H单元内容传送到片外数据存储器3000H~3003HMOV A,20HMOV DPTR,#3000HMOVX @DPTR,AMOV A,21HMOV DPTR,#3001HMOVX @DPTR,AMOV A,22HMOV DPTR,#3002HMOVX @DPTR,AMOV A,23HMOV DPTR,#3003HMOVX @DPTR,AORG 0100HAJMP MAINMAIN: MOV R7,#04HMOV R0,#20HMOV DPTR,#3000HLOOP:MOV A,@R0 ;MOVX @DPTR,AINC R0 ;准备取下一个数INC DPTRDJNZ R7,LOOPEND7. 试用3种方法将累加器A中的无符号数乘2。
单片机原理及应用习题-(带答案)
《单片机原理及应用》习题一、填空1、MCS-51单片机访问外部存储器时,利用 ALE 信号锁存来自 P0 口的低8位地址信号。
2、MCS-51系统中,当PSEN 信号有效时,表示从P0口稳定地读入了 低8位地址 。
3、通常单片机上电复位时PC=0000H ,SP= 07H ;而工作寄存器则缺省采用第 00 组,这组寄存器的地址范围是从 00H~07H 开始。
4、MCS-51单片机的存储器从物理结构上可划分 4 个空间,从逻辑上分别可划分 3 个空间。
5、MCS-51单片机8031中有 2 个16位的定时/计数器,可以被设定的工作方式有 4 种。
6、MCS-51有 5 中断源,有 2 中断优先级,优先级由软件填写特殊功能寄存器 加以选择。
7、当/EA 接地时,MCS-51单片机将从_ 外部程序的存储器_____的地址0000H 开始执行程序。
8、中断请求信号有 电平 触发和 边沿 触发两种触发方式。
9、用串行口扩展并行口时,串行接口的工作方式应选为 0 。
10. MCS -51复位后·CPU 从 0000 H 单元开始执行程序。
·SP 的内容为 07 H , 第一个压入堆栈的数据将位于 片内 RAM 的 08 H 单元。
·SBUF 的内容为 不定 。
·ADDC A , #54H 指令执行后 , PSW 寄存器的内容将等于 01 H 。
11. 8051AH·片内设置有4KB 的ROM , 当EA 端保持高电平时 , PC (程序计数器)值超过 OFF H时 , 将自动转向执行外部程序存储器的程序。
·可做通用I/O 的至少有_P1_口的8条I/O 线。
_P0_口作地址/数据总线, 传送地址码的_低_8位 , _P2 口作地址总线 , 传送地址码的高__8位。
12.存储器组织·8051片内RAM 有 128 个字节 , 片外RAM 寻址范围为 64K 个字节。
单片机原理及应用课后答案(张鑫)版(可编辑)(可编辑)
单片机原理及应用课后答案 (张鑫)版《单片机原理及应用》思考题与习题参考答案绪论0.1解:单片微型计算机(Single-Chip Microcomputer),简称单片机。
就是将微处理器(CPU)、存储器(存放程序或数据的 ROM和 RAM)、总线、定时器/计数器、输入/输出接口(I/O口)和其他多种功能器件集成在一块芯片上的微型计算机。
单片机的主要特点有:(1)可靠性高(2)便于扩展(3)控制功能强(4)低电压、低功耗(5)片内存储容量较小,除此之外,单片机还具有集成度高、体积小、性价比高、应用广泛、易于产品化等特点0.2 解:当前单片机的主要产品有:Intel的8051 系列、Motorola的M68HC系列、Philips(飞利浦)的 80C51 系列、台湾义隆公司(EMC)EM78系列单片机、美国Microchip公司的PIC单片机系列、Atmel公司的AT90 系列单片机Ubicom公司的Scenix 单片机、日本爱普生科技公司的Epson单片机、Zilog公司的Z86 系列、美国国家半导体公司NSCOP8 单片机、台湾Winbond(华邦)的W78 系列等。
MCS-51 为主流产品。
MSP430 的功能较强。
是一种特低功耗的Flash微控制器。
主要用于三表及超低功耗场合。
EM78 系列单片机采用高速 CMOS 工艺制造,低功耗设计为低功耗产品,价格较低。
具有三个中断源、R-OPTION功能、I/O唤醒功能、多功能 I/O口等。
具有优越的数据处理性能,采用 RISC 结构设计。
Microship 单片机是市场份额增长较快的单片机。
它的主要产品是 PIC 系列 8 位单片机。
CPU采用 RISC 结构,运行速度快,价格低适于用量大、档次低、价格敏感的产品。
Motorola 是世界上最大的单片机生产厂家之一,品种全、选择余地大、新产品多。
其特点是噪声低,抗干扰能力强,比较适合于工控领域及恶劣的环境。
单片机原理及应用技术第版李全利习题答案
章1绪论1.第一台计算机的问世有何意义答:第一台电子数字计算机ENIAC问世,标志着计算机时代的到来;与现代的计算机相比,ENIAC有许多不足,但它的问世开创了计算机科学技术的新纪元,对人类的生产和生活方式产生了巨大的影响;2.计算机由哪几部分组成答:由运算器、控制器、存储器、输入设备和输出设备组成,运算器与控制器合称为CPU;3.微型计算机由哪几部分构成答:微型计算机由微处理器、存储器和I/O接口电路构成;各部分通过地址总线AB、数据总线DB和控制总线CB相连;4.微处理器与微型计算机有何区别答:微处理器集成了运算器和控制器即CPU;而微型计算机包含微处理器、存储器和I/O接口电路等;5.什么叫单片机其主要特点有哪些答:在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机;单片机主要特点有:控制性能和可靠性高;体积小、价格低、易于产品化;具有良好的性能价格比;;6.微型计算机有哪些应用形式各适于什么场合答:微型计算机有三种应用形式:多板机系统机、单板机和单片机;多板机,通常作为办公或家庭的事务处理及科学计算,属于通用计算机;单板机,I/O设备简单,软件资源少,使用不方便;早期主要用于微型计算机原理的教学及简单的测控系统,现在已很少使用;单片机,单片机体积小、价格低、可靠性高,其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势;目前,单片机应用技术已经成为电子应用系统设计的最为常用技术手段;7.当前单片机的主要产品有哪些各有何特点答:多年来的应用实践已经证明,80C51的系统结构合理、技术成熟;因此,许多单片机芯片生产厂商倾力于提高80C51单片机产品的综合功能,从而形成了80C51的主流产品地位,近年来推出的与80C51兼容的主要产品有:●ATMEL公司融入Flash存储器技术推出的AT89系列单片机;●Philips公司推出的80C51、80C552系列高性能单片机;●华邦公司推出的W78C51、W77C51系列高速低价单片机;●ADI公司推出的ADμC8xx系列高精度ADC单片机;●LG公司推出的GMS90/97系列低压高速单片机;●Maxim公司推出的DS89C420高速50MIPS单片机;●Cygnal公司推出的C8051F系列高速SOC单片机等;8.简述单片机的开发过程;答:系统需求分析,硬件方案设计,软件编程,仿真调试,实际运行;9.单片机应用系统开发方法有哪些新方法答:在系统编程ISP技术,在应用编程IAP技术;章2 80C51的结构和原理1.80C51单片机在功能上、工艺上、程序存储器的配置上有哪些种类答:功能上分为基本型和增强型;工艺上分为HMOS工艺和CHMOS工艺;在片内程序存储器的配置上有掩膜ROM、EPROM和Flash、无片内程序存储器形式;2. 80C51单片机的存储器的组织采用何种结构存储器地址空间如何划分各地址空间的地址范围和容量如何在使用上有何特点答:采用哈佛结构,在物理上设计成程序存储器和数据存储器两个独立的空间;80C51基本型单片机片内程序存储器为4KB,地址范围是0000H-0FFFH,用于存放程序或常数;片内数据存储器为128字节RAM,地址范围是00H-7FH,用于存放运算的中间结果、暂存数据和数据缓冲;另外在80H-FFH还配有21个SFR;3.80C51单片机的P0~P3口在结构上有何不同在使用上有何特点答:作为通用I/O口时,P0、P1、P2和P3都是准双向口;P0可以作为地址/数据总线,此时是一个真正的双向口;P2口可以作为地址线的高8位;P3口是双功能口,每条口线还具有不同的第二功能;另外,P0口的驱动能力为8个TTL负载,而其它口仅可驱动4个TTL负载;4.如果80C51单片机晶振频率分别为6 MHz、 MHz、12MHz时,机器周期分别为多少答:机器周期分别为2μs,μs,1μs;5.80C51单片机复位后的状态如何复位方法有几种答:复位后,PC内容为0000H,P0口~P3口内容为FFH,SP内容为07H,SBUF内容不定,IP、IE和PCON的有效位为0,其余的特殊功能寄存器的状态均为00H;复位方法一种是上电复位,另一种是上电与按键均有效的复位;6.80C51单片机的片内、片外存储器如何选择答:80C51的EA引脚为访问片内、片外程序存储器的选择端;访问片内、片外数据存储器需要采用不同的指令加以区分;7.80C51单片机的PSW寄存器各位标志的意义如何答:CY:进位、借位标志;有进位、借位时 CY=1,否则CY=0;AC:辅助进位、借位标志高半字节与低半字节间的进位或借位;F0:用户标志位,由用户自己定义;RS1、RS0:当前工作寄存器组选择位;OV:溢出标志位;有溢出时OV=1,否则OV=0;P:奇偶标志位;存于ACC中的运算结果有奇数个1时P=1,否则P=0;8. 80C51单片机的当前工作寄存器组如何选择答:当前工作寄存器组的选择由特殊功能寄存器中的程序状态字寄存器PSW的RS1、RS0 来决定;9.80C51单片机的控制总线信号有哪些各信号的作用如何答:RST/VPD:复位信号输入引脚/备用电源输入引脚;ALE/PROG:地址锁存允许信号输出引脚/编程脉冲输入引脚;EA/VPP:内外存储器选择引脚/片内EPROM或FlashROM编程电压输入引脚;PSEN:外部程序存储器选通信号输出引脚;10.80C51单片机的程序存储器低端的几个特殊单元的用途如何答:0000H:单片机复位入口地址;0003H:外部中断0的中断服务程序入口地址;000BH:定时/计数器0溢出中断服务程序入口地址;0013H:外部中断1的中断服务程序入口地址;001BH:定时/计数器1溢出中断服务程序入口地址;0023H:串行口的中断服务程序入口地址;章3 80C51的指令系统1.80C51系列单片机的指令系统有何特点答:执行时间短;1个机器周期指令有64条,2个机器周期指令有45条,而4个机器周期指令仅有2条即乘法和除法指令;指令编码字节少;单字节的指令有49条,双字节的指令有45条,三字节的指令仅有17条;位操作指令丰富;这是80C51单片机面向控制特点的重要保证;2.80C51单片机有哪几种寻址方式各寻址方式所对应的寄存器或存储器空间如何答:80C51单片机的寻址方式有七种;即:寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、基址寄存器加变址寄存器变址寻址、相对寻址和位寻址;这些寻址方式所对应的寄存器和存储空间如下表所示;3.访问特殊功能寄存器SFR可以采用哪些寻址方式答:直接寻址和位寻址方式;4.访问内部RAM单元可以采用哪些寻址方式答:直接寻址、寄存器间接寻址和位寻址方式;5.访问外部RAM单元可以采用哪些寻址方式答:寄存器间接寻址;6.访问外部程序存储器可以采用哪些寻址方式答:立即寻址、变址寻址和相对寻址方式;7.为什么说布尔处理功能是80C51单片机的重要特点答:单片机指令系统中的布尔指令集、存储器中的位地址空间与CPU中的位操作构成了片内的布尔功能系统,它可对位bit变量进行布尔处理,如置位、清零、求补、测试转移及逻辑“与”、“或”等操作;在实现位操作时,借用了程序状态标志器PSW中的进位标志Cy作为位操作的“累加器”;8.对于80C52单片机内部RAM还存在高128字节,应采用何种方式访问答:寄存器间接寻址方式;9.试根据指令编码表写出下列指令的机器码;1MOV A,88H----------------74H, 88H2MOV R3,50H----------------ABH,50H3MOV P1,55H----------75H,90H,55H4ADD A,R---------27H5SETB 12H----------------------D2H,12H10.完成某种操作可以采用几条指令构成的指令序列实现,试写出完成以下每种操作的指令序列;1将R0的内容传送到R1;2内部RAM单元60H的内容传送到寄存器R2;3外部RAM单元1000H的内容传送到内部RAM单元60H;4外部RAM单元1000H的内容传送到寄存器R2;5外部RAM单元1000H的内容传送到外部RAM单元2000H;答:1MOV A,R0MOV R1,A2MOV R2,60H3MOV DPTR,1000HMOVX A,DPTRMOV 60H,A4MOV DPTR,1000HMOVX A,DPTRMOV R2,A5MOV DPTR,1000HMOVX A,DPTRMOV DPTR,2000HMOVX DPTR, A11.若R1=30H,A=40H,30H=60H,40H=08H;试分析执行下列程序段后上述各单元内容的变化;MOV A,R1MOV R1,40HMOV 40H,AMOV R1,7FH答:R1=7FHA=60H30H=08H40H=60H12.若A=E8H,R0=40H,R1=20H,R4=3AH,40H=2CH,20H=0FH,试写出下列各指令独立执行后有关寄存器和存储单元的内容若该指令影响标志位,试指出CY、AC、和OV的值;1MOV A,R02ANL 40H,0FH3ADD A,R44SWAP A5DEC R16XCHD A,R1答:1A=2CH240H=0CH3A=22H,CY=1,AC=1,OV=04A=8EH520H=0EH,P=16A=EFH,20=08H13.若50H=40H,试写出执行以下程序段后累加器A、寄存器R0及内部RAM的40H、41H、42H单元中的内容各为多少MOV A,50HMOV R0,AMOV A,00HMOV R0,AMOV A,3BHMOV 41H,AMOV 42H,41H答:A=3BH,R0=40H,40H=00H,41H=3BH,42H=3BH;14.试用位操作指令实现下列逻辑操作;要求不得改变未涉及的位的内容;1使置位;2清除累加器高4位;3清除,,,;答:1SETB2ANL A,0FH3ANL A,87H15.试编写程序,将内部RAM的20H、21H、22H三个连续单元的内容依次存入2FH、2EH和2DH单元;答:MOV 2FH,20HMOV 2EH,21HMOV 2DH,22H16.试编写程序,完成两个16位数的减法:7F4DH-2B4EH,结果存入内部RAM的30H和31H单元,30H单元存差的高8位,31H单元存差的低8位;答:CLR CYMOV 30H,7FHMOV 31H,4DHMOV R0, 31HMOV A,R0SUBB A ,4EMOV R0,A ;保存低字节相减结果DEC R0MOV A, R0SUBB A,2BHMOV R0,A ;保存高字节相减结果17.试编写程序,将R1中的低4位数与R2中的高4位数合并成一个8位数,并将其存放在R1中;答:MOV A,R2ANL A,0F0HORL R1,A18.试编写程序,将内部RAM的20H、21H单元的两个无符号数相乘,结果存放在R2、R3中,R2中存放高8位,R3中存放低8位;答:MOV A,20HMOV B,21HMUL ABMOV R3,AMOV R2,B19.若CY=1,P1,P3=01101100B;试指出执行下列程序段后,CY、P1口及P3口内容的变化情况;MOV ,CMOV ,CMOV C,MOV ,CMOV C,MOV ,C答:CY=1, P1, P3=00111100B章4 80C51的汇编语言程序设计1.80C51单片机汇编语言有何特点答:汇编语言结构紧凑、灵活,汇编成的目标程序效率高,具有占存储空间少、运行速度快、实时性强等优点;它是面向机器的语言,对于单片机硬件的操作直接、方便,有利于初学者对单片机结构的认知;但它与高级语言相比移植性不好、编程复杂、对编程人员的基础要求高;2.利用80C51单片机汇编语言进行程序设计的步骤如何答:一、任务分析首先,要对单片机应用系统的设计目标进行深入分析,明确系统设计任务:功能要求和技术指标;然后对系统的运行环境进行调研;这是应用系统程序设计的基础和条件;二、算法设计经过任务分析和环境调研后,已经明确的功能要求和技术指标可以用数学方法或模型来描述,进而把一个实际的系统要求转化成由计算机进行处理的算法;并对各种算法进行分析比较,并进行合理的优化;三、流程描述程序的总体构建;先要确定程序结构和数据形式,资源分配和参数计算等;然后根据程序运行的过程,规划程序执行的逻辑顺序,用图形符号将程序流程绘制在平面图上;应用程序的功能通常可以分为若干部分,用流程图将具有一定功能的各部分有机地联系起来;流程图可以分为总流程图和局部流程图;总流程图侧重反映程序的逻辑结构和各程序模块之间的相互关系;局部流程图反映程序模块的具体实施细节;3.常用的程序结构有哪几种特点如何答:顺序程序:无分支、无循环结构的程序,其执行流程是依指令在存储器中的存放顺序进行的;分支程序:可以改变程序的执行顺序;循环程序:按某种控制规律重复执行的程序,控制一部分指令重复执行若干次,以便用简短的程序完成大量的处理任务;4.子程序调用时,参数的传递方法有哪几种答:利用累加器或寄存器;利用存储器;利用堆栈;5.什么是伪指令常用的伪指令功能如何答:伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令;常用的伪指令包括:ORG,功能是向汇编程序说明下面紧接的程序段或数据段存放的起始地址;END,功能是结束汇编;DB,功能是从标号指定的地址单元开始,在程序存储器中定义字节数据;DW,功能是从标号指定的地址单元开始,在程序存储器中定义字数据空间;EQU,功能是将表达式的值或特定的某个汇编符号定义为一个指定的符号名;BIT,功能是将位地址赋给指定的符号名;6.设被加数存放在内部RAM的20H、21H单元,加数存放在22H、23H单元,若要求和存放在24H、25H中,试编写出16位无符号数相加的程序采用大端模式存储;答:程序如下:ORG 0000HMOV R0,21HMOV R1,23HMOV A,R0ADD A,R1MOV 25H,ADEC R0DEC R1MOV A,R0ADDC A,R1MOV 24H,ASJMP $END7.编写程序,把外部RAM中1000H~101FH的内容传送到内部RAM的30H~4FH中;答:ORG 0000HMOV DPTR,1000HMOV R0,30HMOV R7,32LOOP:MOVX A,DPTRMOV R0,AINC R0INC DPTRDJNZ R7,LOOPRET8.编写程序,实现双字节无符号数加法运算,要求R0R1+R6R7→60H61H;答:ORG 0000HMOV A,R1ADD A,R7MOV 61H,AMOV A,R0ADDC A,R6MOV 60H,ASJMP $END9.若80C51的晶振频率为6MHz,试计算延时子程序的延时时间;DELAY:MOV R7,0F6HLP:MOV R6,0FAHDJNZ R6,$DJNZ R7,LPRET答:延时时间:2μs{1+1+2250+2246+2+2}=秒含调用指令2个机器周期10.在内部RAM 的30H~37H单元存有一组单字节无符号数;要求找出最大数存入BIG单元;试编写程序实现;答:ORG 0000HBIG DATA 2FHONE DATA 2AHTWO DATA 2BHSTART:MOV R7,7 ;比较次数MOV R0,30HLOOP:MOV A,R0MOV ONE,AINC R0MOV TWO,R0CLR CSUBB A,R0JC NEXT ;ONE小,TWO大继续比下一对数MOV R0,ONE ;ONE大放后面交换DEC R0MOV R0,TWO ;TWO小放前面INC R0 ;NEXT:DJNZ R7,LOOPMOV BIG,37HSJMP $END11.编写程序,把累加器A中的二进制数变换成3位BCD码,并将百、十、个位数分别存放在内部RAM的50H、51H、52H中;答:单字节二进制数转换为压缩的BCD码仅需要2个字节;在将压缩的BCD码拆分存于3个单元;org 0MOV 52H,0MOV 51H,0MOV 50H,0MOV A,0FDhLCALL DCDTHSJMP $DCDTH:MOV R7,8MOV R0,A ;暂存于R0LOOP:CLR CMOV A,R0RLC AMOV R0,AMOV R1,51H;MOV A,R1 ;ADDC A,R1 ;DA A ;MOV R1,A ;DEC R1MOV A,R1ADDC A,R1DA AMOV R1,ADJNZ R7,LOOPINC R1 ;50H已是结果,R1指向51H,51H单元需拆分MOV A,00HXCHD A,R1MOV 52H,AMOV A,R1SWAP AMOV R1,ARETEND12.编写子程序,将R1中的2个十六进制数转换为ASCII码后存放在R3和R4中;答:ORG 0MOV R1,5BHMOV A,R1ANL A,0F0HSWAP AACALL ASCIIMOV R3,AMOV A,R1ANL A, 0FHACALL ASCIIMOV R4, ASJMP $ASCII:PUSH ACCCLR CSUBB A, 0AHPOP ACCJC LOOPADD A, 07HLOOP: ADD A, 30HRETEND13.编写程序,求内部RAM中50H~59H十个单元内容的平均值,并存放在5AH单元;答:ORG 0000HMOV R7,10MOV R0,50HMOV B,10CLR CCLR ALOOP:ADDC A,R0INC R0DJNZ R7,LOOPDIV ABMOV 5AH,ASJMP $END14.如图所示,编制程序实现:上电后显示“P”,有键按下时显示相应的键号“0”~“7”; 答:实现程序如下:TEMP EQU 30HORG 0000HJMP STARTORG 0100HSTART:MOV SP,5FHMOV P0,8CH ;正序显示"P"MOV P3,0FFH ;输入方式CLR CYNOKEY:MOV A,P3CPL AJZ NOKEY ;无键按下MOV TEMP,P3 ;有键按下CALL D10msMOV A,P3CJNE A,TEMP,NOKEY ;去抖动MOV R2,0 ;键号计数器复位MOV A,TEMPLP:RRC AJNC DONEINC R2SJMP LPDONE:MOV A,R2MOV DPTR,CODE_P0MOVC A,A+DPTRMOV P0,AJMP NOKEYD10ms:MOV R5,10 ;10MSD1ms:MOV R4,249DL:NOPNOPDJNZ R4,DLDJNZ R5,D1msRETCODE_P0:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8HDB 80H,90H,88H,83H,0C6H,0A1H,86H,8EHEND章5 80C51的中断系统及定时/计数器有几个中断源各中断标志是如何产生的又是如何复位的CPU响应各中断时,其中断入口地址是多少答:5个中断源,分别为外中断INT0和INT1、T0和T1溢出中断、串口中断;电平方式触发的外中断标志与引脚信号一致;边沿方式触发的外中断响应中断后由硬件自动复位;T0和T1,CPU响应中断时,由硬件自动复位;RI和TI,由硬件置位;必须由软件复位;另外,所有能产生中断的标志位均可由软件置位或复位;各中断入口地址:INT0―0003H,T0—000BH,INT1—0013H,T1—001BH,RI和TI—0023H;2.某系统有三个外部中断源1、2、3,当某一中断源变低电平时便要求CPU处理,它们的优先处理次序由高到低为3、2、1,处理程序的入口地址分别为2000H、2100H、2200H;试编写主程序及中断服务程序转至相应的入口即可;答:将3个中断信号经电阻线或,接INT1;ORG 0000HLJMP MAINORG 00013HLJMP ZDFZORG 0040HMAIN:SETB EASETB EX1SJMP $0RG 0200HZDFZ:PUSH PSWPUSH ACCJB ,DV0JB ,DV1JB ,DV2INRET:POP ACCPOP PSWRETIORG 2000HDV0:------------JMP INRETORG 2100HDV1:------------JMP INRETORG 2200HDV2:------------JMP INRET3.外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同怎样设定答:当IT0=0时,INT0为电平触发方式;电平触发方式时,CPU在每个机器周期的S5P2采样INT0引脚电平,当采样到低电平时,置IE0=1向CPU请求中断;采样到高电平时,将IE0清0;在电平触发方式下,CPU响应中断时,不能自动清除IE0标志;电平触发方式时,外部中断源的有效低电平必须保持到请求获得响应时为止,不然就会漏掉;在中断服务结束之前,中断源的有效的低电平必须撤除,否则中断返回之后将再次产生中断;该方式适合于外部中断输入为低电平,且在中断服务程序中能清除外部中断请求源的情况;当IT0=1时,INT0为边沿触发方式;边沿触发方式时,CPU在每个机器周期的S5P2采样INT0引脚电平,如果在连续的两个机器周期检测到INT0引脚由高电平变为低电平,即第一个周期采样到INT0=1,第二个周期采样到INT0=0,则置IE0=1,产生中断请求;在边沿触发方式下,CPU响应中断时,能由硬件自动清除IE0标志;边沿触发方式时,在相继两次采样中,先采样到外部中断输入为高电平,下一个周期采样到为低电平,则在IE0或IE1中将锁存一个逻辑1;若CPU暂时不能响应,中断申请标志也不会丢失,直到CPU响应此中断时才清0;另外,为了保证下降沿能够被可靠地采样到,INT0和INT1引脚上的负脉冲宽度至少要保持一个机器周期若晶振频率为12MHz,为1微秒;边沿触发方式适合于以负脉冲形式输入的外部中断请求;4.定时/计数器工作于定时和计数方式时有何异同点答:定时/计数器实质是加1计数器;不同点:设置为定时器模式时,加1计数器是对内部机器周期计数1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12;计数值乘以机器周期就是定时时间;设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器;在每个机器周期的S5P2期间采样T0、T1引脚电平;当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器;相同点:它们的工作原理相同,它们都有4种工作方式,由TMOD中的M1M0设定,即方式0:13位计数器;方式1:16位计数器;方式2:具有自动重装初值功能的8位计数器;方式3:T0分为两个独立的8位计数器,T1停止工作;5.定时/计数器的4种工作方式各有何特点答:方式0位13位计数器,由TL0的低5位高3位未用和TH0的8位组成;TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求;计数初值计算的公式为:X=213-N方式1的计数位数是16位,由TL0作为低8位、TH0作为高8位,组成了16位加1计数器;计数个数与计数初值的关系为:X=216-N方式2为自动重装初值的8位计数方式;TH0为8位初值寄存器;当TL0计满溢出时,由硬件使TF0置1,向CPU发出中断请求,并将TH0中的计数初值自动送入TL0;TL0从初值重新进行加1计数;周而复始,直至TR0=0才会停止;计数个数与计数初值的关系为:X=28-N方式3只适用于定时/计数器T0,定时器T1处于方式3时相当于TR1=0,停止计数;方式3时,T0分成为两个独立的8位计数器TL0和TH0,TL0使用T0的所有控制位;当TL0计数溢出时,由硬件使TF0置1,向CPU发出中断请求;而TH0固定为定时方式不能进行外部计数,并且借用了T1的控制位TR1、TF1;因此,TH0的启、停受TR1控制,TH0的溢出将置位TF1;6.要求定时/计数器的运行控制完全由TR1、TR0确定和完全由INT0、INT1高低电平控制时,其初始化编程应作何处理答:TMOD中GATE的值不同:完全由TR1、TR0确定时GATE为0;完全由INT0、INT1高低电平控制时GATE为1;7.当定时/计数器T0用作方式3时,定时/计数器T1可以工作在何种方式下如何控制T1的开启和关闭答:T0用作方式3时,T1可以工作在方式0、1和2;T1的开启由TR1控制,即TR1=1时,T1开始工作;TR1=0时或者定时/计数器工作在方式3时,T1停止工作;8.利用定时/计数器T0从输出周期为1s,脉宽为20ms的正脉冲信号,晶振频率为12MHz;试设计程序;答:采用定时20ms,然后再计数1、49次的方法实现;a、T0工作在定时方式1时,控制字TMOD配置:M1M0=01,GATE=0,C/T=0,可取方式控制字为01H;b、计算计数初值X:晶振为12 MHz,所以机器周期Tcy为1μs;N=t/ Tcy =20×10-3/1×10-6=20000X=216-N=65536-20000=45536=4E20H即应将4EH送入TH1中,20H送入TL1中;c、实现程序如下:ORG 0000HAJMP MAIN ;跳转到主程序ORG 0030HMAIN:MOV TMOD,01H ;设T1工作于方式2MOV TH0, 4EH ;装入循环计数初值MOV TL0,20H ;首次计数值LP0:SETBACALL NT0CLRMOV R7,49 ;计数49次LP1:ACALL NT0DJNZ R7,LP1AJMP LP0NT0:MOV TH0, 4EHMOV TL0,20HSETB TR0JNB TF0,$CLR TR0CLR TF0RETEND9.要求从引脚输出1000Hz方波,晶振频率为12MHz;试设计程序; 答:采用T0实现a、T0工作在定时方式1时,控制字TMOD配置:M1M0=01,GATE=0,C/T=0,可取方式控制字为01H;b、计算计数初值X:晶振为12 MHz,所以机器周期Tcy为1μs;1/1000=1×10-3N=t/ Tcy =×10-3/1×10-6=500X=216-N=65536-500=65036=FE0CH即应将FEH送入TH0中,0CH送入TL0中;c、实现程序如下:ORG 0000HAJMP MAIN ;跳转到主程序ORG 000BH ;T0的中断入口地址LJMP DVT0ORG 0030HMAIN:MOV TMOD,01H ;设T0工作于方式2MOV TH0, 0FEH ;装入循环计数初值MOV TL0,0CH ;首次计数值SETB ET0 ;T0开中断SETB EA ;CPU开中断SETB TR0 ;启动T0SJMP $ ;等待中断DVT0:CPLMOV TH0, 0FEHMOV TL0, 0CHSETB TR0RETIEND10.试用定时/计数器T1对外部事件计数;要求每计数100,就将T1改成定时方式,控制输出一个脉宽为10ms的正脉冲,然后又转为计数方式,如此反复循环;设晶振频率为12MHz;答:a、T1工作在计数方式2时,控制字TMOD配置:M1M0=10,GATE=0,C/T=1,可取方式控制字为60H;T1工作在定时方式1时,控制字TMOD配置:M1M0=01,GATE=0,C/T=0,可取方式控制字为10H;b、计算初值X:定时10ms时:晶振为12 MHz,所以机器周期Tcy为1μs;N=t/ Tcy =10×10-3/1×10-6=10000X=216-N=65536-10000=55536=D8F0H即应将D8H送入TH1中,F0H送入TL1中;计数100时:N=100X=28-N=256-100=156=9C Hc、实现程序如下:ORG 0000HAJMP MAIN ;跳转到主程序ORG 001BH ;T1的中断入口地址LJMP DVT1ORG 0030HMAIN:MOV TMOD,60H ;T1工作于计数方式2MOV TH1,9CH ;装入计数初值MOV TL1,9CH ;CLRSETB ET1 ;T1开中断SETB EA ;CPU开中断SETB TR1 ;启动T1SJMP $ ;等待中断DVT1:SETBCLR ET1CLR TR1MOV TMOD,10H ;T1工作于定时方式1MOV TH1,0D8H ;装初值MOV TL1,0F0HSETB TR1JNB TF1,$ ;查询等待10msCLR TF1CLR TR1CLRMOV TMOD,60H ;T1工作于计数方式2MOV TH1,9CH ;装初值MOV TL1,9CH ;SETB ET1 ;T1开中断SETB TR1 ;启动T1RETIEND11.利用定时/计数器T0产生定时时钟,由P1口控制8个指示灯;编一个程序,使8个指示灯依次闪动,闪动频率为1次/秒即,亮1秒后熄灭并点亮下一个,-----;答:采用定时20ms,计数50次实现1秒定时;编制1秒延时子程序,由主程序调用;a、T0工作在定时方式1时,控制字TMOD配置:M1M0=01,GATE=0,C/T=0,可取方式控制字为01H;b、计算计数初值X:晶振为12 MHz,所以机器周期Tcy为1μs;N=t/ Tcy =20×10-3/1×10-6=20000X=216-N=65536-20000=45536=4E20H即应将4EH送入TH1中,20H送入TL1中;c、实现程序如下:ORG 0000HAJMP MAIN ;跳转到主程序ORG 0030HMAIN:CLR CYMOV A,01HLP0:MOV P1,ACALL D1SECRL AAJMP LP0D1SEC:MOV R7,50 ;计数50次MOV TMOD,01HDL:MOV TH0,4EHMOV TL0,20HSETB TR0JNB TF0,$CLR TR0CLR TF0DJNZ R7,DLRETEND。
《单片机原理及应用》各章课后习题参考答案
第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、频谱分析等)的嵌入式处理器。
由于对其硬件结构和指令进行了特殊设计,使其能够高速完成各种复杂的数字信号处理算法。
单片机原理及应用教程第版习题课后答案定稿版
单片机原理及应用教程第版习题课后答案精编W O R D版IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】《单片机原理及应用程序》(第三版)习题参考答案第一章1. 为什么计算机要采用二进制数学习十六进制数的目的是什么在计算机中,由于所采用的电子逻辑器件仅能存储和识别两种状态的特点,计算机内部一切信息存储、处理和传送均采用二进制数的形式。
可以说,二进制数是计算机硬件能直接识别并进行处理的惟一形式。
十六进制数可以简化表示二进制数。
2.(1) 01111001 79H (2) 0.11 0.CH (3) 01111001.11 79.CH(5)01100001 61H (6) 00110001 31H3.(1) 0B3H (2)80H (3) 17.AH (4) 0C.CH4.(1)01000001B 655.(6.00100101B 00110111BCD 25H7. 137 119 898.什么是总线总线主要有哪几部分组成各部分的作用是什么总线是连接计算机各部件之间的一组公共的信号线。
一般情况下,可分为系统总线和外总线。
系统总线应包括:地址总线(AB)控制总线(CB)数据总线(DB)地址总线(AB):CPU根据指令的功能需要访问某一存储器单元或外部设备时,其地址信息由地址总线输出,然后经地址译码单元处理。
地址总线为16位时,可寻址范围为216=64K,地址总线的位数决定了所寻址存储器容量或外设数量的范围。
在任一时刻,地址总线上的地址信息是惟一对应某一存储单元或外部设备。
控制总线(CB):由CPU产生的控制信号是通过控制总线向存储器或外部设备发出控制命令的,以使在传送信息时协调一致的工作。
CPU还可以接收由外部设备发来的中断请求信号和状态信号,所以控制总线可以是输入、输出或双向的。
数据总线(DB):CPU是通过数据总线与存储单元或外部设备交换数据信息的,故数据总线应为双向总线。
(完整版)单片机原理及应用习题答案
(完整版)单⽚机原理及应⽤习题答案思考与练习题11.1单项选择题(1)单⽚机⼜称为单⽚微计算机,最初的英⽂缩写是( D )A.MCPB.CPUC.DPJD.SCM(2)Intel公司的MCS-51系列单⽚机是( C )的单⽚机。
A.1位B.4位C.8位D.16位(3)单⽚机的特点⾥没有包括在内的是( C )A.集成度⾼B.功耗低C.密封性强D.性价⽐⾼(4)单⽚机的发展趋势中没有包括的是( B )A.⾼性能B.⾼价格C.低功耗D.⾼性价⽐(5)⼗进制数56的⼆进制数是( A )A.00111000BB.01011100BC.11000111BD.01010000B(6)⼗六进制数93的⼆进制数是( A )A.10010011BB.00100011BC.11000011BD.01110011B(7)⼆进制数11000011的⼗六进制数是( B )A. B3HD.E3H(8)⼆进制数11001011的⼗进制⽆符号数是( B )A. 213B.203C.223D.233(9)⼆进制数11001011的⼗进制有符号数是( B )A. 73B.-75C.-93D.75(10)⼗进制数29的8421BCD压缩码是( A )A.00101001BB.10101001BC.11100001BD.10011100B(11)⼗进制数-36在8位微机中的反码和补码是( D )A.00100100B、11011100BB.00100100B、11011011BC.10100100B、11011011BD.11011011B、11011100B(12)⼗进制数+27在8位微机中的反码和补码分别是( C )A.00011011B、11100100BB.11100100B、11100101BC.00011011B、00011011BD.00011011B、11100101B(13)字符9的ASCII码是( D )A.0011001BB.0101001BC.1001001BD.0111001B(14)ASCII码1111111B的对应字符是( C )A. SPACED.{(15)或逻辑的表达式是( B )A.A?B=FB. A+B=FC. A⊕B=FD.(A?B)=F(16)异或逻辑的表达式是( C )A.A?B=FB. A+B=FC. A⊕B=FD.(A?B)=F(17)⼆进制数10101010B与00000000B的“与”、“或”和“异或”结果是( B )A.10101010B、10101010B、00000000BB.00000000B、10101010B、10101010BC.00000000B、10101010B、00000000BD.10101010B、00000000B、10101010B (18)⼆进制数11101110B与01110111B的“与”、“或”和“异或”结果是( D )A.01100110B、10011001B、11111111BB.11111111B、10011001B、01100110BC.01100110B、01110111B、10011001BD.01100110B、11111111B、10011001B(19)下列集成门电路中具有与门功能的是( D )A.74LS32B.74LS06C.74LS10D.74LS08(20)列集成门电路中具有⾮门功能的是( B )A.74LS32B.74LS06C.74LS10D.74LS08(21)Proteus软件由以下两个设计平台组成( C )A.ISIS和PPTB.ARES和CADC.ISIS和ARESD.ISIS和CAD(22)ISIS模块的主要功能是( A )A.电路原理图设计与仿真 B. ⾼级布线和编辑C. 图像处理D.C51源程序调试(23)ARES模块的主要功能是( B )A.电路原理图设计与仿真 B. ⾼级布线和编辑C. 图像处理&D.C51源程序调试(24)家⽤电器如冰箱、空调、洗⾐机中使⽤的单⽚机主要是利⽤了它的( D )A.⾼速运算 B. 海量存储 C.远程通信 D. 测量控制1.2问答思考题(1)什么是单⽚机?单⽚机与通⽤微机相⽐有何特点?单⽚机是在⼀块半导体硅⽚上集成了计算机基本功能部件的微型计算机。
《单片机原理及应用》课后习题答案
2.5 MCS-51系列单片机的存储器可划分为几个空间?各自的地址范围 和容量是多少?在使用上有什么不同?
答案:MCS-51的存储器空间可以划分为以下4种,分别是: 程序存储器;内部数据存储器;内部特殊功能寄存器;外部数据存储 器; 对89S51来说,程序存储器分为片内程序存储器和片外程序存储器, 片内程序存储器地址范围为0000H-0FFFH,4KB;片外程序存储器地址范 围0000H~FFFFH,64KB。内部程序存储器与外部程序存储器统一编址, 当EA为高电平时,从内部程序存储器开始读取程序,达到4KB后跳到片 外程序存储器的1000H开始读取程序;当EA为低电平时,直接从片外程 序存储器的0000H开始处读取程序。 内部数据存储器地址范围为00H~7FH,128B,在程序中做通用存 储器使用。 内部特殊功能寄存器地址范围80H~FFH,128B,专用于控制、管 理片内算术逻辑部件、并行I/O口、串行I/O口、定时器/计数器、中断 系统等功能模块的工作。 外部数据存储器地址范围0000H~FFFFH,64KB,又称为外部数据 RAM,当单片机内部128个字节的数据RAM不能满足系统工作的需要时, 可以通过它的外部总线扩展外部数据存储器。
第2章 MCS-51的基本结构
• • • • • • • • 2.1 MCS-51单片机内部包含那些主要逻辑功能部件?各个功能部件的最主要的功能是 什么? 2.2 2.3 2.4 MCS-51的EA端有何用途? MCS-51单片机外部总线结构是怎样的? MCS-51单片机存储器的组织结构是怎样的?
ቤተ መጻሕፍቲ ባይዱ
2.5 MCS-51系列单片机的存储器可划分为几个空间?各自的地址范围和容量是多少? 在使用上有什么不同? 2.6 8051如何确定和改变当前工作寄存器组? 2.7 MCS-51单片机的程序存储器中0000H、0003H、000BH、0013H、001BH和0023H这几 个地址具有什么特殊的功能? 2.8 8051单片机有哪几个特殊功能寄存器?可位寻址的SFR有几个?
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机原理及应用教程第版习题课后答案集团标准化小组:[VVOPPT-JOPP28-JPPTL98-LOPPNN]《单片机原理及应用程序》(第三版)习题参考答案第一章1. 为什么计算机要采用二进制数学习十六进制数的目的是什么在计算机中,由于所采用的电子逻辑器件仅能存储和识别两种状态的特点,计算机内部一切信息存储、处理和传送均采用二进制数的形式。
可以说,二进制数是计算机硬件能直接识别并进行处理的惟一形式。
十六进制数可以简化表示二进制数。
2.(1) 01111001 79H (2) (3)(5)01100001 61H (6) 00110001 31H3.(1) 0B3H (2)80H (3) (4)4.(1)01000001B 655.(6.00100101B 00110111BCD 25H7. 137 119 898.什么是总线总线主要有哪几部分组成各部分的作用是什么总线是连接计算机各部件之间的一组公共的信号线。
一般情况下,可分为系统总线和外总线。
系统总线应包括:地址总线(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×102412. 简述微型计算机硬件系统组成。
一台计算机的基本结构由运算器、控制器、存储器、输入设备和输出设备五部分组成。
13. 什么是单片机单片机与微机相比有何特点单片机(Single-Chip-Microcomputer)又称单片微控制器,其基本结构是将微型计算机的基本功能部件:中央处理机(CPU)、存储器、输入接口、输出接口、定时器/计数器、中断系统等全部集成在一个半导体芯片上,因此,单片机其体积小、功耗低、价格低廉,且具有逻辑判断、定时计数、程序控制等多种功能。
单片机结构上的设计,在硬件、指令系统及I/O能力等方面都有独到之处,具有较强而有效的控制功能。
虽然单片机只是一个芯片,但无论从组成还是从其逻辑功能上来看,都具有微机系统的含义。
另一方面,单片机毕竟是一个芯片,只有外加所需的输入、输出设备,才可以构成实用的单片机应用系统。
14. 单片机主要应用于哪些领域(1) 智能仪器。
智能仪器是含有微处理器的测量仪器。
单片机广泛应用于各种仪器仪表,使仪器仪表智能化取得了令人瞩目的进展。
(2) 工业控制。
单片机广泛应用于各种工业控制系统中,如数控机床、温度控制、可编程顺序控制等。
(3) 家用电器。
目前各种家用电器普遍采用单片机取代传统的控制电路,如洗衣机、电冰箱、空调、彩电、微波炉、电风扇及高级电子玩具等。
由于配上了单片机,使其功能增强而身价倍增,深受用户的欢迎。
(4) 机电一体化。
机电一体化是机械工业发展的方向,机电一体化产品是指集机械技术、微电子技术、计算机技术于一体,具有智能化特征的机电产品。
单片机除以上各方面应用之外,还广泛应用于办公自动化领域(如复印机)、汽车电路、通信系统(如手机)、计算机外围设备等,成为计算机发展和应用的一个重要方向。
15. 什么是嵌入式系统嵌入式系统有哪些重要特征所谓嵌入式系统,是“以应用为中心、以计算机技术为基础、软件硬件可裁减、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统”。
即以嵌入式应用为目的计算机系统。
嵌入式系统的重要特征:(1)系统内核小(2)专用性强。
(3)系统精简嵌入式系统一般没有系统软件和应用软件的明显区分,其功能设计及实现上不要求过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。
(4)高实时性。
第二章1. 举例说明MCS-51有哪些典型产品,它们有何区别MCS-51系列单片机可分为两大系列:51子系列和52子系列。
51子系列单片机的典型产品有8051、8751、8031、80C51、80C31等。
它们的结构基本相同,其主要差别反映在片内存储器的配置上有所不同2. 8051单片机内部包含哪些主要功能部件各功能部件的主要作用是什么8051单片机内部由CPU、4KB的ROM、128B的RAM、4个8位的I/O并行端口、一个串行口、两个16位定时/计数器及中断系统等组成。
3. 程序状态字寄存器PSW各位的定义是什么PSW是一个8位寄存器,用于寄存当前指令执行后的某些状态,即反映指令执行结果的一些特征信息。
Cy():即PSW的D7位,进位/借位标志。
AC():即PSW的D6位,辅助进位标志。
F0()及F1():即PSW的D5位、D1位,用户标志位。
RS1及RS0(及):即PSW的D4位、D3位,寄存器组选择控制位。
OV():即PSW的D2位,溢出标志。
4. MCS-51存储器结构的主要特点是什么程序存储器和数据存储器各有何不同MCS-51单片机的存储器结构与一般微机存储器的配置方法不同,一般微机把程序和数据共存同一存储空间,各存储单元对应惟一的地址。
而MCS-51的存储器把程序和数据的存储空间严格区分开。
数据存储器用于存放程序运算的中间结果、状态标志位等。
程序存储器用于存放已编制好的程序及程序中用到的常数。
5. MCS-51单片机内部RAM可分为几个区各区的主要作用是什么内部数据存储器分为高、低128B两大部分。
低128B为RAM区,地址空间为00H~7FH,可分为:寄存器区、位寻址区、堆栈及数据存储区。
存放程序运算的中间结果、状态标志位等。
高128B为特殊功能寄存器(SFR)区,地址空间为80H~FFH,其中仅有21个字节单元是有定义的。
6. MCS-51单片机的P0~P3四个I/O端口在结构上有何异同使用时应注意哪些事项P0口是一个8位漏极开路型双向I/O端口。
P1口是一个内部带上拉电阻的8位准双向I/O端口。
P2口也是一个内部带上拉电阻的8位准双向I/O端口P3口是一个内部带上拉电阻的8位多功能双向I/O端口。
在使用时应注意以下方面:① P0~P3都是准双向I/O口,即CPU在读取数据时,必须先向相应端口的锁存器写入“1”。
各端口名称与锁存器名称在编程时相同,均可用P0~P3表示。
当系统复位时,P0~P3端口锁存器全为“1”,故可直接对其进行读取数据。
② P0口每一输出位可驱动8个LS型TTL负载,P0口可作通用输入、输出端口使用,此时,若要驱动NMOS或其他拉电流负载时,需外接上拉电阻,才能使该位高电平输出有效。
在单片机进行外部存储器扩展时,P0口必须作为地址/数据复用线使用,此时,不必外接上拉电阻,P0也不能作通用I/O口使用。
③ P1、P2、P3口输出均接有内部上拉电阻,输入端无需外接上拉电阻,每一位输出可以驱动4个LS型TTL电路。
④ P0、P2口除可以作通用I/O端口、以实现与外部进行数据交换外,更主要的是,当CPU访问外部存储器时,CPU将自动地把外部存储器的地址线信号(16位)送P0、P2口,作为地址总线(P0口输出低8位地址,P2口输出高8位地址),向外部存储器输出16位存储单元地址。
在控制信号作用下,该地址低8位被锁存后,P0口自动切换为数据总线,这时经P0口可向外部存储器进行读、写数据操作。
此时,P2口不再作通用I/O端口,P0口为地址/数据复用口。
7. 在什么情况下,P3口作为第二功能使用P3口的第二功能是作为控制端口使用的。
由于单片机没有专设的控制信号引脚,单片机在进行外部存储器和I/O端口扩展时所需要的控制信号必须由P3口提供,P3口第二功能相当于PC机中CPU的控制线引脚。
8. 为什么说单片机具有较强的位处理能力对于许多控制系统,开关量控制是控制系统的主要对象之一。
作为传统的CPU,对于简单的个别开关量进行控制却显得不那么方便,而让MCS-51值得骄傲的正是它有效地解决了单一位的控制。
MCS-51片内CPU还是一个性能优异的位处理器,也就是说MCS-51实际上又是一个完整而独立的1位单片机(也称布尔处理机)。
该布尔处理机除了有自己的CPU、位寄存器、位累加器(即进位标志Cy)、I/O口和位寻址空间外,还有专供位操作的指令系统,可以直接寻址对位存储单元和SFR的某一位进行操作。
MCS-51单片机对于位操作(布尔处理)有置位、复位、取反、测试转移、传送、逻辑与和逻辑或运算等功能。
所以,单片机具有较强的位处理能力。
9. 指出8051可进行位寻址的存储空间。
00~7FH(即~及SFR地址能被8整除的寄存器中的各位。
10. 位地址90H和字节地址90H及有何异同如何区别位地址90H表示位字节地址90H表示P1口11. 在访问外部ROM或RAM时,P0和P2口各用来传送什么信号P0口为什么要采用片外地址锁存器P0口传送地址低八位后可复用数据线,所以,P0口要采用片外地址锁存器。
P2口传送地址高八位。
12. 什么是时钟周期什么是机器周期什么是指令周期当振荡频率为12MHz时,一个机器周期为多少微秒时钟周期:也称振荡周期,即振荡器的振荡频率f osc的倒数,是时序中最小的时间单位。
机器周期:执行一条指令的过程可分为若干个阶段,每一阶段完成一规定的操作,完成一个规定操作所需要的时间称为一个机器周期,一个机器周期包含12个时钟周期。