(完整word版)51单片机复习题(含答案)
51单片机基础知识试题题库(复习资料)

51单片机基础知识试题题库(复习资料)单片机原理与应用复习资料第二章习题参考答案一、填空题:1、当MCS-51引脚ALE有效时〃表示从P0口稳定地送出了低8位地址。
(备注:ALE 为地址锁存控制信号,书上P22)2、MCS-51的堆栈是软件填写堆栈指针临时在片内数据存储器内开辟的区域。
(p25 更具体些是在内部存储器的用户RAM区开辟的)3、当使用8751且EA=1〃程序存储器地址小于1000H 时〃访问的是片内ROM。
4、MCS-51系统中〃当PSEN信号有效(备注:低电平为有效信号)时〃表示CPU要从外部程序存储器读取信息。
(p22)5、MCS-51有4组工作寄存器(p23 备注:称为通用寄存器或者工作寄存器)〃它们的地址范围是00H~1FH 。
(延伸:通用寄存器占去32个单元,位寻址区占去16个单元,用户RAM区占去80个单元,三者总共为128个单元,组成内部数据存储器的低128单元区)6、MCS-51片内20H~2FH(即为位寻址区)范围内的数据存储器〃既可以字节寻址又可以位寻址。
(p24)7、PSW中RS1 RS0=10时〃R2的地址为12H 。
8、PSW中RS1 RS0=11时〃R2的地址为1AH 。
(p27 查表2.3即可)9、单片机系统复位后〃(PSW)=00H〃因此片内RAM寄存区的当前寄存器是第0 组〃8个寄存器的单元地址为00H ~ 07H 。
(p27 参考下一题)10、PC复位后为0000H 。
(p38 查表2.6即可,有各种寄存器的初始化状态)11、一个机器周期= 12 个振荡周期= 6 个时钟周期。
(p37)12、PC的内容为将要执行的下一条指令地址。
(p30)13、在MCS-51单片机中〃如果采用6MHz晶振〃1个机器周期为2us 。
(p37 备注:采用12MHz晶振,一个机器周期为1um)14、内部RAM中〃位地址为30H的位〃该位所在字节的字节地址为26H 。
15、若A中的内容为63H(0110 0011B,其中有偶数个1)〃那么〃P标志位的值为0 。
单片机c51考试题库及答案

单片机c51考试题库及答案一、单选题1. 8051单片机的内部RAM共有()字节。
A. 256B. 128C. 512D. 1024答案:A2. 8051单片机的外部中断有()个。
A. 2B. 3C. 4D. 5答案:A3. 8051单片机的定时器/计数器有()个。
A. 1B. 2C. 3D. 4答案:B4. 8051单片机的串行通信口是()。
A. 串行口0B. 串行口1C. 串行口2D. 串行口3答案:A5. 8051单片机的程序存储器最大容量是()。
A. 64KBB. 128KBC. 256KBD. 512KB答案:A二、多选题1. 8051单片机的下列哪些寄存器是16位的?()A. DPTRB. PCC. SPD. B答案:A, B2. 8051单片机的下列哪些中断源是可屏蔽的?()A. 外部中断0B. 外部中断1C. 定时器0中断D. 定时器1中断答案:A, B, C, D3. 8051单片机的下列哪些指令是无条件转移指令?()A. SJMPB. AJMPC. LJMPD. RET答案:A, B, C三、判断题1. 8051单片机的外部中断0的中断向量地址是0003H。
()2. 8051单片机的定时器0和定时器1都是16位的。
()答案:×3. 8051单片机的串行通信口是全双工的。
()答案:√四、填空题1. 8051单片机的内部RAM分为______区和______区。
答案:工作寄存器区、位寻址区2. 8051单片机的外部中断0和外部中断1的优先级是______。
答案:外部中断0的优先级高于外部中断13. 8051单片机的定时器0和定时器1的计数器都是______位的。
4. 8051单片机的程序存储器和数据存储器是______的。
答案:分开的五、简答题1. 简述8051单片机的中断系统。
答案:8051单片机的中断系统包括5个中断源,分别是外部中断0、外部中断1、定时器0中断、定时器1中断和串行通信中断。
51单片机考试试题带答案

