① 单片机汇编语言怎么写
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T0ISR
ORG 0030H
MAIN:
MOV TMOD,#01H
MOV TH0,#HIGH(65536-50000)
MOV TL0,#LOW(65536-50000)
SETB TR0
SETB ET0
SETB EA
START:
MOV R2,#0FEH
MOV R3,#3
MOV R4,#8
LOOP:
CLR 00H
MOV R7,#4
MOV A,R2
MOV P0,A
RL A
MOV R2,A
JNB 00H,$
DJNZ R4,LOOP
MOV R4,#8
MOV R2,#0FEH
DJNZ R3,LOOP
MOV R2,#7FH
MOV R3,#5
MOV R4,#8
LOOP1:
CLR 00H
MOV R7,#4
MOV A,R2
MOV P0,A
RR A
MOV R2,A
JNB 00H,$
DJNZ R4,LOOP1
MOV R4,#8
MOV R2,#7FH
DJNZ R3,LOOP1
LJMP START
T0ISR:
CLR TR0
MOV TH0,#HIGH(65536-50000)
MOV TL0,#LOW(65536-50000)
SETB TR0
DJNZ R7,T0E
MOV R7,#4
SETB 01H
T0E:
RETI
END
② MOVF,MOVWF在单片机汇编语言里是什么意思啊
PIC的精简指令,
MOVF是把一个寄存器内存送入W寄存器中,如 MOVF 8,0 就是把第8寄存器送到W中(相当于8051中累加器A) ,后面是0说明存后F不变
MOVWF 与上面相反,把W内容存入F寄存器中, 相当于MOV W to F
③ 急求!单片机汇编语言写程序:
;本程序晶振为12MHZ
SWBITp0.0 ;存放按键值
CNTEQU30H ;存放1s计数值
DATEEQU31H ;存放数据值
ORG0000H
LJMPMAIN
ORG0030H
MAIN: MOVTMOD,#01H ;定时器为T0工作方式1
MOVTH0,#3CH;定时50ms
MOVTL0,#0B0H
MOVCNT,#20 ;1s初值
MOVDATE,#00H ;数据初始值为0
SETBTR0
MLOOP:JNBTF0,$;50ms?
CLRTF0
MOVTH0,#0F0H ;50mS定时重设
MOVTL0,#60H
SETBSW ;读I/O口之前先写1
JNBSW,ML01 ;判断按键
DJNZCNT,ML02 ;1s到了没?
MOVCNT,#20
INCDATE ;数据值加1
ML01: MOVDATE,#00H ;数据值清零
ML02: MOVA,DATE
MOVDPTR,#LED7 ;差数码管显示码
MOVCA,@A+DPTR
MOVP1,A ;七段码值送显示
AJMPMLOOP
;====LED段码表====
LED7: DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H
DB80H,90H,88H,83H,86H,0A1H,86H,8EH
流程图为:
希望可以帮助你。
④ 单片机,汇编语言
51单片机是Keil 软件
pic单片机是MPLAB软件
汇编要将编辑文件要保存为.asm为后缀的文件(c语言则是.c为后缀)
avr单片机是avr studio 或iccavr软件
汇编要将编辑文件要保存为.s为后缀的文件(c语言则是.c为后缀)
51单片机可以很多下载软件 将你的汇编程序 在Keil 软件中设置为:
options for target 1->output->create HEX file
生成hex文件 然后将这个hex文件通过下载软件下载到单片机中.
下载软件有两类:串口下载和ISP接口下载
ISP接口下载软件是对应你的下载器的(一般买下载器都会给你对应的下载软件的)
串口下载:STC类的51单片机可以用STC_ISP_V486.exe,但是对于Atmel类的就不行
微机原理的上机课都是在DOS下输入EDIT XX.ASM后编写的,单片机也是这样吗?
单片机不是这样的 因为微机机器码和单片机机器码是不一样的
所以单片机需要在windows下用对应的软件生成单片机的机器码 在单片机中才能运行啊
祝你学习进步
⑤ 单片机汇编语言程序的三种基本结构
汇编语言程序有顺序程序、分支程序、循环程序三种。分支结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。
分支结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的分支语句。
(5)单片机汇编语言扩展阅读:
注意事项:
汇编指令不区分大小写,目的操作数是存结果的,原操作数是被操作的。
二进制数后跟b,十六进制数后跟h,十进制数不需特殊标记。
汇编源程序中,数据不能以字母开头,需要在前面加上0,如0a000h。
⑥ 单片机汇编语言是什么
要控制单片机,让单片机按照程序工作,就需要告诉单片机怎么工作,需要一种计算机语言(单片机=单片微型计算机),最基本的是机器语言,是一堆二进制代码。操作数,指令(控制单片机运行的命令)都用二进制代码表示。而汇编语言就是将二进制代码一对一的换成字母,十六进制数等易于理解,阅读的语言,用于控制单片机
当然,更深入的学习后会有伪指令(并不对应与二进制代码),这些伪指令在汇编(将汇编语言还原为二进制代码的过程)的时候会被去掉,然后利用其提供的信息进行汇编。
⑦ 单片机汇编语言
mov a,40h; A=50H
mov r0,a ;R0=50H
mov @r0,20h ;(50H)=30h
mov 50h,r0 ;(50H)=50H
mov a,@r0 ; A=50H
按照顺序执行最后的结果是:
(20H)=30H,(30H)=40H,(40H)=30H,(50H)=50H ,A=50H。
⑧ 单片机(汇编语言)程序
开发当然是用C,又快又易懂好维护,但是想要优化程序还是要懂汇编的,要不然实现同样一个功能的程序,好的程序员可以把程序设计得又短又快,而不做优化的可能会又臭又长,2K以下可以搞定的,你非要搞到4K以上去那最终产品的成本每个至少会相差几毛到一两块钱,而且成本升高时质量却是下降的,这样当然就不好了,所以我个人认为做单片机编程,应当是汇编和C都会才是最好的,次一点的是会C,且能大致看懂汇编,可以帮助优化C程序,
只会汇编,一个程序开发下来,得花几周到几个月,开发成本太高了,不值得
只会C完全不懂汇编,那也是很难做出高质量的单片机程序的
⑨ 单片机汇编语言里 DB
单片机汇编语言中的DB是以字节为单位定义一个数据段,一般用于查表程序中,举例说明:
DISPLAY:
MOV DPTR,#TAB
MOV A,R2
MOVC A,@A+DPTR
MOV P0,A
RET
TAB: ; 共阴极数码管显示代码表
DB 3FH,06H,5BH,4FH,66H ;01234
DB 6DH,7DH,07H,7FH,6fh ;56789
⑩ 单片机汇编语言
DATA1 BIT P1.0;DATA不能作为符号名定义,改为DATA1 BIT表示P1.0定义为DATA1
SCK BIT P1.1
noACK EQU 0;noACK 定义为0
ACK EQU 1