找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: sadv
打印 上一主题 下一主题
收起左侧

小容量的单片机芯片怎么提高存储空间利用率?

  [复制链接]
41#
ID:739610 发表于 2021-9-23 15:35 | 只看该作者
这个需要和个人能力挂钩的   计算机原理、汇编缺一不可   用C代码精简不到最优  如果能用机器语言更好  
回复

使用道具 举报

42#
ID:887202 发表于 2021-9-23 16:21 | 只看该作者
00云梦泽00 发表于 2021-9-23 15:35
这个需要和个人能力挂钩的   计算机原理、汇编缺一不可   用C代码精简不到最优  如果能用机器语言更好

入行半年的我有点吃不消啊
回复

使用道具 举报

43#
ID:81196 发表于 2021-9-23 17:14 | 只看该作者
不断优化自己的代码,拒绝冗余段
回复

使用道具 举报

44#
ID:624769 发表于 2021-9-23 19:42 | 只看该作者
sadv 发表于 2021-9-23 16:21
入行半年的我有点吃不消啊

基于,40楼的抛砖引玉…………
  1.                 K        BIT        P2.0

  2.                 CSEG        AT        0000H
  3. Start:           JB        K,Not_Press
  4.                    INC        A
  5.                    JNB        K,$
  6. Not_Press:    CJNE        A,#1,IF_2
  7.                    MOV        P1,#1
  8.                     AJMP        Start
  9. IF_2:            CJNE        A,#2,IF_3
  10.                     MOV        P1,#3
  11.                     AJMP        Start
  12. IF_3:             CJNE        A,#3,IF_x
  13.                     MOV        P1,#2
  14.                     AJMP        Start
  15. IF_x:             CLR        A
  16.                     MOV        P1,A
  17.                     AJMP        Start

  18. END
复制代码
Program Size: data=8.0 xdata=0 code=36
我把他的程序用,汇编写了一遍,你可以比较两者大小的差距。
回复

使用道具 举报

45#
ID:491577 发表于 2021-9-23 20:57 | 只看该作者
怎么便宜的单片机资源实在是不够用的话可以考虑用2片呀,
回复

使用道具 举报

46#
ID:739610 发表于 2021-9-23 21:32 | 只看该作者
sadv 发表于 2021-9-23 16:21
入行半年的我有点吃不消啊

师傅领进门  修行在个人  那只能选择高级点的单片机了   就不用考虑资源了
回复

使用道具 举报

47#
ID:401564 发表于 2021-9-24 10:44 | 只看该作者
188610329 发表于 2021-9-23 19:42
基于,40楼的抛砖引玉…………
Program Size: data=8.0 xdata=0 code=36
我把他的程序用,汇编写了一遍 ...

人家是PIC的汇编,不一样的
PIC有的汇编是没有比较的
MOV        P1,#1也是不行的,早先的PIC是不能这样的,不能直接对进行传送的,只能通过W(PIC的累加器,相当于A)进行传送
你这个在PIC是要这样:
MOV        A,#1
MOV        P1,A
PIC也没有比较相等的指令,只能通过减法进行比较
PIC也没有JNB这种指令,它只有条件跳过下一条指令,它只能跳过下一条指令,不能指定标号跳转.....
回复

使用道具 举报

48#
ID:213173 发表于 2021-9-24 10:46 | 只看该作者

这种极低价格的单片机只适用于对成本非常敏感且无安全等级要求的低附加值产品。楼主也不要指望用其开发什么高大上的玩意。真想玩就老老实实学汇编。
回复

使用道具 举报

49#
ID:624769 发表于 2021-9-24 15:24 | 只看该作者
Y_G_G 发表于 2021-9-24 10:44
人家是PIC的汇编,不一样的
PIC有的汇编是没有比较的
MOV        P1,#1也是不行的,早先的PIC是不能这样 ...

诚如 47楼所说, 这段代码只是让你看看 汇编 和 C 之间的程序大小差距,你好有个概念,正式编写的时候,下载由该单片机提供的 汇编码表,就算他是抄的PIC的汇编,也可能会增减部分代码, 比如WCH 的51系列 他就在51汇编的基础上,加了一条,补足了256条汇编指令。用起来更加舒服。你的SQ013L要是也有类似的增补,分分钟汇编比C还好用。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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