第6章80C51的中断系统及定时计数器单片机原理及应用(C51编程)-李全利-高教出版社
- 格式:ppt
- 大小:2.22 MB
- 文档页数:45
第六章选择题(1)使80C51定时/计数器T0停止计数的C51命令为______。
A.IT0=0;B.TF0=0;C.IE0=0;D.TR0=0;(2)80C51单片机的定时器T1用作定时方式时是______。
A.由内部时钟频率定时,一个时钟周期加1 B.由内部时钟频率定时,一个机器周期加1C.由外部时钟频率定时,一个时钟周期加1 D.由外部时钟频率定时,一个机器周期加1(3)80C51单片机的定时器T0用作计数方式时是______。
A.由内部时钟频率定时,一个时钟周期加1 B.由内部时钟频率定时,一个机器周期加1C.由外部计数脉冲计数,一个脉冲加1D.由外部计数脉冲计数,一个机器周期加1(4)80C51的定时器T1用作计数方式时,______。
A.外部计数脉冲由T1(P3.5引脚)输入B.外部计数脉冲由内部时钟频率提供C.外部计数脉冲由T0(P3.4引脚)输入D.外部计数脉冲由P0口任意引脚输入(5)80C51的定时器T0用作定时方式时是______。
A.由内部时钟频率定时,一个时钟周期加1B.由外部计数脉冲计数,一个机器周期加1C.外部计数脉冲由T0(P3.4)输入定时D.由内部时钟频率定时,一个机器周期加1(6)设80C51晶振频率为12MHz,若用定时器T0的工作方式1产生1ms定时,则T0计数初值应为______。
A.0xfc18B.0xf830C.0xf448D.0xf060(7)80C51的定时器T1用作定时方式且选择模式1时,工作方式控制字为______。
A.TCON=0x01;B.TCON=0x0H;C.TMOD=0x10;D.TMOD=0x50; (8)80C51的定时器T1用作定时方式且选择模式2时,工作方式控制字为______。
A.TCON=0x60; B.TCON=0x02; C.TMOD=0x06; D.TMOD=0x20; (9)80C51的定时器T0用作定时方式且选择模式0时,C51初始化编程为______。
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单片机等。
章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单片机等。
第一章绪论什么是单片机(MCU)?在一片集成电路芯片上集成中央处理器(CPU)、存储器(ROM/RAM)、I/O接口电路,从而构成了单芯片微型计算机,简称单片机。
➢P14 3、5第二章80C51的结构和原理1、CPUCPU由含运算器(ACC、B、ALU、PSW)、控制器(PC (寻址64KB ROM)、IR、时钟等)及其他寄存器(DPTR、SP)组成。
2、最小系统:电源、时钟(四个周期的概念)、复位电路、存储器设置电路3、存储器4、并行口P1、P2、P3因为内部上拉电阻而被称为“准双向口”。
P0口没有内部上拉电阻,是一个真正的双向口。
➢P47 2、4、5、8第三章80C51的指令系统1、指令格式:操作码 [目的操作数] [,源操作数] [;注释] 2、常用符号:3、寻址方式(7种):4、指令:➢P87 11、13、第四章80C51的汇编语言程序设计1、常用伪指令:2、基本程序结构:顺序、分支、循环、子程序3、一个完整的源程序必备的四个要素:(1)有ORG 0000H,即源程序的机器码从ROM的0000H 单元开始存放。
(2)有END,告知汇编程序,你的源程序结束了。
(3)源程序的主程序框架一定是一个顺序执行的无限循环的程序,运行过程必须构成一个圈。
(4)通常主程序的存放要跳过中断向量区。
实现方法:在0000H单元存放一条转移指令,转向中断向量区后的主程序的真实的入口地址,如START、MAIN等。
4、子程序:现场保护与恢复、参数传递、子程序返回➢P104 例4-5➢P129 6、8、9第五章80C51的中断系统及定时/计数器一、中断系统1、中断响应过程:中断响应→保护现场→中断服务→恢复现场→中断返回2、中断源(5个)、中断优先级(2个)3、中断控制相关寄存器二、定时/计数器1、80C51单片机内设有两个可编程的16位定时器/计数器:T0和T1。
它们既可用以定时,也可用来对外部脉冲计数。
2、相关SFR3、定时/计数器工作方式➢P152 例5-6 例5-7➢P160 1、5、8第六章80C51的串行口1、通信的基本方式可分为并行通信和串行通信2、串行通信依据传输方向和时间的关系分为单工、半双工和全双工的通信方式。
章5 80C51的中断系统及定时/计数器1.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 P1.0,DV0JB P1.1,DV1JB P1.2,DV2INRET:POP ACCPOP PSWRETIORG 2000HDV0:------------JMP INRETORG 2100HDV1:------------JMP INRETORG 2200HDV2:------------JMP INRET3.外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同?怎样设定?答:当IT0=0时,INT0为电平触发方式。
电平触发方式时,CPU在每个机器周期的S5P2采样INT0引脚电平,当采样到低电平时,置IE0=1向CPU请求中断;采样到高电平时,将IE0清0。
第二章2. 80C51单片机的存储器的组织采用何种结构?存储器地址空间如何划分?各地址空间的地址范围和容量如何?在使用上有何特点?答:采用哈佛结构,在物理上设计成程序存储器和数据存储器两个独立的空间;80C51基本型单片机片内程序存储器为4KB,地址范围是0000H-0FFFH,用于存放程序或常数;片内数据存储器为128字节RAM,地址范围是00H-7FH,用于存放运算的中间结果、暂存数据和数据缓冲;另外在80H-FFH还配有21个SFR。
4.如果80C51单片机晶振频率分别为6 MHz、11.0592 MHz、12MHz时,机器周期分别为多少?答:机器周期分别为2μs,1.085μs,1μs。
5.80C51单片机复位后的状态如何?复位方法有几种?答:复位后,PC内容为0000H,P0口~P3口内容为FFH,SP内容为07H,SBUF 内容不定,IP、IE和PCON的有效位为0,其余的特殊功能寄存器的状态均为00H。
复位方法一种是上电复位,另一种是上电与按键均有效的复位。
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 来决定。
10.80C51单片机的程序存储器低端的几个特殊单元的用途如何?答:0000H:单片机复位入口地址;0003H:外部中断0的中断服务程序入口地址;000BH:定时/计数器0溢出中断服务程序入口地址;0013H:外部中断1的中断服务程序入口地址;001BH:定时/计数器1溢出中断服务程序入口地址;0023H:串行口的中断服务程序入口地址。
章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。