单片机的学习(6)模块化编程和LCD1602调试工具

5.1模块化编程

1.模块化编程

传统方式编程:所有的函数都放在main.c,若使用的模块比较多,则一个文件内会有很多的代码,不利于代码的组织和管理,而且很影响编程者的思路。
模块化编程:把各个模块的代码放在不同的.c文件里,在.h文件里提供外部可调用函数的声明,其他.c文件想使用其中的代码时,只需要#include"XXX.h"文件即可。使用模块化编程可极大的提高代码的可阅读性,可维护性,可移植性等。
在这里插入图片描述

2.模块化编程注意事项

.c文件:函数,变量的定义
.h文件:可被外部调用的函数,变量的声明
任何自定义的变量,函数在调用前必须有定义或声明(同一个.c)
使用到的自定义函数的.c文件必须添加到工程参与编译
使用到的.h文件必须要放在编译器可寻找到的地方(工程文件根目录,安装目录,自定义)

3.C预编译

在这里插入图片描述

4.练习模块化编程

在这里插入图片描述

5.2LCD1602调试工具

1.LCD1602调试工具

在这里插入图片描述

2.原理图

在这里插入图片描述

5.3遇到的问题

1.字体调节
选用改字体可以避免中文注释乱码的情况
在这里插入图片描述

2.在目录工程中不显示.h文件
将文件类型改为All files
在这里插入图片描述
3.液晶屏没有显示数据
这个弄了好久,也没找到问题,后面再找时间看看。

后面问了客服解决了这个问题
(1)
在这里插入图片描述
(2)
在这里插入图片描述
(3)
在这里插入图片描述

5.4程序代码

准备:需要提前下载LCD1602的相关程序,下载网址:https://jiangxiekeji.com/download.html
51->课件及程序源码->程序源码->程序源码->LCD1602驱动代码

1.工程目录

在这里插入图片描述

2.Delay.c函数

void Delay(unsigned int xms)		//@11.0592MHz
{
	unsigned char data i, j;
	while(xms--)
	{
		//_nop_();
		i = 2;
		j = 199;
		do
		{
			while (--j);
		} while (--i);
	}
}

3.main函数

功能:在屏幕上显示数字,并以一秒的速度更换

#include <REGX52.H>
#include "LCD1602.h"
#include "Delay.h"
int Result=0;
void main()
{
	LCD_Init();
//	Result=1+1;

	while(1)
	{
		Result++;
		Delay(1000);
		LCD_ShowNum(1,1,Result,3);
	}
}

在LCD1602这里花了很多时间,因为我尝试了很多办法都找不出液晶屏不能正常显示的原因,幸好最后搞定了。从本节开始,明显感觉内容强度和难度都加大了,要及时复习才行。

  • 14
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值