单片机第4章80C51的汇编语言程序的设计ppt课件_第1页
单片机第4章80C51的汇编语言程序的设计ppt课件_第2页
单片机第4章80C51的汇编语言程序的设计ppt课件_第3页
单片机第4章80C51的汇编语言程序的设计ppt课件_第4页
单片机第4章80C51的汇编语言程序的设计ppt课件_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第4 4章章 80C51 80C51的汇编言语程序设计的汇编言语程序设计程序编制的方法和技巧程序编制的方法和技巧4.1源程序的编辑和汇编源程序的编辑和汇编4.2根本程序构造根本程序构造4.3子程序及其调用子程序及其调用4.4简单简单I/O设备的并口直接驱动例如设备的并口直接驱动例如4.5v 单片机运用系统由硬件系统和运用程序构成单片机运用系统由硬件系统和运用程序构成v 汇编言语汇编言语v 高级言语高级言语v 运用程序设计方法运用程序设计方法 汇编言语,生成的目的程序占内存空间少、汇编言语,生成的目的程序占内存空间少、运转速度快,具有效率高、实时性强。运转速度快,具有效率高、实时性强。 高级言

2、语,对系统的功能描画与实现简单,程序阅高级言语,对系统的功能描画与实现简单,程序阅读、修正和移植方便,适宜于编写复杂的程序。读、修正和移植方便,适宜于编写复杂的程序。 4.1 程序编制的方法和技巧程序编制的方法和技巧4.1.1 4.1.1 程序编制的步骤程序编制的步骤v 明确义务:功能要求、技术目的明确义务:功能要求、技术目的v 运转环境调研运转环境调研v 义务分析义务分析v 将实践问题转化为计算机处置的程序算法将实践问题转化为计算机处置的程序算法v 算法比较与优化内存需求与运转速度算法比较与优化内存需求与运转速度v 算法设计算法设计v 流程描画流程描画v 流程图符号流程图符号v “ “超级循

3、环框架超级循环框架v 强化模块观念强化模块观念v 使程序占用空间减少、构造明晰使程序占用空间减少、构造明晰v 循环初值和终了条件,防止循环初值和终了条件,防止“死机景象死机景象v 子程序的现场维护留意栈平衡、存放器内容子程序的现场维护留意栈平衡、存放器内容v 程序模块主程序模块、各种子程序模块程序模块主程序模块、各种子程序模块v 模块化优点:分块设计、便于阅读、调试方便模块化优点:分块设计、便于阅读、调试方便4.1.2 4.1.2 程序编制的方法和技巧程序编制的方法和技巧v 采用循环和子程序采用循环和子程序对中断子程序还有留意维护对中断子程序还有留意维护PSWPSW的内容的内容4.1.3 4.

4、1.3 汇编言语的语句格式汇编言语的语句格式v 非数字字符开头,后跟字母、数字、非数字字符开头,后跟字母、数字、“- -、“?等?等v 不能用已定义的保管字指令助记符、伪指令等不能用已定义的保管字指令助记符、伪指令等v 后跟英文冒号后跟英文冒号“: :KeilKeil的汇编器的汇编器A51A51可以识别的语句方式为:可以识别的语句方式为:v 标号即符号地址标号即符号地址标号: 指令助记符 操作数1, 操作数2, 操作数3, ;注释v 指令助记符指令助记符是指令功能的英文缩写。是指令功能的英文缩写。v 数据:二进制数据:二进制B Bv 十进制十进制D D或省略或省略D Dv 十六进制十六进制H

5、H,留意,留意AFAF开头时要加开头时要加“0 0v ASCII ASCII码,如码,如 A A,12451245v 符号:符号名、标号或符号:符号名、标号或“$ $PCPC的当前值的当前值v 表达式:由运算符和数据构成见表表达式:由运算符和数据构成见表4.14.1v 操作数操作数v 注释注释英文分号英文分号“; ;开头开头优先级运 算 符功 能表达式及其结果示例高低()括号4*(5+6)即44NOT、HIGH、LOW取反、取高字节、取低字节NOT 55H 即AAH;HIGH 1234H 即12H、正号、负号5、6*、/、MOD乘、除(取商)、取余数17 / 5 即3; 17 MOD 5 即2

