kwdumcgd 发表于 2025-11-26 17:50:09

求大神指点

我现在的单片机是STC32G12K128-LQFP64,硬件电路板P1接灯,其余都为空脚,未连接任何硬件!
这个是我以前学习的51 8位单片机汇编语言程序
,求大神帮忙还添加点什么程序,把这个程序弄进去STC32G12K128,程序运行起来!

START: MOV   R0, #8      
             MOV   A,#01111111B
LOOP:MOV   P1, A         
            ACALL DELAY         
            RR    A         
            DJNZR0, LOOP      
            JMP   START   
   
DELAY:MOVR5,#50         
   DLY1:   MOVR6,#100         
   DLY2:   MOVR7,#100         
               DJNZ R7,$            
               DJNZ R6,DLY2      
               DJNZ R5,DLY1      
               RET               
                    END               

ercircle 发表于 2025-11-26 19:35:32

例程包里有汇编跑马灯

https://www.stcaimcu.com/data/download/DemoCode/STC32G-DEMO-CODE-V9.6.zip

猫虎的 发表于 2025-11-27 08:28:34

都32位了,直接用C呗,移植性很强,相信能学会汇编,定然是能学会C的

kwdumcgd 发表于 2025-11-27 08:47:09

猫虎的 发表于 2025-11-27 08:28
都32位了,直接用C呗,移植性很强,相信能学会汇编,定然是能学会C的

还是汇编自学方便,程序工工整整,C语言一大把符号,看着头疼

kwdumcgd 发表于 2025-11-27 08:48:27

ercircle 发表于 2025-11-26 19:35
例程包里有汇编跑马灯

https://www.stcaimcu.com/data/download/DemoCode/STC32G-DEMO-CODE-V9.6.zip


大神,这些我也有的,这些程序为实验箱量身定做程序,我的除了p1,其他都是空着,希望程序简单化,求大神指点

ercircle 发表于 2025-11-27 09:05:14

kwdumcgd 发表于 2025-11-27 08:48
大神,这些我也有的,这些程序为实验箱量身定做程序,我的除了p1,其他都是空着,希望程序简单化,求大神 ...

学习论坛课程,自己动手丰衣足食


陈桂友老师-STC单片机教学视频 国芯人工智能技术交流网站 - AI32位8051交流社区

《8051U深度入门到32位51大型实战视频》,【免费 + 包邮 送】实验箱@Ai8051U,100万套 - 字库生成,图片取模,串口绘图,串口助手,虚拟硬件,外部串行Flash编程 国芯人工智能技术交流网站 - AI32位8051交流社区

Ayb_ice 发表于 2025-11-27 09:22:34

                        CSEG        AT         0
                        JMP                START

START: MOV   R0, #8      
             MOV   A,#01111111B
LOOP:MOV   P1, A         
            ACALL DELAY         
            RR    A         
            DJNZR0, LOOP      
            JMP   START   
   
DELAY:MOVR5,#50         
   DLY1:   MOVR6,#100         
   DLY2:   MOVR7,#100         
               DJNZ R7,$            
               DJNZ R6,DLY2      
               DJNZ R5,DLY1      
               RET               
                      END

乐此不疲 发表于 2025-11-27 10:01:25

我作为新手的学习心得分享给你:
1.STC新型单片机使用时都要配置端口工作模式。
2.还要启用扩展寄存器(XFR)访问使能。
3.STC32或AI8051单片机还要设置程序指令延时参数和提高访问XRAM速度的设置。



我对汇编一窍不通,根据版主的提示看了跑马灯例程的汇编程序后我觉得你的代码应该添加这些配置才能工作,但添加的位置我不懂你可以试试,同时也请高手指正。
1、$include (../../comm/STC32G.INC)
2、MOV   WTST, #00H   ;设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
3、MOV   CKCON,#00H   ;提高访问XRAM速度
4、ORL   P_SW2,#080H    ;使能访问XFR

kwdumcgd 发表于 2025-11-27 10:14:49

乐此不疲 发表于 2025-11-27 10:01
我作为新手的学习心得分享给你:
1.STC新型单片机使用时都要配置端口工作模式。
2.还要启用扩展寄存器(XFR) ...

感谢

angmall 发表于 2025-11-27 11:28:21

给你一个何宾老师的编程框架





;*******************************************************************
$include (STC32G.INC)
data_seg1 segment code
rseg data_seg1
TABLE: DW 0x0123,0x4567,0x89ab,0xcdef ;four data is in code memory (ff:xxxx)

;*******************************************************************
data_seg2 segment edata
rseg data_seg2
STORE: DSW 4                                                ; 4*2=8B (00:xxxx) EDATA

;*******************************************************************
prog_seg segment code               ;复位入口地址
        rseg prog_seg
        LJMP main
        ORG 0x220
main:
      MOV   SPX,#0100H   ;设置堆栈指针初始值
      MOV   WTST, #00H   ;设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
      MOV   CKCON,#00H   ;提高访问XRAM速度
      ORL   P_SW2,#080H    ;使能访问XFR
      MOV   P1M0, #00H
      MOV   P1M1, #00H
               
START:MOV   R0, #8      
      MOV   A,#01111111B
LOOP:   MOV   P1, A         
      ACALL DELAY300MS         ;64K 程序大小的函数使用 LCALL 或者 ACALL 调用
      RR    A         
      DJNZR0, LOOP      
      JMP   START   
;-------------------------------------
DELAY300MS:                        ;@24.000MHz
        PUSH        DR0
        MOV                WR0,#27
        MOV                WR2,#30526
NEXT:
        DEC                DR0,#1
        JNE                NEXT
        POP                DR0
        RET             ;64K 程序大小的函数使用 RET 返回
;-------------------------------------
END



页: [1] 2
查看完整版本: 求大神指点