- 1、本文档共39页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机应用技术的项目教程的项目5 数字显示器
例如:有参数传递的延时子程序:可以随时改变k的传递值以达到不同的延时。 void delay(unsigned int k) { unsigned int i,j; for(i=0;ik;i++) for(j=0;j200;j++) ; } 有参函数 #include “reg51.h” void delay(unsigned int xms ) //延时子函数 { unsigned int i,j; for(i=0;ixms;i++) for(j=0;j115;j++) ; } void main() { P1 = 0x00; delay(200); //调用延时函数。 P1 = 0xff; delay(500); … } 实际参数 形式参数 (3)空函数:此种函数体内无语句,在被调用时,无任何操作,是为了以后程序功能的扩充。 空函数的定义形式: 函数类型标识符 函数名() { } 例: int add() { } 无函数体 返回值数据类型 函数调用的一般形式为: 函数名 ( 实际参数列表 ); 在一个函数中需要用到某个函数的功能时,就调用该函数。调用者称为主调函数,被调用者称为被调函数。 若被调函数是有参函数,则主调函数必须把被调函数所需的参数传递给被调函数。传递给被调函数的数据称为实际参数(简称实参),必须与形参在数量、类型和顺序上都一致。实参可以是常量、变量和表达式;实参对形参的数据传递是单向的,即只能将实参传递给形参。 如果调用的是无参函数,则实际参数表可省略,但函数名后面必须有一对空括号。 函数的调用 在一个函数中调用另一个函数必须具有以下条件: (1)被调用函数必须是已经存在的函数(库函数或用户自定义函数)。 (2)如果程序中使用了库函数,或使用了不在同一文件中另外的自定义函数,则应该在程序的开头处使用#include包含语句,将所用的函数信息包括到程序中来。例如: #include 〈stdio.h〉 //将标准输入输出头文件包含到程序中 #include “delay.h” //将用户自定义头文件包含到程序中 程序在编译时,系统就会自动将头文件中有关函数调入到程序中去,编译出完善的程序代码。 (3)如果被调用函数出现在主调函数之后,对被调函数在调用函数之前,应对被调用函数进行声明。函数声明的一般形式有两种: 如 float add(float x, float y); float add(float, float); 函数声明可以放在文件的开头,这时所有函数都可以使用此函数。 对被调用函数的声明 【活动一】 硬件设计 动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。 所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留(20ms)作用,使人的感觉好像各位数码管同时都在显示。 数码管的动态显示要点提示 1、若干个数码管的段端接一起,通过单片机的I/O口控制数码管的位选端,实现若干个数码管轮流显示 2、单片机的1个I/O口带着若干个数码管,电流小,所以数码管亮度低。所以要加驱动(加三极管、驱动器),增加亮度。 共阳数码管:需要高电平,加PNP三极管(8550) 共阴数码管:需要低电平,加NPN三极管(8050) 3、延时时间合理设置;过长或过慢都不行。 硬件电路设计 动态显示算法分析 开始 数码管1置位 查表取数显示 延时 熄灭(关断显示) 数码管1置位 查表取数显示 延时 熄灭(关断显示) 数码管1置位 查表取数显示 延时 熄灭(关断显示) 【活动二】软件设计 Y 十制数分离 初始化显示 调用显示子程序 显示完毕? N 主程序流程图 开始 结束 送段码 送位码 延时 关数码 最后一位? 移位 N 动态显示扫描流程图 开始 结束 动态显示扫描程序段 void display( ) { tmp=0x01; for(i=0;i4;i++) { P3=tmp; //送位码 P2=tab[i]; //送段码 delay(2); //延时 P2=0xff; //关断数码管 tmp=tmp1; //左移到下一位数码管 } } 程序说明: 延时时间合理设置;过长或过慢都不行。 【活动三】系统仿真调试
您可能关注的文档
- 华星2010年宁波国大雷迪森国际中心2#地块营销推广的方案.ppt
- 华标涛景品牌整合推广的策略.ppt
- 华燕2009年太仓市浏河高成·上海假日推广的策略.ppt
- 华润重庆华润12城品牌的策略的方案 204PPT2007年.ppt
- 华电宁夏灵武电厂二期工程质量工艺的的策划的方案.doc
- 华燕2014年1月昆山白鹭湾营销的策略的报告.ppt
- 华燕无锡上海城开包豪斯国际中心营销的策略64PPT2010年.ppt
- 华盛国际大厦施工组织的设计.doc
- 华睦时尚购物中心招商的方案.ppt
- 华纳公司薪酬的体系的设计.doc
- 教科版(2017秋)科学二年级上册2.6 做一顶帽子 教学设计.docx
- 河北高频考点专训四 质量守恒定律的应用教学设计---2024-2025学年九年级化学人教版(2024)上册.docx
- 大单元教学【核心素养目标】6.3 24时计时法教学设计 人教版三年级下册.docx
- 河南省商城县李集中学2023-2024学年下学期九年级历史中考模拟八(讲评教学设计).docx
- 第18章 第25课时 正方形的性质2023-2024学年八年级下册数学课时分层作业教学设计( 人教版).docx
- Module 8 模块测试 教学设计 2024-2025学年英语外研版八年级上册.docx
- 2024-2025学年小学数学五年级下册浙教版教学设计合集.docx
- 2024-2025学年小学劳动四年级下册人民版《劳动》(2022)教学设计合集.docx
- 2024-2025学年小学数学三年级上册冀教版(2024)教学设计合集.docx
- 2024-2025学年高中生物学必修1《分子与细胞》人教版教学设计合集.docx
文档评论(0)