导航:首页 > 操作系统 > 单片机ALOOP

单片机ALOOP

发布时间:2022-06-22 05:54:42

单片机循环

程序没有毛病,楼主希望得到什么样的结果?
------------------
程序没有毛病,用proteus7中仿真的时候,速度太快了不行。
下面程序,只是把延时时间加大了,仿真就可以了。

org 0000h
ajmp main
main:
mov r5, #0h
loop:
call disp
call delay
ajmp loop

disp:
mov DPTR, #table
mov a, r5
movc A, @a+DPTR
mov p0, a
dec r5
cjne r5, #-1, dell
mov r5 , #9
dell:
ret

delay:
mov r4, #100
mov r7, #0x0a
LL1:
mov r6, #-1
djnz r6, $
djnz r7, LL1
djnz r4, LL1
ret

table:
db 3fh,06h,5bh,4fh,66h
db 6dh,7dh,07h,7fh,6fh
end

② 单片机问题,急急~

1.
ORG 0000H
AJMP START

ORG 0030H
START:
MOV DPTR,#0050H ;外部存储器首地址
MOV R0,#9 ;计数器
MOV A,#0 ;A清零
LOOP:
MOVX @DPTR,A ;将A的内容(0)送到外部RAM
INC DPTR ;下一个地地址
DJNZ R0,LOOP ;没有完成则继续

SJMP $
END

2.
方法1:
算法:11+12+13+……+50=(11+50)*20)
程序:

ORG 0000H
AJMP START

ORG 0030H
START:
MOV R2,#11 ;最小数
MOV R3,#50 ;最大数
MOV R4,#20 ;倍数
MOV A,R2 ;取最小数
ADD A,R3 ;求最小数与最大数之合
MOV B,R4 ;取倍数
MUL AB ;求所有数之合
MOV R0,A ;低位送R0
MOV R1,B ;高位送R1
SJMP $
END

方法1:
(算法:一个一个加)
程序:

ORG 0000H
AJMP START

ORG 0030H

START:

MOV R2,#11 ;被加数(从11开始)
MOV R3,#40 ;个数
MOV A,#0 ;清除A
MOV B,#0 ;清除B
MOV R0,#0 ;清除R0

LOOP:
MOV A,R0 ;低位求和
ADD A,R2
MOV R0,A
MOV A,B ;高位求和
ADDC A,#0
MOV B,A
INC R2
DJNZ R3,LOOP ;没有加完则继续

MOV R1,B ;保存高位数据到R1
SJMP $
END

3.
;定时器选用T0
;工作方1
;时间常数计算公式:(1) T=(65536-X)*(12/fosc)
; (2) 12/fosc=12/12MHz=1us
; (3) T=2ms=2000us
;由(1)(2)(3)得到:(4)X=65536-2000=61536=0F060h
;TH0=0F0h,TL0=060h

程序:
ORG 0000H
AJMP INI ;程序入口
ORG 000BH
AJMP T0_INT ;T0中断入口

ORG 0030H

;初始化
INI:
MOV TMOD,#01H ;设置定时器T0工作方式1
MOV TH0,#0F0h ;装载时间常数
MOV TL0,#060H
SETB EA ;开启中断响应
SETB ET0
SETB TR0 ;启动定时器T0

SJMP $

;定时器中断程序
T0_INT:
MOV TH0,#0F0h ;重装时间常数
MOV TL0,#060H
RETI
END

③ 单片机编程

乱写的,凑合看吧:
ORG 2000H
CLR A
MOV R7,#0
MOV R6,#0
MOV R5,#30
MOV R4,#20
MOV R3,#50H
MOV R2,#20H
LOOP1: MOV A,@R4
JNB ACC.7,LOOP2 ;判断符号数的正负
INC @R3
MOVX @R3,A ;负数存入外存中51H开始的单元中
INC @R7 ;负数个数 1
LOOP2: INC @R2
MOVX @R2,A ;正数存入外存中21H开始的单元中
INC @R6 ;正数个数 1
CJNE A,#64H,LOOP3
SJMP LOOP4
LOOP3: JNC LOOP4
MOV B,#0AH ;小于100的数改成压缩BCD码送还至原地址单元
DIV AB
SWAP A
ADD A,B
MOV @R4,A
LOOP4: MOV @R4,#0AAH ;不小于100的数改为AAH送还至原地址单元
INC @R4
DJNZ R5,LOOP1
MOV DPTR,#20H ;正数的个数存放至外存区20H单元中 MOV A,@R6
MOVX @DPTR,A
MOV DPTR,#50H ;负数的个数存放在外存区50H单元中
MOV A,@R7
MOVX @DPTR,A
SJMP $
上边的几个回答- -...此程序若还有错误请及时联系我修改,谢谢先!
另:各位参考的童鞋切记要加相关注释,多少做点改动,被老师认为雷同的渣就概不负责了哈。
So,建兄,渣就不多解释了。

④ 单片机C语言编程

KEY4EQU30H

KEY2EQU31H

ORG0000H

LJMPMAIN

ORG0030H

MAIN:

