《单片机》编程题题库
单片机题库及答案
单片机题库及答案【篇一:单片机试卷及答案】填空题(每空1分,共20分)1、+1000001的反码是。
十进制数-4的8位二进制补码是。
2、计算机所能执行的指令的集合称为。
指令的编码规则称为,一般由和操作数两部分组成。
3、cpu一次可以处理的二进制数的位数称为cpu的。
4、当ea为电平时,cpu总是从外部存储器中去指令。
5、89c52单片机有6个中断源,其中内部中断源有个,外部中断源有个。
6、汇编指令中,对程序存储器的访问用指令来访问,外部ram用指令来访问。
7、c51的数据类型sfr占个字节,c51中整型变量占个字节。
8、指令mov 20h,#20h中,源操作数的寻址方式是,目的操作数的寻址方式是。
9、定时器t1方式2的8位常数重装初值存放于寄存器中。
定时器t0方式0,寄存器用于存放计数初值的低5位。
10、多机通信中,主机的sm2= 。
11、eprom存储器27c256内部容量是32k字节,若不考虑片选信号,则对其内部全部存储单元进行寻址共需根地址线。
12、波特率倍增位位于特殊功能寄存器中。
13、8155a内部具有1个位减法定时器/计数器。
二、单项选择题(共20题,每题1分,共20分)1、单片机的应用程序一般存放于()中a、ramb、romc、寄存器d、cpu2、定时器0工作于计数方式,外加计数脉冲信号应接到()引脚。
a、p3.2b、p3.3c、p3.4d、p3.53、mcs51单片机在同一优先级的中断源同时申请中断时,cpu首先响应()。
a、外部中断0b、外部中断1c、定时器0d、定时器14、adc0809是()ad的转换器件a、4通道8位b、8通道8位c、4通道12位d、8通道12位5、执行中断返回指令后,从堆栈弹出地址送给()a、ab、ric、pcd、dptr6、串行通信中,发送和接收寄存器是()a、tmodb、sbufc、scond、dptr7、要使mcs-51能响应外部中断1和定时器t0中断,则中断允许寄存器ie的内容应该是(a、98hb、86hc、22h d、a2h8、要将p1口高4位清0,低4位不变,应使用指令()a、orl p1,#0fhb、orl p1,#f0hc、anl p1,#f0hd、anl p1,#0fh9、当选中第1工作寄存器区时,工作寄存器r1的地址是。
单片机考试题目及答案
单片机考试题目及答案一、选择题(每题2分,共20分)1. 单片机是一种集成了CPU、存储器、I/O接口等功能的微型计算机,其英文缩写是:A. CPUB. RAMC. ROMD. MCU答案:D2. 下列哪个是51系列单片机的特有寄存器?A. ACCB. PSWC. SPD. PC答案:B3. 在8051单片机中,以下哪个指令是用于将累加器A的内容与外部数据存储器中的数据进行交换?A. MOV A, @DPTRB. MOVX A, @DPTRC. MOV DPTR, #20HD. MOV A, #20H答案:B4. 8051单片机的定时器/计数器0和1,其定时器模式下的工作方式有:A. 1种B. 2种C. 3种D. 4种答案:C5. 下列哪个中断源在8051单片机中具有最高优先级?A. 定时器0中断B. 外部中断0C. 定时器1中断D. 串行中断答案:B二、填空题(每空2分,共20分)1. 单片机的最小系统通常包括________、________和________。
答案:时钟电路、复位电路、电源电路2. 8051单片机的P0口是________位的双向I/O口。
答案:83. 8051单片机的中断向量地址是固定的,其中外部中断0的中断向量地址是________。
答案:03H4. 8051单片机的定时器0和定时器1都可以被配置为________模式,用于计数外部事件。
答案:计数器5. 在8051单片机中,使用MOV指令可以实现寄存器之间的数据传输,例如MOV A, R0,表示将________的数据传送到________。
答案:R0寄存器;累加器A三、简答题(每题10分,共30分)1. 请简述单片机的中断系统的作用及其重要性。
答案:单片机的中断系统允许单片机在执行程序的过程中,对外部事件或内部条件做出快速响应。
中断系统的重要性在于它能够实现多任务处理,提高系统的实时性和效率。
2. 描述8051单片机的串行通信方式及其特点。
单片机题库 (1)
单片机题库一:判断题您的姓名: [填空题] *_________________________________1、#define LED P2是宏定义,即用P2来代替LED。
[判断题] *对错(正确答案)2、X>>1表示将X中的各个位都向左移动1位,右边空出来的位用0补足。
[判断题] *对错(正确答案)3、在C语言中,函数体部分需要用{ }括起来。
() [单选题] *A、对(正确答案)B、错4、a==1表示将变量a赋值为1 [判断题] *对错(正确答案)5、51单片机的每个中断源都具有高低两个中断优先级。
[判断题] *对错(正确答案)4、int型数据和无符号int型数据的取值范围是一样的。
[判断题] *对错(正确答案)5、数组中的数据可以是不同类型的。
[判断题] *对错(正确答案)6、在C语言中,常量可以是数值型常量也可以是符号型常量 [判断题] *对(正确答案)错7、数组可以分为一维数组,二维数组和多维数组。
[判断题] *对(正确答案)错8、在LED闪烁方式控制的电路所用的发光二极管具有单向导通性。
[判断题] *对(正确答案)错9、#define LED P2是宏定义,即用P2来代替LED。
[判断题] *对错(正确答案)10、算数运算符%表示取余运算,10%3的结果是1。
[判断题] *对(正确答案)错11、C语言中一个分号可以作为一个执行语句。
[判断题] *错12、拉幕灯实验中使用到的LED灯是发光二极管,它具有单向导通性。
[判断题] *对(正确答案)错13、同级优先级不能相互断。
[判断题] *对(正确答案)错14、除法运算7/3的结果是1。
[判断题] *对错(正确答案)15、void delay_1ms(uint x)该函数有一个参数x [判断题] *对(正确答案)错16、陶瓷电容和电解电容在结构上是相同的,在硬件电路中可互换。
[判断题] *对错(正确答案)13、8段LED数码管显示器只有共阳极结构。
单片机 11道编程例题及答案
1.把长度为10H的字符串从内部RAM的输入缓冲区inbuf向位物外部RAM的输出缓冲区outbuf传送,一直进行到遇见回车或整个字符串传送完毕。
试编程实现。
ORG 0030H MOV R0,#inbuf MOV R1,#outbuf MOV R4,#10HLOOP:MOV A,@R0 ; 从内部RAM取数 CJNE A,#0DH,LL ;是否为回车符CRSJMP STOP ;是转停止传送 LL: MOVX @R1,A ;不是则传送到外部RAMINC R0 INC R1 DJNZ R4,LL;沒传送完则循环 STOP: SJMP $2、内部RAM从list单元开始存放一正数表,表中之数作无序排列,并以“-1”作结束标志。
编程实现在表中找出最小数。
(3AH存放在运行程序时的最小的数)ORG 0030HMOV R0,#listMOV A,@R0 ;取第一个正数LOOP: INC R0 ;指向下一个正数MOV 3AH,@R0CJNE A,3AH,CHK ;前一个数与后一个数比较CHK: JC LOOP1 ;前一个数小,则转MOV A,@R0 ;前一个数大,取后一个数LOOP1: XCH A,3AHCJNE A,#0FFH,LOOPXCH A,3AH ;取最小数MOV 3BH,A SJMP $3.内部RAM的X,Y 单元中各存放一个带符号的数,试编程实现按如下条件进行的运算,并将结果存入Z单元中。
若X为正奇数,Z =X+Y;若X为正偶数,Z =X∨Y;若X为负奇数,Z =X∧Y;若X为负偶数,Z =X⊕Y。
分析:负数:第7位为1,正数:第7位为0 奇数:第0位为1,偶数:第0位为0 ORG 0000H MOV A,20H CLR C RL A JC FS ;移到负数处处理RR A RR A ;第0位移到C 再判定一下是不是1 JC ZJS ;到正奇数处MOV A,20H ORL A,21H MOV 22H,A SJMP OKZJS: MOV A,20H ADD A,21H MOV 22H,A SJMP OKFS: MOV A,20H CLR C RR A JC FJS ;第0位是1,移到正奇数处理MOV A,20H XRL A,21H MOV 22H,A SJMP OKFJS: MOV A,20H ANL A,21H MOV 22H,A OK: END4、把一个8位二进制数的各位用ASCII码表示之(亦即为“0”的位用30H表示,为“1”的位用31H表示)。
单片机编程练习题
单片机编程练习题第四章习题:1、编程将8051的内部数据存储器20H单元和35H单元的数据相乘,结果存到外部数据存储器中(任意位置)。
#include<reg51.h>#include<math.h>int movdata(char);void main(){unsigned int xdata sum;unsigned char *ptr,a,b;ptr=0x20;a=*ptr;ptr=0x35;b=*ptr;sum=a*b;}2、8051的片内数据存储器25H单元中存放有一个0~10的整数,编程求其平方根(精确到5位有效数字),将平方根放到30H单元为首址的内存中。
#include<reg51.h>#include<math.h>void main(){char n;char *ptr;float *ptr2;float f;ptr=0x25;n=*ptr;f=sqrt(n);ptr2=0x30;*ptr2=f;}3、将外部RAM 10H~15H单元的内容传送到内部RAM 10H~15H单元。
#include<reg51.h>int movdata(char);void main(){char n=6;char *ptr1=0x10;char xdata *ptr2;ptr2=0x10;while(n--){*ptr1++=*ptr2++;}}4、内部RAM 20H、21H和22H、23H单元分别存放着两个无符号的16位数,将其中的大数置于24H和25H单元。
#include<reg51.h>unsigned int x _at_ 0x20;unsigned int y _at_ 0x22;unsigned int z _at_ 0x24;void main(){z=(x>y)?x:y;}第五章习题1、编写出外部中断1为下跳沿触发的中断初始化程序。
单片机考试题库及答案
单片机考试题库及答案一、选择题1. 单片机的英文简称是:A. CPUB. MCUC. RAMD. ROM答案:B2. 下列哪个不是单片机的组成部分:A. 中央处理器B. 存储器C. 输入/输出接口D. 显示器答案:D3. 8051单片机的系统时钟频率为12MHz时,机器周期的时钟周期数是:A. 1B. 2C. 3D. 12答案:B4. 单片机中,用于存储程序指令的存储器类型是:A. RAMB. ROMC. EPROMD. EEPROM答案:B5. 8051单片机的定时器/计数器有:A. 1个B. 2个C. 3个D. 4个答案:B二、填空题6. 单片机的最小系统包括________、________和________。
答案:时钟电路、复位电路、电源电路7. 单片机的中断系统包括________、________和________。
答案:中断请求、中断响应、中断服务8. 8051单片机的P0口是________位的双向I/O口。
答案:89. 单片机的I/O口通常具有________、________和________功能。
答案:输入、输出、高阻抗状态10. 单片机的串行通信方式有________和________两种。
答案:同步通信、异步通信三、简答题11. 简述单片机的中断优先级是如何确定的?答案:单片机的中断优先级通常由硬件或软件设置。
在硬件上,可以通过设置中断向量表来确定优先级;在软件上,可以通过编程设置中断优先级的寄存器来确定。
12. 单片机的定时器/计数器有什么作用?答案:单片机的定时器/计数器主要用于测量时间间隔或对外部事件进行计数。
它们可以用于产生定时中断、测量外部信号的持续时间、计数外部事件的发生次数等。
四、计算题13. 如果8051单片机的系统时钟频率为6MHz,计算一个机器周期的时钟周期数。
答案:由于8051单片机的机器周期是12个时钟周期,所以当系统时钟频率为6MHz时,一个机器周期的时钟周期数为12。
单片机试题库(编程题)
编程题:2.编一个子程序,将寄存器R0中的内容*10(积<256)3.编程将片内RAM 30H单元开始的15B的数据送到片外RAM 3000H开始的单元中去.4.用查表法编一子程序,将40H单元中的BCD码转换成ASCII码.4.片内RAM50H、51H单元中有一个10B的二进制数,高位在前,低位在后,请编程将其求补,存回原单元中去。
5.片内RAM30H开始的单元中有10B的二进制数,请编程求它们的和。
6.R1中存有一BCD码,请编程将它转换成ASKII码,存入外RAM1000H单元中去。
7.编一个程序,将累加器中的一个字符从串行接口发送出去。
8.片外RAM2000H开始的单元中有5B的数据,编程将它们传送到片内RAM20H开始的单元中去。
9 用查表法编一子程序,将R3中的BCD码转换成ASKII码。
10.片内RAM40H开始的单元内有10B二进制数,编程找出其中最大值并存于50H单元中。
11.编程将片外RAM3000H开始的20B的数据传送到片内RAM30H开始的单元中。
12.编程将R1、R2中的16位二进制数增1后送回原单元。
13.编程将片内RAM40H开始的单元存放的10B的二进制数传送到片外RAM4000H开始的单元中去。
14.编一子程序,从串行接口接受一个数据。
15.编写将30H和31H单元中2B二进制数乘2的子程序。
16.片外RAM2000H单元中有一BCD码,编程将其转换成ASKII码。
17.试编制单字节BCD码数的减法程序。
18.利用调子程序的方法,进行两个4B无符号数相加。
请编主程序及子程序。
19.若图11-2中数据为无符号数,求数据中最大值送A 。
编程并注释。
图11-2 片外 RAM中的数据块片外 RAM0001H┆20. 若图11-2中数据块是有符号数,求正数个数。
编程并注释。
21. 若图11-2中数据块为无符号数,求其累加和。
编程并注释。
22.已知20H单元有一位十进制数,通过查表找出与其对应的共阴极七段码,并存于30H单元。
《单片机》编程题题库
《单片机原理及应用》编程题题库六、编程(每题10分)1、内部RAM 30H和31H单元中存放着2个0-9的ASCII码(高位字节在前),请将其转换为压缩BCD 码(高位在前)并存入外部RAM 2300H单元中。
2、设单片机的晶体震荡频率为12MHz,利用定时器T0编程由P1.2输出周期为10mS的方波。
(要求:T0工作在方式1下,采用中断方式工作)3、将存放在内部RAM 30H-35H单元的压缩型BCD码转换成相应的ASCII码,依次存放到外部RAM 2100H开始的单元区中。
4、已知8051单片机应用系统的晶体振荡频率为12MHz,请利用定时器T0实现在P1.0引脚上输出周期为100mS的方波。
(要求:采用中断方式,T0工作在方式1下)5、设8031单片机应用系统的晶振频率为12MHz,请利用T0在P1.0和P1.1引脚上输出频率为20Hz、互补(两个波形互为反相)的方波。
要求:采用中断方式,T0工作在方式1。
6、内部RAM 20H和30H开始的单元分别存放着16个16进制数,请将对应单元的内容相加(不考虑溢出),并将和存入外部RAM 2000H开始的单元中。
7、8031单片机应用系统的晶体振荡器频率为12MHz,请利用定时器T0编程实现在P1.7引脚输出频率为20Hz的方波。
要求:采用中断方式,T0工作在方式1下。
8、请编写多字节无符号数减法程序。
被减数存放在内部RAM 20H开始的8个单元中,减数存放在内部RAM 30H开始的8个单元,请将差存放到外部RAM 2000H开始的8个单元中,借位存放到OV标志中。
注意:所有数据均按照从低字节到高字节的顺序存放。
9、内部RAM 40H和41H单元中存放着2个0-9的ASCII码(高位字节在前),请将其转换为压缩BCD 码(高位在前)并存入外部RAM 2000H单元中。
10、设单片机的晶体振荡频率为12MHz,利用定时器T0编程由P1.0和P1.1输出周期为10mS、互补(互为反相)的方波。
单片机编程题练习
乙机发送,甲机接收。
请画出电路图并写出初始化发送(查询)和接收(中断方式)程序。
2、口线P1.0接一个发光二极管,由定时器0控制,用于演示1秒钟亮、1秒钟暗的效果。
3、给80C51单片机扩展一片6116,0809和8155,要求0809采用中断方式,8通道工作;采用138译码选择芯片。
请画出系统连接图,写出各芯片的地址范围并写出8155内各口及其内部的RAM地址范围。
4、已知系统的连接如图所示,试编写程序实现下列功能:(1).编写上电显示程序,显示“123456”。
(2).编写主程序,功能为:当有键按下(0~7号)时,都显示键号;无键按下,保持原有显示状态。
5、选用DAC0832芯片产生一个三角波,要求幅值为0~2.5V。
1200bps,甲机发送数据88H(查询方式),乙机接收(中断方式)。
请画出电路图并编程实现上述功能。
7、已知一单片机应用系统如下图所示。
试回答问题并编写显示程序,以1秒为间隔,亮暗相间,显示“88888888”。
(1).写出各口的地址和控制字A口地址:B口地址:C口地址:控制口地址:控制字:(2).显示程序8、已知ADC0809单片机的连接如下图所示,试写出启动0809第3通道A/D转换的程序段。
(1)、把外部2000H内容送到内部RAM的20H单元。
(2)、找出20H~22H三个单元中的最大数,放在A累加器中。
9、编写程序完成以下功能:每响应一次外部中断,发光二极管亮一秒钟。
六、简单编程题:(1)、用间接寻址方式,把外部20H内容送到内部RAM的20H单元。
(2)、依据第四题接线图,写出启动0809第3通道A/D转换的程序段。
(3)、编写串行口方式1串行发送初始化程序。
(省略波特率发生器初始化)。
10、假定甲乙机以方式1进行串行数据通信,晶振=6MHz,要求波特率为1200。
甲机发送,乙机接收。
请画出电路图并计算出波特率,写出初始化发送和接收程序。
11、当系统选用12MHz晶体振荡器时,由定时器0控制产生周期为4ms(脉冲宽度为2ms)的方波序列(采用中断方式),并由P1.0输出,请编写实验程序。
单片机编程练习题(含部分答案)
单片机编程练习题(含部分答案)编程练习题1. 编一程序将片内存储单元20H~3FH单元的内容复制到40H~5FH单元。
MOV R0,#20H MOV R1,#40H MOV R7,#32LOOP: MOV A,@R0MOV @R1,A INC R0 INC R1DJNZ R7,LOOP SJMP $2. 编一程序将片内存储器40H单元的内容与41H单元的内容进行比较,若相等将50H置00H,若不等将50H置0FFH。
3. 在片内数据存储单元30H~4FH中存有32个同学的数学成绩,编一程序计算有多少同学成绩不及格(成绩低于60为不及格)。
若20H作为计数存储单元MOV R0,#30H MOV 20H,#0 MOV R0,#30H MOV R7,#32 MOV 20H,#0LOOP: MOV A,@R0 MOV R7,#32 SUBB A,#60 LOOP: CJNE @R0,#60,NE JNC GE NE: JNC GE INC 20H INC 20H GE: INC R0 GE: INC R0DJNZ R7,LOOP DJNZ R7,LOOPSJMP $ SJMP $4. 内部RAM中分别以地址20H和30H开始的连续16个单元,按顺序依次将两组中相应单元的内容相加(不考虑溢出),并将和存入外部RAM 2000H开始的单元中。
MOV R0,#20H MOV R1,#30H MOV DPTR,#2000H MOV R7,#16LOPP: MOV A,@R0ADD A,@R1 MOVX @DPTR,A INC R0 INC R1 INC DPTRDJNZ R7,LOOP SJMP $5. 设内部RAM 20H单元为数据块的起始地址,数据块长度为10H,数据为8位无符号数,试编程找出数据块中的最小值,并将其存入40H单元。
MOV R0,#20H MOV 40H,#255 MOV R7,#10HLOOP: MOV A,@R0SUBB A,40H JNC NJWMOV 40H,@R0NCW: INC R0DJNZ R7,LOOP SJMP $6. 比较两个ASCII码字符串是否相等。
单片机考试试题及答案
单片机考试试题及答案一、选择题(每题2分,共20分)1. 单片机中,CPU的主要功能是()。
A. 存储数据B. 处理数据C. 传输数据D. 显示数据答案:B2. 在8051单片机中,下列哪个寄存器是用于存储程序计数器的地址?A. SPB. PCC. DPTRD. ACC答案:B3. 下列哪项不是单片机的I/O接口?A. 定时器/计数器B. 串行通信接口C. 模数转换器D. 键盘答案:C4. 单片机的中断系统通常由哪两部分组成?A. 中断源和中断服务程序B. 中断向量表和中断服务程序C. 中断向量表和中断源D. 中断源和中断向量表答案:B5. 在8051单片机中,下列哪个指令用于将累加器的内容传送到外部数据存储器?A. MOVXB. MOVC. MOVCD. MUL答案:A二、填空题(每题2分,共20分)1. 单片机的______是单片机的核心部件,负责执行程序。
答案:CPU2. 8051单片机的定时器/计数器共有______个。
答案:23. 在8051单片机中,______指令用于将内部RAM的某个单元的内容传送到累加器。
答案:MOV4. 单片机的______接口用于实现单片机与外部设备的通信。
答案:串行通信5. 单片机的______功能允许它在执行当前任务的同时响应外部事件。
答案:中断三、简答题(每题10分,共30分)1. 请简述单片机的中断优先级是如何工作的?答案:单片机的中断优先级是指在多个中断请求同时发生时,单片机根据中断源的重要性来决定先响应哪一个中断请求。
通常,中断优先级由中断向量表中的地址顺序决定,优先级高的中断源对应的中断向量地址在表中靠前。
2. 描述单片机的I/O接口的作用。
答案:单片机的I/O接口是单片机与外部设备进行数据交换的通道。
它允许单片机接收外部设备的数据输入,并将处理后的数据输出到外部设备。
3. 简述单片机的定时器/计数器的作用。
答案:单片机的定时器/计数器用于提供精确的时间控制和事件计数。
单片机考试题目及答案
单片机考试题目及答案一、单项选择题(每题2分,共20分)1. 单片机中,以下哪个寄存器用于存储程序计数器(PC)的值?A. SPB. PCC. DPTRD. SCON答案:B2. 在8051单片机中,下列哪个指令用于将累加器A的内容传送到外部数据存储器?A. MOV A, @R0B. MOVX A, @DPTRC. MOV A, #dataD. MOV A, R0答案:B3. 下列哪个指令是8051单片机的无条件跳转指令?A. SJMPB. CJNEC. DJNZD. JZ答案:A4. 在8051单片机中,以下哪个中断源的中断优先级最高?A. 外部中断0B. 定时器0中断C. 外部中断1D. 串行通讯中断答案:C5. 8051单片机的定时器/计数器工作在方式1时,其计数器的计数范围是多少?A. 0到255B. 0到65535C. 0到32767D. 0到65536答案:C6. 8051单片机中,哪个指令用于将累加器A的内容与立即数进行逻辑“或”操作?A. ORL A, #dataB. ORL A, directC. ORL A, @R0D. ORL direct, #data答案:A器R0的内容进行逻辑“与”操作?A. ANL A, R0B. ANL R0, AC. ANL A, #dataD. ANL direct, A答案:A8. 8051单片机中,哪个指令用于将累加器A的内容与直接地址中的数据进行逻辑“异或”操作?A. XRL A, #dataB. XRL A, directC. XRL direct, AD. XRL A, @R0答案:B器R0的内容进行逻辑“异或”操作?A. XRL A, R0B. XRL R0, AC. XRL A, #dataD. XRL direct, A答案:A10. 8051单片机中,哪个指令用于将累加器A的内容与寄存器R0的内容进行逻辑“与”操作后,结果存回R0?A. ANL A, R0B. ANL R0, AC. ANL A, #dataD. ANL direct, A答案:B二、填空题(每题2分,共20分)1. 8051单片机的内部RAM分为______和______两部分。
单片机编程题(经典)
单片机编程题(经典)一、编程题(每小题4分,共20分)1.已知在累加器A中存放一个BCD数(0~9),请编程实现一个查平方表的子程序。
2.请使用位操作指令实现下列逻辑操作:BIT=(10H∨P1.0)∧(11H∨CY)3.已知变量X存于VAR单元,函数值Y存于FUNC单元,按下式编程求Y值。
Y=10 01xxx> -=<?4.已知在R2中存放一个压缩的BCD码,请将它拆成二个BCD字节,结果存于SUM开始的单元中(低位在前)。
5.将存于外部RAM 8000H开始的50H数据传送0010H的区域,请编程实现。
编程题(每小题4分,共20分)1.SQR:1NC AMOVC A,@A+PCRETTAB:DB 0,1,4,9,16DB 25,36,49,64,812.ORL C,11HMOV 12H,CMOV C,P1.0ORL C,/10HANL C,12HMOV BIT,CRET3. MOV A,VARCJNE A,#0,COMPSJMP RES ;x=0,Y=0 COMP:JNC POSI ;x>0,Y=1 MOV A,#0FFH ;x<0,Y=-1 SJMP RESPOSI:MOV A,#01H RES:MOV FUNC,ARET4.MOV R0,#SUMMOV A,R2ANL A,#OFHMOV @R0,A ;存低字节BCD MOV A,R2ANL A,#0F0HSWAP A1NC R0MOV @R0,A ;存高字节BCD RET5. MOV DPTR,#8000H MOV R0,#10HMOV R2,#50HLOOP:MOVX A,@DPTR ;取数MOVX @R0,A ;存数1NC DPTR1NC R0DJNZ R2,LOOPRET二、编程题(10分)将内部RAM20H为首的16个单元的8位无符号数排序写出程序,并作适当注释SORT: MOV R0, #20HMOV R7,#07HCLR TR0 ;交换标志位复位LOOP: MOV A,@R0MOV 2BH, AINC R0MOV 2AH, @R0CLR CSUBB A, @R0;比较前后两个数JC NEXT ;MOV @R0, 2BHDEC R0MOV @R0, 2AHINC R0SETB TR0 ;置交换标志位有效NEXT: DJNZ R7, LOOPJB TR0, SORT;若交换标志位有效,继续进行HERE: SJMP $三、编程序***1.请使用位操作指令,实现下列逻辑操作:P1.5=ACC.2∧P2.7∨ACC.1∧P2.02.在外部RAM首地址为TABLE的数据表中有10个字节数据,请编程将每个字节的最高位无条件地置1。
单片机编程题整理
1.试编写程序,查找在内部RAM的30H~50H单元中是否有0AAH这一数据。
若有,则将51H单元置为“01H”;若未找到,则将51H单元置为“00H”。
START:MOV R0,#30HMOV R2,#20HLOOP: MOV A,@R0CJNE A,#0AAH,NEXTMOV 51H,#01HLJMP EXITNEXT: INC R0DJNZ R2,LOOPMOV 51H,#00HEXIT: RET2. 试编写程序,查找在内部RAM的20H~40H单元中出现“00H”这一数据的次数,并将查找到的结果存入41H 单元。
START: MOV 41H,#0MOV R0,#20HMOV R2,#20HLOOP: MOV A,@R0JNZ NEXTINC 41HNEXT: INC R0DJNZ R2,LOOPRET 3. 一批单字节无符号数,以R0为首地址,R2中为字节数,将这批数进行升序排列。
SORT: MOV A,R0MOV R1,AMOV A,R2MOV R5,ACLR F0DEC R5MOV A,@R1LOOP: MOV R3,AINC R1CLR CMOV A,@R1SUBB A,R3JNC LOOP1SETB F0MOV A,R3XCH A,@R1DEC R1XCH A,@R1INC R1LOOP1: MOV A,@R1DJNZ R5,LOOPJB F0,SORTRET4. 以AT89S51为核心的温度控制器,温度传感器输出的电压与温度为非线性关系,传感器输出的电压已由A/D转换为10位二进制数。
测得的不同温度下的电压值数据构成一个表,表中温度值为y(双字节无符号数),x(双字节无符号数)为电压值数据。
设测得电压值x放入R2R3中,根据电压值x,查找对应的温度值y,仍放入R2R3中。
LTB2:MOVDPTR,#TAB2MOV A,R3CLRCRLCAMOVR3,AXCHA,R2RLCAXCHR2,AADDA,DPLMOVDPL,AMOV A,DPHADDC A,R2MOVDPH,ACLRAOVC A,@A+DPTRMOVR2,ACLRAINCDPTRMOVC A,@A+DPTRMOVR3,ARETTAB2:DW…,… ,…5. 片内RAM中存放一批数据,查找出最大值并存放于首地址中。
单片机考试题目及答案
单片机考试题目及答案一、选择题(每题2分,共20分)1. 单片机的英文缩写是()。
A. CPUB. MCUC. RAMD. ROM2. 下列哪个不是51单片机的内部存储器类型?()A. ROMB. RAMC. EPROMD. EEPROM3. 单片机的I/O口在默认情况下是()。
A. 推挽输出B. 开漏输出C. 高阻态D. 悬浮态4. 单片机的中断系统具有()个优先级。
A. 1B. 2C. 3D. 45. 单片机的定时器/计数器可以用于()。
A. 定时B. 计数C. 脉冲宽度测量D. 所有以上6. 下列哪个指令不是51单片机的指令类型?()。
A. MOVB. ADDC. JUMPD. CALL7. 51单片机的外部中断INT0和INT1的触发方式分别是()。
A. 电平触发,边沿触发B. 边沿触发,电平触发C. 边沿触发,边沿触发D. 电平触发,电平触发8. 下列哪个不是单片机的串行通信协议?()。
A. UARTB. SPIC. I2CD. USB9. 单片机的看门狗定时器主要功能是()。
A. 定时复位B. 定时唤醒C. 定时计数D. 定时中断10. 51单片机的定时器0和定时器1的计数方式分别是()。
A. 8位计数器,16位计数器B. 13位计数器,16位计数器C. 16位计数器,8位计数器D. 13位计数器,13位计数器答案:1. B 2. D 3. C 4. B 5. D 6. C 7. A 8. D 9. A 10. A二、填空题(每题2分,共10分)1. 单片机的最小系统包括_____、_____和_____。
答案:时钟电路,复位电路,电源电路2. 51单片机的P0口作为I/O口使用时,需要外接_____。
答案:上拉电阻3. 单片机的中断服务程序结束后,需要通过_____指令返回。
答案:RETI4. 单片机的I2C通信协议中,主设备通过_____来控制从设备。
答案:时钟信号5. 单片机的看门狗定时器如果未在预定时间内重置,将会导致_____。
单片机编程练习题(含部分答案)
单片机编程练习题(含部分答案)单片机编程练习题(含部分答案)在单片机编程的学习过程中,练习题是非常重要的一部分。
通过完成各种编程练习,我们可以提高自己的编程能力,掌握单片机的各种功能和应用。
本文将介绍一些常见的单片机编程练习题,并提供部分答案,帮助读者更好地理解相关知识。
一、LED亮灯顺序控制题目描述:使用单片机控制4个LED灯按指定的顺序依次亮起。
解答思路:首先,我们需要定义4个LED灯的引脚,使用宏定义的方式可以方便地修改引脚号码。
然后,在主函数中通过设置引脚输出高电平或低电平的方式控制LED灯的亮灭状态。
可以使用延时函数来控制每个LED灯亮起的时间。
代码示例:```#include <reg51.h>#define LED1 P1_0#define LED2 P1_1#define LED3 P1_2#define LED4 P1_3void delay(unsigned int time) // 延时函数{unsigned int i, j;for (i = time; i > 0; i--)for (j = 110; j > 0; j--);}void main(){LED1 = 0; // LED1灭LED2 = 0; // LED2灭LED3 = 0; // LED3灭LED4 = 0; // LED4灭while (1){LED1 = 1; // LED1亮delay(1000); // 延时1秒LED1 = 0; // LED1灭LED2 = 1; // LED2亮delay(1000); // 延时1秒LED2 = 0; // LED2灭LED3 = 1; // LED3亮delay(1000); // 延时1秒LED3 = 0; // LED3灭LED4 = 1; // LED4亮delay(1000); // 延时1秒LED4 = 0; // LED4灭}}```二、数码管计数器题目描述:使用单片机控制数码管显示一个0~9的计数器。
单片机练习题库(含参考答案)
单片机练习题库(含参考答案)一、单选题(共107题,每题1分,共107分)1.ALU的中文含义是()。
A、静态随机存储器B、加法器C、算术单元D、算术逻辑单元正确答案:D2.当T1向51系列单片机的CPU发出中断请求时,若CPU允许并接受中断时,程序计数器PC的内容将被自动修改为()。
A、0003B、000BC、0013D、001BH正确答案:D3.对于MCS-51系列单片机来说,变址间接寻址可寻址的空间是()。
A、程序存储器B、内部RAMC、外部RAMD、特殊功能寄存器正确答案:A4.MCS—51系列单片机扩展存储器芯片时,4个I/O口中做为地址总线的是()。
A、P0口和P2口B、仅P0口C、P2口和P3口D、仅P2口正确答案:A5.8051单片机有()个中断源。
A、3B、4C、6D、5正确答案:D6.当8051单片机系统的振荡晶体频率为6MHz时,其一个机器周期的时间是()。
A、0.5μSB、2μSC、1μSD、4μS正确答案:B7.对于MCS-51系列单片机来说,基址加变址寻址可寻址的空间是()。
A、内部RAM中0-7FH的空间和SFRB、内部RAM和外部RAMC、程序存储器D、外部RAM正确答案:C8.下列单片机中具有4KEPROM的是()。
A、89C51B、8031C、8052D、8751正确答案:D9.AT89C2051是()位的单片机。
A、4B、8C、准16D、16正确答案:B10.MCS-51系列单片机内部计数器可实现的最大计数值是()。
A、128B、256D、65536正确答案:D11.下列单片机中没有片内程序存储器的是()。
A、8052B、8051C、8751D、8031正确答案:D12.AT89C52单片机有()个中断源。
A、3B、4C、5D、6正确答案:D13.当AT89C52单片机系统的振荡晶体频率为24MHz时,其一个机器周期的时间是()。
A、0.5μSB、1μSC、2μSD、4μS正确答案:A14.MCS-51单片机的串行口有()种工作方式。
单片机编程习题
单片机编程习题张建荣江西应用技术职业学院1、某温度控制系统,采集的温度值(Ta)放在累加器A中。
此外,在内部RAM54H单元存放控制温度下限制(T54),在55H单元存放控制温度上限制(T55)。
若Ta >T55,程序转向JW(降温处理程序);若Ta<T54,则程序转向SW(升温处理程序);T55≥Ta≥T54,则程序转向FH(返回主程序)。
2、已知有10个单字节数,依次存放在内部RAM 40H单元开始的数据存储区中,求和并将结果存人寄存器R2、R3中(高位存R2,低位存R3)。
3、假设从内存RAM的50H单元,连续存放一串字符,以回车符(其ASCII码为0DH)作为结束标志,要求测出该字符串的长度。
测试方法可采用将该字符串的每一个字符与回车符依次相比,若不相等,则将统计字符串长度的计数器加l,继续比较;若比较相等,则表示该字符串结束,这时计数器中的值就是字节符串的长度。
4、编制用软件方法延时1S的程序5、假设在片内RAM中,起始地址为40H的10个单元中存放有10个无符号数。
试进行升序排序。
6、求两个无符号数据块中的最大值。
数据块的首地址分别为60H和70H,每个数据块的第一个字节都存放数据块的长度,结果存人5FH单元。
7、设变量x 以补码的形式存放在片内RAM的30H单元,变量y 与x 的关系是:当x 大于0时,y =x;当x =0时,y =20H;当x 小于0时,y =x+5。
编制程序,根据x 的大小求y并送回原单元。
8、根据R7的内容转向相应的处理程序。
设R7的内容为0~N,对应的处理程序的入口地址分别为PP0~PPN。
9、50ms延时程序。
若晶振频率为12MHz,则一个机器周期为1μs。
执行一条DJNZ指令需要2个机器周期,即2μs。
采用循环计数法实现延时,循环次数可以通过计算获得,并选择先执行后判断的循环结构。
10、将内部RAM中起始地址为data的数据串传送到外部RAM中起始地址为buffer的存储区域内,直到发现‘$ ’字符停止传送。
c语言单片机试题及答案
c语言单片机试题及答案一、选择题(每题2分,共10分)1. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:A2. 单片机的内部RAM中,哪个区域用于存储位地址?A. 直接地址区B. 间接地址区C. 位寻址区D. 扩展RAM区答案:C3. 下列哪个选项是C语言中正确的字符串定义方式?A. char str[] = "Hello";B. char str[5] = "Hello";C. char str[] = {"Hello"};D. char str[6] = {"Hello"};答案:A4. 在8051单片机中,哪个寄存器用于存储当前正在执行的程序的地址?A. ACCB. BC. PCD. SP答案:C5. C语言中,以下哪个选项是正确的数组定义?A. int a[] = {1, 2, 3};B. int a[3] = {1, 2, 3};C. int a = {1, 2, 3};D. int a[3] = {1};答案:A二、填空题(每题4分,共20分)1. 在C语言中,用于定义一个整型变量的关键字是________。
答案:int2. 8051单片机的外部中断0的中断向量地址是________。
答案:0003H3. 单片机的I/O口通常可以被配置为________或输出模式。
答案:输入4. 在C语言中,用于定义一个字符型数组的关键字是________。
答案:char5. 8051单片机的定时器/计数器0的控制寄存器是________。
答案:TMOD三、简答题(每题10分,共20分)1. 简述C语言中如何实现函数的递归调用。
答案:在C语言中,函数的递归调用是指一个函数在其定义中调用自身。
递归函数通常包含一个结束递归的条件,以防止无限递归。
例如,计算阶乘的函数可以定义为:```cint factorial(int n) {if (n == 0) return 1; // 递归结束条件return n * factorial(n - 1); // 递归调用}```2. 解释8051单片机的定时器/计数器的作用。
单片机原理编程题
一.编程题(每题8分,共16分)1.设在内RAM 40H开场的存储区有假设干个字符和数字,最后一个为字符“$“〔并且只有一个,试统计这些字符数字的个数,结果存入30H单元中。
参考程序:ORG 0000HSTART: MOV R1,#40H ;R1作为地址指针CLR A ;A作为计数器LOOP: CJNE R1,#24H,NEXT ;与“$〞号比拟,不等转移SJMP NEXT1 ;找到“$“完毕循环NEXT: INC A ;计数器加1INC R1 ;指针加1SJMP LOOP ;循环NEXT1: INC A ;再参加〞$〞这个字符MOV 30H,A ;存结果END2.试编一程序,分别统计在内部RAM的30H~50H单元的数据区中奇数和偶数的个数,并将奇数和偶数的个数分别存放在51H和52H单元中。
参考程序:ORG 0000HMOV 51H ,#0HMOV 52# ,#0HMOV R1 ,#30HMOV R0 ,#20HMOV A,R1INC R1ANL A , #01HJZ LOOP1INC 51HSJMP LOOP2LOOP1: INC 52HLOOP2: DJNZ R0 , LOOP3RET3.用8XX51的P1口接8个LED发光二极管,由INT0接一消抖按键开关,开场P1.0的LED亮,以后由INT0按键每中断一次,下一个LED亮,顺序下移,且每次只一个LED亮,周而复始。
请编制程序。
参考程序:ORG 0000HAJMP MAINORG 0003HRL A ;中断效劳MOV P1,ARETIMAIN: MOV A,#0FFHMOV P1,A ;第一灯亮SETB EASETB EX0 ;允许INT0外部中断SETB IT0 ;中断触发方式为下降沿触发SJMP $ ;等待中断4.设有100个有符号数,连续存放在以2000H为首地址的存储区中,试编程统计其中正数、负数、零的个数并分别存放在30H、31H、32H单元中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《单片机原理及应用》编程题题库六、编程(每题10分)1、内部RAM 30H和31H单元中存放着2个0-9的ASCII码(高位字节在前),请将其转换为压缩BCD 码(高位在前)并存入外部RAM 2300H单元中。
2、将存放在内部RAM 30H-35H单元的压缩型BCD码转换成相应的ASCII码,依次存放到外部RAM 2100H开始的单元区中。
3、内部RAM 20H和30H开始的单元分别存放着16个16进制数,请将对应单元的内容相加(不考虑溢出),并将和存入外部RAM 2000H开始的单元中。
4、请编写多字节无符号数减法程序。
被减数存放在内部RAM 20H开始的8个单元中,减数存放在内部RAM 30H开始的8个单元,请将差存放到外部RAM 2000H开始的8个单元中,借位存放到OV标志中。
注意:所有数据均按照从低字节到高字节的顺序存放。
5、内部RAM 40H和41H单元中存放着2个0-9的ASCII码(高位字节在前),请将其转换为压缩BCD 码(高位在前)并存入外部RAM 2000H单元中。
6、将存放在内部RAM 20H-2FH单元的压缩型BCD码(高位在前)转换成相应的ASCII码,依次存放到外部RAM 1000H开始的单元区中。
7、内部RAM 30H和38H开始的单元分别存放着8个压缩BCD码,请将对应单元的内容相加(不考虑溢出),并将和存入外部RAM 1000H开始的单元中。
8、请编写多字节无符号数加法程序。
被加数存放在内部RAM 20H开始的8个单元中,加数存放在内部RAM 30H开始的8个单元,请将和存放到外部RAM 2000H开始的8个单元中,进位存放到F0标志中。
注意:所有数据均按照从低字节到高字节的顺序存放。
9、两个8字节压缩BCD码分别存放在内部RAM 30H和40H开始的连续单元中(低位字节在前),请将二者求和(不考虑溢出情况),并将和存入外部RAM 1000H开始的单元中。
10、将存放在内部RAM 20H-2FH单元的十六进制数转换成ASCII码,依次存放到外部RAM 2000H 开始的单元中。
11、内部RAM 30H和外部RAM 2200H开始的单元分别存放着两个8字节十六进制数(低位字节存放在前),请将二者相加(不考虑溢出情况),并将和存入内部RAM 40H开始的单元中。
12、请编写多字节无符号数减法程序。
被减数存放在内部RAM 30H开始的8个单元中,减数存放在内部RAM 38H开始的8个单元,请将差存放到外部RAM 1000H开始的8个单元中,借位存放到F0标志中。
注意:所有数据均按照从低字节到高字节的顺序存放。
13、请编写多字节无符号数减法程序。
被减数存放在内部RAM 20H开始的16个单元中,减数存放在内部RAM 30H开始的16个单元,请将差存放到外部RAM 2000H开始的16个单元中,借位存放到OV标志中。
注意:所有数据均按照从低字节到高字节的顺序存放。
14、将存放在内部RAM 20H-3FH单元的压缩BCD码转换成ASCII码,依次存放到外部RAM 2300H 开始的单元中。
(注:每个单元均先转换高四位)15、将存放在内部RAM 30H-35H单元的十六进制数转换成相应的ASCII码,依次存放到外部RAM 1100H开始的单元区中。
(注:每个字节转换时先转换高四位)16、内部RAM 30H开始的单元中存放着16个0-9的ASCII码(高位字节在前),请将其转换为压缩BCD码(高位在前)并存入外部RAM 1000H开始的单元中。
17、设有两个长度为16字节的数组,分别存放在外部RAM 0200H和0300H为首址的存储区域中,试编写程序求其对应项之和(不考虑溢出的情况),结果存放在以0400H为首址的外部RAM中。
18、编程求内部RAM中40H~4FH共16个单元中的内容的和(结果为2字节),并将和放入50H和51H单元中(高8位在50H)。
19、有一个长度为16字节的ASCII码字符串存放在外部RAM 1000H为首址的存储区域中,字符串中的每一个字符均不相同,试编写程序查找字符串中是否存在ASCII码“9”。
如果在字符串中存在ASCII 码“9”,则将其存储单元的地址存放到内部RAM 30H和31H单元中(高8位地址在30H单元中),同时将OV标志位清零。
否则,将30H和31H单元的内容清零,并将OV标志位置“1”。
20、有两个8字节的16进制数a和b,它们分别存放在内部RAM中30H~37H和40H~47H的单元中(高位字节在前)。
请编程求a-b,并将差存入30H开始的内部RAM单元中(高位字节在前)。
若差小于零则将F0标志位置“1”,否则清零。
21、若外部RAM的(3000H)=X,(3001H)=Y,编程实现Z=X*X+2Y,并将结果存到片内RAM的40H 单元(设Z<256 。
22、设外部RAM 2000H单元为数据块的起始地址,数据块长度为10,试编程求数据块中的最小值,存入内部RAM 30H单元。
23、若外部RAM的(1000H)=X,(1001H)=Y,请编程实现Z=2X+Y*Y+5(设Z<65536),并将结果保存到片内RAM的30H和31H单元(31H单元存放结果的高8位,30H单元存放结果的低8位)。
24、设外部RAM 1000H单元为数据块的起始地址,数据块长度为60字节,试编程求数据块中所有数据的和,并将其存入内部RAM 30H和31H单元(30H单元存放和的低8位,31H单元存放和的高8位)。
25、若外部RAM的(1000H)=X,内部RAM(30H)=Y,请编程实现Z=X*X+3Y+18(设Z<65536),并将结果保存到片内RAM的40H和41H单元(41H单元存放结果的高8位,40H单元存放结果的低8位)。
26、若外部RAM的(1000H)=X,请编程实现Y=X2+2X+1(设Y<65536),并将结果保存到片内RAM的30H和31H单元(31H单元存放结果的高8位,30H单元存放结果的低8位)。
27、设外部RAM 2000H单元为数据块的起始地址,数据块长度为100字节。
假设在数据块中存在唯一的一个ASCII字符“A”,试编程找到它,并将其在外部RAM的存放地址存入内部RAM 30H和31H单元中(30H单元存放地址的高8位,31H单元存放地址的低8位)。
28、若内部RAM的(20H)=a,外部RAM(1300H)=b,请编程实现y=a2+b2+5(设y<65536),并将结果保存到片内RAM的30H和31H单元(31H单元存放结果的高8位,30H单元存放结果的低8位)。
29、若内部RAM的(30H)=X,(31H)=Y,请编程实现Z=X2+5Y(设Z<65536),并将结果保存到片外RAM的1000H和1001H单元(1001H单元存放结果的高8位,1000H单元存放结果的低8位)。
30、设内部RAM 20H单元为数据块的起始地址,数据块长度为32字节。
请将整个数据块求和(共32字节的数据求和,设和小于65536),并把和存入外部RAM 1000H和1001H的单元中(和的高8位存入1001H单元)。
31、若内部RAM的(20H)=a,(21H)=b,请编程实现y=a2+b2(设y<65536),并将结果保存到片外RAM的2000H和2001H单元(2001H单元存放结果的高8位,2000H单元存放结果的低8位)。
32、将内部RAM 40H为起始地址的32个连续单元中的十六进制数转换成ASCⅡ码存入外部RAM 3000H开始的存储单元中。
33、设内部RAM 20H单元为数据块的起始地址,数据块长度为10H,数据为8位无符号数,试编程第1页共3页找出数据块中的最小值,并将其存入40H单元。
34、比较两个ASCII码字符串是否相等。
字符串长度在内部RAM 2FH单元,两字符串的首地址分别为30H、40H。
如果两个字符串相等,置CY=1,否则,置CY=0。
35、将MCS51内部RAM 60H~65H单元存放的12个16进制数变为ASCII码,存放到0100H单元开始的外部RAM中。
36、将片外数据存储器的2500H单元与2501H单元中的数据作十进制加法运算,和送入2503H和2502H单元中,即(2500H)+(2501H)→(2503H)(2502H)。
37、设单片机的晶体震荡频率为12MHz,利用定时器T0编程由P1.2输出周期为10ms的方波。
(要求:T0工作在方式1下,采用中断方式工作)38、已知8051单片机应用系统的晶体振荡频率为12MHz,请利用定时器T0实现在P1.0引脚上输出周期为100ms的方波。
(要求:采用中断方式,T0工作在方式1下)39、设8031单片机应用系统的晶振频率为12MHz,请利用T0在P1.0和P1.1引脚上输出频率为20Hz、互补(两个波形互为反相)的方波。
要求:采用中断方式,T0工作在方式1。
40、8031单片机应用系统的晶体振荡器频率为12MHz,请利用定时器T0编程实现在P1.7引脚输出频率为20Hz的方波。
要求:采用中断方式,T0工作在方式1下。
41、设单片机的晶体振荡频率为12MHz,利用定时器T0编程由P1.0和P1.1输出周期为10ms、互补(互为反相)的方波。
(要求:T0工作在方式1下,采用中断方式工作)42、已知8051单片机应用系统的晶体振荡频率为12MHz,请利用定时器T1实现在P1.0和P1.1引脚上输出互补(互为反相)的周期为100ms的方波。
(要求:采用中断方式,T1工作在方式1下)43、设8031单片机应用系统的晶振频率为12MHz,请利用T0在P1.0引脚上输出频率为20Hz的方波。
要求:采用中断方式,T0工作在方式1。
44、8031单片机应用系统的晶体振荡器频率为12MHz,请利用定时器T1编程实现在P1.6和P1.7引脚输出互补(互为反相)的、频率为20Hz的方波。
要求:采用中断方式,T1工作在方式1下。
45、设单片机的晶体振荡频率为6MHz,利用定时器T1编程由P1.6和P1.7输出周期为500μs 、互补(互为反相)的方波。
(要求:T1工作在方式2下,采用中断方式工作)46、已知8051单片机应用系统的晶体振荡频率为12MHz,请利用定时器T1实现在P1.0和P1.1引脚上输出互补(互为反相)的周期为2ms的方波。
(要求:采用中断方式,T1工作在方式2下)47、设8031单片机应用系统的晶振频率为12MHz,请利用T1在P1.0引脚上输出频率为1Hz的方波。
要求:采用中断方式,T1工作在方式1。
48、8051单片机应用系统的晶体振荡器频率为6MHz,请利用定时器T1编程实现在P1.0和P1.1引脚输出互补(互为反相)的、频率为20Hz的方波。