当前位置: 首页 > article >正文

51单片机 04 编程

一、模块化编程

.c文件:函数、变量的定义

.h文件:可被外部调用的函数、变量的声明

函数在调用前必须有定义或者声明。

预编译:以#开头,作用是在真正的编译开始之前,对代码做一些处理(预编译)

在这里使用inndef/define是为了防止重复编译

 <>  是在安装目录里面寻找      “”是在自己的程序目录里面寻找。

宏定义中不能包含 .(点号),例如 #define __NIXIE.H__是不合法的。

二、LCD1602调试工具(用6-1改过的)

RC板子液晶屏幕会卡住,这一节无实操。

注释:第一行第一列显示 'A';showstring:在指定行列起始位置显示字符串; 其余的地方在lcd.c文件中有注释。

main.c

#include <REGX52.H>
#include "LCD1602.h"	//包含LCD1602头文件
#include "Delay.h"		//包含Delay头文件

int Result=0;

void main()
{
	LCD_Init();
	while(1)
	{
		Result++;					//Result自增
		Delay(1000);				//延时1秒
		LCD_ShowNum(1,1,Result,3);	//在LCD的1行1列显示Result,长度为3位
	}
}

delay.c   

void Delay(unsigned int xms)
{
	unsigned char i, j;
	while(xms--)
	{
		i = 2;
		j = 199;
		do
		{
			while (--j);
		} while (--i);
	}
}

delay.h

#ifndef __DELAY_H__
#define __DELAY_H__

void Delay(unsigned int xms);

#endif


http://www.kler.cn/a/534452.html

相关文章:

  • Gurobi基础语法之 addConstr, addConstrs, addQConstr, addMQConstr
  • 《Kettle保姆级教学-界面介绍》
  • 【分布式架构理论2】分布式架构要处理的问题及解决方案
  • 【LeetCode】5. 贪心算法:买卖股票时机
  • 解决Mac安装软件的“已损坏,无法打开。 您应该将它移到废纸篓”问题
  • 华为小米vivo向上,苹果荣耀OPPO向下
  • 【Elasticsearch】 Composite Aggregation 详解
  • React中key值的正确使用指南:为什么需要它以及如何选择
  • 【MySql】数据库Redo日志介绍
  • Slint的学习
  • 文本生图的提示词prompt和参数如何设置(基于Animagine XL V3.1)
  • 2025.2.5总结
  • Deepseek v3R1 学习笔记
  • 孟加拉国_行政边界省市边界arcgis数据shp格式wgs84坐标
  • 网络爬虫js逆向之某音乐平台案例
  • input 超出maxlength限制后,输入框变红
  • 9-收纳的知识
  • LabVIEW自定义测量参数怎么设置?
  • 基于springboot的体质测试数据分析及可视化设计
  • 教程 | i.MX RT1180 ECAT_digital_io DEMO 搭建(一)
  • 2025.2.5
  • 【分布式】服务端高并发分布式结构演进
  • C#面试常考随笔15:C#的GC原理是什么?
  • 【蓝桥杯—单片机】第十一届省赛真题代码题解题笔记 | 省赛 | 真题 | 代码题 | 刷题 | 笔记
  • leetcode_680 验证回文串
  • 除了淘宝开放平台的 API,还有哪些方式可以获取淘宝商品详情信息数据?