6、、加、减 54 即 9; 54 =即1SHL、SHR左移、右移2 SHL 2即8;8 SHR 2 即 2AND、OR、XOR与、或、异或45H AND 0FH即05H、=、=比较运算符MOV A,X8;若X8为真,则为MOV A,01H若X8为假,则为MOV A,00H表表4.14.14.2 源程序的编辑和汇编源程序的编辑和汇编目的程序的产生过程如以下图:目的程序的产生过程如以下图:4.2.1 4.2.1 源程序的编辑和汇编源程序的编辑和汇编v 源程序的编辑源程序的编辑 ORG 0000H ORG 0000H LJMP MAIN LJMP MAIN ORG 0040H ORG 0040HMAI

7、N:MOV R7,#16 MAIN:MOV R7,#16 MOV R0,#60H MOV R0,#60H MOV A,#55H MOV A,#55HLOOP:MOV R0,ALOOP:MOV R0,A INC R0 INC R0 DJNZ R7,LOOP DJNZ R7,LOOP SJMP $ SJMP $ END ENDv 根据汇编言语规那根据汇编言语规那么么v 用好伪指令用好伪指令v 符号不用中文符号不用中文v SJMP $ SJMP $ 用于调试用于调试v 以以 .ASM .ASM存盘存盘v 源程序的汇编源程序的汇编v 汇编源程序转为目的程序的过程叫汇编汇编源程序转为目的程序的过程叫汇编

8、v 汇编通常在汇编通常在WindowsWindows下的集成开发环境完成下的集成开发环境完成v 用用A51.EXEA51.EXE汇编生成汇编生成.OBJ.OBJ、.LIB.LIB及及.LST.LSTv 目的程序的衔接目的程序的衔接v .OBJ.OBJ、.LIB.LIB经经BL51.EXEBL51.EXE生成无扩展名的绝对地址目的文件生成无扩展名的绝对地址目的文件v 绝对地址目的文件可以用于仿真器调试绝对地址目的文件可以用于仿真器调试v 调试无误的目的文件用调试无误的目的文件用OH51.EXEOH51.EXE转换为转换为.HEX.HEX文件文件v .HEX.HEX文件经编程器写入单片机存储器文件

9、经编程器写入单片机存储器4.2.2 4.2.2 伪指令伪指令v 伪指令,也叫汇编命令。仅对汇编过程进展指示伪指令,也叫汇编命令。仅对汇编过程进展指示v 伪指令无对应的单片机可执行代码伪指令无对应的单片机可执行代码v 起始地址设定伪指令起始地址设定伪指令ORGORGORG ORG 表达式表达式表达式通常为十六进制地址,例:表达式通常为十六进制地址,例: ORG 8000H ORG 8000HSTART:MOV A,#30HSTART:MOV A,#30H ORGORG可多次运用,但地址值的顺序要由小到大可多次运用,但地址值的顺序要由小到大v 终了汇编伪指令终了汇编伪指令ENDENDEND该伪指令

10、位于源程序的最后一行。该伪指令位于源程序的最后一行。v 定义字节数据表伪指令定义字节数据表伪指令DBDBv定义字数据表伪指令定义字数据表伪指令DWDW1000H 标号:标号: DB DB 字节数据表字节数据表如:如:ORG 1000HORG 1000HDB -2,-4,-6,8,10,18DB -2,-4,-6,8,10,18FEH FCHFAH08H0AH12H1001H 标号:标号: DW DW 字数据表字数据表 ORG 1400H ORG 1400HDATA1:DW 324AH,3CHDATA1:DW 324AH,3CH 1400H32H 4AH00H3CH1401H1402H1403H

11、大端方式v 定义常值为符号名伪指令定义常值为符号名伪指令EQUEQU符号名符号名 EQU EQU 常值表达式常值表达式 LEN EQU 10 SUM EQU 21HBLOCK EQU 22H CLR A MOV R7,LEN MOV R0,BLOCK LOOP:ADD A,R0 INC R0 DJNZ R7,LOOP MOV SUM,A 符号名为:符号名为:地址地址常数常数段名段名字符串字符串存放器名存放器名位名位名比较:标号只能是地址比较:标号只能是地址v 定义位地址为符号名伪指令定义位地址为符号名伪指令BITBIT符号名符号名 BIT BIT 位地址表达式位地址表达式如:如:ST BIT

