




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二讲:指令与编程本讲重点:寻址方式;MCS-51指令集;伪指令;汇编语言与简单程序设计.第三章 指令系统及程序设计(P.43)51系列单片机指令集含有111条指令-每条指令在程序存储器ROM中占据一定的空间, 以字节为单位。按指令尿空超分类: 单字节(49条);双字节(46条);3字节(16条)-每条指令在执行时要花去一定的齟,以机器 周期为单位。按指令执行时间分类: 单周期(64条);双周期(45条);4周期(2条)按指令的功能分类,可分为5大类:数据传送类(29条);算术运算类(24条) 逻辑运算及移位类(24);控制转移类(17条) 位橐作余(17条)ASM-51指令的格式(P. 44
2、)标号:操作码目的操作数,源操作数;注释方括符表示可选项 标号代表指令所在地址,1-8个字母/数字,“:”结尾操作码就是指令功能助记符,指令实体目的操作数源操作数单片微机原理及应用教学课件注释,以“;”开头51单片机指令的寻址方式(P. 45)寻址方式:指令按地址获得操作数的方式七种寻址方式,一条指令可能含多种寻址方式寄存器寻址立即寻址寄存器间接寻址直接寻址变址寻址(基址寄存器+变址寄存器间接寻址)相对寻址位寻址寄存器寻址(P. 45)从寄存器中读取操作数或存放操作数进寄存器例:MOVA,MOV 30H, RO ;( 30H) - (RO)MOV A, R1 ;(A) (Rl)-立即寻址(P.
3、45)操作数直接就出现在指令中例:MOV A, #64H ; (A)-立即数 64HADD A, #05H ; (A) - (A)+立即数 05H注意:符号“肿表明其后跟的是立即数, 立即数就是数字量本身。寄存器间接寻址Q46)寄存器中的内容是一个地址,由该地址单兀 寻址到所需的操作数n例:MOY Rl, #30H ; (Rl) 4-立即数 30H0R1; (A)-(3OH)=#OFHMOV Rl, #0FH ; (3OH) 立即数OFHMOV A,注意:1) “间接”表示某寄存器中的“内容”只是一个 “单元地址”,这个地址单元中存放的数据才是要找的“操作数”。2) 符号,表示“在,其含义与读
4、音皆同 “at,。直接寻址(P.46)指令中直接给出了操作数所在单元的地址或名称例:MOV Rl, 1FH ; (R1) - ( 1FH)MOV 30H, 4AH ; (3OH) *- ( 4AH )在本单片机中规定:访问特殊功能寄存器SFR 只能采用直接寻址方式。例如:MOV A, SPMOV A, 81HMOV Pl, #5AHMOV 90H,#5AHMOV B, 30HX17 >7 1 1 A A p p z( 7( zfk 7(J/ xlfzH H ) 7 7 A A H p p 5 5 o s s # # 3 z( z( zl z(x z(同 同相mSFR的地址见P. 33表在
5、本单片机中访问特殊功能寄存器SFR只能采用直 接寻址方式的原因:SFR分布在80H-0FFH范围内, 而52系列单片机有256字节的片内RAM,其中的 80H OFFH的RAM与SFR所占地址重叠。于是规定:80H OFFH范围内的RAM只能用寄存器 间接寻址方式,而SFR只能用直接寻址方式。从而 解决了地址冲突的问题。例如:MOV A, 90H等效于MOV A, Pl属直接寻址 MOV A, ©RO ;事先已知(RO) = #90H 执行的操作:A - (9OH)属寄存器间接寻址, 随意写的指令如:MOV A, 85H则是非法的!存储器配置(片内RAM) 89C51 片内RAM 1
6、28字节(OOH7FH) 89C52片内RAM 256辜节(OOHOFFH)只能寄存器间接寻址89C52256字节52子系列才有7的RAM区FFHHHo F8 780HSFR分布在80H-FFH其中92个位可位寻址89C51128字节H H HHH o F OFO3 2 210普通RAM区位寻址区 工作寄存器区只能直接寻址-变址寻址(P.47)也称为:基址寄存器+变址寄存器间接寻址以16位的地址指针寄存器DPTR或16位的PC寄存器为 基址寄存器,以累加器A为变址寄存器,两者中的 “内容”形成一个16位的“地址”,该“地址”所 指的存储車元中的内容才是操作数。P47例:设:A中已存有#A4H,
7、 DPTR中已存有#1234HMOVC A, ©A+DPTR; (A) (A) + (DPTR)操作:将A4H+1234H=12D8H单元中的数放进累加器A相对寻址(P. 47)当前PC值加上指令中规定的偏移量rel,构成实际 的操作数地址例:SJMP rel操作:跳转到的目的地址二当前16位PC值+ rel注意:1) “当前PC值”指程序中下一条指令所在的首地址,是一个16位数;2)符号“rel”表示“偏移量”,是一个帶符号的单 字劉隔畴712毗地2遽瞬巒冷眷位寻址(P. 48)指令中直接给出了操作数所在的位地址。例:CLRPl. 0; (P1. 0) - 0SETB ACC. 7
8、; (ACC. 7) - 1CPL C ; ( C ) *- NOT ( C )1)位地址里的数据只可能是一个0或12 )有的位地址十分明确,如P1. 0, ACC. 7等, 有的位地址则“不太明确”,如:MOV A, 17H ; (A)-(17H),17H是字节地址MOV ACC. 0, 17H ; (ACC. 0) *- (17H),这里ACC. 0是位地址所以该指令中的17H是22H单元的第7位单片微机原理及应用教学课件片内RAM中有128个位 可按位寻址的位,位 地址:00H7FH分布 在:20H2FH单元;另外,在SFR中还有92 个位可按位寻址FFH52子系列才有I的RAM区/D7
9、 D6 D5 D4 D3 D2 DI DO2FHHHo F8 7HH HHH o F OFO 3 2 210位寻址区7F 7E 7D7C 7B 7A 79 78位地址47464544434241403F3E3D3C3B3A393837363534333231302F2E2D2C2B2A2927262524232221201FIEID1CIB1A1918Q161514|131210OFOEODOCOBOA0908070605040302010028H27H26H25H24H23H22H21H20H总共128个可按位寻址的位单元地址单片微机原理及应用教学课件*位寻址(P. 48);(Pl. 0)
10、J 0;(ACC. 7) J 1;(C ) - NOT ( C )指令中直接给出了操作数所在的位地址。例:CLR P1. 0SETB ACC. 7CPL C注意:1)位地址里的数据只可能是一个0或12 )有的位地址十分明确,如P1. 0, ACC. 7等, 有的位地址则“不太明确”,如:MOV A, 17H ; (A)(17H),17H是字节地址MOV ACC. 0, 17H ; (ACC. 0) *- (17H),这里ACC. 0 是位地址所以该指令中的17H是22H单元的第7位单片微机原理及应用教学课件MCS-51指令集功能分五类,共111条指令MCS-51指令集(五大类功能)P.49页数
11、据传送类指令:(29条)-算术运算类指令:(24条)逻辑运算及移位类指令:(24条)控制转移类指令:(17条)位操作(布尔操作)类指令:(17条)(一)数据传送类指令(5种/29条)P. 49 '内部存储器间传送:(MOV16条)外部数据存储器与累加器间传送:(MOVX4条) -程序存储器向累加器传送:(MOVC2条) 数据交换:(XCH, XCHD, SWAP5> ) <堆栈操作:(PUSH, POP2条)见P. 49的表3 - 2单片微机原理及应用教学课件数据传送类指令(续) P. 52-内部存储器间传送指令(16条):MOV类指令的操作方向总是后面的操作数指向前面的操
12、作数!例:MOV A, 3OH(A) <- (30H)Rn:RO一R7Ri: R0, R1ftdata: 8位立即数#datal6: 16位立即数 direct:直接地址 rel:8位带符号偏移量*外部数据存储器与累加器间传送(4条):MOVX类指令可在累加器与以DPTRRi所代表的 外部RAM之间进行数据传送。例如:MOVXMOVXMOVXMOVXA, DPTRA, RiDPTR, ARi, A(DPTR)(A) j (Ri) (DPTR) j (A) (Ri)<-(A)单片微机原理及应用教学课件数据传送类指令(续) P. 52程序存储器向累加器传送指令(2条):MOVC A,
13、A+DPTRMOVC A, A+PC通常称为查表指令,寻址方式属: 基址寄存器+变址寄存器间接寻址”A+DPTR或人+戸(:指向程序存储器中的某单元。拟 传送给累加器ACC的数据就是程序中事先写进去 的表格数据。这些表格数据往往用伪指令DB, DW 等定义在程序中。单片微机原理及应用教学课件数据传送类指令(续)单片微机原理及应用教学课件数据传送类指令(续)数据交换指令(5条):P. 53XCHA,direct(字节互换)XCHA,罚Ri(李韦互换)XCHA,Rn(字节互换)(A ) = ( direct)或(Ri),或(Rn)XCHD A,Ri累加器Acc的低4位与(Ri)的低4位互换, 各自
14、的高4位不变SWAP A累加器Acc的低4位与自身的高4位互换-堆栈操作指令(2条):PUSH压栈指令POP弹栈指令P. 54"堆栈区由特殊功飽条在赛堆栈指针SP管理"堆栈区可以安排在RAM区任意位置,一般不安 排在工作寄存器区和可按位寻址的RAM区,而是放 涯RAM区的靠后的位置“堆栈总是指向栈顶V通常PUSH与POP两条指令成对使用单片微机原理及应用教学课件数据传送类指令(续)单片微机原理及应用教学课件数据传送类指令(续)单片微机原理及应用教学课件例如:设(A)=7BH;(35H)=11H并且知道(SP) =60HPUSHACC;(61H) <-#7BHPUSH3
15、5H;(62H) j (35H)即:(62H) <- #11HPOPACC;(A) <-(62H)即:(A)<-#11HPOP5 AH;(5AH) <-(61H)即:(5AH) <- #7BH单片微机原理及应用教学课件(二)算术运算类指令(6种/24条)P.54单片微机原理及应用教学课件(二)算术运算类指令(6种/24条)P.54I:加法运算:带进位加法运算:(ADD (ADDC1带借位减法运算:(SUB加1/减1操作:-单字节乘/除法运算:Mb十进制调整:(INC, DEC(MUL, DIV(DA A-条条条条>)条4 4 4 9 2 1单片微机原理及应用
16、教学课件(二)算术运算类指令(续)P. 55单片微机原理及应用教学课件(二)算术运算类指令(续)P. 55*加法运算:(AD 4条)带进位加法运算:(ADD 4条)帶借位减法运算:(SUBB4条)fi所有的加法(ADD)、帶进位加法(ADDC)、带借位减 法(SUBB)运算都是以A为一个加数或被减数,最终 结果也存进A o卫 加法(ADD)、带进位加法(ADDC)以及帶借位减法 (SUBB)运算中,如果产生了进位或借位,将自动对 PSW中的Cy标志位置“1”。带进位加法(ADDC): (A) j (A) + (Cy) + (第二操作数) 带借位减法(SUBB): (A) j- (Cy) - (
17、第二操作数)单片微机原理及应用教学课件(二)算术运算类指令(续) P. 57加1/减1操作:(INC, DEC9条)INC, DEC与用加/减法指令做加1/减1操作不同之 处在于INC、DEC不影响标志位.单字节乘/除运算:(MUL, DIV2条)两个单字节数的乘/除法运算只在A与B之间进行。MUL AB: (A)与相乘,积为16位数,(A) J积的高8位;(B) j积的低8位DIV AB: (A)除以,结果用2字节表示,(A)商的整数部分;(B) j余数单片微机原理及应用教学课件(二)算术运算类指令(续)P. 60十进制调整:(DA A1条)用于两个BCD码之间的相加,这条指令只能跟在ADD
18、或ADDC之后卫BCD码是指“用二进制表达的十进制数”。如: 十进制数20可以用二进制数00010100B表示; 也可以用十六进制数14H表示;还可以用BCD码00100000B或20H表示。fi 4个二进制位就可以表示一位BCD码: 0000-1001可表示+进制数(BCD数)09; 8个二进制位就可以表示两位压缩的BCD码:00000000 - 10011001 表示 0099。单片微机原理及应用教学课件MOVA, #65HADDA, #58HDAA结果:(A) = 23H(CY)二 1指令“DA A,完成的操作:若(A) 3o>9或(AC) =1 则(A) 3o J 3o + 6;
19、 若(A) 7 4>9或(CY) =1 则(A) 7 4 J(A) 7 4 + 6;P.60例5:两个十进制数“65,与“58”相加,根据常识,显然其和应当为“123,。65011001015801011000+ 660110 0110 18 19123指令“DA A,完成的操作:若(A) 3 o>9 或(AC)二1则(A) 3° J (A) 3o+6;若74>9或(CY)二1则(A) 774+6; fi又如:两个十进制数“39”与“58”相加,根据常识,显然其和应当为“97”。MOVA, #39HADDA, #58HDAA结果:(A) = 97H(CY)二 03
20、90011 10015 80101 1000+ 6 011023097单片微机原理及应用教学课件 P. 61逻辑与运算:(ANL一6条)逻辑或运算:(ORL一6条)逻辑异或运算:(XRL一6条)累加器清零/取反:(CLR, CPU-2条)(三)逻辑运算及移位类指令(5种/24条)累加器移位操作:(RL, RLC, RR, RRC4条)单片微机原理及应用教学课件逻辑运算及移位类指令(续)P. 61逻辑与(ANL),逻辑或(ORL),逻辑异或(XRL):指令形式ByteTmANL(ORL, XRL) direct,A21ANL(ORL, XRL) direct, #data32ANL(ORL, X
21、RL) A,#data21ANL(ORL, XRL) A,direct21ANL (ORL, XRL) A,Ri11ANL (ORL, XRL) A,Rn11CLR ACPL A累加器清零/取反操作(CLR,CP 2条)对累加器清零 1 Byte 1个Tm对累加器按位取非1 Byte 1个Tm单片微机原理及应用教学课件>逻辑运算指令的常见用法(已知累加器A中已存有数:9AH )逻辑与ANL用于淞或者保置某些位: 例:ANL A, #OFH;则(A) = OAH逻辑或ORL用于置1或者保置某些位:例:ORL A, #OFH; 则(A) = 9FH逻辑异或XRL用于取反或者叠某些位: 例:X
22、RL A, #OFH; 则(A) = 95H(A) 1001 1010#0FH t 0000 111195H j 1001 0101单片微机原理及应用教学课件逻辑运算及移位类指令(续)P. 65RL ARR ARLC ARRC A累加器移位操作:(RL,RLC,RR,RRC条)左环移右环移带进位位左环移带进位位右环移单片微机原理及应用教学课件(四)控制转移类指令(4种/17条)P. 65此类指令改变程序的执行顺序改变当前PC值无条件转移:(LJMP, AJMP, SJMP, JMP4条)-条件转移(判断跳转):(JZ, JNZ, CJNE, DJNZ8条)单片微机原理及应用教学课件单片微机原理
23、及应用教学课件1子程序调用及返回:(LCALL, ACALL, RET, RETI4条)叭空操作:(NOP1条)"耗时” 一个机器周期。do nothing!单片微机原理及应用教学课件控制转移类指令(续)P. 65-67无条件转移:LJMP, AIMP, SJMP, JMP4条LJMPAJMPSJMPaddrl6长跳转指令可在64K范围内跳转addrll绝对跳转指令 可在指令所在的2K范围内跳转相对跳转指令可在当前PC-128与+127范围内跳转间接长跳转指令relA+DPTR可在以DPTR为基址+人为偏移量N和所指向的64K程序范围内跳转单片微机原理及应用教学课件控制转移类指令(续
24、)P. 67-69条件转移:JZ, JNZ, CJNE, DJNZ8条# JZ relJNZ rel根据Acc的内容是否为0决定是否跳转 鼻 DJNZ direct, relDJNZ Rn, rel将direct (或Rn)里的内容减1,结果不等 于0就跳转;等于0则不跳转继续往下走。单片微机原理及应用教学课件控制转移类指令(续)P. 70条件转移(续)# CJNE A, #data, rel CJNE A, direct,rel CJNE Ri, #data, relCJNERn, #data, rel将A ©Ri, Rn) -#da ta (或direct)相比 较,其值不相等就
25、跳转;相等则不跳转,继续往 下走。子程序调用及返回:(LCALL, AC ALL, RET, RET I4 条)* LCALLaddrl6子程序长调用指令可在64K范围内调用子程序* ACALLaddrll子程序绝对调用指令 可在指令所在的2K范围内调用子程序* RET子程序返回指令子程序结束并返回调用的下一条指令-RETI中断服务子程序返回指令 中断结束/返回被打断处的下一条指令单片微机原理及应用教学课件位操作类指令(续)P. 72位操作类指令以位为单位进行逻辑运算及操作,可分为4种:.位传送:(MOV2条)位清零/置位:(CLR, SETB4 条)单片微机原理及应用教学课件位操作类指令(续
26、)P. 72单片微机原理及应用教学课件位操作类指令(续)P. 72位逻辑与/或/非运算:(ANL, ORL, CPL6条),位条件转移:(JC, JNC, JB, JNB, JB 5条)位传送指令(2条):MOV C, bit (C) <- (bit)MOV bit, C (bit) <- (C) 注:bit表示位地址位清零/置位指令(4条):CLR bit (或C)(bit或 C) <- “0”SETB bit (或 C) (bit 或 C ) <- “1”位逻辑与/或/非指令(6条):ANL C, bit (或/bit)ORL C, bit (或/bit)CPL b
27、it (或 C)注:“/bit”表示对bit位先取反然后再参加运算单片微机原理及应用教学课件P. 74位操作类指令(续)判位条件转移指令(5条): JC rel (Cy) - “1”就跳转;否则不跳转 JNC rel (Cy) # “"就跳转;否则不跳转JB bit, rel(bit) =(r就跳转;否则不跳转JNB bit, rel(bit)工“1”就跳转;否则不跳转JBC bit, rel(bit)=就先将其清零再跳转; 否则,不动此位也不跳转。单片微机原理及应用教学课件前面的简单测控实例中的程序:I位操作指令任务一:控制一盏灯点亮J0B1: CLR Pl. 0 ;P1. 0清
28、“0”,亮红灯HERE: AJMP HERE ;原地等待,不彼别的事任务二:红灯周期性地晁/灭JOB2:CPL P1. 0;对P1.0取反:红灯亮/灭ACALL DELAY;延时1秒AJMP JOB2;重复任务三:红外防盗报警JOB3: CLR Pl. 1; Pl. 1 清 “0” ,亮绿灯REDO: SETB Pl. 3;将Pl. 3置 “1”CHECK: JNB Pl. 3, CHECK ;检测传感器是否被阻断LOOP: ;有入侵者,报警!AJMP REDO;再跳回去检测前面的简单测控实例中的程序:I跳转指令任务一:控制一盏灯点亮J0B1: CLR Pl. 0 ;P1. 0清 “0”,亮红
29、灯HERE: AJMP HERE ;原地等待,不做别的事任务二:红灯周期性地晁/灭JOB2:CPL P1. 0;对P1.0取反:红灯亮/灭ACALL DELAY;延时1秒AJMP JOB2;重爰;Pll清“0”,亮绿灯“1任务三:红外防盗报警JOB3: CLR Pl. 1REDO: SETB Pl. 3单片微机原理及应用教学课件CHECK: JNLOOP: .Pl. 3, CHECK ;检测传感器是否被阻断;有入侵者,报警!AJMP REDO;再跳回去检测单片微机原理及应用教学课件小结:MCS-51指令集(五大类功能)1数据传送类指令 算术运算类指令逻辑运算及移位类指令控制转移类指令位操作佈尔
30、操作)类指令(29 条)(24 条)(24 条)(17 条)(17 条)单片微机原理及应用教学课件()数据传送类指令(5种/29条)内部存储器间传送:(MOV16条)外部数据存储器RAM与累加器间传送:(MOVX4条)程序存储器ROM向累加器传送:(MOVO-2条)'数据交换:(XCH, XCHD, SWAP5<)皋莪操作:(PUSH, POP2条)单片微机原理及应用教学课件(二)算术运算类指令(6种/24条)加法运带进位加法运算带借位减法运算加1/减1操作(ADD4条)(ADDC4 条)(SUBB4 条)(INC, DEC9条)-单字节乘/除法运算(MUL, DIV2条)&qu
31、ot;十进制调整(DA A1条)单片微机原理及应用教学课件(四)控制转移类指令(4种/17条)"逻辑运算及移位指令(5种/24条)逻辑与运算:(ANL6条)逻辑或运算:(OR 6条)逻辑异或运算:(XRL6条)累加器清零/取反:(CLR, CPL2条) 累加器移位操作:(RL, RLC, RR, RRC4条)*无条件转移:(LJMP, AJMP, SJMP, JMP 4条)条件转移(判断跳转):(JZ, JNZ, CJNE, DJNZ8条)子程序调用及返回:(LCALL, ACALL, RET, RETI4条)空操作:(NOP1条)单片微机原理及应用教学课件(五)位操作类指令(4种1
32、7条)位传送:(MOV2条) 位逻辑与/或/非运算:位清零/置位:(CLR, SETB4条)(ANL, ORL, CPL 6条)位条件转移:(JC, JNC, JB, JNB, JB 5条)汇编语言与简单程序设计单片微机原理及应用教学课件汇编语言程序设计中的数计算机只能识别二进制数一机器指令,它原本是 不认识常用的十六进制数和十进制数的。*机器指令/目标代码:由0/1代码组成的操作码与操作数。二进制数:由0/1组成、“逢2进1”的数制。如:01011110B(0-1 后缀:B/b)*十六进制数:便于读写记忆的二进制数的简写形式。 (0-9, AF 后缀:H/h)* BCD码:用二进制数表达的十
33、进制数。(09 表示为:0000 -1001B 后缀:B/b, H/h)j匚编语言编程基本规贝I,汇编语言:用助记符描述的指令的集合。汇编程序:汇编语言编写的程序借助编译工具 编译成为目标代码,计算机才能识别。这个编译工具 称为汇编程序。* 标号:操作码目的操作数,源操作数;注释"指令中以AF开头的十六进制数前必须添一个 “0”。"二进制数必须带后缀“B”或“b”;十六进制数必 须带后缀“H”或“h”;十进制数的后缀是“D”或“d”或无.fi汇编程序-软件-工具-工具软件:将程序员用汇编语言编写的程序翻译成机器码卫用汇编语言编写的程序在此被称为应用程序fi (真)指令:告诉
34、计算机如何操作以及做何种操作 卫伪指令:告诉汇编程序在翻译应用程序时直包县体约定。伪指令不进行具体的操作,那是真指令 的事。必如:从何处开始,何处结束,某些编程者自己 规定的表述代表什么意思汇编程序的常用伪指令 ORG addrl6ASM51程序中一定要写! 规定编译后的机器代码存放的起始位置。.ENDASM51程序中一定要写!表示翻译到此结束,其后的任何内容不予理睬。 $ “当前PC值”也叫位置计数器 代表正在执行的指令所在位置。*符号名称EQU表达式将表达式的值赋予符号名称。程序中凡出现该符 号名称就等同于该表达式。汇编程序的常用伪指令(续)-符号名称BIT位地址将位地址的值赋予符号名称。
35、程序中凡出现该 符号名称就代表该位地址。-DB 8位数据或8位数据组将8位数据或8位数据组顺序存放在此后的存 储单元中。占相应数量的存储空间。 DW双字节数据或双字节数据组 将双字节数据或双字节数据组顺序存放在此 后的存储单元中。占据相应存储空间。单片微机原理及应用教学课件程序的顺序/分支/循环三种基本结构单片微机原理及应用教学课件程序的顺序/分支/循环三种基本结构例 P. 821: 将R2中BCD码 数转为二进制 数存进R2ORG 2000HBCD2B: MOV A,(此子程序在 下一例中还要 用到)ANLA,SWAP AMOVB,MULABMOVR3,MOVA,ANLA,ADDA,MOVR
36、2,R2 ;取入口数据 #0F0H ;取出十位;高4仓二低4彳立#0AH;十位乘10A ;积暂存进R3R2;再取入口数据#0FH ;取出个位R3A ;结果一R2RET ;若不是子程序可用END单片微机原理及应用教学课件程序的顺序/分支/循环三种基本结构例P.822:将R5R4中的双字节BCD码数转为 二进 制数存于R5R4中。编程要点:单片微机原理及应用教学课件程序的顺序/分支/循环三种基本结构卫两字节BCD码数范围为:相应2进制/16进制数为:OOOOH9999HOOOOH270FH单片微机原理及应用教学课件程序的顺序/分支/循环三种基本结构转为二进转为二进fi调用BCD2B子程序实现“千位
37、,百位” 制,卫并乘100;fi再调Bcb2B子程序实现“十位,个位" 制;对位相加。单片微机原理及应用教学课件程序的顺序/分支/循环三种基本结构单片微机原理及应用教学课件程序的顺序/分支/循环三种基本结构例P. 822: 将R5R4中的两 字节BCD码数转 为二进制数存 于R5R4中(R5)(R4)调 BCD2B二进制X 100(R5)调 BCD2B二进制二进制二进制(A)(R6)二进制二进制(R5)(R4)单片微机原理及应用教学课件程序的顺序/分支/循环三种基本结构P. 83例3:(X>0)Y= Y0 (x=o)-1 (X<0)BR1:P0S1:COMP:HERE:C
38、OMPACC.7,POS1 ;判断=正?A,#0FFHCOMP(-1 = +1取反加1) ;输出-1 ;输出+1 ;赋给函数“ORG 2000HVAR EQU 30H FUNC EQU 31H MOV A, VAR JZ JNB MOV SJMPMOV A, #01H MOV FUNC, A AJMP HERE END;定义缓存单元 ;书中離此二句 ;取出变量% ;若=0,就赋0单片微机原理及应用教学课件程序的顺序/分支/循环三种基本结构ORG 0000H AJMP MAIN ORG 0003H RL AACALL DELAY RETIMAIN: MOV A, #80HSETB EXOSETB
39、 EAWAIT: JB ACC. 0, J0B1 JB ACC. 1, J0B2 JB ACC. 2,J0B3 AJMP WAITJOB1: CLRP1. 0 ;亮红灯HERE: AJMP HERE任务一:控制一盏灯点亮 任务二:红灯周期性亮/灭 任务三:红外防盗报警J0B2: CPL Pl. 0 ;亮/灭ACALL DELAY ;延砧 1秒AJMP J0B2 ;重爰JOB3: CLR Pl. 1;亮绿灯REDO: SETB Pl. 3CHECK: JNB Pl. 3, CHECKLOOP:;报警!AJMP REDO ;再检测单片微机原理及应用教学课件程序的顺序/分支/循环三种基本结构程序的顺序/分支/循环三种基本结构 例P. 8586:软件循环延时lOOmS (晶振12MHz)ITm =luSlOOmS = 100000 uS单片微机原理及应用教学课件程序的顺序/分支/循环三种基本结构MOV Rn #data和NOP是单机器周期指令DJNZ Rn, rel是双机器周期指令200 = 0C8H ;248 = 0F8H(498+2J)x2001+1+248xYKj98ORG DELAY: MOV pOOPl:MOV1 NO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药品追回找回管理制度
- 药库药品库存管理制度
- 药店安全隔离管理制度
- 药店设备设施管理制度
- 营业现金收入管理制度
- 设备场地清扫管理制度
- 设备投放运营管理制度
- 设备检修日常管理制度
- 设备程序备份管理制度
- 设备设施奖惩管理制度
- 期末试卷(五)(含答案含听力原文无听力音频)-2024-2025学年人教PEP版英语(新教材)三年级下册
- 湖南2024生地会考试卷及答案
- 广东省深圳市2024年中考英语真题(含答案)
- DL_5000-2000_火力发电厂设计技术规程
- 四害密度监测工作实施方案
- 石家庄桥东污水处理厂三沟式氧化沟工艺设计
- 单相桥式整流电路通用课件
- 部编版六年级语文下册词语表(看拼音写词语)
- 血液制品发展制约因素分析:基础薄弱起步晚
- 半自动点胶机作业指导书
- 设计加热炉推料机传动装置
评论
0/150
提交评论