- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机应用技术的项目教程的项目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; //左移到下一位数码管 } } 程序说明: 延时时间合理设置;过长或过慢都不行。 【活动三】系统仿真调试
您可能关注的文档
最近下载
- 高中政治必修三政治与法治重点知识点归纳总结(复习必背).docx VIP
- Unit6+Understanding+Ideas高中英语外研版(2019)必修第三册.pptx VIP
- 高中物理人教版高三一轮复习牛顿第二定律之板块模型.pptx VIP
- 05-吹瓶生产工艺Krones吹瓶教程.ppt VIP
- 中外合作办学的可行性报告.pdf VIP
- 2025年[指南]胃息肉 .pdf VIP
- 函数专题二次函数在闭区间上的最值问题(5大题型).docx VIP
- 3.5.2 二次函数在闭区间上的最值问题-(必修第一册) (教师版).docx VIP
- 2025年招标资格证考试题库及答案(通用版).pdf VIP
- 办公设备维保服务办公设备维保方案.doc VIP
文档评论(0)