欢迎光临
我们一直在努力

江协51单片机学习日志(5模块化编程与LCD1602)

一、学习内容:

1.什么是模块化编程

放了4张PPT,已经很清晰了

总结下就是,模块化编程可使主体代码更简洁。通常把变动不大的子函数/变量整理成一个个模块文件(.c和.h)主体需要时直接调用即可

.h文件中的3个预编译可以避免重复定义,#ifndef表示如果没有定义某某,则继续下面的编译,接着的#define正好定义了没定义的某某,直到#endif结束这段编译。如果在#ifndef之前已经定义过某某,那么根本不会进入#ifndef,也就不会再次define。

———————————————————————————————————————————

2.怎么模块化

先找出可以模块化的子函数/变量,像上节课的Delay和Nixie函数

再根据框图创造出.c和.h两个文件,分别把定义和声明(要加分号)填进去

最后在main.c(主体)中调用(#include "XXX.h")

———————————————————————————————————————————

3.认识LCD1602调试工具

根据原理图,LCD影响了P0组和P2组,所以LCD会导致数码管和部分LED乱码,不能同时使用

                                    

———————————————————————————————————————————

二、实操注意点

1.液晶屏不要倒着插,可能会响,显示不正常

2.模块里用到模块也要加相应的头文件

        NiXie.c中用了Delay函数也要调用

3.软件中打开老师源码,出现中文乱码(文字不匹配),可从记事本上复制代码粘贴解决

4.与老师代码的头文件不匹配报错,改成自己的<STC89C5xRC.H>

5.LCD_ShowNum超过范围0~65535,会重新从00000开始计数

6.函数后面不要误加等号

———————————————————————————————————————————

三、代码展示

——————————————————-这是分界线——————————————————————

LCD1602.c和LCD1602.h都是老师写的代码原件(只改了一个头STC),其中.c文件太长就截了一点点

Delay.c和Delay.h跟前面的一模一样,没放

留个疑问:LCD_ShowBinNum的显示逻辑不太懂

2026.9.2完课

2026.9.2整理完毕

赞(0)
未经允许不得转载:171主机测评 » 江协51单片机学习日志(5模块化编程与LCD1602)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址