找回密码
 立即注册
查看: 363|回复: 3

32G12K128——汇编指令MOV给P3PU寄存器赋值报错(访问拓展SFR)

[复制链接]
  • 打卡等级:偶尔看看II
  • 打卡总天数:24
  • 最近打卡:2025-04-26 23:09:46
已绑定手机

1

主题

5

回帖

163

积分

注册会员

积分
163
发表于 2025-1-22 22:01:47 | 显示全部楼层 |阅读模式
问题:直接用汇编mov给P3PU寄存器赋值报错。
        新手上路STC32G12K128 系列,在用汇编配置P30端口上拉的时候碰到一些问题。刚开始直接用MOV A,#00000001B和MOV P3PU,A发现报错mission1.asm(22): warning A52: VALUE HAS BEEN TRUNCATED TO 8 BITS,说是值已被截断为 8 位。网上查阅一番在论坛上的另一个帖子找到类似问题:https://www.stcaimcu.com/forum.php?mod=viewthread&tid=5944
        再查阅芯片手册,P3PU寄存器地址为7EFE13H,属于扩展 SFR,在手册:10.5 扩展特殊功能寄存器列表(XFR:0x7EFE00-0x7EFEFF)可找到,附带有例子。
下列特殊功能寄存器为扩展 SFR(XFR),逻辑地址位于 XDATA 区域,访问前需要将 P_SW2 寄存器的最高位(EAXFR)置 1,然后使用 MOV @DRk, Rm 和 MOV Rm, @DRk 指令进行访问,例如:
  1. MOV A,#00H
  2. MOV WR6,#WORD0 CLKSEL ; CLKSEL 可换为需要访问的寄存器
  3. MOV WR4,#WORD2 CLKSEL
  4. MOV @DR4,R11
  5. MOV WR6,#WORD0 CLKSEL ; CLKSEL 可换为需要访问的寄存器
  6. MOV WR4,#WORD2 CLKSEL
  7. MOV R11,@DR4
复制代码
       到目前为止我还没有搞懂WR6、WORD0、DR4这些是从哪里蹦出来的,芯片手册没讲,难受。上面的帖子的楼5的图片挺好,不知道是从哪里找到的,我在芯片手册没找到。
        我自己最后给P30口上拉的汇编代码:(话说是这么操作吗?不太确定,代码效果我还没看,迟点回来)
  1. ORL P_SW2,#80H        ;相或操作,将最高位置1,使能访问XFR
  2. MOV WR6,#WORD0 P3PU
  3. MOV WR4,#WORD2 P3PU
  4. MOV A,#00000001B
  5. MOV @DR4,R11
复制代码
PS:WR这些寄存器上网搜80251手册就有了,从TSC80251手册的:Figure 3.5. Register File in Byte, Word, and Dword Register Views那里,第23页。TSC80251,TSC80251 pdf,TSC80251中文资料,TSC80251引脚图,TSC80251电路_datasheet网 (elecfans.com)

截图202501222203079128.jpg
截图202501222203473771.jpg
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:24
  • 最近打卡:2025-04-26 23:09:46
已绑定手机

1

主题

5

回帖

163

积分

注册会员

积分
163
发表于 2025-1-24 00:46:13 | 显示全部楼层
我的改用引脚下拉的查看按键P33所在的情况,可以的。在芯片手册的IO口那里有:
关于 I/O 的注意事项:
1、 P3.0 和 P3.1 口上电后的状态为弱上拉/准双向口模式
2、 除 P3.0 和 P3.1 外,其余所有 IO 口上电后的状态均为高阻输入状态,用户在使用 IO 口
前必须先设置 IO 口模式。如果按键刚好是P30、P31口那么不用配置相关输入上下拉也效果也正常。我的测试代码:
  1. $INCLUDE (STC32G.INC);引用头文件
  2.         ORG         0000H
  3.         JMP         MAIN
  4. MAIN:
  5.         LCALL        GPIO_Init
  6.         LJMP         MAIN_LOOP        
  7. GPIO_Init:
  8.         MOV         A,#00000001B
  9.         MOV                P0M0,A
  10.         MOV         A,#00000000B
  11.         MOV                P0M1,A                        ;配置P0.0口推挽输出
  12.         ;MOV         A,#00000000B
  13.         ;MOV                P3M0,A
  14.         ;MOV         A,#00000001B        
  15.         ;MOV                P3M1,A                ;配置P3.0口高阻输入        
  16.         MOV         A,#00000000B
  17.         MOV                P3M0,A
  18.         MOV         A,#00001000B        
  19.         MOV                P3M1,A                        ;配置P3.3口高阻输入        
  20.         ORL         P_SW2,#80H                ;相或操作,将最高位置1,使能访问XFR
  21.         MOV         WR6,#WORD0 P3PU
  22.         MOV         WR4,#WORD2 P3PU
  23.         MOV         A,#00001000B        ;P33口上拉        
  24.         MOV         @DR4,R11
  25.         ;MOV         WR6,#WORD0 P3PD
  26.         ;MOV         WR4,#WORD2 P3PD
  27.         ;MOV         A,#00001000B        ;P33口下拉
  28.         ;MOV         @DR4,R11        
  29.         RET
  30. MAIN_LOOP:
  31.     JNB P3.3, BUTTON_PRESSED   ; 如果P3.0为0,跳转
  32.     SETB P0.0                  ; 对P0.0置1
  33.     SJMP MAIN_LOOP
  34. BUTTON_PRESSED:
  35.     CLR P0.0
  36.     SJMP MAIN_LOOP        
  37.     END
复制代码
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:24
  • 最近打卡:2025-04-26 23:09:46
已绑定手机

1

主题

5

回帖

163

积分

注册会员

积分
163
发表于 2025-2-7 23:01:48 | 显示全部楼层
具体芯片手册没找到的寄存器可以去TSC80251手册找,STC32G12K128用的架构是基于80251架构弄的。找到一篇牵涉到251架构寄存器比较能看懂的:STC32G FreeRTOS入门(11):现场保护与恢复机制—FreeRTOS与C251中断异同 - uCOS/FreeRTOS,GUI-uGFX/U8g2, 文件系统, 国产RTOS, 实时操作系统 国芯技术交流网站 - AI32位8051交流社区 (stcaimcu.com)
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:24
  • 最近打卡:2025-04-26 23:09:46
已绑定手机

1

主题

5

回帖

163

积分

注册会员

积分
163
发表于 2025-3-2 14:22:54 | 显示全部楼层
另外的一些总结放博客了:https://mp.csdn.net/mp_blog/creation/editor/145961875
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:35 , Processed in 0.121439 second(s), 67 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表