12、P1.0 ;ST BIT P1.0 ;将将P1.0P1.0的位地址赋给符号名的位地址赋给符号名STSTCF BIT 0D7H ;CF BIT 0D7H ;将位地址为将位地址为D7HD7H的位定义为符号名的位定义为符号名用用BITBIT定义的定义的“符号名一经定义便不能重新符号名一经定义便不能重新定义和改动定义和改动其它一些伪指令参见教材表其它一些伪指令参见教材表4.2 4.2 4.3 根本程序构造根本程序构造v普通不影响标志存放器普通不影响标志存放器PSWPSW的形状。的形状。v 传送类指令有两大类传送类指令有两大类v 普通传送普通传送 MOV MOV v 特殊传送,如:特殊传送,如:v MO

13、VC MOVCv MOVX MOVXv PUSH PUSH、POPPOPv XCH XCH、XCHDXCHDv SWAP SWAP 4.3.1 4.3.1 顺序程序顺序程序无分支、无循环无分支、无循环4.3 根本程序构造根本程序构造【例【例4-14-1】片内】片内RAMRAM的的21H21H单单元存放一个十进制数据十元存放一个十进制数据十位的位的ASCIIASCII码,码,22H22H单元存单元存放该数据个位的放该数据个位的ASCIIASCII码。码。编写程序将该数据转换成编写程序将该数据转换成紧缩紧缩BCDBCD码存放在码存放在20H20H单元。单元。 ORG 0040H ORG 0040H

14、START:MOV A,21H ;START:MOV A,21H ;取十位取十位ASCIIASCII码码 ANL A,#0FH ; ANL A,#0FH ;保管低半字节保管低半字节 SWAP A ; SWAP A ;移至高半字节移至高半字节 MOV 20H,A ; MOV 20H,A ;存于存于20H20H单元单元 MOV A,22H ; MOV A,22H ;取个位取个位ASCIIASCII码码 ANL A,#0FH ; ANL A,#0FH ;保管低半字节保管低半字节 ORL 20H,A ; ORL 20H,A ;合并到结果单元合并到结果单元 SJMP $ SJMP $ END END4.

15、3.2 4.3.2 分支程序分支程序单分支、双分支、多分支单分支、双分支、多分支【例【例4-24-2】设变量】设变量x x以补码以补码的方式存放在片内的方式存放在片内RAMRAM的的30H30H单元,变量单元,变量y y与与x x的关的关系是系是: :当当x x大于大于0 0时时,y=x;,y=x;当当x=0 x=0时时,y=20H;,y=20H;当当x x小于小于0 0时时,y=x+5,y=x+5。编制程序。编制程序, ,根根据据x x的大小求的大小求y y并送回原单并送回原单元。元。 ORG 0040H ORG 0040HSTART:MOV A,30H ;START:MOV A,30H ;

16、取取x x至累加器至累加器 JZ NEXT ;x = 0, JZ NEXT ;x = 0,转转NEXTNEXT ANL A,#80H ; ANL A,#80H ;否,保管符号位否,保管符号位 JZ DONE ;x 0, JZ DONE ;x 0,转终了转终了 MOV A,#05H ;x 0 MOV A,#05H ;x 0处置处置 ADD A,30H ADD A,30H MOV 30H,A ;X+05H MOV 30H,A ;X+05H送送Y Y SJMP DONE SJMP DONE NEXT:MOV 30H,#20H ;x = 0,20H NEXT:MOV 30H,#20H ;x = 0,2

17、0H送送Y Y DONE:SJMP DONE DONE:SJMP DONE END END 【例【例4-34-3】根据】根据R7R7的内容的内容x x转移序号转向相应的处置程序。转移序号转向相应的处置程序。设设R7R7内容为内容为0 04 4,对应的处置程序入口地址分别为,对应的处置程序入口地址分别为PP0PP0PP4PP4。 START:MOV R7,#3 ; START:MOV R7,#3 ;以转移序号以转移序号3 3为例为例 ACALL JPNUM ACALL JPNUM AJMP START AJMP START JPNUM:MOV DPTR,#TAB ; JPNUM:MOV DPTR

18、,#TAB ;置分支入口地址表首址置分支入口地址表首址 MOV A,R7 MOV A,R7 ADD A,R7 ; ADD A,R7 ;乘乘2 2,调整偏移量,调整偏移量 MOV R3,A MOV R3,A MOVC A,A+DPTR ; MOVC A,A+DPTR ;取地址高字节,暂存于取地址高字节,暂存于R3R3 XCH A,R3 XCH A,R3 INC A INC A MOVC A,A+DPTR ; MOVC A,A+DPTR ;取地址低字节取地址低字节 MOV DPL,A ; MOV DPL,A ;处置程序入口地址低处置程序入口地址低8 8位送位送DPLDPL MOV DPH,R3 ;

