版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 -51单片机单片机C语言开发语言开发金沙滩工作室金沙滩工作室 作者:宋作者:宋雪松雪松 n第第十九十九课:课:n 实践项目开发实践项目开发多功能电子钟多功能电子钟类型说明类型说明typedefntypedef 原类型名原类型名 新类型名新类型名n typedef signed char int8; / 8位有符号整型数位有符号整型数n typedef signed int int16; /16位有符号整型数位有符号整型数n typedef signed long int32; /32位有符号整型数位有符号整型数n typedef unsigned c
2、har uint8; / 8位无符号整型数位无符号整型数n typedef unsigned int uint16; /16位无符号整型数位无符号整型数n typedef unsigned long uint32; /32位无符号整型数位无符号整型数n不推荐的写法:不推荐的写法: #define uchar unsigned char typedef和和#define的区别的区别n#define是由预处理完成的,而是由预处理完成的,而typedef则是在编译时完成的。则是在编译时完成的。n#define uchar unsigned char ntypedef unsigned char ui
3、nt8;n对于对于#define来说,更多是进行程序可读性、易维护的替换来说,更多是进行程序可读性、易维护的替换n#define LCD1602_DB P0n#define SYS_MCLK (11059200/12)ntypedef unsigned char uint8; uint8 i, j;n#define uchar unsigned char uchar i, j;ntypedef int* int_p; int_p i, j; 等价于等价于 int* i; int* j;n#define int_p int* int_p i, j; 等价于等价于 int* i; int j;头文
4、件头文件n#include:表示预处理程序直接到系统指定的:表示预处理程序直接到系统指定的“包含文包含文件目录件目录”去查找。去查找。n#include文件名文件名:首先在当前文件所在的文件目录中查找被包:首先在当前文件所在的文件目录中查找被包含文件,如果没有找到才会再到系统的含文件,如果没有找到才会再到系统的“包含文件目录包含文件目录”去查找。去查找。nmain.h包含内容:包含内容:n1、main.c使用的宏;使用的宏;n2、其他、其他.c文件要用到的在文件要用到的在main.c中定义的全局变量,进行中定义的全局变量,进行extern。n3、main.c内自定义类型进行声明。内自定义类型进
5、行声明。n4、main.c内提供给其他文件使用的全局函数。内提供给其他文件使用的全局函数。n1、已经定义过此变量的文件不需要进行外部声明语句。、已经定义过此变量的文件不需要进行外部声明语句。n2、如果、如果a.h包含包含main.h文件,文件,b.h也包含了也包含了main.h文件,如果文件,如果Lcd.c文件既包含了文件既包含了a.h,又包含了,又包含了b.h,那样就会出现重复包含,那样就会出现重复包含,会发生函数和变量的重复声明。会发生函数和变量的重复声明。条件编译条件编译n用法用法1: #if 表达式表达式n 程序段程序段1n #elsen 程序段程序段2n #endifn #defin
6、e PLAN 0n #if (PLAN = 0)n 程序段程序段1n #else n 程序段程序段2n #endif条件编译条件编译n 表达式二:表达式二:n #ifdef 标识符标识符n 程序段程序段1n #else n 程序段程序段2n #endifn n 表达式三:表达式三:n #ifndef 标识符标识符n 程序段程序段1n #else n 程序段程序段2n #endif多功能电子钟多功能电子钟-项目需求分析项目需求分析n功能需求:功能需求:n日期、时间、星期、按键校时、闹钟、温度测量、红外遥控校时。日期、时间、星期、按键校时、闹钟、温度测量、红外遥控校时。n人性化设计需求:人性化设计
7、需求:n时间显示:时间显示: 数码管数码管(醒目醒目)n星期显示:星期显示:点阵点阵(醒目醒目+显示有限显示有限)n装饰:装饰: 来回流水灯来回流水灯n日期、温度和闹钟等辅助信息显示:日期、温度和闹钟等辅助信息显示:液晶液晶n近距离校时:近距离校时:按键按键n远距离遥控校时:远距离遥控校时:红外遥控器红外遥控器n 多功能电子钟多功能电子钟-程序结构规划程序结构规划n功能模块:功能模块:n时间走动:时间走动:DS1302n显示时间:点阵、数码管、独立显示时间:点阵、数码管、独立LED、液晶、液晶n校对时间:板载按键、遥控器校对时间:板载按键、遥控器n闹钟:蜂鸣器闹钟:蜂鸣器n底层划分:底层划分:
8、n1、DS1302走时的核心自成一个模块走时的核心自成一个模块n2、点阵、数码管、独立、点阵、数码管、独立LED都属于都属于LED,控制方式类似都需要,控制方式类似都需要动态扫描,作为一个整体模块动态扫描,作为一个整体模块n3、液晶显示有时序要求,独立一个模块、液晶显示有时序要求,独立一个模块n4、按键和遥控器的驱动各自成为一个模块、按键和遥控器的驱动各自成为一个模块n5、18B20温度底层程序温度底层程序n应用层:应用层:nTimer.c:调度各种显示驱动函数、决定哪个数据显示在何处、:调度各种显示驱动函数、决定哪个数据显示在何处、执行按键功能动作、对比当前时间和闹钟时间等等上层功能。执行按
9、键功能动作、对比当前时间和闹钟时间等等上层功能。nmain.c:执行主循环扫描、系统时间、个别零散小功能函数:执行主循环扫描、系统时间、个别零散小功能函数 应用层流程图应用层流程图多功能电子钟多功能电子钟-程序代码编写流程程序代码编写流程n1、工程建立和文件存放分配。、工程建立和文件存放分配。n2、根据原理图进行全局参数声明、引脚声明、类型说明等头文、根据原理图进行全局参数声明、引脚声明、类型说明等头文件编写。件编写。n3、功能模块调试:、功能模块调试:l11602液晶功能调试液晶功能调试l2LED和蜂鸣器功能调试:定时器和蜂鸣器功能调试:定时器2l3DS1302读写调试读写调试l4温度显示调试温度显示调试l5板载按键功能调试板载按键功能调试 :定时器:定时器0l6红外遥控器按键功能调试:定时器红外遥控器按键功能调试:定时器1n4、应用层程序调试、应用层程序调试n5、综合程序总体功能调试、综合程序总体功能调试作业作业n1、学会使用类型说明定义新类型,能够区
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2030年中国冷轧带肋钢盘项目可行性研究报告
- 2024-2030年中国内墙空气净化乳胶漆产业未来发展趋势及投资策略分析报告
- 2024-2030年中国全自动无铅波峰焊融资商业计划书
- 2024年城市公共绿地景观改造工程施工合同
- 2024年广告制作合同广告内容与制作费用
- 2023年重庆石柱县教育事业单位招聘高校应届生考试真题
- 2023年阳江市江城区乡村公益性岗位考试真题
- 2024年学校教学楼地面硬化施工合同
- 2024年工程建设项目临时用工安全合同
- 2023年南通市市级机关公务用车服务中心制员工招聘考试真题
- 成人玩具创业计划书
- 粮油流通统计新任统计人员业务培训课件
- 汽车起重机日常检查维修保养记录表
- 中国医科大学2023年12月《康复工程学》作业考核试题-【答案】
- 荔枝包装工艺设计
- 浙江省9+1高中联盟2022-2023学年高一上学期11月期中考物理试题(解析版)
- 七年级上册英语期中专项复习-补全对话(含答案)
- 铁的单质(导学案)高一化学
- 政府数据信息保密协议范本
- 关于日本动漫介绍ppt
- 绞吸式挖泥船水下疏挖河渠施工工法
评论
0/150
提交评论