3个回答
展开全部
汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植,主要用于单片机的编程!
以现在单片机产品主力还是在8位领域,主要应用于汽车应用、消费性电子、电脑及PC周边、电信与通讯、办公室自动化、工业控制等六大市场,其中车用市场多在欧、美地区,而亚太地区则以消费性电子为主, 并以量大低单价为产品主流,目前16位单片机与8位产品,还有相当幅度的价差,新的应用领域也仍在开发,在2005年前8位的单片机仍是单片机产品的主流。
以下是一个单片机发出的脉冲控制信号,有详细注释,可以学一下!
data .section 'data'
r1 equ [40h]
r2 equ [41h]
r3 equ [42h]
r4 equ [43h]
r5 equ [45h]
r6 equ [46h]
r7 equ [47h]
r8 equ [48h]
sw1 equ pa.1
sw2 equ pa.2
sw3 equ pa.3
sw4 equ pa.0
r9 equ pa.6
r10 equ pa.7
PN equ [50h].0
count equ [51h]
main .section 'code'
org 000h
jmp start
ORG 010H
;******************PRO START*********
start:
clr count
mov a,2
mov count,a
;****************
clr r1
clr r2
clr pa.0
clr pb
mov a,0feh
mov pac,a
mov a,0f3h
mov pbc,a
set pb.2
clr pb.3
CLR [50H]
;******************ONLY USE FOR AR1501*****
;******************************************
Alp1: SZ PN
JMP PLUSE0
CLR PB2
SET PB3
SET PN
JMP ADELAY1
PLUSE0: SET PB2
CLR PB3
CLR PN
;-****************DELAY TIME 38MS PLUSE IS HIGHT***
Adelay1: mov a,38 ;马达脉冲高电平开始计时
mov r1,a
Alp12: mov a,165
mov r2,a
Alp11: sdz r2
jmp Alp11
sdz r1
jmp Alp12
;*********************************
clr pb.2
clr pb.3
;***********************DELAY TIME 24MS PLUSE IS LOW***
Adelay2: mov a,24 ;马达脉冲低电平开时计时
mov r1,a
Alp22: mov a,165
mov r2,a
Alp21: sdz r2
jmp Alp21
sdz r1
jmp Alp22
;**********************END**********
;***********************************
hongwai:NOP
lp1: NOP
set pa.0
;***************DELAY TIME 15.6MS PLUSE IS LOW****
delay1: mov a,16 ;红外脉冲高电平开始计时
mov r1,a
lp12: mov a,162
mov r2,a
lp11: sdz r2
jmp lp11
sdz r1
jmp lp12
;******************END********
;****************DELAY TIME 46.8MS PULSE IS HIGHT*****
clr pa.0
delay2: mov a,48 ;红外脉冲低电平开时计时
mov r1,a
lp22: mov a,162
mov r2,a
lp21: sdz r2
jmp lp21
sdz r1
jmp lp22
;********************EDN ******************
jmp Alp1
以现在单片机产品主力还是在8位领域,主要应用于汽车应用、消费性电子、电脑及PC周边、电信与通讯、办公室自动化、工业控制等六大市场,其中车用市场多在欧、美地区,而亚太地区则以消费性电子为主, 并以量大低单价为产品主流,目前16位单片机与8位产品,还有相当幅度的价差,新的应用领域也仍在开发,在2005年前8位的单片机仍是单片机产品的主流。
以下是一个单片机发出的脉冲控制信号,有详细注释,可以学一下!
data .section 'data'
r1 equ [40h]
r2 equ [41h]
r3 equ [42h]
r4 equ [43h]
r5 equ [45h]
r6 equ [46h]
r7 equ [47h]
r8 equ [48h]
sw1 equ pa.1
sw2 equ pa.2
sw3 equ pa.3
sw4 equ pa.0
r9 equ pa.6
r10 equ pa.7
PN equ [50h].0
count equ [51h]
main .section 'code'
org 000h
jmp start
ORG 010H
;******************PRO START*********
start:
clr count
mov a,2
mov count,a
;****************
clr r1
clr r2
clr pa.0
clr pb
mov a,0feh
mov pac,a
mov a,0f3h
mov pbc,a
set pb.2
clr pb.3
CLR [50H]
;******************ONLY USE FOR AR1501*****
;******************************************
Alp1: SZ PN
JMP PLUSE0
CLR PB2
SET PB3
SET PN
JMP ADELAY1
PLUSE0: SET PB2
CLR PB3
CLR PN
;-****************DELAY TIME 38MS PLUSE IS HIGHT***
Adelay1: mov a,38 ;马达脉冲高电平开始计时
mov r1,a
Alp12: mov a,165
mov r2,a
Alp11: sdz r2
jmp Alp11
sdz r1
jmp Alp12
;*********************************
clr pb.2
clr pb.3
;***********************DELAY TIME 24MS PLUSE IS LOW***
Adelay2: mov a,24 ;马达脉冲低电平开时计时
mov r1,a
Alp22: mov a,165
mov r2,a
Alp21: sdz r2
jmp Alp21
sdz r1
jmp Alp22
;**********************END**********
;***********************************
hongwai:NOP
lp1: NOP
set pa.0
;***************DELAY TIME 15.6MS PLUSE IS LOW****
delay1: mov a,16 ;红外脉冲高电平开始计时
mov r1,a
lp12: mov a,162
mov r2,a
lp11: sdz r2
jmp lp11
sdz r1
jmp lp12
;******************END********
;****************DELAY TIME 46.8MS PULSE IS HIGHT*****
clr pa.0
delay2: mov a,48 ;红外脉冲低电平开时计时
mov r1,a
lp22: mov a,162
mov r2,a
lp21: sdz r2
jmp lp21
sdz r1
jmp lp22
;********************EDN ******************
jmp Alp1
展开全部
完全不同于其他高级语言。是直接和硬件打交道的。
例:MOV AL, 2000H
MOV DX, 3128H
OUT DX, AL
直接对计算机硬件(内存、寄存器、外设)进行操作
例:MOV AL, 2000H
MOV DX, 3128H
OUT DX, AL
直接对计算机硬件(内存、寄存器、外设)进行操作
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询