19、 MOV DPH,R3 ;处置程序入口地址高处置程序入口地址高8 8位送位送DPHDPH CLR A CLR A JMP A+DPTR JMP A+DPTR TAB:DW PP0 TAB:DW PP0 DW PP1 DW PP1 DW PP2 DW PP2 DW PP3 DW PP3 DW PP4 DW PP4 PP0:MOV 30H,#0 ; PP0:MOV 30H,#0 ;转移序号为转移序号为0 0时时, ,置功能号置功能号“0“0于于30H30H单元单元 RET RET PP1:MOV 30H,#1 ; PP1:MOV 30H,#1 ;转移序号为转移序号为1 1时时, ,置功能号置功能号

20、“1“1于于30H30H单元单元 RET RET PP2:MOV 30H,#2 ; PP2:MOV 30H,#2 ;转移序号为转移序号为2 2时时, ,置功能号置功能号“2“2于于30H30H单元单元 RET RET PP3:MOV 30H,#3 ; PP3:MOV 30H,#3 ;转移序号为转移序号为3 3时时, ,置功能号置功能号“3“3于于30H30H单元单元 RET RET PP4:MOV 30H,#4 ; PP4:MOV 30H,#4 ;转移序号为转移序号为4 4时时, ,置功能号置功能号“4“4于于30H30H单元单元 RET RET 4.3.3 4.3.3 循环程序循环程序2种:

21、先执行,后判别;先判别,后执行种:先执行,后判别;先判别,后执行【例【例4-44-4】将内部】将内部RAMRAM的的30H30H至至3FH3FH单元初始化为单元初始化为00H00H。MAIN:MOV R0,#30H ;MAIN:MOV R0,#30H ;置初值置初值 MOV A,#00H ; MOV A,#00H ; MOV R7,#16 ; MOV R7,#16 ; LOOP:MOV R0,A ;LOOP:MOV R0,A ;循环处置循环处置 INC R0 ; INC R0 ; DJNZ R7,LOOP ; DJNZ R7,LOOP ;循环修正,判终了循环修正,判终了 SJMP $ ; SJ

22、MP $ ;终了处置终了处置【例【例4-54-5】将内部】将内部RAMRAM起始地址为起始地址为60H60H的数据串传送到外部的数据串传送到外部RAMRAM中中起始地址为起始地址为1000H1000H的存储区域,直到发现的存储区域,直到发现$ $ 字符停顿传送。字符停顿传送。 MAIN:MOV R0,#60H ; MAIN:MOV R0,#60H ;置初值置初值 MOV DPTR,#1000H MOV DPTR,#1000HLOOP0:MOV A,R0 ;LOOP0:MOV A,R0 ;取数据取数据 CJNE A,#24H,LOOP1 ; CJNE A,#24H,LOOP1 ;循环终了?循环终

23、了? SJMP DONE ; SJMP DONE ;是是LOOP1:MOVX DPTR,A ;LOOP1:MOVX DPTR,A ;循环处置循环处置 INC R0 ; INC R0 ;循环修正循环修正 INC DPTR INC DPTR SJMP LOOP0 ; SJMP LOOP0 ;继续循环继续循环 DONE:SJMP DONE ; DONE:SJMP DONE ;终了处置终了处置4.4 子程序及其调用子程序及其调用 完成通用功能、反复运用的程序设计成子程序。使运用完成通用功能、反复运用的程序设计成子程序。使运用程序构造明晰紧凑,便于阅读和调试程序构造明晰紧凑,便于阅读和调试 v 执行要由

24、其它程序来调用,执行完后要前往到调执行要由其它程序来调用,执行完后要前往到调用程序用程序 构造上依然采用普通程序的构造上依然采用普通程序的3 3种构造种构造 调用时留意:调用时留意:一是现场的维护和恢复;一是现场的维护和恢复;二是主程序与子程序间的参数传送。二是主程序与子程序间的参数传送。4.4.1 4.4.1 现场维护与恢复现场维护与恢复v在主程序中实现构造灵敏在主程序中实现构造灵敏 PUSH PSW ;PUSH PSW ;维护现场维护现场 含当前任务存放器组号含当前任务存放器组号PUSH ACC ;PUSH ACC ;PUSH B ;PUSH B ;MOV PSW,#10H ;MOV PS