51单片机考试试题带答案一、选择题1. 以下哪项是51单片机的定时器模式?A. 仅工作在工作模式0B. 工作在工作模式0和工作模式1之间切换C. 工作在工作模式0和工作模式1之间循环切换D. 工作在工作模式0、工作模式1和工作模式2之间循环切换答案:D2. 下列哪种类型的引脚在51单片机中不可作为普通IO口使用?A. 内部RAM地址线引脚B. 外部中断引脚C. IAP/IAP引脚D. 全双工串行口引脚答案:A3. 51单片机的中断向量表是存放在内存的哪个区域?A. 0x0000~0x007FB. 0x0080~0x00FFC. 0x0100~0x017FD. 0x0180~0x01FF答案:C二、填空题1. 请列举51单片机的三种工作模式:____________, ____________, ____________。
答案:工作模式0、工作模式1、工作模式22. 51单片机的系统时钟频率为_________。
答案:12MHz三、解答题1. 请简要描述51单片机的位寻址方式。
答案:51单片机的位寻址方式即按位进行寻址,可以直接对单片机的寄存器或存储器中的某个位进行操作。
通过指定位寻址方式,我们可以将某个特定的位设置为1或者设置为0,或者进行一些位运算操作。
2. 请写出51单片机中TIMER 0的工作模式0的特点和优缺点。
答案:51单片机中TIMER 0的工作模式0特点如下:- 工作模式0是基本的定时/计数功能,仅作为一个16位定时器来使用。
- 它可以产生一个定时器中断。
- 定时器0的计数值可以从TH0和TL0中读取。
优点:- 简单易用,适用于基本的定时功能。
- 可以通过改变定时器的初值来实现不同的定时周期。
缺点:- 功能相对有限,不适用于复杂的定时及计数需求。
- 不能通过使用外部输入源来启动或停止定时器。
四、编程题请使用C语言编写一个程序,实现以下功能:当INT0引脚产生上升沿中断时,将P1口的高4位清0,低4位保持不变。
51单片机复习题(含答案)

一、填空题1、A T89S51单片机为8 位单片机,共有40 个引脚。
2、MCS-51系列单片机的典型芯片分别为8031 、8051 、8751 。
3、A T89S51访问片外存储器时,利用ALE 信号锁存来自P0口发出的低8位地址信号。
4、A T89S51的P3口为双功能口。
5、A T89S51内部提供 2 个可编程的16 位定时/计数器,定时器有4 种工作方式。
6、A T89S51有 2 级中断, 5 个中断源。
7、A T89S51的P2 口为高8位地址总线口。
8、设计一个以A T89C51单片机为核心的系统,如果不外扩程序存储器,使其内部4KB 闪烁程序存储器有效,则其EA* 引脚应该接+5V9、单片机系统中使用的键盘分为独立式键盘和行列式键盘,其中行列式键盘的按键识别方法有扫描法和线反转法。
10、A T89S51内部数据存储器的地址范围是00H~7FH ,位地址空间的字节地址范围是20H~2FH ,对应的位地址范围是00H~7FH ,外部数据存储器的最大可扩展容量是64K 。
11、如果(A)=34H,(R7)=0ABH,执行XCH A, R7;结果(A)= 0ABH ,(R7)= 34H 。
12、在R7初值为00H的情况下,DJNZ R7,rel指令将循环执行256 次。
13、欲使P1口的低4位输出0,高4位不变,应执行一条ANL P1, #0F0H 命令。
14、若CPU使用的是寄存器第1组,R0~R7的地址范围是08H-0FH。
15、单片机进行串行通信时,晶振频率最好选择11.0592MHz16、当MCS-51执行MOVX A,@R1指令时,伴随着RD* 控制信号有效。
17、若A中的内容为67H,那么,P标志位为 1 。
18、A T89S51唯一的一条16位数据传送指令为MOV DPTR,data16 。
19、LJMP的跳转范围是64K,AJMP的跳转范围是2K B,SJMP的跳转范围是±128 B (或256B)。
51单片机基础知识复习练习题(含答案)

