1、将累加器A中的数扩大或减小的方法和注意事项:
左移或右移1次:扩大或减小2倍(对数的范围有要求)。
2、在MCS-51单片机系统中,存储器与I/O口采用的编址方式是 统一编址。MCS-51可提供 数据存储器 和 程序存储器两种存储器,其编址方式为独立编址,扩展后其最大存储空间分别为 64KB和 64KB。对80C51而言,片内ROM和片外ROM的编址方式为 统一编址,片外ROM的地址从 1000H开始;片内RAM和片外RAM的编址方式为独立编址,片外RAM的地址从 0000H开始。
能说明MCS-51的I/O编址是统一编址方式而非独立编址方式的理由是 (A )。 A.用存储器指令进行I/O操作 B.有专用的I/O指令 C.有区分存储器和I/O的控制信号 D.I/O和存储器的地址可以重叠
3、某存储芯片有12条地址线和8条数据线,此芯片至少可以存放二进制数( )个字节,地址范围是 0000H-0FFFH,每个二进制数有8位,若要把每个二进制数增加到16位,则应采用将8条数据线增为16条,将2片8位存储器并联连接办法。
4、若8051的晶振频率为6MHz,则其2个定时器/计数器对重复频率高于 0.25MHz的外部事件是不能正确计数的。(请见P113) 5、以1片Intel 2716给80C51单片机扩展一个2KB的外部程序存储器,要求地址空间与80C51的内部ROM相衔接,请画出逻辑连接图。
6、A/D转换器的三个重要指标分别是 分辨率、转换时间、转换精度。一个10V的12位D/A转换器的分辨率约为 。
7、在R7初值为FFH、00H等的情况下,DJNZ R7,rel指令将分别循环执行 次。
8、在相对寻址方式中,“相对”两字是指相对于当前指令的末地址,寻址得到的结果是 程序转移的目的地址。在变址寻址方式中,以 A 作变址寄存器,以 PC或DPTR作基址寄存器。在寄存器间接寻址方式中,指定寄存器中存放的是操作数地址。 相对寻址:目的地址=转移指令的地址+转移指令的字节数+rel 变址寻址: MOVC A,@A+DPTR
MOVC A,@A+PC 间接寻址: MOV A,@R1(R0) MOVX A,@DPTR
9、在80C51中,可使用的堆栈最大深度为 80个单元。
10、执行返回指令时,返回的断点是 调用指令下一条指令的首地址。
11、若原来工作寄存器0组为当前寄存器组,现要改1组为当前寄存器组,不能使用指令D。 A.SETB PSW.3 B.SETB D0H.3 C.MOV D0H,#08H D.CPL PSW.4
位 位符号 序
B7
CY B6 B5 AC F0
B4 B3 B2 RS1 RS0 OV
B1
F1
B0
P
12.80C51利用串行口通信时,设波特率为2400bps,晶振频率为12MHz,T1选方式2,SMOD=0,则T1的重新装入值为: 见P128
13.执行指令:MOV IE,#03H后,MCS-51单片机将响应的中断有 ( )个。
IE
位 位符序号
B7 EA
B6 B5
B4
ES
B3 ET1
B2 EX1
B1 ET0
B0 EX0 14、在多机通讯中,有关第9数据位的说明中,正确的是 (B)。 A.接收到的第9数据位送SCON寄存器的TB8中保存
B.帧发送时使用指令把TB8位的状态送入移位寄存器的第9位 C.发送的第9数据位内容在SCON寄存器的RB8中预先准备好 D.帧发送时使用指令把TB8位的状态送入发送SBUF中 15、说明程序执行后的功能: MOV DPTR,#TAB ;TAB为表首地址 MOV A,R0 CJNE A,#4,NEXT NEXT: JNC NEXT1 MOVC A,@A+DPTR SJMP NEXT2 NEXT1:MOV A,#0FFH NEXT2:SJMP NEXT2 TAB: 0,1,4,9
16、说明8个灯点亮的规律。 #include \main( ) { unsigned char i,k,temp; temp=0x01; while(1) { P1=temp; if(temp==0x00) temp=(temp<<1)+1; else
}
}
temp=(temp<<1); for (i=0;i<200;i++) for (k=0;k<100;k++);
+5VP1.0P1.180C51P1.7LED8LED1LED2
LP: MOV P1,#81H LCALL DELAY MOV P1,#42H LCALL DELAY MOV P1,#24H LCALL DELAY MOV P1,#18H LCALL DELAY MOV P1,#24H LCALL DELAY MOV P1,#42H LCALL DELAY SJMP LP 子程序:
DELAY:MOV R2,#0FAH L1: MOV R3,#0FAH L2: DJNZ R3,L2 DJNZ R2,L1 RET
+5VP1.0P1.180C51P1.7LED8LED1LED2
#include
#define uint unsigned int delay(uint i); main( ) {
while(1) { P1=0x81; delay(100); P1=0x42; delay(100); P1=0x24; delay(100); P1=0x18;
delay(100); //延时函数
P1=0x24; delay(uint i) //延时1s delay(100); { P1=0x42; uint j; delay(100); for (j=0;j
#include
unsigned char temp,temp1,temp2,i; temp = 0x81; while(1) { for(i=0; i<8;i++) { temp1=(temp&0x0F)<>i; P1=temp1|temp2; } } }
+5VP1.0P1.180C51P1.7LED8LED1LED2
例题1:请设计读定时器/计数器的子程序
解:在定时器/计数器工作过程中,经常需要读出定时器/计数器的数值。假设读取定时器/计数器T0的数值,并要求将读得的TH0和TL0的数值分别送入R0、R1中保存,则设计子程序如下: READ:MOV A,TH0 ;读TH0内容 MOV R1,TL0 ;读TL0内容,送入R1 CJNE A,TH0,READ ;再读TH0内容,与上次读值相比较,如不相等,转去重读 MOV R0,TH0 ;如果相等,送入R0 RET
说明:对TH0读2次,目的是为了防止错读。
例题2:某啤酒生产线上,需要每生产10瓶执行装箱操作,将生产出的啤酒自动装箱,试用单片机的计数器实现控制要求。
解:如果啤酒生产线上装有传感装置,每检测到1瓶啤酒就向单片机发送1个脉冲信号,这样使用计数功能就可实现该控制要求。设使用T0的方式2来完成。
解:①选择定时器及其工作方式,对TMOD赋初值:T0工作于模式2记数方式 TMOD=0000 0110B=06H ②计算计数初值:8位计数方式
③采用中断方式,编写程序:
ORG 0000H AJMP START ;转入主程序 ORG 000BH AJMP COUNT ;转入T0中断服务程序 ORG 0100H ;主程序入口地址 START: MOV SP,#40H ;置堆栈指针 MOV TMOD,#06H ;T0为工作方式2 MOV TL0,#0F6H ;定时时间常数(10瓶) MOV TH0,#0F6H ;定时时间常数(10瓶) CLR P1.0 SETB ET0 ; 允许T0中断 SETB EA SETB TR0 ;打开T0 SJMP $ ;等待中断 ORG 0200H ;T0中断服务程序入口地址
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库单片机2在线全文阅读。
相关推荐: