欢迎来到天天文库
浏览记录
ID:19877362
大小:490.00 KB
页数:21页
时间:2018-10-07
《自己动手学习单片机系列讲座多文件联编ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9讲多文件联编青岛科技大学王泽华13969742518多文件联编多文件联编将相关的一组函数放在一个C文件中,并为该C文件制作可供其它功能模块调用的头文件(*.h)。在其它功能模块中复用这组函数时,只需要在工程文件中添加进包含这组函数的源文件和对应头文件即可。多文件联编的优点1、代码的可复用性2、限定错误范围,便于查找调试错误3、团队开发,相互协作。预处理指令源代码中预处理指令叫做指示字(directive)。以#开头,在每行都是第一个非空字符。通常#都在第一列,后面紧跟着指示关键字。Gcc预处理
2、程序能够理解的指示字如下定义宏名字#define,预处理程序会把这个宏扩展到使用该名字的位置包含#include查找指示字列表,直到找到指定的文件,然后将文件内容插入,就好像在文本编辑器中插入一样判断1#if//为真,执行该段代码#elif//为真,执行该段代码#else//都不满足,执行该段代码#endif判断2#ifdef//若定义过某一宏,执行该段代码#else//没定已过,执行该段代码#endif判断3#ifdefined//若定义过某一宏,执行该段代码#elifdefined//定义过另
3、一宏,执行该段代码#else//否则执行该段代码#endif判断4#ifndef//若没定义过某一宏,执行该段代码#else//否则,执行该段代码#endif判断5#if!defined//若没定义过该宏,执行该段代码#elif!defined//若没定义过该宏,执行该段代码#else//否则,执行该段代码#endif液晶显示头文件lcd.h#ifndef_LCD_H_#define_LCD_H_1#include#ifndef_NOP#define_NOP()__asm___
4、_volatile__("nop"::)#endif/******************************************************************************///LCD定义/******************************************************************************///LCD1602写指令;#defineclear_scr0x01//清屏#definecursor_return0
5、x02//光标回左上角#definedata_cur_right0x06//数据写入光标右移,AC+1#definedisp_on0x0C//显示开#definedisp_off0x08//显示关#definecursor_right0x14//整体显示,光标右移,AC+1#definedisp_line0x38//两行显示,5*7点阵//LCD控制端口定义#defineLCD_CTRL_PORTPORTC#defineLCD_CTRL_DDRDDRC//LCD控制端口针定义#definePIN_
6、RSPC0//RS针连接定义#definePIN_RWPC1//RW针连接定义#definePIN_ENPC2//EN针连接定义//LCD数据端口定义#defineLCD_PORTPORTB//发送LCD数据端口#defineLCD_PINPINB//读取LCD数据端口#defineLCD_DDRDDRB//LCD数据端口方向//LCD控制功能定义#defineRS_0()LCD_CTRL_PORT&=~(1<7、=(18、<9、=(1<10、=(1<11、ignedcharcmd);externvoidWrite_LCD_Data(unsignedchardat);externvoidinitLcd();externunsignedcharLCD_ShowChar(chars,unsignedcharcDDRAM);externvoidLCD_ShowStr(char*str,unsignedcharcDDRAM);externvoiddivData(intx,intiPoint,char*cDisp_Buff,intiLen_Bu
7、=(1
8、<9、=(1<10、=(1<11、ignedcharcmd);externvoidWrite_LCD_Data(unsignedchardat);externvoidinitLcd();externunsignedcharLCD_ShowChar(chars,unsignedcharcDDRAM);externvoidLCD_ShowStr(char*str,unsignedcharcDDRAM);externvoiddivData(intx,intiPoint,char*cDisp_Buff,intiLen_Bu
9、=(1<10、=(1<11、ignedcharcmd);externvoidWrite_LCD_Data(unsignedchardat);externvoidinitLcd();externunsignedcharLCD_ShowChar(chars,unsignedcharcDDRAM);externvoidLCD_ShowStr(char*str,unsignedcharcDDRAM);externvoiddivData(intx,intiPoint,char*cDisp_Buff,intiLen_Bu
10、=(1<11、ignedcharcmd);externvoidWrite_LCD_Data(unsignedchardat);externvoidinitLcd();externunsignedcharLCD_ShowChar(chars,unsignedcharcDDRAM);externvoidLCD_ShowStr(char*str,unsignedcharcDDRAM);externvoiddivData(intx,intiPoint,char*cDisp_Buff,intiLen_Bu
11、ignedcharcmd);externvoidWrite_LCD_Data(unsignedchardat);externvoidinitLcd();externunsignedcharLCD_ShowChar(chars,unsignedcharcDDRAM);externvoidLCD_ShowStr(char*str,unsignedcharcDDRAM);externvoiddivData(intx,intiPoint,char*cDisp_Buff,intiLen_Bu
此文档下载收益归作者所有