[STM32F1] 程序问题

[复制链接]
584|16
 楼主| wenfen 发表于 2021-1-7 23:29 | 显示全部楼层 |阅读模式
ov, vr, hm, ST, play

ORG 0000H       ;Start address of the program
LJMP START  
START:  MOV R5,#0FEH
        MOV R4,#0AH
MOV R0,#00H
MOV A,R5
MOV P2,A
MOV A,#00H
MOV DPTR,#TAB
PLAY1:  MOVC A,@A+DPTR
MOV P0,A
LCALL DL1S
; LCALL DL1S
INC R0
MOV A,R0
DJNZ R4,PLAY1
AJMP REINPUT
;;;;;;;;;;;;;;Delay Function;;;;;;;;;;;;;

DL1S:   LCALL DL05S
LCALL DL05S
RET
DL05S:  MOV R3,#60H
DL05S1: DJNZ R3,DL05S1
RET

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
REINPUT: MOV A,#00H
  MOV R4,#0AH
  MOV R0,#00H
  LJMP PLAY1
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH
END
zwll 发表于 2021-1-7 23:32 | 显示全部楼层
你有什么打算呢?或者你想知道什么?
 楼主| wenfen 发表于 2021-1-7 23:36 | 显示全部楼层
目的是使用数码管显示0到9个数字(每1秒变动一次),但是不知道为什么总是显示的8
juventus9554 发表于 2021-1-7 23:40 | 显示全部楼层
PLAY1:  MOVC A,@A+DPTR
                MOV P0,A
                LCALL DL1S
                ; LCALL DL1S
                INC R0
                MOV A,R0
                DJNZ R4,PLAY1
                AJMP REINPUT”
这个子程序有问题
stly 发表于 2021-1-7 23:46 | 显示全部楼层
DJNZ R4,PLAY1这句明显不对,非要把全部断码送到P0口才去操作位码?
llljh 发表于 2021-1-7 23:49 | 显示全部楼层
不到1s而是很短的延迟人眼看到的就是8
dingy 发表于 2021-1-7 23:52 | 显示全部楼层

DL05S:  MOV R3,#60H
DL05S1: DJNZ R3,DL05S1
RET
"这个子程序不对,单片机指令周期1微秒,循环六十次,不到0.5毫秒...
P0口数值一直跳变,但太快(小于0.05秒),人眼无法识别...
pengf 发表于 2021-1-7 23:56 | 显示全部楼层
检查你的代码是不是有风险,比如堆栈溢出
renyaq 发表于 2021-1-11 20:40 | 显示全部楼层
现在使用CCS编译C语言效果也差不多的。
gongche 发表于 2021-1-11 20:46 | 显示全部楼层
汇编语言看不懂,现在C语言没有什么。
liuzaiy 发表于 2021-1-11 20:49 | 显示全部楼层
表示看不懂汇编语言
 楼主| wenfen 发表于 2021-1-11 20:52 | 显示全部楼层
哦,那我就知道怎么回事了,多谢大家,
磨砂 发表于 2021-2-3 20:50 | 显示全部楼层
语言不过关啊  我看不懂汇编呀
晓伍 发表于 2021-2-3 20:52 | 显示全部楼层
会不会刷新过快了啊
八层楼 发表于 2021-2-3 20:54 | 显示全部楼层
刷新速度过快 有些东西看不到
观海 发表于 2021-2-3 20:56 | 显示全部楼层
会不会是堆栈溢出了
guanjiaer 发表于 2021-2-3 21:04 | 显示全部楼层
刷新过快 晃眼了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

737

主题

8940

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部