数码之家

 找回密码
 立即注册
搜索
查看: 987|回复: 14

[C51] 小白自学C51单片机编程,模块化的理解

[复制链接]
发表于 2024-1-10 09:28:04 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

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

x
从网上学习了模块化编程的知识,然后就是自己实践,
下面这张图是网上找的,最形像的说明了模块化的做法



按这个思路我试着把各个子 函数改成一个个模块
先是延时

delay.c.png
delay.h.png
1602部分,有位声明,所以添加了reg52.h 用到了延时,所以添加了delay.h

1602.c.png
1602.h.png
按键部分,用到了位声明,延时和时分秒的定义
所以添加了rge52.h delay.h jishi.h

key.c.png
. key.h.png
计时部分
计时部分的变量其它函数也要用到,所以在.h时声明了变量,不用给值

jishi.c.png
jishi.h.png
定时器部分,中断跟定时器写在一起了,
timer0.c.png
timer0.h.png
main部分
main.c.png
这只是我自己的理解,有合适的地方请大家批评指正,谢谢





 楼主| 发表于 2024-1-10 09:29:28 | 显示全部楼层
怎么发出来,少了一张图,补上
f053f46edc67c335bc06572a61be867.png

回复 支持 反对

使用道具 举报

发表于 2024-1-10 09:57:52 | 显示全部楼层
不是专业的还是玩ARDUINO方便
回复 支持 反对

使用道具 举报

发表于 2024-1-10 10:30:12 | 显示全部楼层
我是看不懂
回复 支持 反对

使用道具 举报

发表于 2024-1-10 10:33:18 | 显示全部楼层
我的理解是:模块化的目的是为了合作和共用,合作就是不同的伙伴写不同的功能实现,共用就是相同的功能用到多个项目中(可能是相同的平台,也可能是不同的)
回复 支持 反对

使用道具 举报

发表于 2024-1-10 10:47:32 | 显示全部楼层
C51用的是C编程吗
回复 支持 反对

使用道具 举报

发表于 2024-1-10 10:53:03 | 显示全部楼层
看似复杂的编程,其实只是个简单的操作指令
回复 支持 反对

使用道具 举报

发表于 2024-1-10 11:38:41 | 显示全部楼层
理解正确,包括后面的iic、spi、adc都是一个个模块
回复 支持 反对

使用道具 举报

发表于 2024-1-10 22:33:52 | 显示全部楼层
模块化那是必须的,不然一堆乱七八糟的
回复 支持 反对

使用道具 举报

发表于 2024-1-16 11:06:33 | 显示全部楼层
这个是必然的,如果不模块化的话,一个简单的时钟就得把人弄晕
回复 支持 反对

使用道具 举报

发表于 2024-1-16 17:31:19 | 显示全部楼层
很佩服楼主学编程进步神速,我的感觉是模块化编程有利于移植,尽早的进行模块化编程会使后来编程越来越简单的,有了新的项目时弄一个空白的文件夹而后把用到的模块的.c、.h文件都复制过来再写一个主函数就可以了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-17 11:07:46 | 显示全部楼层
太难了,仅凭一时的热情不知道能坚持多久,开发板的资源也有限,不知道写些什么了,
回复 支持 反对

使用道具 举报

发表于 2024-1-17 12:21:43 | 显示全部楼层
hellozwt 发表于 2024-1-17 11:07
太难了,仅凭一时的热情不知道能坚持多久,开发板的资源也有限,不知道写些什么了, ...

其实到了这里你已经学会了,接下来可以找些别人的项目看看代码是怎么实现的,也可以自己做一个实际的项目练练手,比如一个带学习功能的万能遥控器,怎么接收别的遥控的信号并保存下来,然后在按按键的时候发射出去
回复 支持 反对

使用道具 举报

发表于 2024-1-17 12:25:23 | 显示全部楼层
hellozwt 发表于 2024-1-17 11:07
太难了,仅凭一时的热情不知道能坚持多久,开发板的资源也有限,不知道写些什么了, ...

这东西一旦上手也很难撂下了,如果有机会从业的话自不必说,如果是兴趣所在就更加难以割舍,反倒是如何分配工作与爱好所占的精力是至关重要的。
回复 支持 反对

使用道具 举报

发表于 2024-1-20 22:52:53 | 显示全部楼层
先学下C 基础,再学这个单片机,更快吧
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-5-1 05:39 , Processed in 0.156000 second(s), 14 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

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