第0章考试需掌握:(1)二进制,十进制,十六进制数之间的转换(2)数的加减运算(题目要求用补码运算的必须用补码运算)(3)通过数的运算,判断CY和OV的值作业如下:0.3求二进制28、-28、100、-130、250、-347、928、-928的原码和补码(要求用十进制表示)。十进制数原码补码281CH1CH-289CHE4H10064H64H-1308082HFF7EH250FAHFAH-347815BH815BH92803A0H03A0H-92883A0HFC60H解题方法:正数的补码和原码相同,负数的补码为原码取反(取反的时候符号位不变)再加一如:-28的原码为10011100B=9CH反码为11100011B补码为11100011B+1=11100100B=E4H0.5用补码运算完成下列算式,并指出溢出OV和进位CY。(1)33H+5AH(2)-29H-5DH(3)65H-3EH(4)4CH-68H步骤:先把题目所给的数化成补码的形式,接着列式计算(注意补码的运算是相加的过程)如:(2)-29H-5DH(-29H)补=11010111B(-5DH)补=10100011B补码运算:(-29H)补+(-5DH)补=11010111B+10100011B=(1)01111010B=7AH所以OV=1CY=1第1章考试需掌握:1.单片机的组成部件:P162.程序计数器PC是一个自动加1的16位寄存器,作用是指向下一指令地址(选择题考)3.我们课本学的微型计算机的存储器地址空间的结构形式为哈佛结构4.8XX51单片机有21字节的特殊功能寄存器SFR,看P215.SP堆栈指针,遵循先加后压,先弹后减的顺序6.DPTR为16位寄存器7.P24表1-4要背8.P23会计算4种周期作业如下:1.6在单片机内部RAM中,哪些字节有位寻址,哪些没有位寻址?特殊功能寄存器SFR中哪些可以位寻址?位寻址有什么好处?P19到P201.10若单片机使用频率为6MHz的晶振,那么振荡周期,状态周期,机器周期和指令周期分别是多少?P23振荡周期=1/fosc=1/6=0.1667µs状态周期=2/fosc=2/6=0.333µs机器周期=12/fosc=12/6=2µs指令周期=(1-4机器周期)=2-4µs1.11复位时,A=00H,PSW=00H,SP=07H,P0~P3=FFH第2章(非常重要)考试需掌握:全章的知识都要熟作业如下:1.试编程将片外RAM40H单元中内容与R1的内容互换MOVR0,#40HMOVXA,@R0XCHR1,AMOVX@R0,A2.3设A=0,执行下列两条指令后,A的内容是否相同,说明理由。(1)MOVCA,@A+DPTR(2)MOVXA,@DPTR答:当A=0时,两条指令的地址虽然相同,但操作码不同,MOVC是寻址程序存储器,MOVX是寻址外部数据存储器,送人A的是两个不同存储空间的内容。2.4指出下列指令中操作数的寻址方式:指令目的操作数寻址方式源操作数寻址方式ADDA,40H寄存器寻址直接寻址PUSHACCSP间接寻址直接寻址MOVB,20H直接寻址直接寻址ANLP1,#35H直接寻址立即寻址MOV@R1,PSW寄存器间址直接寻址MOVCA,@A+DPTR寄存器寻址变址MOVX@DPTR,A寄存器间址寄存器寻址补充:寄存器A写作ACC时为直接寻址,写作A时为寄存器寻址;B仅在乘法指令中为寄存器寻址,在其他指令中为直接寻址;除了,DPTR,R0-R7为寄存器寻址2.8设SP=60H,内部RAM的(30H)=24H,(31H)=10H,在下列程序段注释的括号中填执行结果。PUSH30H;SP=(61H),(SP)=(24H)PUSH31H;SP=(62H),(SP)=(10H)POPDPL;SP=(61H),(SP)=(10H)POPDPH;SP=(60H),(SP)=(24H)MOVA,#00HMOVX@DPTR,A注意:PUSHdir完成的操作为先修改指针,再入栈POPdir完成的操作为先出栈,再修改指针第3章考试需掌握:1.简单的编程作业如下:1.设8031使用6MHz晶振,试设计延迟100ms的延时程序。(与课本P53页例题几乎一样,只需要改一下次数)2.编一子程序,求出20H中有符号数的二进制补码再送回20H分析:先判断20H中的数是正数还是负数,若是正数,直接送回,若是负数,要求补码再送回。MOVA,20HJBACC.7,CPLL;如为负数转CPLLSJMP$;为正数,补码=原码CPLL:CPLA;取反ADDA,#1;加1得补码MOV20H,A;再送回21H单元SJMP$3.编程试判断A中的正负,若为正数,存入20H单元,若为负数存入21H单元中。MOVB,AANLA,#80HJZABCMOV21H,BSJMP$ABC:MOV20H,BSJMP$4.(1)已知:A=OC9H,B=8DH,CY=1,执行指令“ADDCA,B”后结果A=?CY=?OV=?AC=?P=?(2)若执行指令“SUBBA,B”后结果有如何?解:具体计算过程自己写(1)A=01010111B=57HCY=1OV=1AC=1P=1(2)A=00111011B=3BHCY=0OV=1AC=1P=1注意:判断有无溢出的时候要看最高位...