25、W,#10H ;切换当前任务存放器组切换当前任务存放器组LCALL addr16 ;LCALL addr16 ;子程序调用,子程序调用, POP B ;POP B ;恢复现场恢复现场POP ACC ;POP ACC ;POP PSW ;POP PSW ;含当前任务存放器组切换含当前任务存放器组切换v在子程序中实现程序规范、明晰在子程序中实现程序规范、明晰SUB1:PUSH PSW ;SUB1:PUSH PSW ;维护现场维护现场 含当前任务存放器组含当前任务存放器组号号 PUSH ACC ; PUSH ACC ; PUSH B ; PUSH B ; MOV PSW,#10H ; MOV PSW

26、,#10H ;切换当前任务存放器组切换当前任务存放器组 POP B ; POP B ;恢复现场恢复现场 POP ACC ; POP ACC ; POP PSW ; POP PSW ;内含当前任务存放器组切换内含当前任务存放器组切换 RET RET4.4.2 4.4.2 参数传送参数传送v 利用累加器或存放器简单、快速,但参数个数不多利用累加器或存放器简单、快速,但参数个数不多【例4-6】实现两个8位的十六进制无符号数求和的子程序。SADD:MOV A,R3 ;SADD:MOV A,R3 ;取加数在取加数在R3R3中中 CLR C CLR C ADD A,R4 ; ADD A,R4 ;被加数在被

27、加数在R4R4中加中加A A JC PP1 JC PP1 MOV R3,#00H ; MOV R3,#00H ;结果小于结果小于255255时,高字节时,高字节R3R3内容为内容为00H00H SJMP PP2 SJMP PP2 PP1:MOV R3,#01H ; PP1:MOV R3,#01H ;结果大于结果大于255255时,高字节时,高字节R3R3内容为内容为01H01H PP2:MOV R4,A ; PP2:MOV R4,A ;结果的低字节在结果的低字节在R4R4中中 RET RET入口入口: :R3R3= =加数;加数; R4R4= =被加数。被加数。出口出口: :R3R3= =和的

28、高字节;和的高字节; R4R4= =和的低字节。和的低字节。v 利用存储器个数多,用利用存储器个数多,用R0R0或或R1R1及及DPTRDPTR为参数表指针为参数表指针【例【例4-74-7】将内部】将内部RAM RAM 中两个中两个4 4字节无符号整数相加,和的高字节无符号整数相加,和的高字节由字节由R0R0指向。数据采用大端方式存储。指向。数据采用大端方式存储。入口入口: :R0R0= =加数低字节地址;加数低字节地址; R1R1= =被加数低字节地址。被加数低字节地址。出口出口: :R0R0= =和的高字节起始地址。和的高字节起始地址。 NADD:MOV R7,#4 ; NADD:MOV

29、R7,#4 ;字节数字节数4 4送计数器送计数器 CLR C ; CLR C ;NADD1:MOV A,R0 ;NADD1:MOV A,R0 ;利用指针利用指针, ,取加数低字节取加数低字节 ADDC A,R1 ; ADDC A,R1 ;利用指针利用指针, ,被加数低字节加被加数低字节加A A MOV R0,A ; MOV R0,A ; DEC R0 DEC R0 DEC R1 DEC R1 DJNZ R7,NADD1 DJNZ R7,NADD1 INC R0 ; INC R0 ;调整指针,指向出口调整指针,指向出口 RET RET v 利用堆栈利用堆栈 【例【例4-84-8】 将内部将内部R

30、AMRAM中中20H20H单元中的单元中的1 1个字节十六进制数转换为个字节十六进制数转换为2 2位位ASCIIASCII码,存放在码,存放在R0R0指示的两个单元中。指示的两个单元中。入口:预转换数据低半字节在栈顶入口:预转换数据低半字节在栈顶 出口:转换结果出口:转换结果ASCIIASCII码在栈顶码在栈顶 HEASC:MOV R1,SP ; HEASC:MOV R1,SP ;借用借用R1R1为堆栈指针为堆栈指针 DEC R1 DEC R1 DEC R1 ;R1 DEC R1 ;R1指向被转换数据指向被转换数据 XCH A,R1 ; XCH A,R1 ;取被转换数据取被转换数据 ANL A

