资源描述:
《兰交大单片机的作业》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、CH4 KEILC开发1.用C51编程较汇编语言有哪些优势?答:编程容易;容易实现复杂的数字计算;容易阅读、调试、维护程序;容易实现模块化开发;程序可移植性好2.C51定义变量的一般格式是什么?变量的4种属性是什么?特别要注意存储区属性。答:[存储类型] 数据类型 [存储区] 变量名变量的4种属性是存储类型,数据类型,存储区,变量名3.C51的数据存储区域类型有哪些?各种存储区域类型是哪种存储空间,存储范围是什么?如何将变量定义存储到确定的位置?答:data直接寻址内部数据存储器的128Bbdata 可位寻址内部数据存储器16Bidata间接访问内部数据存储器的2.5GBpdata分页访
2、问外部数据存储器的2.5GBxdata 外部数据存储器64KBcode程序存储器64KB将变量定义存储到确定的位置可以使用_at_或者XBYTE指令4.C51函数定义的一般形式是什么?如何定义中断处理程序?如何选择工作寄存器组? 答:funcN(){局部变量定义<程序体>}[interruptm]中的m定义中断处理程序中的中断号[usingn]中的n选择工作寄存器组5.设8次采样值依次存放在20H~27H的连续单元中,用算术平均值滤波法求采样平均值,结果保存在30H单元中,试编写程序实现。解:#include unsigned char *p = 0x20,i=
3、0; main() { inttemp = 0; for(i;i<8;i++) { temp += *p; p++; } temp /= 8; p = 0x30; *p = temp; } CH551单片机汇编语言程序设计1、以下程序段执行后,A=?,(30H)=?。MOV30H,#0AHMOVA,#0D6HMOVR0,#30HMOVR2,#5EHANLA,R2 ORLA,@R0 SWAPA CPLA XRLA,#0FEH ORL30H,A 解:A=E4H,(30H)=EEH2、以
4、下程序段执行后,(40H)=?,(41H)=?。CLRCMOVA,#56HSUBBA,#0F8HMOV40H,A MOVA,#78H SUBBA,#0EH MOV41H,A 解:(40H)=5EH(41H)=6AH3、设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A、R0和内部RAM中50H,51H单元的内容为何值?MOVA,59H MOVR0,A MOVA,#00H MOV@R0,A MOVA,#25H MOV51H,A MOV52H,#70H 解: A=25H;R0=50H;(50H)=00H;(51H)=25H4、设堆栈指针SP
5、中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化?PUSH30H PUSH31H POPDPL POPDPH MOV30H,#00H MOV31H,#0FFH解:(61H)=24H;(62H)=10H;(30H)=00H;(31H)=0FFH;DPTR=2410H;SP=60H;5、设A=40H,R1=23H,(40H)=05H。执行下列两条指令后,累加器A和R1以及内部RAM中40H单元的内容各为何值? XCHA,R1XCHDA,@R1解:A=25H;R1=40
6、H;40H=03H6.已知程序执行前有A=02H,SP=42H,(41H)=FFH,(42H)=FFH。下述程序执行后: POP DPH POP DPL MOVDPTR,#3000H RL A MOVB,A MOVC A,@A+DPTR PUSH A MOVA,B INC A MOVC A,@A+DPTR PUSH A RET ORG3000H DB 10H,80H,30H,80H,50H,80H请问:A=?,SP=?
7、,(51H)=?,(52H)=?,PC=?。解:A=(80H),SP=( 40H),(51H)=(50H),(52H)=(80H ),PC=(8050H)。7.设被加数存放在内部RAM的20H、21H单元,加数存放在22H、23H单元,若要求和存放在24H、25H中,试编写出16位无符号数相加的程序(采用大端模式存储)。解:ORG 0000HMOV R0,#21HMOV R1,#23HMOV A,@R0ADD A,@R1MO