
MOV A ,# 40H ;A=40H
MOV R0 ,#40H ;R0=40H
ORL A,#80H ;A=C0H
ANL A,#OF0H ;A=C0H
执行结束 RO=40H A=C0H
1内部128B分为四部分,从00H--1FH是工作寄存器组,20H--2FH为可位寻址区,30H--7FH为用户ram区,80H--FFH为SFR(特殊功能寄存器区)直接寻址
2ADC0809可以对8路模拟输入进行采样,通过引脚ADDA,ADDB,ADDC进行控制对应如下:
ADDC ADDB ADDA 选择的通道
0 0 0 IN0
0 0 1 IN1
0 1 0 IN2
0 1 1 IN3
1 0 0 IN4
1 0 1 IN5
1 1 0 IN6
1 1 1 IN7
五1(SP)=52H,(51H)=43H (压栈两次,SP=SP+2压栈时SP先加1再压栈,所以51H中进入的是A的内容,即43H)
2MOV A,#9FH ;将9FH(10011111)放入A
MOV B,#36H ;将36H(00110110)放入B
ANL B,A ;A,B相与,得00010110即16H,结果在B中,A中值没变
SETB C ;将进位标志置1
ADDC A,B ;做加法A+B+C=9FH+16H+01H=B6H放在A中
所以结果为(A)=B6H,(B)=16H。
3MOV A,#1 ;将1放入A
MOV DPTR,#2456H ;将2456H放入DPTR
MOVC A,@A+DPTR ;将1H+2456H(即2457H)地址处的数据取到A,DPTR
;值不变
结果:(A)=34H,(DPTR)=2456H。
4最高的是外部中断1,(外部与串口中断同时为1,用自然优先级判断)
次高的是串口中断, (串口中断自然优先级低于外部中断1)
最低的是定时器中断1。(剩下的为低级中断,自然优先级最低为定时器)
5A口方向为输入,(本题看8255控制字每位意义可知)
B口方向为输出,
C口高位方向为输出,低位方向为输入。
六1 程序如下:
MOV R7,#20H ;循环计数20H次
MOV R6,#00H ;将R6清零,作计数用
MOV R0,#20H ;将20H放入R0,作为间址用
MOV A,#0FFH ;将FFH放入A,作为测试用
L1:ADD A,@R0 ;将R0指向地址的值与FFH相加
INC R0 ;R0指向下一个地址
DJNZ R7,L2 ;当R7为零时跳转到L1
JC L1 ;进位位Cy为1时跳转(为1时表明其中的值不为0)
INC R6 ;C为零时,加法没进位,表明当前地址对应值为0,计数加1
L3:MOV 41H,R6 ;计数放入41H
2 1)没图无从判断,可数U1或U2的地址线数N,容量为2的N次方B
2)没图更没法确认地址范围了
3 MOV TMOD,#20H ;设置定时器模式
MOV SCON,#50H ;高置串口
MOV TH1,#0F3H ;2400b对应的计数初值
MOV TL1,TH1
MOV PCON,#00H ;无倍频
SETB EA ;开总中断
SETB ES ;开串口中断
SETB TR1 ;开始计时
RET
以上就是关于单片机程序题全部的内容,包括:单片机程序题、单片机试卷的问题2、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)