31、,#0FH ; ANL A,#0FH ;取一位十六进制数取一位十六进制数 ADD A,#2 ; ADD A,#2 ;偏移调整偏移调整, ,所加值为所加值为MOVCMOVC与与DBDB间间总字节数总字节数 MOVC A,A+PC ; MOVC A,A+PC ;查表查表 XCH A,R1 ;1 XCH A,R1 ;1字节指令字节指令, ,存结果于堆栈中存结果于堆栈中 RET ;1 RET ;1字节指令字节指令ASCTAB:DB 30H,31H,32H,33H,34H,35H,36H,37HASCTAB:DB 30H,31H,32H,33H,34H,35H,36H,37H DB 38H,39H,41

32、H,42H,43H,44H,45H,46H DB 38H,39H,41H,42H,43H,44H,45H,46H验证程序段验证程序段 MAIN:MOV A,20H ;MAIN:MOV A,20H ; SWAP A SWAP A PUSH ACC ; PUSH ACC ;预转换的数据在低半字节入栈预转换的数据在低半字节入栈 ACALL HEASC ACALL HEASC POP ACC ; POP ACC ;弹出栈顶结果于弹出栈顶结果于ACCACC中中 MOV R0,A ; MOV R0,A ;存转换结果高字节存转换结果高字节 INC R0 ; INC R0 ;修正指针修正指针 PUSH 20H

33、 ; PUSH 20H ;预转换的数据在低半字节入栈预转换的数据在低半字节入栈 ACALL HEASC ACALL HEASC POP ACC ; POP ACC ;弹出栈顶结果于弹出栈顶结果于ACCACC中中 MOV R0,A ; MOV R0,A ;存转换结果低字节存转换结果低字节 SJMP $ SJMP $4.4.3 4.4.3 常用子程序例如略常用子程序例如略4.5 简单简单I/O设备的并口直接驱动例如设备的并口直接驱动例如4.5.1 4.5.1 独立式键盘与独立式键盘与LEDLED显示例如显示例如【例【例4-174-17】数据端与】数据端与P0P0口正序衔接。编写程序,分别实现口正序

34、衔接。编写程序,分别实现功能:上电后数码管显示功能:上电后数码管显示“P“P,按下任何键后,显示从,按下任何键后,显示从“0“0开场每隔开场每隔1 1秒加秒加1 1,加至,加至“F“F后,数码管显示后,数码管显示“P“P,进入等待按键形状。进入等待按键形状。 TEMP EQU 30H TEMP EQU 30HORG 0000HORG 0000HJMP STARTJMP START ORG 0100H ORG 0100HSTART:MOV SP,#5FHSTART:MOV SP,#5FH MOV P0,#8CH ; MOV P0,#8CH ;显示显示PPMOV P3,#0FFHMOV P3,#0

35、FFHNOKEY:MOV A,P3NOKEY:MOV A,P3CPL ACPL AJZ NOKEY ;JZ NOKEY ;无键按下无键按下MOV TEMP,P3 ;MOV TEMP,P3 ;有键按下有键按下CALL D10msCALL D10msMOV A,P3MOV A,P3CJNE A,TEMP,NOKEY;CJNE A,TEMP,NOKEY;去抖去抖MOV R7,#16MOV R7,#16MOV R2,#0MOV R2,#0LOOP:MOV A,R2LOOP:MOV A,R2 MOV DPTR,#CODE_P0 MOV DPTR,#CODE_P0 MOVC A,A+DPTR MOVC A

36、,A+DPTR MOV P0,A MOV P0,A INC R2 INC R2 SETB RS0 ; SETB RS0 ;切换组切换组 CALL D_1S CALL D_1S CLR RS0 CLR RS0 DJNZ R7,LOOP DJNZ R7,LOOP JMP START JMP START D_1S D_1S:子程序:子程序D10msD10ms:子程序:子程序 CODE_P0:DB 0C0H,0F9H,0A4H,0B0HCODE_P0:DB 0C0H,0F9H,0A4H,0B0H DB 99H,92H,82H,0F8H DB 99H,92H,82H,0F8H DB 80H,90H,88H,83H, DB 80H,90H,88H,83H, DB 0C6H,0A1H,86H,8EH DB 0C6H,0A1H,86H,8EH 有时为方便走线而采用逆序衔接,显示段码要进展调整:有时为方便走线而采用逆序衔接,显示段码要进展调整:CODE_P2:DB 03H,9FH,25H,0DH,9

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论