ORG 0000H
LJMP START
ORG 1000H
START:MOV SP,#4FH
MAIN: MOV A,P3
CJNE A,#0FEH,A0 ;测左转向灯有没有按下,没按则跳转测下一个
ACALL ZUO
AJMP MAIN
A0: MOV A,P3
CJNE A,#0FDH,A1 ;测右转向灯有没有按下,没按则跳转测下一个
ACALL YOU
AJMP MAIN
A1: MOV A,P3
CJNE A,#0FBH,A2 ;测倒车灯有没有按下,没按则跳转测下一个
ACALL DAO
AJMP MAIN
MOV A,P3
A2: CJNE A,#0F7H, A3 ;测故障灯有没有按下,没按则跳转测下一个
ACALL GU
AJMP MAIN ;循环
A3: MOV A,P3
CJNE A,#0FAH,A4 ;测倒车灯和左灯有没有按下,没按则跳转测下一个
ACALL DAOZUO
AJMP MAIN
A4: SETB P0.0
MOV A,P3
CJNE A,#0F9H,A5 ;测倒车灯和右灯有没有按下,没按则跳转测下一个
ACALL DAOYOU
AJMP MAIN ;循环
A5: SETB P0.0
MOV A,P3
CJNE A,#0F6H,A6 ;测左车灯和故障灯有没有按下,没按则跳转测下一个
ACALL ZUOGU
AJMP MAIN
A6: SETB P0.0
MOV A,P3
CJNE A,#0F5H,A7 ;测故障车灯和右灯有没有按下,没按则跳转测下一个
ACALL YOUGU
AJMP MAIN
A7: SETB P0.0
MOV A,P3
CJNE A,#0F3H,A8 ;测故障车灯和倒灯有没有按下,没按则跳转测下一个
ACALL GUDAO
AJMP MAIN
A8: SETB P0.0 ;灭灯
MOV A,P3
CJNE A,#0F2H,A9 ;测倒车灯和故障灯及左灯有没有按下,没按则跳转测下一个
ACALL ZUOGUDAO
AJMP MAIN
A9: SETB P0.0 ;灭灯
MOV A,P3
CJNE A,#0F1H,A10 ;测倒车灯和故障灯及右灯有没有按下,没按则跳转到下一个标号
ACALL YOUGUDAO
AJMP MAIN
A10: SETB P0.0;灭灯
ACALL DELAY
AJMP MAIN ;循环从新在从第一个开始测试
ZUO: CLR P2.0 ;亮灯
ACALL DELAY
SETB P2.0 ;灭灯
ACALL DELAY
ret
YOU : CLR P2.1 ;亮灯
ACALL DELAY
SETB P2.1 ;灭灯
ACALL DELAY
ret
DAO: CLR P0.0 ;亮灯
ACALL DELAY
ret
GU: SETB P0.0
CLR P1.0 ;亮灯
ACALL DELAY
SETB P1.0 ;灭灯
ACALL DELAY
ret
DAOZUO:CLR P0.0 ;亮灯
CLR P2.0
ACALL DELAY ;灭灯
SETB P2.0
ACALL DELAY
ret
DAOYOU:CLR P0.0 ;亮灯
CLR P2.1
ACALL DELAY ;灭灯
SETB P2.1
ACALL DELAY
ret
ZUOGU: CLR P2.0 ;亮灯
CLR P1.0
ACALL DELAY ;灭灯
SETB P2.0
SETB P1.0
ACALL DELAY
ret
YOUGU: CLR P1.0 ;亮灯
CLR P2.1
ACALL DELAY ;灭灯
SETB P2.1
SETB P1.0
ACALL DELAY
ret
GUDAO:SETB P0.0
CLR P0.0
CLR P1.0 ;亮灯
ACALL DELAY ;灭灯
SETB P1.0
ACALL DELAY
ret
ZUOGUDAO:CLR P0.0 ;亮灯
CLR P2.0
CLR P1.0
ACALL DELAY
SETB P2.0 ;灭灯
SETB P1.0
ACALL DELAY
ret
YOUGUDAO:CLR P0.0 ;亮灯
CLR P2.1
CLR P1.0
ACALL DELAY ;灭灯
SETB P2.1
SETB P1.0
ACALL DELAY
ret
DELAY: ;延迟子程序
MOV R1,#0FFH
LOOP0:MOV R2,#0FFH
LOOP1:NOP
NOP
NOP
DJNZ R2,LOOP1
DJNZ R1,LOOP0
RET
END
求助:关于80C51单片机简易计算器设计的程序,要求是汇编语言。谢谢哈
AJMP LK ;跳转到键值处理程序L3:JB P1.3,NEXT ;P1.3等于1跳转到NEXT处 MOV A,#0CH ;将第四行行值送入ACCLK:ADD A,R3 ;行值与列值相加后的键值送入A PUSH ACC ;将A中的值送入堆栈暂存K4:LCALL DELAY2 ;调用延时去抖程序 LCALL KS ;调用按键检测程序 JNZ K4 ;按键没有松开继续返回检测 POP ACC ...
用汇编语言编写80c51单片机程序,求内部RAM中50H~59H十个单元内容的平均...
MAIN:MOV R0,#50H MOV R7,#10 MOV R2,#00H MOV A,#00H LOOP:CLR C ADD A,@R0 JNC BBB INC R2 CLR C BBB: INC R0 DJNZ R7,LOOP MOV 5CH,A ;把和放5CH,不用管溢出的,和为s1 MOV 5BH,R2 ;把溢出的次数放地址5BH MOV B,5BH ;溢出的次数给B MOV A,#19H ;...
80C51单片机及接口技术目录
- **80C51单片机指令系统**:详细列举了数据传送、算术运算、逻辑运算和位操作指令。4. **80C51汇编语言程序设计 - **汇编语言伪指令简介**:介绍了汇编语言的伪指令及其用途。- **汇编语言程序设计步骤与程序结构**:提供了程序设计的步骤、方法和程序结构分类。- **分支程序设计**:详细说明了无条...
单片机秒表程序 80C51
if((mod == 1||mod == 4)&&(ptr == 12&&ptr_last != 12)) \/\/判断是否要进入设置时钟模式 { mod_last = mod; mod = 2; TR0 = 0; \/\/停止计时 } else if((mod == 1||mod == 4)&&(ptr == 11&&ptr_last != 11)) \/\/判断是否要进入设置闹钟模式 { mod_last = mod; mod = 3; ...
单片机80c51用汇编语言写让蜂鸣器发出一长三短声的程序
复位用一个电阻和一个电解电容串联后一头接地一头接vcc.如果你的单片机是高电平复位,那电阻大接地,如果是低电平复为,那电阻接vcc.蜂鸣器有两种,一种接地和vcc和就会响.一种是一端接地,在另一端加一个方波脉冲它才会响,调节脉冲占空比可以调节发出的声音.
80c51单片机驱动LED显示。。。急急急
2.电路原理图 图4.7.1 3.系统板上硬件连线 把“单片机系统”区域中的P0.0\/AD0-P0.7\/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个数码管的a-h端口上;要求:P0.0\/AD0与a相连,P0.1\/AD1与b相连,P0.2\/AD2与c相连,……,P0.7\/AD7与h相连。4.程序设计内容...
懂80C51单片机的进~
条件:80C51单片机,ADC0809,LCD1602及按键。目的:8路PT100温度巡检0~100度。1)电路图 2)说明(大致主要的引脚功能等设计说明)3)流程图 4)ADC0809和LCD1602的驱动子程序我知道不可能有人全做出来,那很费时间的,但不管你懂不懂,自己写的或网上搜的,只要你留下我可能需要的,分就是你的!!!懂这的大哥如果可以帮...
80C51单片机问题,看不懂程序,求讲解,字有点多
在word里答的,复制过来就变了,粘点图片吧,你很认真,加油!
80c51单片机P1.0--P1.7八灯循环程序。
汇编:ORG 00H MOV P2,#80H START:MOV A,#0FFH ;赋初值 CLR C MOV R2,#8 LOOP:RRC A ;带进位右移 MOV P1,A CALL DELAY DJNZ R2,LOOP MOV R2,#7 LOOP1:RLC A ;带进位左移 MOV P1,A CALL DELAY DJNZ R2,LOOP1 JMP START DELAY:MOV R3,#20 ;延时0.2秒 D1:MOV R4,#20 D2...
80c51单片机用汇编语言4个独立按键如何分别控制4个数码管从0到9到0...
仿真结果,你要是仿真,就按这个仿真图画,程序就完全适用。如果是实物开发板,就是根据开发板,适当修改程序了。汇编程序如下 S1 BIT P3.4 S2 BIT P3.5 S3 BIT P3.6 S4 BIT P3.7 DISM1 EQU 31H DISM2 EQU 32H DISM3 EQU 33H DISM4 EQU 34H START:MOV R0,#7FH CLEA...