51单片机基础知识复习题(含答案)1.8051单片机的片内有(一)个16位的特殊功能寄存器。
2.MCS-51单片机的堆栈区应建立在(片内数据存储区底128字节单元)。
3.MCS-51单片机定时器工作方式1是指的(D)工作方式。
A.8位 3B.8位自动重装2C.13位0D.16位14.当需要从MCS-51单片机程序存储器取数据时,采用的指令为(B)。
A.MOV A, @R1)片内B.MOVC A, @A + DPTR或MOVC A,@A+PC (C.MOVX A, @ R0D.MOVX A, @ DPTR)片外5.8751单片机程序存储器的容量最大可扩展为(64K)。
B.64K6.如果某MCS-51单片机系统的定时/计数器0的中断服务程序放在程序存储区的3000H地址开始的一段空间内,此时跳转到定时/计数器0的中断服务程序的指令LJMP 3000H应放在( 000BH)开始的中断地址区A、0003H(外部中断0服务入口)B、0013H(外部中断1服务入口)C、0023H(串行口中断服务程序入口)D、000BH(定时/计数器0中断服务程序的开始地址区)E、001BH为定时/计数器1中断服务开始地址区F、0000H (系统复位后的入口)7.MCS-51系列单片机外扩存储器芯片时,4个I/O口中用作数据总线的是:(B)B、P0口(SDA /SCL 连接到总线的器件输出级必须是漏极开路或者是集电极开路,才能执行线与的功能)8.AJMP跳转空间最大可达到(2字节)A、2KB9.8051单片机中,唯一一个能出现在符号指令的16位寄存器是(B)A、P S WB、D P T R C 、P C D、B10.当需要从MCS-51单片机程序存储器取数据时,采用的指令为(B )A、MOV A,@R1片内B、MOVC A,@A+DPTR/@A+PCC、MOVX A, @R0片外D、MOVX A,@ DPTR11.8051单片机内有2个(16 )位的定时器。
(完整word版)51单片机考试试题带答案

单片机原理及应用试卷A一、填空题(每空1分,共20分)1、单片微型计算机由CPU、存储器和I/O 三部分组成。
2、MCS-51系统中,当PSEN信号有效时,表示从P0口稳定地送出了低8位地址。
3、访问8031片外数据存储器采用的是寄存器间接寻址方式。
4、累加器(A)=80H,执行完指令ADD A,#83H后,进位位CY= 1 。
5、指令LCALL 37B0H,首地址在2000H,所完成的操作是2003H入栈,37B0H送入PC。
6、51有5个中断源,有2个中断优先级,优先级由软件填写特殊功能寄存器IP加以选择。
7、在变址寻址方式中,以A作为变址寄存器,以PC或DPTR作基址寄存器。
8、中断请求信号有电平触发和脉冲触发两种触发方式9、用串行口扩展并行口时,串行接口的工作方式应选为方式0。
10、74LS273通常用来作简单输出接口扩展;而74LS244则常用来作简单输入接口扩展。
11、51的并行I/O口信息有读引脚和读锁存器两种读取方法,读—改—写操作是针对并行I/O口内的锁存器进行的。
12、A/D转换器的三个重要指标是转换速度、分辨率和转换精度。
二、选择题(从备选答案中选择一个正确答案,并将代号写在括号内。
每题1.分,共10分)1、计算机能识别的语言是( C )。
(A)汇编语言(B)自然语言(C)机器语言(C)高级语言2、MCS-51单片机外扩存储器芯片时,4个I/O口中用作数据总线的是( B )。
(A)P0和P2口(B)P0口(C)P2和P3口(D)P2口3、在中断服务程序中,至少应有一条( D )。
(A )传送指令 (B )转移指令 (C )加法指令 (D )中断返回指令 4、访问外部数据存储器时,不起作用的信号是( C )。
(A )RD (B )WR (C )PSEN (D )ALE 5、以下指令中,属于单纯读引脚的指令是( C )。
(A )MOV P1,A (B )ORL P1,#0FH (C )MOVC C ,P1.5 (D )DJNZ P1,LAB 6、使用定时器T1时,有几种工作模式( C )。
51单片机考试题和答案

