单片机的模块化编程一、编写单片机C语言程序开头格式File name:文件名称 Author:作者Version:版本号Description:功能描述Data:日期二、单片机C语言程序模块化步骤1、在同一文件夹下新建一个Main.C文件(或主文件或运行文件)和xxx.C文件(或功能文件)和xxx.h文件(头文件),其中xxx.C文件(或功能文件)和xxx.h文件(头文件)的文件名“xxx”要有意义,最好可以体现该文件的功能。2、编写xxx.C文件(或功能文件)内容(1)、包含xxx.h文件(或头文件)include"led.h" (2)、声明变量或定义变量 //视具体情况,这步骤可省...
#include <reg51.h> #include< intrins.h> #define uchar unsigned char #define uint unsigned int //#define ulong unsigned long #define KeyPort P1//自定义按键端 #define AD_IN0 0x40////自定义PCF8591的AD转换通道1 #define AD_IN1 0x41//自定义PCF8591的AD转换通道2 #define AD_IN2 0x42//自定义PCF8591的AD转换通道3 #define A...
PCF的C程序#include"PCF8974.h" #include"intrins.h" #define Write 0x40 #define Read 0x41 unsigned char dat[]={0}; void IIC_Start(void) { CLK = 1; SDA = 1; CLK = 0; SDA = 0; } void IIC_Stop(void) { CLK = 0; SDA = 0; CLK = 1; SDA = 1; } void IIC...
#include <reg52.h> //定义输出端口 sbit INT=P1^0; sbit INT2=P1^1; sbit INT3=P1^2; sbit INT4=P1^3; sbit EN1 = P1^4; sbit EN2 = P1^5; typedef unsigned int u16; typedef unsigned char u8; u8 buf; //串口数据缓冲 u8 speed=100; //设置初始速度 u8 pwm; //设置比较参数 //向前走 voi...
/* 基于ATT7022E的三相工频交流电测量 Coder : Farman Date : 2018-01-02 */ #include <STC89C5xRC.H> #include <intrins.h> #include <stdio.h> #include "Delay.h" #include "ST7066.h" #ifndef ATT7022_H #define ATT7022_H sbit ATT7022E_CS = P2^7; sbit ATT702...
前言学习单片机总要接触一些控制,比如电机调速,舵机驱动,步进电机驱动。这是必不可少需要用到一种控制机制———PWM(脉冲宽度调制)提示:以下是本篇文章正文内容,下面案例可供参考一、学习前需要掌握哪些内容?1.掌握单片机定时器的使用方法2.掌握c语言基础二、开始1.基操来一下代码如下(示例):#include <reg52.h> typedef unsigned int u16; typedef unsigned char u8; //声明变量 sbit PWM = P1^0; //定义PWM输出口 2.重头戏以下代码就是具体实现方案代码如下(示例):u16 A = 0; ...
代码不错,值得学习借鉴#include <reg52.h> #include <intrins.H> #include "LCD1602.H" #define uint unsigned int #define uchar unsigned char sbit KEY1=P2^4; sbit KEY2=P2^5; sbit KEY3=P2^6; sbit BEEP=P1^0; sbit Trig=P3^3; sbit Echo=P3^2; float distance; uint R_distance; uint time; ui...
/* Coder : Farman Date : 2018-01-02 参考了厂家的TM1637数据手册,在此表示感谢。 */ #include <STC89C5XRC.h> //包含52单片机头文件 #include "Delay.h" sbit I2C_SCL = P2^1; //定义模拟IIC总线的时钟线 sbit I2C_SDA = P2^0; //定义模拟IIC总线的数据线 #define TM1637_BRIGHTNESS 7 // 0 - 7 void I2C_delay() { nop_(); } ...
下面的示例代码基于51单片机,用于快速二次开发实现基于串口字符串通信控制程序(比如要实现电脑控制单片机的开灯和关灯),示例很言简意赅,并附上了详尽的注释,本示例代码经过了更新,新版本代码更加友好了,#include<reg52.h> //------------------串口通信的数据包协议-----------------// /* 此程序的串口字符串通信使用到下面的一个自定义协议,每次通信都是发送或接收一个数据包,数据包格式解释如下(长度恒为15): 例如:A01_fmq_01Off___# A--------数据包的开始标记(可以为A到Z,意...