资源描述
第一章:一、填空题111100EH1001110001100100243. 255 -51 4. 输入设备5. 84 6. 630 * 8 * 1024 7. 位字节字 bit btype word 8. 1111 1111 00100100 11011011 9. 110 89 -115 -50二、单选:DBCAB BBCB第二章:一、填空1PCPC2反向器晶振两只电容短3加电手动0000H07H第000H07H4621125DPTRDPHDPL664KB单选题DCCACAD第三章:一、填空题:11031234H1113略41100H52630H71H 0A5H 0A5H 75H 0A7H 0AAH 0 1 IFH 1 1 0AAH 0 1 20H 1 0 0D5H 1 1 49H 0 0 二、单选题CCBDCA三、其它类型题错错对错错错对错错错错对对对对错对对错对错错对(三)其它类型题3编写程序将RAM20H23H单元的高4位写1,低4位写0。分析:就是把这四个单元写入F0H。用一个DJNZ的循环。 ORG 0000H MOV R0,#1FH ;R0指向20H单元 MOV R5,#04H;四个数LOOP: INC R0 MOV R0,#0F0H ;写入 DJNZ R5,LOOP ;循环4次 END 4把m和m+1单元存有两个BCD数,将它们合并到m单元中,编写程序完成。 (设m=30H, 高位在30H,低数在31H) ORG 0000H MOV A,30H ANL A,#0FH;把它的高四位清零 SWAP A MOV 30H ,A;高低四位调一下,放回原处 MOV A,31H ANL A,#0FH ORL A,30H;合并起来 MOV 30H,A END5.将内部RAM中从data单元开始的10个无符号数相加,其和送sum单元多,假定相加结果小于255。编写程序完成。(设data=30H, sun =50H) ORG 0000H MOV R0,#2FH ; 指向前一个单元 MOV R5,#0AH;循环10次 CLR A;先加到A中 LOOP: INC R0 ADD A,R0 DJNZ R5,LOOP MOV 50H,A END 6假定8位二进制带符号数丰于R0中,要求编写一个求补程序,所得补码入入R1中。 ORG 0000H MOV A,R0 CPL A;按位取反 ADD A,#01H;1 MOV R1,A END第四章:一、填空题1.25H40H03H22.914ms3.略4(A) =(30H) (A) (30H) (A) (30H) (A) (30H)5. 32.87ms编程题1把长度为10H的字符串从内部RAM的输入缓冲区inbuf向位物外部RAM的输出缓冲区outbuf传送,一直进行到遇见回车或整个字符串传送完毕。试编程实现。 ORG 0030H MOV R0,#inbuf MOV R1,#outbuf MOV R4,#10H LOOP:MOV A,R0 ; 从内部RAM取数 CJNE A,#0DH,LL ;是否为回车符CR SJMP STOP ;是转停止传送 LL: MOVX R1,A ;不是则传送到外部RAM INC R0 INC R1 DJNZ R4,LL;沒传送完则循环 STOP: SJMP $2、内部RAM从list单元开始存放一正数表,表中之数作无序排列,并以“-1”作结束标志。编程实现在表中找出最小数。 (3AH存放在运行程序时的最小的数) ORG 0030H MOV R0,#list MOV A,R0 ;取第一个正数 LOOP: INC R0 ;指向下一个正数 MOV 3AH,R0 CJNE A,3AH,CHK ;前一个数与后一个数比较 CHK: JC LOOP1 ;前一个数小,则转 MOV A,R0 ;前一个数大,取后一个数LOOP1: XCH A,3AH CJNE A,#0FFH,LOOP XCH A,3AH ;取最小数 MOV 3BH,A SJMP $3.内部RAM的X,Y单元中各存放一个带符号的数,试编程实现按如下条件进行的运算,并将结果存入Z单元中。若X为正奇数,ZXY;若X为正偶数,ZXY;若X为负奇数,ZXY;若X为负偶数,ZXY。分析:负数:第7位为1,正数:第7位为0奇数:第0位为1,偶数:第0位为0ORG 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 OK ZJS: MOV A,20H ADD A,21H MOV 22H,A SJMP OK FS: MOV A,20H CLR C RR A JC FJS ;第0位是1,移到正奇数处理 MOV A,20H XRL A,21H MOV 22H,A SJMP OK FJS: MOV A,20H ANL A,21H MOV 22H,A OK: END 4、把一个8位二进制数的各位用ASCII码表示之(亦即为“0”的位用30H表示,为“1”的位用31H表示)。该数存放在内部RAM中byte单元中。变换后得到的8个ASCII码存放在外部RAM以buf始的存储单元中去。 ORG 0030H MOV R0,#byte MOV DPTR,#buf MOV R5,#08H MOV A,R0 LOOP: RLC A MOV R7,A JC LOOP1 MOV A,#30H SJMP LOOP2 LOOP1: MOV A,#31H LOOP2: MOVX DPTR,A MOV A,R7 INC DPTR DJNZ R5,LOOP5.编程实现运算式c = a2+b2 假定a、 b、 c 3个数分别存放在内部RAM的DA、DB、DC单元中,别有平方运算子程序调用。(内部RAM的DA、DB、DC单元设为20H21H22H) ORG 0000H MOV A,20H PUSH ACC AJMP SQR POP ACC MOV 22H,A MOV A,21H PUSH ACC AJMP SQR POP ACC ADD A,22H MOV 22H,A END6、比较两个ASCII码字符串是否相等。字符串的长度在内部RAM 41H单元,第一个字符串的首地址为42H,第二个字符串的首地址为52H。如果两个字符串相等,则置内部RAM 40H单元为00H;否则置40H单元为FF。 ORG 0030H MOV R0,#42H MOV R1,#52H MOV R7,41H ;字符串长度 LOOP: MOV A,R0 MOV 30H,R1 CJNE A,30H,LK INC R0 INC R1 DJNZ R7,LOOP MOV 40H ,#00H SJMP DD LK: MOV 40H,#0FFH DD: SJMP DD7.外部RAM首址为table的数据表中,有10个字节的数据。编程将每个字节的最高位无条件地置“1”。 ORG 0030H MOV DPTR,#table MOV R6,#10 LOOP:MOVX A,DPTR SETB E7H; E7H就是累加器A的最高位(ACC.7), 也可 : SETB ACC.7 MOVX DPTR,A INC DPTR DJNZ R6,LOOP第五章一、填空题1 各项任务2 INT0T0INT1T1串口3 PCPCROM4 中断源查询状态5 10000001000000/65536 = 15.266 100 ms 7 111 1018 T1 2 0FFH 001BH二、单选题:DCAADCD单片机基础第五章习题课本5。.1设单片机的晶振频率为6MHZ,使用定时器1以方式0产生500us的等宽正方波连续脉冲,并由P1.0输出。分析:使用P1.0输出脉冲,可由定时器产生一个250us的定时,到了时间,就执行CPLP1.0就可以了。所以问题转化为产生定时。解:(1)计算定时器的初值:(213X)T机T定时代入数据得:X8067由于方式0的特点(高8位,低5位),计算出TH1,TL1得TH10FCHTL103H(2) 计算出TMOD的初始值:TMOD00H(3) 编程实现:方法一:使用查询法。程序不断地查询TF1的值。如定时器溢出(TF11),则CPLP1.0所以: MOV TMOD ,#00H MOV TH1,#0FCH MOV TL1,#03H MOV IE, #00H ;不用中断的方法,关掉 SETB TR1 ;开启定时器LOOP: JBC TF1,LOOP1 AJMP LOOPLOOP1: MOV TH1,#0FCH MOV TL1,#03H CPL P1.0 AJMP LOOP方法二:使用中断的方法。需确定寄存器:TMOD00HIE88H TCON =40H (或SETBTR1)T1的中断向量001BH程序如下:ORG 0000H AJMP MAIN ORG001BHAJMPT1TIMER MAIN:MOVTMOD,00HMOVTCON,40HMOVIE,#88H MOV TCON ,#40H MOV TH1,#0FCH MOV TL1,#03HHere :AJMP HereT1_TIMER: MOV TH1,#0FCH MOV TL1,#03H CPL P1.0 RETI注意:定时器定时或计数,不会影响CPU的工作。 定时方式1:与方式0没有大的区别,只有定时器是16位的。所以定时(2x 初值)T机方式2:8位初值自动赋值的定时/计数器解法一样:(1) 计算T的初始值(2)TMOD?(2) 程序设计方式三:T0:TL08位,可作定时也可作计数,与方式0,一样使用。TH0:8位,只能作定时,借作TR1TF1T1:没法中断,只能产生不断的脉冲,全波特率可用方式0,1,2。如要停止脉冲,要强制设方式3第六章一、填空题1、8161322、高电平低电平高阻3、256数据4KB程序64KB数据64KB程序4、16P0P25、PSENRDWRALECEALE66、16KB31FFH7、外存8、片选9、3PSENALE二、单选题DADDCADA第七章填空题1数据ALERDWR2无条件传送查询中断3缓冲锁存412115高口方式定义C位置位/复位6方式1输出方式1输出输出输入710100111单选题DACDBB
展开阅读全文