51单片机考试题和答案一、单项选择题(每题2分,共20分)1. 51单片机中,以下哪个寄存器用于存储程序计数器(PC)的内容?A. SPB. PCC. DPTRD. ACC答案:B2. 51单片机中,哪个寄存器用于存储数据指针?A. SPB. PCC. DPTRD. ACC答案:C3. 51单片机的定时器/计数器有几种工作模式?A. 2种B. 3种C. 4种D. 5种答案:C4. 51单片机中,哪个寄存器用于存储堆栈指针?A. SPB. PCC. DPTRD. ACC答案:A5. 51单片机中,以下哪个指令是无条件跳转指令?A. SJMPB. AJMPC. LJMPD. CJNE答案:A6. 51单片机中,以下哪个指令是调用子程序的指令?A. SJMPB. AJMPC. LJMPD. CALL答案:D7. 51单片机中,以下哪个指令是返回子程序的指令?A. SJMPB. AJMPC. LJMPD. RET答案:D8. 51单片机中,以下哪个指令是累加器清零的指令?A. CLR AB. MOV A, #0C. MOV A, R0D. CLR C答案:A9. 51单片机中,以下哪个指令是将立即数传送到累加器的指令?A. CLR AB. MOV A, #0C. MOV A, R0D. CLR C答案:B10. 51单片机中,以下哪个指令是将累加器的内容传送到寄存器R0的指令?A. CLR AB. MOV A, #0C. MOV R0, AD. CLR C答案:C二、填空题(每题2分,共20分)1. 51单片机的内部RAM共有______字节。
答案:1282. 51单片机的外部数据存储器最大容量可达______KB。
答案:643. 51单片机的外部程序存储器最大容量可达______KB。
答案:644. 51单片机的定时器/计数器有______个。
答案:25. 51单片机的中断源共有______个。
答案:66. 51单片机的串行通信可以工作在______种模式。
51单片机复习题及答案

