




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
绪 论 1 第一台计算机的问世有何意义? 答: 第一台电子数字计算机 ENIAC问世,标志着计算机时代的到来。与现代的计算机相比, ENIAC有许多不足,但它的问世开创了计算机科学技术的新纪元,对人类的生产和生活方式产生 了巨大的影响。 2计算机由哪几部分组成? 答: 由运算器、控制器、存储器、输入设备和输出设备组成,运算器与控制器合称为 CPU。 3微型计算机由哪几部分构成? 答: 微型计算机由微处理器、存储器和 I/O接口电路构成。各部分通过地址总线( AB)、数据总 线( DB)和控制总线( CB)相连。 4微处理器与微型计算机有何区别? 答: 微处理器集成了运算器和控制器(即 CPU) ;而微型计算机包含微处理器、存储器和 I/O接口 电路等。 5什么叫单片机?其主要特点有哪些? 答: 在一片集成电路芯片上集成微处理器、存储器、 I/O接口电路,从而构成了单芯片微型计算 机,即单片机。单片机主要特点有:控制性能和可靠性高;体积小、价格低、易于产品化;具有 良好的性能价格比。 。 6 微型计算机有哪些应用形式?各适于什么场合? 答: - 2 - 微型计算机有三种应用形式:多板机(系统机) 、单板机和单片机。 多板机,通常作为办公或家庭的事务处理及科学计算,属于通用计算机。 单板机, I/O设备简单,软件资源少,使用不方便。早期主要用于微型计算机原理的教学及 简单的测控系统,现在已很少使用。 单片机,单片机体积小、价格低、可靠性高,其非凡的嵌入式应用形态对于满足嵌入式应用 需求具有独特的优势。目前,单片机应用技术已经成为电子应用系统设计的最为常用技术手段。 7当前单片机的主要产品有哪些?各有何特点? 答: 多年来的应用实践已经证明, 80C51的系统结构合理、技术成熟。因此,许多单片机芯片生 产厂商倾力于提高 80C51单片机产品的综合功能,从而形成了 80C51的主流产品地位,近年来推 出的与 80C51兼容的主要产品有: ATMEL公司融入 Flash存储器技术推出的 AT89系列单片机; Philips公司推出的 80C51、 80C552系列高性能单片机; 华邦公司推出的 W78C51、 W77C51系列高速低价单片机; ADI公司推出的 ADC8xx 系列高精度 ADC单片机; LG公司推出的 GMS90/97系列低压高速单片机; Maxim公司推出的 DS89C420高速( 50MIPS)单片机; Cygnal公司推出的 C8051F系列高速 SOC单片机等。 8简述单片机的开发过程。 答: 系统需求分析,硬件方案设计,软件编程,仿真调试,实际运行。 9单片机应用系统开发方法有哪些新方法? - 3 - 答: 在系统编程( 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单片机的 P0P3口在结构上有何不同?在使用上有何特点? 答: 作为通用 I/O口时, P0、 P1、 P2和 P3都是准双向口。 P0可以作为地址 /数据总线,此时是一个真正的双向口; P2口可以作为地址线的高 8位; P3 口是双功能口,每条口线还具有不同的第二功能。 另外, P0口的驱动能力为 8个 TTL负载,而其它口仅可驱动 4个 TTL负载。 4 如果 80C51单片机晶振频率分别为 6 MHz、 11.0592 MHz、 12MHz时,机器周期分别为多 少? 答: 机器周期分别为 2s , 1.085s , 1s 。 5 80C51单片机复位后的状态如何?复位方法有几种? - 4 - 答: 复位后, 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 编程脉冲输入引脚; /VPP:内外存储器选择引脚 /片内 EPROM(或 FlashROM)编程电压输入引EA 脚; :外部程序存储器选通信号输出引脚。PSN 10 80C51单片机的程序存储器低端的几个特殊单元的用途如何? 答: 0000H:单片机复位入口地址; 0003H:外部中断 0的中断服务程序入口地址; 000BH:定时 / - 5 - 计数器 0溢出中断服务程序入口地址; 0013H:外部中断 1的中断服务程序入口地址; 001BH:定 时 /计数器 1溢出中断服务程序入口地址; 0023H:串行口的中断服务程序入口地址。 章 3 80C51的指令系统 1 80C51系列单片机的指令系统有何特点? 答: 执行时间短。 1个机器周期指令有 64条, 2个机器周期指令有 45条,而 4个机器周期指令仅 有 2条(即乘法和除法指令); 指令编码字节少。单字节的指令有 49条,双字节的指令有 45条,三字节的指令仅有 17条; 位操作指令丰富。这是 80C51单片机面向控制特点的重要保证。 2 80C51单片机有哪几种寻址方式?各寻址方式所对应的寄存器或存储器空间如何? 答: 80C51单片机的寻址方式有七种。即:寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、 基址寄存器加变址寄存器变址寻址、相对寻址和位寻址。 这些寻址方式所对应的寄存器和存储空间如下表所示。 序号 寻址方 式 寄存器或存储空间 1 寄存器寻址 寄存器R0R7, A、 AB、 DPTR和 C(布尔累加器)2 直接寻址 片内 RAM低 128字节、SFR - 6 - 3 寄存器间接寻 址 片内RAM( R0, R1, SP) 片外RAM( R0, R1, DPTR) 4 立即寻址 ROM 5 变址寻址 ROM( A DPTR, A PC) 6 相对寻址 ROM( PC当前值的 127 128字节) 7 位寻址 可寻址位(内部RAM20H2FH单元的位和部分 SFR的位) 3访问特殊功能寄存器 SFR可以采用哪些寻址方式? 答: 直接寻址和位寻址方式。 4访问内部 RAM单元可以采用哪些寻址方式? 答: 直接寻址、寄存器间接寻址和位寻址方式。 5访问外部 RAM单元可以采用哪些寻址方式? 答: 寄存器间接寻址。 6访问外部程序存储器可以采用哪些寻址方式? 答: 立即寻址、变址寻址和相对寻址方式。 7为什么说布尔处理功能是 80C51单片机的重要特点? 答: 单片机指令系统中的布尔指令集、存储器中的位地址空间与 CPU中的位操作构成了片内的布 尔功能系统,它可对位( bit)变量进行布尔处理,如置位、清零、求补、测试转移及逻辑 “与 ”、 “或 ”等操作。在实现位操作时,借用了程序状态标志器( PSW)中的进位标志 Cy作为位操作的 “累加器 ”。 - 7 - 8对于 80C52单片机内部 RAM还存在高 128字节,应采用何种方式访问? 答: 寄存器间接寻址方式。 9试根据指令编码表写出下列指令的机器码。 ( 1) MOV A, #88H-74H, 88H ( 2) MOV R3, 50H-ABH,50H ( 3) MOV P1, #55H-75H,90H,55H ( 4) ADD A, R1-27H ( 5) SETB 12H-D2H,12H 10完成某种操作可以采用几条指令构成的指令序列实现,试写出完成以下每种操作的指令 序列。 ( 1)将 R0的内容传送到 R1; ( 2)内部 RAM单元 60H的内容传送到寄存器 R2; ( 3)外部 RAM单元 1000H的内容传送到内部 RAM单元 60H; ( 4)外部 RAM单元 1000H的内容传送到寄存器 R2; ( 5)外部 RAM单元 1000H的内容传送到外部 RAM单元 2000H。 答: ( 1) MOV A,R0 MOV R1,A ( 2) MOV R2,60H ( 3) MOV DPTR,#1000H MOVX A,DPTR MOV 60H,A - 8 - ( 4) MOV DPTR,#1000H MOVX A,DPTR MOV R2,A ( 5) MOV DPTR,#1000H MOVX A,DPTR MOV DPTR,#2000H MOVX DPTR, A 11若( R1) =30H,( A) =40H,( 30H) =60H,( 40H) =08H。试分析执行下列程序段后上述 各单元内容的变化。 MOV A, R1 MOV R1, 40H MOV 40H, A MOV R1, #7FH 答: ( R1) =7FH ( A) =60H ( 30H) =08H ( 40H) =60H 12若( A) =E8H,( R0) =40H,( R1) =20H,( R4) =3AH,( 40H) =2CH,( 20H) =0FH,试 写出下列各指令独立执行后有关寄存器和存储单元的内容?若该指令影响标志位,试指出 CY、 AC、和 OV的值。 ( 1) MOV A, R0 ( 2) ANL 40H, #0FH - 9 - ( 3) ADD A, R4 ( 4) SWAP A ( 5) DEC R1 ( 6) XCHD A, R1 答: ( 1)( A) =2CH ( 2)( 40H) =0CH ( 3)( A) =22H,( CY) =1,( AC) =1,( OV) =0 ( 4)( A) =8EH ( 5)( 20H) =0EH, P=1 ( 6)( A) =EFH,( 20) =08H 13若( 50H) =40H,试写出执行以下程序段后累加器 A、寄存器 R0及内部 RAM的 40H、 41H、 42H单元中的内容各为多少? MOV A, 50H MOV R0, A MOV A, #00H MOV R0, A MOV A, #3BH MOV 41H, A MOV 42H, 41H 答: ( A) =3BH,( R0) =40H,( 40H) =00H,( 41H) =3BH,( 42H) =3BH。 14试用位操作指令实现下列逻辑操作。要求不得改变未涉及的位的内容。 - 10 - ( 1)使 ACC.0置位; ( 2)清除累加器高 4位; ( 3)清除 ACC.3, ACC.4, ACC.5, ACC.6。 答: ( 1) SETB ACC.0 ( 2) ANL A,#0FH ( 3) ANL A,#87H 15试编写程序,将内部 RAM的 20H、 21H、 22H三个连续单元的内容依次存入 2FH、 2EH和 2DH单元。 答: MOV 2FH, 20H MOV 2EH, 21H MOV 2DH, 22H 16试编写程序,完成两个 16位数的减法: 7F4DH 2B4EH,结果存入内部 RAM的 30H和 31H 单元, 30H单元存差的高 8位, 31H单元存差的低 8位。 答: CLR CY MOV 30H, #7FH MOV 31H, #4DH MOV R0, #31H MOV A, R0 SUBB A , #4E MOV R0, A ;保存低字节相减结果 - 11 - DEC R0 MOV A, R0 SUBB A, #2BH MOV R0, A ;保存高字节相减结果 17试编写程序,将 R1中的低 4位数与 R2中的高 4位数合并成一个 8位数,并将其存放在 R1中。 答: MOV A, R2 ANL A, #0F0H ORL R1, A 18试编写程序,将内部 RAM的 20H、 21H单元的两个无符号数相乘,结果存放在 R2、 R3中, R2中存放高 8位, R3中存放低 8位。 答: MOV A, 20H MOV B, 21H MUL AB MOV R3, A MOV R2, B 19若( CY) =1,( P1) =10100011B,( P3) =01101100B。试指出执行下列程序段后, CY、 P1口及 P3口内容的变化情况。 MOV P1.3, C MOV P1.4, C - 12 - MOV C, P1.6 MOV P3.6, C MOV C, P1.0 MOV P3.4, C 答: ( CY) =1, ( P1) =10111011B, ( P3) =00111100B 章 4 80C51的汇编语言程序设计 1 80C51单片机汇编语言有何特点? 答: 汇编语言结构紧凑、灵活,汇编成的目标程序效率高,具有占存储空间少、运行速度快、实 时性强等优点。它是面向机器的语言,对于单片机硬件的操作直接、方便,有利于初学者对单片 机结构的认知。 但它与高级语言相比移植性不好、编程复杂、对编程人员的基础要求高。 2利用 80C51单片机汇编语言进行程序设计的步骤如何? 答: 一、任务分析 首先,要对单片机应用系统的设计目标进行深入分析,明确系统设计任务:功能要求和技术 指标。然后对系统的运行环境进行调研。这是应用系统程序设计的基础和条件。 二、算法设计 经过任务分析和环境调研后,已经明确的功能要求和技术指标可以用数学方法(或模型)来 描述,进而把一个实际的系统要求转化成由计算机进行处理的算法。并对各种算法进行分析比较, 并进行合理的优化。 - 13 - 三、流程描述 程序的总体构建。先要确定程序结构和数据形式,资源分配和参数计算等。然后根据程序运 行的过程,规划程序执行的逻辑顺序,用图形符号将程序流程绘制在平面图上。应用程序的功能 通常可以分为若干部分,用流程图将具有一定功能的各部分有机地联系起来。 流程图可以分为总流程图和局部流程图。总流程图侧重反映程序的逻辑结构和各程序模块之 间的相互关系;局部流程图反映程序模块的具体实施细节。 3常用的程序结构有哪几种?特点如何? 答: 顺序程序:无分支、无循环结构的程序,其执行流程是依指令在存储器中的存放顺序进行的; 分支程序:可以改变程序的执行顺序; 循环程序:按某种控制规律重复执行的程序,控制一部分指令重复执行若干次,以便用简短 的程序完成大量的处理任务。 4 子程序调用时,参数的传递方法有哪几种? 答: 利用累加器或寄存器; 利用存储器; 利用堆栈。 5 什么是伪指令?常用的伪指令功能如何? 答: 伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令。常用的伪指令包括: ORG,功能是向汇编程序说明下面紧接的程序段或数据段存放的起始地址; END,功能是结束汇编; - 14 - DB,功能是从标号指定的地址单元开始,在程序存储器中定义字节数据; DW,功能是从标号指定的地址单元开始,在程序存储器中定义字数据空间; EQU,功能是将表达式的值或特定的某个汇编符号定义为一个指定的符号名; BIT,功能是将位地址赋给指定的符号名。 6设被加数存放在内部 RAM的 20H、 21H单元,加数存放在 22H、 23H单元,若要求和存放 在 24H、 25H中,试编写出 16位无符号数相加的程序(采用大端模式存储) 。 答:程序如下: ORG 0000H MOV R0, 21H MOV R1, 23H MOV A,R0 ADD A,R1 MOV 25H,A DEC R0 DEC R1 MOV A,R0 ADDC A,R1 MOV 24H,A SJMP $ END 7 编写程序,把外部 RAM中 1000H101FH的内容传送到内部 RAM的 30H4FH中。 答: ORG 0000H - 15 - MOV DPTR,#1000H MOV R0,#30H MOV R7,#32 LOOP:MOVX A,DPTR MOV R0,A INC R0 INC DPTR DJNZ R7,LOOP RET 8 编写程序,实现双字节无符号数加法运算,要求 ( R0R1) +( R6R7) ( 60H61H) 。 答: ORG 0000H MOV A,R1 ADD A,R7 MOV 61H,A MOV A,R0 ADDC A,R6 MOV 60H,A SJMP $ END 9 若 80C51的晶振频率为 6MHz,试计算延时子程序的延时时间。 DELAY:MOV R7,#0F6H LP:MOV R6,#0FAH - 16 - DJNZ R6,$ DJNZ R7,LP RET 答:延时时间: 2s*1+(( 1+2*250+2) *246)+2+2=0.247486秒(含调用指令 2个机器周 期) 10 在内部 RAM 的 30H37H单元存有一组单字节无符号数。要求找出最大数存入 BIG单元。 试编写程序实现。 答: ORG 0000H BIG DATA 2FH ONE DATA 2AH TWO DATA 2BH START:MOV R7,#7 ;比较次数 MOV R0,#30H LOOP:MOV A,R0 MOV ONE,A INC R0 MOV TWO,R0 CLR C SUBB A,R0 JC NEXT ;ONE小, TWO大继续比下一对数 MOV R0,ONE ;ONE大放后面(交换) DEC R0 - 17 - MOV R0,TWO ;TWO小放前面 INC R0 ; NEXT:DJNZ R7,LOOP MOV BIG,37H SJMP $ END 11 编写程序,把累加器 A中的二进制数变换成 3位 BCD码,并将百、十、个位数分别存放 在内部 RAM的 50H、 51H、 52H中。 答:单字节 二进制数转换为压缩的 BCD码仅需要 2个字节;在将压缩的 BCD码拆分存于 3个 单元。 org 0 MOV 52H,#0 MOV 51H,#0 MOV 50H,#0 MOV A,#0FDh LCALL DCDTH SJMP $ DCDTH:MOV R7,#8 MOV R0,A ;暂存于 R0 LOOP:CLR C MOV A,R0 RLC A - 18 - MOV R0,A MOV R1,#51H; MOV A,R1 ; ADDC A,R1 ; DA A ; MOV R1,A ; DEC R1 MOV A,R1 ADDC A,R1 DA A MOV R1,A DJNZ R7,LOOP INC R1 ;50H已是结果, R1指向 51H, 51H单元需拆分 MOV A,#00H XCHD A,R1 MOV 52H,A MOV A,R1 SWAP A MOV R1,A RET END 12 编写子程序,将 R1中的 2个十六进制数转换为 ASCII码后存放在 R3和 R4中。 - 19 - 答: ORG 0 MOV R1,#5BH MOV A,R1 ANL A,#0F0H SWAP A ACALL ASCII MOV R3,A MOV A,R1 ANL A, #0FH ACALL ASCII MOV R4, A SJMP $ ASCII:PUSH ACC CLR C SUBB A, #0AH POP ACC JC LOOP ADD A, #07H LOOP: ADD A, #30H RET END 13 编写程序,求内部 RAM中 50H59H十个单元内容的平均值,并存放在 5AH单元。 - 20 - 答: ORG 0000H MOV R7,#10 MOV R0,#50H MOV B,#10 CLR C CLR A LOOP:ADDC A,R0 INC R0 DJNZ R7,LOOP DIV AB MOV 5AH,A SJMP $ END 14如图 4.10所示,编制程序实现:上电后显示 “P”,有键按下时显示相应的键号 “0” “7”。 答: 实现程序如下: TEMP EQU 30H ORG 0000H JMP START ORG 0100H START:MOV SP,#5FH - 21 - MOV P0,#8CH ;正序显示 “P“ MOV P3,#0FFH ;输入方式 CLR CY NOKEY:MOV A,P3 CPL A JZ NOKEY ;无键按下 MOV TEMP,P3 ;有键按下 CALL D10ms MOV A,P3 CJNE A,TEMP,NOKEY ;去抖动 MOV R2,#0 ;键号计数器复位 MOV A,TEMP LP:RRC A JNC DONE INC R2 SJMP LP DONE:MOV A,R2 MOV DPTR,#CODE_P0 MOVC A,A+DPTR MOV P0,A JMP NOKEY D10ms:MOV R5,#10 ;10MS D1ms:MOV R4,#249 - 22 - DL:NOP NOP DJNZ R4,DL DJNZ R5,D1ms RET CODE_P0: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H DB 80H,90H,88H,83H,0C6H,0A1H,86H,8EH END 章 5 80C51的中断系统及定时 /计数器 1.80C51有几个中断源?各中断标志是如何产生的?又是如何复位的? CPU响应各中断时, 其中断入口地址是多少? 答: 5个中断源,分别为外中断 和 、 T0和 T1溢出中断、串口中断。INT01 电平方式触发的外中断标志与引脚信号一致;边沿方式触发的外中断响应中断后由硬件自 动复位。 T0和 T1, CPU响应中断时,由硬件自动复位。 RI和 TI,由硬件置位。必须由软件复位。 另外,所有能产生中断的标志位均可由软件置位或复位。 - 23 - 各中断入口地址: 0003H , T0000BH, 0013H, T1001BH, RI和 TIINT0INT1 0023H。 2.某系统有三个外部中断源 1、 2、 3,当某一中断源变低电平时便要求 CPU处理,它们的优 先处理次序由高到低为 3、 2、 1,处理程序的入口地址分别为 2000H、 2100H、 2200H。试编写主程 序及中断服务程序(转至相应的入口即可) 。 答:将 3个中断信号经电阻线或,接 。INT1 ORG 0000H LJMP MAIN ORG 00013H LJMP ZDFZ ORG 0040H MAIN: SETB EA SETB EX1 SJMP $ 0RG 0200H ZDFZ:PUSH PSW PUSH ACC JB P1.0,DV0 JB P1.1,DV1 JB P1.2,DV2 INRET:POP ACC POP PSW - 24 - RETI ORG 2000H DV0:- JMP INRET ORG 2100H DV1:- JMP INRET ORG 2200H DV2:- JMP INRET 3.外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有 何不同?怎样设定? 答: 当 IT0=0时, 为电平触发方式。电平触发方式时, CPU在每个机器周期的 S5P2采样INT0 引脚电平,当采样到低电平时,置 IE0向 CPU请求中断;采样到高电平时,将 IE0清 0。INT0 在电平触发方式下, CPU响应中断时,不能自动清除 IE0标志。 电平触发方式时,外部中断源的有效低电平必须保持到请求获得响应时为止,不然就会漏掉; 在中断服务结束之前,中断源的有效的低电平必须撤除,否则中断返回之后将再次产生中断。该 方式适合于外部中断输入为低电平,且在中断服务程序中能清除外部中断请求源的情况。 当 IT0=1时, 为边沿触发方式。边沿触发方式时, CPU在每个机器周期的 S5P2采样INT0 引脚电平,如果在连续的两个机器周期检测到 引脚由高电平变为低电平,即第一个周期INT0 INT0 采样到 =1,第二个周期采样到 =0,则置 IE0 1,产生中断请求。在边沿触发方式下,IT0 CPU响应中断时,能由硬件自动清除 IE0标志。 - 25 - 边沿触发方式时,在相继两次采样中,先采样到外部中断输入为高电平,下一个周期采样 到为低电平,则在 IE0或 IE1中将锁存一个逻辑 1。若 CPU暂时不能响应,中断申请标志也不会 丢失,直到 CPU响应此中断时才清 0。另外,为了保证下降沿能够被可靠地采样到, 和INT0 引脚上的负脉冲宽度至少要保持一个机器周期(若晶振频率为 12MHz,为 1微秒) 。边沿触发INT1 方式适合于以负脉冲形式输入的外部中断请求。 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发出中断请求。 - 26 - 计数初值计算的公式为: 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确定和完全由 、 高低电平控制时,INT01 其初始化编程应作何处理? 答: TMOD中 GATE的值不同:完全由 TR1、 TR0确定时 GATE为 0;完全由 、 高低电INT 平控制时 GATE为 1。 7.当定时 /计数器 T0用作方式 3时,定时 /计数器 T1可以工作在何种方式下?如何控制 T1 的开启和关闭? 答: T0用作方式 3时, T1可以工作在方式 0、 1和 2。 T1的开启由 TR1控制,即 TR1 1时, T1开始工作; TR1 0时或者定时 /计数器工作在方式 3时, T1停止工作。 8.利用定时 /计数器 T0从 P1.0输出周期为 1s,脉宽为 20ms的正脉冲信号,晶振频率为 12MHz。试设计程序。 - 27 - 答: 采用定时 20ms,然后再计数 1、 49次的方法实现。 a、 T0工作在定时方式 1时,控制字 TMOD配置: M1M0=01, GATE=0, C/ =0,可取方式控制字为 01H;T b、计算计数初值 X: 晶振为 12 MHz,所以机器周期 Tcy为 1 。s N t/ Tcy 2010 3/110 6 20000 X 216 N 65536 20000 45536 4E20H 即应将 4EH送入 TH1中, 20H送入 TL1中。 c、实现程序如下: ORG 0000H AJMP MAIN ;跳转到主程序 ORG 0030H MAIN:MOV TMOD,#01H ;设 T1工作于方式 2 MOV TH0,# 4EH ;装入循环计数初值 MOV TL0,#20H ;首次计数值 LP0:SETB P1.0 ACALL NT0 CLR P1.0 MOV R7,#49 ;计数 49次 LP1:ACALL NT0 DJNZ R7,LP1 AJMP LP0 NT0:MOV TH0,# 4EH MOV TL0,#20H SETB TR0 - 28 - JNB TF0,$ CLR TR0 CLR TF0 RET END 9.要求从 P1.1引脚输出 1000Hz方波,晶振频率为 12MHz。试设计程序。 答:采用 T0实现 a、 T0工作在定时方式 1时,控制字 TMOD配置: M1M0=01, GATE=0, C/ =0,可取方式控制字为 01H;T b、计算计数初值 X: 晶振为 12 MHz,所以机器周期 Tcy为 1 。 1/1000=110 3s N t/ Tcy 0.510 3/110 6 500 X 216 N 65536 500 65036 FE0CH 即应将 FEH送入 TH0中, 0CH送入 TL0中。 c、实现程序如下: ORG 0000H AJMP MAIN ;跳转到主程序 ORG 000BH ;T0的中断入口地址 LJMP DVT0 ORG 0030H MAIN:MOV TMOD,#01H ;设 T0工作于方式 2 MOV TH0,# 0FEH ;装入循环计数初值 MOV TL0,#0CH ;首次计数值 SETB ET0 ;T0开中断 SETB EA ;CPU开中断 SETB TR0 ;启动 T0 SJMP $ ;等待中断 DVT0:CPL P1.1 MOV TH0,# 0FEH MOV TL0,# 0CH SETB TR0 RETI END - 29 - 10.试用定时 /计数器 T1对外部事件计数。要求每计数 100,就将 T1改成定时方式,控制 P1.7输出一个脉宽为 10ms的正脉冲,然后又转为计数方式,如此反复循环。设晶振频率为 12MHz。 答: a、 T1工作在计数方式 2时,控制字 TMOD配置: M1M0=10, GATE=0, C/ =1,可取方式控制字为 60H;T T1工作在定时方式 1时,控制字 TMOD配置: M1M0=01, GATE=0, C/ =0,可取方式控制字为 10H; b、计算初值 X: 定时 10ms时 : 晶振为 12 MHz,所以机器周期 Tcy为 1 。s N t/ Tcy 1010 3/110 6 10000 X 216 N 65536 10000 55536 D8F0H 即应将 D8H送入 TH1中, F0H送入 TL1中。 计数 100时 : N 100 X 28 N 256 100 156 9CH c、实现程序如下: ORG 0000H AJMP MAIN ;跳转到主程序 ORG 001BH ;T1的中断入口地址 LJMP DVT1 ORG 0030H MAIN:MOV TMOD,#60H ;T1工作于计数方式 2 MOV TH1,#9CH ;装入计数初值 MOV TL1,#9CH ; CLR P1.7 SETB ET1 ;T1开中断 - 30 - SETB EA ;CPU开中断 SETB TR1 ;启动 T1 SJMP $ ;等待中断 DVT1:SETB P1.7 CLR ET1 CLR TR1 MOV TMOD,#10H ;T1工作于定时方式 1 MOV TH1,#0D8H ;装初值 MOV TL1,#0F0H SETB TR1 JNB TF1,$ ;查询等待 10ms CLR TF1 CLR TR1 CLR P1.7 MOV TMOD,#60H ;T1工作于计数方式 2 MOV TH1,#9CH ;装初值 MOV TL1,#9CH ; SETB ET1 ;T1开中断 SETB TR1 ;启动 T1 RETI END - 31 - 11.利用定时 /计数器 T0产生定时时钟 ,由 P1口控制 8个指示灯。编一个程序 ,使 8个指示 灯依次闪动,闪动频率为 1次 /秒(即,亮 1秒后熄灭并点亮下一个, -) 。 答:采用定时 20ms,计数 50次实现 1秒定时。编制 1秒延时子程序,由主程序调用。 a、 T0工作在定时方式 1时,控制字 TMOD配置: M1M0=01, GATE=0, C/ =0,可取方式控制字为 01H;T b、计算计数初值 X: 晶振为 12 MHz,所以机器周期 Tcy为 1 。s N t/ Tcy 2010 3/110 6 20000 X 216 N 65536 20000 45536 4E20H 即应将 4EH送入 TH1中, 20H送入 TL1中。 c、实现程序如下: ORG 0000H AJMP MAIN ;跳转到主程序 ORG 0030H MAIN:CLR CY MOV A,#01H LP0:MOV P1,A CALL D1SEC RL A AJMP LP0 D1SEC:MOV R7,#50 ;计数 50次 MOV TMOD,#01H DL:MOV TH0,#4EH MOV TL0,#20H SETB TR0 - 32 - JNB TF0,$ CLR TR0 CLR TF0 DJNZ R7,DL RET END 章 6 80C51的串行口 1 80C51单片机串行口有几种工作方式?如何选择?简述其特点? 答: 四种工作方式,由 SCON中的 SM0、 SM1进行定义: 方式 0:同步移位寄存器的输入输出方式,主要用于扩展并行输入或输出口,波特率固定。 方式 1: 10位数据的异步通信口,波特率可变。 方式 2: 11位数据的异步通信口,波特率固定。 方式 3: 11位数据的异步通信口,波特率可变。 2串行通信的接口标准有那几种? 答: RS-232C接口、 RS-422A接口、 RS-485接口 3在串行通信中通信速率与传输距离之间的关系如何? 答: 最大距离与传输速率及传输线的电气特性有关。当传输线使用每 0.3m(约 1 ft)有 50PF 电容的非平衡屏蔽双绞线时,传输距离随传输速率的增加而减小。当波特率超过 1000 bps 时, 最大传输距离将迅速下降。 4在利用 RS-422/RS-485通信的过程如果通信距离(波特率固定)过长,应如何处理? - 33 - 答: 在波特率一定的情况下,带负载数的多少,与信号能传输的最大距离是直接相关的。在总 线允许的范围内,带负载数越多,信号能传输的距离就越小;带负载数越少,信号能传输的距离 就越远。故应减小通信距离或减少负载数量。 5利用单片机串行口扩展并行输入接口电路如图所示。试编写程序完成将 SW1SW8的状态 反应在 P0口所接的 LED上(如 SW1闭合时 L7应点亮) 。 答:电路图如下: 8 9 S 5 1 R X D + 5 V T X D P 0 . 0 1 K 8 7 4 L S 1 6 5 H G F E D C B A S / L Q C L K P 0 . 1 1 2 3 4 5 6 7 8 O N P 0 . 2 P 0 . 3 P 1 . 7 P 0 . 4 P 0 . 5 P 0 . 6 P 0 . 7 2 0 1 5 8 V C C 1 0 K 8 S W 1 S W 8 L 0 L 7 ORG 0000H MOV SCON,#10H LOOP:CLR P1.7 NOP NOP NOP SETB P1.7 CLR RI JNB RI,$ MOV A,SUBF - 34 - SJMP LOOP END 6利用单片机串行口扩展并行输出接口电路如图所示。试编写程序完成将 SW1SW8的状态 反应在移位寄存器 74LS164所接的 LED上(如 SW1闭合时 L0应点亮) 。 答:电路图如下: 8 9 S 5 1 R X D + 5 V T X D 1 K 8 1 2 3 4 5 6 7 8 O N 2 0 V C C 1 0 K 8 S W 1 S W 8 L 0 L 7 P 1 . 0 P 1 . 1 P 1 . 2 P 1 . 3 P 1 . 4 P 1 . 5 P 1 . 6 P 1 . 7 7 4 L S 1 6 4 A B C L K C L R Q A Q B Q C Q D Q E Q F Q G Q H ORG 0000H MOV SCON,#00H MOV P1,#0FFH LOOP:MOV A,P1 MOV SUBF,A JNB TI,$ CLR TI SJMP LOOP END 章 8 80C51的串行总线扩展 - 35 - 1 I2C总线的特点是什么? 答: a、二线制传输。器件引脚少,器件间连接简单,电路板体积减小,可靠性提高。 b、传输速率高 标准模式传输速率为 100Kb/s,快速模式为 400Kb/s,高速模式为 3.4Mb/s。 c、支持主 /从和多主两种工作方式 2、 I2C总线的起始信号和终止信号是如何定义的? 答: SCL线为高电平期间, SDA线由高电平向低电平的变化表示 起始信号 ; SCL线为高电平期 间, SDA线由低电平向高电平的变化表示 终止信号 。起始和终止信号如图所示。 S D A S C L 起始信号 S 终 止信号 P 3、 I2C总线的数据传送方向如何控制? 答: 在主机发出起始信号后要再传输 1个控制字节: 7位从器件地址, 1位传输方向控制位(用 “0”表示主机发送数据, “1”表示主机接收数据) 。 4、具备 I2C总线接口的 E2PROM芯片有哪几种型号?容量如何? 答: 典型产品如 ATMEL公司的 AT24C系列: 型号 容量 AT24C01A 128 AT24C02 256 AT24C04 512 AT24C08A 1K AT24C16A 2K - 36 - AT24C32A 4K AT24C64A 8K AT24C128B 16K AT24C256B 32K AT24C512B 64K 5、 AT24C系列芯片的读写格式如何? 答: a、写操作过程 对 AT24C02写入时,单片机发出起始信号之后再发送的是控制字节,然后释放 SDA线并在 SCL线上产生第 9个时钟信号。被选中的存储器器件在确认是自己的地址后,在 SDA线上产生一 个应答信号,单片机收到应答后就可以传送数据了。 传送数据时,单片机首先发送一个字节的预写入存储单元的首地址,收到正确的应答后, 单片机就逐个发送各数据字节,但每发送一个字节后都要等待应答。单片机发出停止信号 P后, 启动 AT24C02的内部写周期,完成数据写入工作(约 10ms内结束) 。 AT24C02片内地址指针在接收到每一个数据字节后自动加 1,在芯片的 “一次装载字节数 ” (页面字节数)限度内,只需输入首地址。装载字节数超过芯片的 “一次装载字节数 ”时,数据 地址将 “上卷 ”,前面的数据将被覆盖。 要写入的数据传送完后,单片机应发出终止信号以结束写入操作。写入 n个字节数据格式 如下: S 写控制字节 A 写入首地址 A D a t a 1 A D a t a n A P b、读操作过程 对 AT24C02读出时,单片机也要发送该器件的控制字节( “伪写 ”) ,发送完后释放 SDA线 并在 SCL线上产生第 9个时钟信号,被选中的存储器在确认是自己的地址后,在 SDA线上产生一 - 37 - 个应答信号作为响应。 然后,单片机再发送一个字节的要读
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 七年级生物上册 1.1.1《我们周围的生物》教学设计 (新版)苏教版
- 初中英语牛津版 (深圳&广州)七年级上册(2012秋审查)Unit 5 visiting the moon公开课第2课时教案
- 二年级道德与法治上册 第一单元 1《暑假中的一天》教学设计2 浙教版
- 五 分数除法 分数除法(二) 第2课时 教案
- 餐饮管理培训课件
- 法律法规培训
- 内蒙古兴安盟乌兰浩特市九年级历史下册 第7课 世界反法西斯战争的胜利教学设计 新人教版
- 七年级信息技术上册 第五课 认识新同学教学设计
- 七年级英语下册 Unit 6 I'm watching TV Section A第1课时(1a-2d)教学设计 (新版)人教新目标版
- 人教版历史与社会七年级下册第八单元第三课第一框《中华文明的曙光》教学设计
- 2024国家数字化范式与路径-公共政策立场-67正式版
- 2025年河南工业和信息化职业学院单招职业技能测试题库必考题
- 瑞吉欧幼儿教育
- 2025年中国人寿招聘笔试笔试参考题库附带答案详解
- 中国输电线路在线监测系统行业发展状况及前景规模调查报告2025-2030年
- 第16课《有为有不为》公开课一等奖创新教学设计
- 2025年河南林业职业学院高职单招语文2018-2024历年参考题库频考点含答案解析
- 消防安全监督与检查要点
- 【MOOC】《思想道德与法治》(东南大学)章节中国大学慕课答案
- 《慢性阻塞性肺病的》课件
- 小学一年级数学两位数加减一位数同步练习题带答案
评论
0/150
提交评论