我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 331|回复: 30

[技术讨论] 单片机程序存储器61K,刚开始不明白,现在通过软件来验证是否是61K

  [复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:99
  • 打卡月天数:0
  • 打卡总奖励:320
  • 最近打卡:2026-06-10 14:36:35

12

主题

582

回帖

1002

积分

二级逆天

积分
1002

终身成就奖特殊贡献奖原创先锋奖

发表于 2026-8-11 22:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 小白学习 于 2026-8-11 22:35 编辑

刚接触单片机在学校,上课听得云里雾里,印象最深刻的是某某单片机的程序存储器多少K,一直不明白这个,后面工作自学单片机不断了解这里的多少K,今天来讲讲我的理解



image.png



方案1:通过写很多代码去堆积代码量占用到61K
方案2:只写一条功能代码,把代码放在容量的末尾,装入代码后容量刚好满61K或多或少
我用的方案2,一下是我的代码






;=========================
; 使用外部中断0来这段代码来演示单片机程序存储器大小
; 芯片:STC90C516RD+ (61K=62464)
; 功能:P3.2(INT0)下降沿触发中断,每次中断翻转P0.0电平(我开发板P0.0接的LED阴级,有电平翻转就会亮灭)
;=========================
;interrupt vector table       ; 中断向量表区域
ORG 0000H                    ; 让PC内容为0000H,CP相当于CPU导航,告诉CPU从0000H位置去干活
LJMP MAIN                    ; 长跳转到主程序,避开下方中断向量地址
ORG 0003H                    ; 外部中断0(INT0)中断向量地址固定0003H
LJMP EXINT0                  ; 若发生INT0中断时,则跳转到中断服务函数
;-----------------------------------------
ORG 0F3F2H                   ; 主程序存放起始地址0F3F2H,61K程序存储器内存地址是0000H-F3FFH,这里把代码几乎放到容量的末尾了,方便验证容量是否为61K
MAIN:                         ; ;;主函数在程序存储器只用了14个字节,所以这是为什么从0FF0H开始存放,因为这样刚好存满62464个字节(61K)

MOV SP, #7FH                 ; 设置堆栈指针SP=7FH
                              ; 51默认SP=07H,和寄存器组重叠;设置7FH,堆栈从80H开始,防止覆盖通用RAM
SETB IT0                     ; IT0=1:外部中断0触发方式,下降沿触发
                              ; IT0=0为低电平触发
SETB EX0                     ; EX0=1:使能外部中断0(允许INT0中断)
SETB EA                      ; EA=1:开启CPU全局总中断开关
SJMP $                       ; 原地无限循环,等待中断触发(主程序空转)
;-----------------------------------------
;External interrupt0 service routine  ; 外部中断0中断服务子程序
EXINT0:
CPL P0.0                      ; P0.0引脚电平取反:高变低 / 低变高
RETI                         ; 中断返回指令,回到被打断的SJMP $处继续运行
;-----------------------------------------
END                          ; 汇编源代码结束标记





把代码不断调整到容量末尾位置,从ORG 0F3F1H开始装代码时候,P3.2接的按键只要有被按下,P0.0的灯就会亮,再按下就灭~~~
image.png

从ORG 0F3F2H
开始装代码时候,P3.2接的按键只要有被按下,P0.0的灯就会亮,再按下就灭~~~(现象同上)
image.png


从ORG 0F3F3H开始装代码时候,P3.2接的按键被按下,P0.0的灯虽然能亮,但是松开按键就灭了,按一下亮一下,一直按着一直亮,而且P2.0\P2.1\P2.2这三个口接的LED也有轻微点亮的痕迹(开始出现功能不正常了)
image.png


从ORG 0F3F4H开始装代码的时候,P3.2接的按键被按下,没有任何反应,由此可知在ORG 0F3F2H时候,代码刚好装满62464个字节就是61K
image.png










补充内容 (2026-8-18 21:49):
ORG 0000H相当于告诉编译器从0000H位置开始存放代码,Keil自动默认也是从0000H开始装代码,所以在Keil不要ORG 0000H也能用
回复

使用道具 举报

  • 打卡等级:以坛为家III
  • 打卡总天数:643
  • 打卡月天数:23
  • 打卡总奖励:2709
  • 最近打卡:2026-09-24 19:19:54

74

主题

1万

回帖

1万

积分

三级逆天

积分
10267

终身成就奖特殊贡献奖原创先锋奖社区居民灌水天才奖优秀斑竹奖宣传大使奖忠实会员最爱沙发社区劳模

QQ
发表于 2026-8-12 07:17 | 显示全部楼层
回复

使用道具 举报

  • 打卡等级:以坛为家III
  • 打卡总天数:433
  • 打卡月天数:19
  • 打卡总奖励:1862
  • 最近打卡:2026-09-24 09:00:02

18

主题

1359

回帖

2074

积分

二级逆天

积分
2074

终身成就奖社区居民新人进步奖最爱沙发

QQ
发表于 2026-8-12 08:24 | 显示全部楼层
回复

使用道具 举报

  • 打卡等级:以坛为家III
  • 打卡总天数:472
  • 打卡月天数:17
  • 打卡总奖励:1610
  • 最近打卡:2026-09-24 09:13:12

13

主题

1083

回帖

2777

积分

二级逆天

积分
2777

终身成就奖特殊贡献奖

QQ
发表于 2026-8-12 08:25 | 显示全部楼层
回复

使用道具 举报

  • 打卡等级:以坛为家III
  • 打卡总天数:577
  • 打卡月天数:13
  • 打卡总奖励:2590
  • 最近打卡:2026-09-16 09:00:21

34

主题

2161

回帖

6945

积分

1元学习Allegro(230718)

积分
6945

终身成就奖特殊贡献奖原创先锋奖

发表于 2026-8-12 08:56 | 显示全部楼层
回复

使用道具 举报

  • 打卡等级:常住青年
  • 打卡总天数:57
  • 打卡月天数:23
  • 打卡总奖励:185
  • 最近打卡:2026-09-24 09:01:06

0

主题

281

回帖

329

积分

二级逆天

积分
329
发表于 2026-8-12 09:27 | 显示全部楼层
回复

使用道具 举报

  • 打卡等级:以坛为家II
  • 打卡总天数:312
  • 打卡月天数:1
  • 打卡总奖励:994
  • 最近打卡:2026-09-18 21:19:15

24

主题

854

回帖

3595

积分

二级逆天

积分
3595

终身成就奖特殊贡献奖

QQ
发表于 2026-8-12 09:28 | 显示全部楼层
回复

使用道具 举报

  • 打卡等级:以坛为家III
  • 打卡总天数:545
  • 打卡月天数:24
  • 打卡总奖励:3529
  • 最近打卡:2026-09-24 09:00:00

44

主题

2179

回帖

4601

积分

1元学习Allegro(230718)

积分
4601

终身成就奖

发表于 2026-8-12 11:49 | 显示全部楼层
回复

使用道具 举报

  • 打卡等级:以坛为家III
  • 打卡总天数:606
  • 打卡月天数:21
  • 打卡总奖励:1794
  • 最近打卡:2026-09-24 09:08:52

17

主题

1312

回帖

5138

积分

1元学习PADS(2期)

积分
5138

终身成就奖特殊贡献奖原创先锋奖

QQ
发表于 2026-8-12 12:41 | 显示全部楼层
回复

使用道具 举报

  • 打卡等级:以坛为家II
  • 打卡总天数:218
  • 打卡月天数:0
  • 打卡总奖励:654
  • 最近打卡:2026-08-16 20:33:41

0

主题

1006

回帖

1416

积分

二级逆天

积分
1416
发表于 2026-8-12 23:48 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请举报投诉

本站所有资料仅限参考学习交流,PCB原理图源码等所有资料不保证准确没问题,请不要用作生产。否则后果自负。

闽公网安备35062302000276号 | 闽ICP备2024076463号-1 | 论坛技术支持QQ群171867948 | 论坛问题,充值问题请联系QQ1308068381

平平安安
TOP
快速回复 返回顶部 返回列表