第1章单片机概述1.单片机与普通微型计算机的不同之处在于其将、、和3部分集成于一块芯片上。
答:CPU、存储器、I/O口。
2.8051与8751的区别是。
A.内部数据存储单元数目不同B.内部数据存储器的类型不同C.内部程序存储器的类型不同D.内部寄存器的数目不同答:C。
3.在家用电器中使用单片机应属于微计算机的。
A.辅助设计应用;B.测量、控制应用;C.数值计算应用;D.数据处理应用答:B。
4.微处理器、微计算机、微处理机、CPU、单片机它们之间有何区别?答:微处理器、微处理机和CPU都是中央处理器的不同称谓;而微计算机、单片机都是一个完整的计算机系统,单片机特指集成在一个芯片上的用于测控目的的单片微计算机。
5.MCS-51系列单片机的基本型芯片分别为哪几种?它们的差别是什么?答:MCS-51系列单片机的基本型芯片分别是8031、8051和8751。
它们的差别是在片内程序存储器上。
8031无片内程序存储器,8051片内有4KB的程序存储器ROM,而8751片内集成有4KB的程序存储器EPROM。
6.为什么不应当把51系列单片机称为MCS-51系列单片机?答:因为MCS-51系列单片机中的“MCS”是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。
第2章 51单片机片内硬件结构1.在51单片机中,如果采用6MHz晶振,一个机器周期为。
答:2µs2.AT89C51单片机的机器周期等于个时钟振荡周期。
答:12。
3.若A中的内容为63H,那么,P标志位的值为。
答:P标志位的值为0。
4.内部RAM中,可作为工作寄存器区的单元地址为H~H。
答:00H;1FH。
5.通过堆栈操作实现子程序调用,首先要把的内容入栈,以进行断点保护。
调用返回时,再进行出栈保护,把保护的断点送回到。
答:PC;PC。
6.51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为51单片机的PC 是16位的,因此其寻址的范围为KB。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、填空题1、A T89S51单片机为8 位单片机,共有40 个引脚。
2、MCS-51系列单片机的典型芯片分别为8031 、8051 、8751 。
3、A T89S51访问片外存储器时,利用ALE 信号锁存来自P0口发出的低8位地址信号。
4、A T89S51的P3口为双功能口。
5、A T89S51内部提供 2 个可编程的16 位定时/计数器,定时器有4 种工作方式。
6、A T89S51有 2 级中断, 5 个中断源。
7、A T89S51的P2 口为高8位地址总线口。
8、设计一个以AT89C51单片机为核心的系统,如果不外扩程序存储器,使其内部4KB闪烁程序存储器有效,则其EA* 引脚应该接+5V9、单片机系统中使用的键盘分为独立式键盘和行列式键盘,其中行列式键盘的按键识别方法有扫描法和线反转法。
10、单片机进行串行通信时,晶振频率最好选择11.0592MHz11、AT89S51复位后,PC与SP的值为分别为0000H 和07H 。
12、关于定时器,若振荡频率为12MHz,在方式2下最大定时时间为256us13、A T89S51单片机的通讯接口有串行和并行两种形式。
在串行通讯中,发送时要把并行数据转换成串行数据。
接收时又需把串行数据转换成并行数据。
14、一个机器周期等于6个状态周期,振荡脉冲2分频后产生的时序信号的周期定义为状态12周期。
15、当使用慢速外设时,最佳的传输方式是中断。
16、MCS-51串行接口有4种工作方式,这可在初始化程序中用软件填写特殊功能寄存器__SCON _加以选择。
二、判断题1、8031与8051的区别在于内部是否有程序存储器。
(√)2、内部RAM的位寻址区,既能位寻址,又可字节寻址。
(√)3、串行口工作方式1的波特率是固定的,为fosc/32。
(×)4、8051单片机中的PC是不可寻址的。
(√)5、MCS-51系统可以没有复位电路。
(×)6、某特殊功能寄存器的字节地址为80H,它即能字节寻址,也能位寻址。
(√)7、PC存放的是即将执行的下一条指令。
(√)8、TMOD中的GATE=1时,表示由两个信号控制定时器的启停。
(√)9、特殊功能寄存器SCON与定时器/计数器的控制无关。
(√)10、各中断源发出的中断请求信号,都会标记在AT89S51的TCON寄存器中。
(×)11、MCS-51的程序存储器只是用来存放程序的。
(×)12、MCS-51的串行接口是全双工的。
(√)13、MCS-51的特殊功能寄存器分布在60H~80H地址范围内。
(×)14、MCS-51的5个中断源优先级相同。
(×)三、简答题1、请写出共阴数码管显示数字0~9对应的段码值。
答:共阴3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH2、请写出共阳数码管显示数字0~9对应的段码值。
答:共阳C0H F9H A4H B0H 99H 92H 82H F8H 80H 90H3、A T89S51单片机指令系统的寻址方式有哪些?答:寄存器寻址、直接寻址、间接寻址、立即寻址。
4、请说明MCS-51单片机的外部引脚EA*的作用?答:当EA*为高电平时,访问内部程序存储器,但当地址大于0FFF时,自动转到外部程序存储器;当EA*为低电平时,只读取外部程序存储器。
5、A T89S51采用6MHz的晶振,定时1ms,如用定时器方式1时的初值(16进制数)应为多少?(写出计算过程)答:(216-X)*2*10-6=10-3X=655036 X=FEOCH6、写出AT89S51的所有中断源,并说明说明哪些中断源在响应中断时,由硬件自动清除,哪些中断源必须用软件清除,为什么?答: 外部中断INT0*,定时器/计数器中断T0,外部中断INT1*,定时器/计数器中断T1,串行口中断。
其中串行口中断TI与RI必须用软件清“0”,因为串口中断的输出中断为TI,输入中断为RI,故用软件清“0”。
7、LED的静态显示方式与动态显示方式有何区别?各有什么优缺点?答:静态:显示期间,锁存器输出的段码不变,亮度大,各位LED的段选分别控制,位数多硬件电路复杂;动态:所有位段码线并连一起,各位的亮灭靠片选控制端控制,亮度较低,多位控制电路简单。
8、请画出单片机最小系统。
9、简述行列式扫描键盘的工作原理。
答: 扫描键盘工作原理首先X0~X3,始终接高电平,Y0~Y3给低电平,扫描P1.0~P1.3若全为高电平,则没有键按下,若有低电平,则有键按下。
接着Y0输出低电平,Y1~Y3输出高平,扫描P1.0~P1.3,若全为高电平,则没有键按下,若有低电平,则找出相位,得到所按的键。
再Y1输出低电平,Y0,Y2,Y3输出高电平,重复第2 步骤作.再Y2输出低电平,Y0,Y1,Y3输出高电平扫描再Y3输出低电平,Y0,Y1,Y2输出高电平扫描根据据以上扫描,确定以上各键是否按下。
10.单片机的应用有哪些?答: (1)工业控制。
单片机可以构成各种工业控制系统、数据采集系统等。
如数控机床、自动生产线控制、电机控制、测控系统等。
(2)仪器仪表。
如智能仪表、医疗器械、数字示波器等。
(3)计算机外部设备与智能接口。
如图形终端机、传真机、复印机、打印机、绘图仪、磁盘/磁带机、智能终端机等。
(4)商用产品。
如自动售货机、电子收款机、电子秤等。
(5)家用电器。
如微波炉、电视机、空调、洗衣机、录像机、音响设备等。
(6)消费类电子产品。
(7)通讯设备和网络设备。
(8)儿童智能玩具。
(9)汽车、建筑机械、飞机等大型机械设备。
(10)智能楼宇设备。
(11)交通控制设备。
四、大题1.MCS-51单片机P1端口上,经驱动器连接有8只发光二极管,若fosc=6MHz,试编写程序,使这8只发光二极管每隔2s循环发光一次(要求T0定时)。
#include<reg51.h>unsigned char data cou;unsigned int data tim;void main(){TMOD=0x02;TL0=16;TH0=16;TR0=1;ET0=1;EA =1;P1=0;cou=0;tim=1;While(1);}void serve() interrupt 1{tim++;if(tim==500){P1=0x01<<cou;tim=1;cou++;if(cou==8)cou=0;}}2.设fosc=12MHz。
试编写一段程序,对定时器T1初始化,使之工作在模式2,产生200µs定时,并用查询T1溢出标志的方法,控制P1.1输出周期为2ms的方波。
#include<reg51.h>void main(){unsigned char i,j;TMOD=0x20;TL1=56;TH1=56;TR1=1;while(1){while(TF1=1){TF1=0;i++;if(i==5){P1_1=~P1_1;i=0;}}}}3.编写一C51程序,实现从P1口输出产生的流水灯,要求用C语言函数实现数据左移或右移。
#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int/***延时函数***/void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}/***主函数***/void main(){uchar i;P1=0xfe;while(1){for(i=0;i<7;i++){P1=_crol_(P1,1); //P1的值向左循环移动delay(100);}for(i=0;i<7;i++){P1=_cror_(P1,1); //P1的值向右循环移动delay(100);}}}4.MCS-51单片机P1端口上,经驱动器连接有2只数码管,若fosc=12MHz,试编写程序,使这2只数码管每隔1s计数一次的秒表。
(要求T0定时)。
#include<reg51.h>#define uint unsigned int//宏定义uint temp,aa,shi,ge; //定义全局变量sbit dula=P2^6; //定义段选sbit wela=P2^7; //定义字选uint code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void display(uint shi,uint ge);//申明显示函数void delay(uint z); //申明延时函数void init(); //申明初始化函数void main(){init();//调用初始化函数while(1){if(aa==20){aa=0;temp++;if(temp==60){temp=0;}shi=temp/10;//分离出十位ge=temp%10; //分离出个位}display(shi,ge);//调用显示函数}}void display(uint shi,uint ge) //显示函数{dula=1; //打开段选P0=table[shi];//送十位数dula=0; //关闭段选//P0=0xff; //消隐(只有两位数码管就不用了)wela=1; //打开位选P0=0xfe; //送那一位wela=0; //关闭位选delay(5); //调用延时函数dula=1;P0=table[ge];dula=0;//P0=0xff;wela=1;P0=0xfd;wela=0;delay(5);}void delay(uint z) //延时函数{uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void init() //初始化函数{temp=0;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;}void timer0() interrupt 1 //中断函数{TH0=(65536-50000)/256;TL0=(65536-50000)%256;aa++;}5.两只开关分别接入P3.0、P3.1,在开关信号4种不同的组合逻辑状态,使P1.0分别输出频率0.5kHz、1kHz、2kHz、4kHz的方波,晶振频率为12MHz。
#include <at89x52.h>unsigned char data sta;unsigned char data cou;unsigned char data mag;void main(){TMOD=0x02;TL0=131;TH0=131;TR0=1;ET0=1;EA =1;cou=0;While(1);}void serve() interrupt 1 {unsigned char temp;P3=0xff;temp=P3&0xfc;if(temp!=sta){sta=temp;cou=0;}if(sta=0x00)mag=7;else if(sta=0x01)mag=3;else if(sta=0x10)mag=1;else if(sta=0x11)mag=0;if(cou==mag){P1_0=~P1_0;cou=0;}elsecou++;}。