求大神指点
我现在的单片机是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 例程包里有汇编跑马灯
https://www.stcaimcu.com/data/download/DemoCode/STC32G-DEMO-CODE-V9.6.zip
都32位了,直接用C呗,移植性很强,相信能学会汇编,定然是能学会C的 猫虎的 发表于 2025-11-27 08:28
都32位了,直接用C呗,移植性很强,相信能学会汇编,定然是能学会C的
还是汇编自学方便,程序工工整整,C语言一大把符号,看着头疼 ercircle 发表于 2025-11-26 19:35
例程包里有汇编跑马灯
https://www.stcaimcu.com/data/download/DemoCode/STC32G-DEMO-CODE-V9.6.zip
大神,这些我也有的,这些程序为实验箱量身定做程序,我的除了p1,其他都是空着,希望程序简单化,求大神指点 kwdumcgd 发表于 2025-11-27 08:48
大神,这些我也有的,这些程序为实验箱量身定做程序,我的除了p1,其他都是空着,希望程序简单化,求大神 ...
学习论坛课程,自己动手丰衣足食
陈桂友老师-STC单片机教学视频 国芯人工智能技术交流网站 - AI32位8051交流社区
《8051U深度入门到32位51大型实战视频》,【免费 + 包邮 送】实验箱@Ai8051U,100万套 - 字库生成,图片取模,串口绘图,串口助手,虚拟硬件,外部串行Flash编程 国芯人工智能技术交流网站 - AI32位8051交流社区
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 我作为新手的学习心得分享给你:
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
乐此不疲 发表于 2025-11-27 10:01
我作为新手的学习心得分享给你:
1.STC新型单片机使用时都要配置端口工作模式。
2.还要启用扩展寄存器(XFR) ...
感谢 给你一个何宾老师的编程框架
;*******************************************************************
$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