CLREA

MOVSP,#5FH

MOVKEY2,#0

MOVKEY4,#0

LOOP:

JBP1.0,LOOP

MOVR7,#10

LCALLDELAY

JBP1.0,LOOP

JNBP1.0,$

MOVP3,#0C0H

LOOP0:

LCALLKEYDEAL

MOVA,KEY4

JNZLOOP41

MOVA,P3

ANLA,#0F0H

ORLA,#0EH

MOVP3,A

SJMPLOOP21

LOOP41:

DECA

JNZLOOP42

MOVA,P3

ANLA,#0F0H

ORLA,#0DH

MOVP3,A

SJMPLOOP21

LOOP42:

DECA

JNZLOOP43

MOVA,P3

ANLA,#0F0H

ORLA,#0BH

MOVP3,A

SJMPLOOP21

LOOP43:

DECA

JNZLOOP21

MOVA,P3

ANLA,#0F0H

ORLA,#07H

MOVP3,A

LOOP21:

MOVA,KEY2

JNZLOOP22

MOVA,P3

ANLA,#0FH

ORLA,#20H

MOVP3,A

SJMPLOOP3

LOOP22:

DECA

JNZLOOP3

MOVA,P3

ANLA,#0FH

ORLA,#10H

MOVP3,A

LOOP3:

LJMPLOOP0

;----------------------------

DELAY:

MOVR2,#2

DLY1:

MOVR3,#250

DJNZR3,$

DJNZR2,DLY1

DJNZR7,DELAY

RET

;-----------------------------

KEYDEAL:

JBP1.1,KEYEN1

MOVR7,#10

LCALLDELAY

JBP1.1,KEYEN1

JNBP1.1,$

INCKEY4

MOVA,KEY4

ANLA,#03H

MOVKEY4,A

KEYEN1:

JBP1.2,KEYEN2

MOVR7,#10

LCALLDELAY

JBP1.2,KEYEN2

JNBP1.2,$

INCKEY2

MOVA,KEY2

ANLA,#01H

MOVKEY2,A

KEYEN2:

RET

;-----------------------------

⑤ 单片机中的LOOP是什么

一种循环的标示,由自己决定这个的标示(类似地名),比如我一个AJMP跳转指令需要跳转到一个地方,那我就自己定一个标示(LOOP是自己定义的,可以改成别的也行,必须和跳转的那个程序一样),然后跳转的那个地方程序开头就写(LOOP:),这句后面就是跳转后需要执行的程序了~!不知道这样解释对你有没有帮助

⑥ 单片机 跑马灯 代码详解

ORG
0000H
;开机上电主程序入口
AJMP
START
;系统一进来就转到主程序
ORG
0030H
;主程序地址
START:
MOV
A,
#0FFH
;主程序开始,A中初始化成全1
CLR
C
;c清零
MOV
R2,
#08H
;R2左转循环计数器
LOOP:
RLC
A
<<C+A+C<<带进位循环左移,A中的内容在8此循环中从0位到7位依次变0
MOV
P2,
A
;送到P2,使P2从0位到7位依次点亮LED
CALL
DELAY
;单片机运行很快,为了能看到灯的变化,必须延迟,把速度降下来
DJNZ
R2,
LOOP
;R2每次减1后判断是否=0,8次后=0程序才会下行,否则会跳回LOOP
MOV
R2,#07H
;R2右转循环计数器
LOOP1:
RRC
A
>>C+A+C>>带进位循环右移,A中的内容在8此循环中从7位到0位依次变0
MOV
P2,
A
;送到P2,使P2从7位到0位依次点亮LED
CALL
DELAY
;和上个循环一样,延时
DJNZ
R2,
LOOP1
;R2每次减1后判断是否=0,7次后=0程序才会下行,否则会跳回LOOP1
JMP
START
;跳回程序起始位置重复下一个循环
DELAY:
MOV
R3,
#20;延时子程序,这个应该不用解释了吧
D1:
MOV
R4,
#200
D2:
MOV
R5,
#248
DJNZ
R5,
$
DJNZ
R4,
D2
RET
END

阅读全文

与单片机ALOOP相关的资料

热点内容
什么手机app去红眼 浏览:542
fpga如何编程 浏览:184
中国版我的世界小游戏服务器地址 浏览:335
人教版化学高中PDF 浏览:323
庆国庆编程作品 浏览:470
在线将jpg文件转pdf 浏览:1000
丽水文档加密软件哪家好 浏览:364
哪个公司的程序员好 浏览:292
我的世界网易版4级压缩木剑 浏览:454
粉笔二建app叫什么 浏览:928
解压flstudio视频教程 浏览:356
研发工程师文件夹管理 浏览:156
为桌面某个应用添加密码如何设置 浏览:194
冀云app的答题模式在哪里 浏览:754
体系助理工程师是搞编程的吗 浏览:675
播放蓝光文件夹apk 浏览:1000
如何重新注册命令符 浏览:16
javadecodeencode 浏览:592
无线技术原理pdf 浏览:248
闻人暖的小说在哪个app 浏览:137