打印
[其它应用]

SH79F1615用汇编可以这样写吗

[复制链接]
1553|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tian111|  楼主 | 2022-4-7 21:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MOV   P0CR,    #XXH

使用特权

评论回复
沙发
zwll| | 2022-4-7 21:07 | 只看该作者
可以吧

使用特权

评论回复
板凳
tian111|  楼主 | 2022-4-7 21:10 | 只看该作者
如果能这样写为什会报错

使用特权

评论回复
地板
zhenykun| | 2022-4-7 21:12 | 只看该作者
肯定是 P0CR 未定义,或定义错误。

使用特权

评论回复
5
llljh| | 2022-4-7 21:18 | 只看该作者
请仔细查看对比头文件。

使用特权

评论回复
6
tian111|  楼主 | 2022-4-7 21:21 | 只看该作者
报错内容确实是未定义,可是我用汇编,头文件是C用的,应该怎么处理才行,能否给个具体的步骤,万分感谢!

使用特权

评论回复
7
wenfen| | 2022-4-7 21:23 | 只看该作者
p0cr equ xx

使用特权

评论回复
8
tian111|  楼主 | 2022-4-7 21:26 | 只看该作者
也许我没有表达清楚,我用的是uV2,也按装了插件,也找到了sh78f1615,建立了工程,试着学点灯,在uV2中用汇编写了一个点灯的小程序,设置为输出模式,故用到了,P0CR,P1CR等,编译不能通过

使用特权

评论回复
9
songqian17| | 2022-4-7 21:28 | 只看该作者
程序贴一下

使用特权

评论回复
10
tian111|  楼主 | 2022-4-7 21:31 | 只看该作者
我的小程序:
                  
               ORG               0000H
               LJMP              START

START:         MOV      SP,      #30H
               NOP
               NOP
               NOP
               MOV      P0CR,    #47H  ;01000111
               MOV      P1CR,    #03H  ;00000011
               MOV      P2CR,    #60H  ;01100000
               MOV      P3CR,    #34H  ;00110100
LOOP:          MOV      P0,      #47H
               MOV      P1,      #03H
               MOV      P2,      #60H
               MOV      P3,      #34H
               ACALL             DELAY_1S
               MOV      P0,      #00H
               MOV      P1,      #00H
               MOV      P2,      #00H
               MOV      P3,      #00H
               ACALL             DELAY_1S
               SJMP              LOOP

DELAY_1S:      MOV      R7,      #0CDH
DL1:           MOV      R6,      #0E6H
DL0:           MOV      R5,      #0FDH
               DJNZ     R5,      $
               DJNZ     R6,      DL0
               DJNZ     R7,      DL1
               MOV      R5,      #0FH
               DJNZ     R5,      $
               NOP
               RET

               END
请帮忙看看到底是什么原因谢谢

使用特权

评论回复
11
tian111|  楼主 | 2022-4-7 21:33 | 只看该作者
错了是79f1615

使用特权

评论回复
12
zhuhuis| | 2022-4-7 21:36 | 只看该作者

加对应MCU的头文件
没有就自己一条一条定义

使用特权

评论回复
13
tian111|  楼主 | 2022-4-7 21:38 | 只看该作者
嗯,那我按大家的说法挨个排查一下

使用特权

评论回复
14
llljh| | 2022-4-7 21:40 | 只看该作者
就是头文件的问题,你要包含汇编的头文件才行,C的头文件格式不对,编译器不认。如果找不到得话就只能自己做了

使用特权

评论回复
15
chuxh| | 2022-4-7 21:46 | 只看该作者
可以的

使用特权

评论回复
16
supernan| | 2022-4-7 21:49 | 只看该作者
非标准51、52的芯片,用DATA或者EQU定义这个寄存器的地址,否则当然出错了。
类似:
;/*  BYTE Register  */
P0        DATA     080H
P1        DATA     090H
P2        DATA     0A0H
P3        DATA     0B0H

使用特权

评论回复
17
tian111|  楼主 | 2022-4-7 21:52 | 只看该作者
嗯,那我按大家的说法挨个排查一下

使用特权

评论回复
18
tpgf| | 2022-5-1 10:42 | 只看该作者
看不明白汇编啊

使用特权

评论回复
19
磨砂| | 2022-5-1 10:50 | 只看该作者
在哪里进行自己的定义呢

使用特权

评论回复
20
晓伍| | 2022-5-1 10:58 | 只看该作者
如何知道写入什么地址呢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

797

主题

8878

帖子

7

粉丝