- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9讲 数码管动态显示 数码管动态显示 本讲任务: 了解数码管动态显示原理,掌握其编程方法。 穿插讲解以下知识点: 数组、元素、利用数组实现查表 局部变量和全局变量的作用域、可见性 从1位数码管说起 复习:1位数码管和单片机的连接,其上显示1位十进制数的方法。 问题的提出: 1、如何显示4位十进制数? ? 用4个1位数码管拼成。 2、8个1位数码管和单片机如何连接 ? a、静态显示的连接方式、静态显示的优缺点(优点:不需要动态刷新;缺点:占用IO口线多)。 ? b、动态显示的连接方式(所有位数码管的段选线并联在一起,由 位选线控制是哪一位数码管有效)、动态显示的优缺点(缺点:需要动 态刷新;优点:占用IO口线少)。 4位及4位以上比较适合用动态显示,为了方便使用,市售的4位一体 数码管,内部已经按动态显示的连接方式连好了。 动态扫描的原理 在实际的单片机系统中,往往需要多位显示。动态显示是一种最常见的多位显示方法,应用非常广泛。所有数码管段选都连接在一起的时候,怎么让数码管显示不一样的数字呢?动态显示是多个数码管,交替显示,利用人的视觉暂停作用使人看到多个数码管同时显示的效果。就像我们看的电影是有一帧一帧的画面显示的,当速度够快的时候我们看到它就是动态的。当我们显示数码管的速度够快的时候,也就可以看到它们是同时显示了。 数码管的动态显示原理 动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。 动态显示编程原理 先编写一个程序,在4位一体数码管左数第4位显示4,过1秒,在左数第3位显示3,过1秒,在左数第2位显示2,过1秒,在左数第1位显示1,上述过程不断循环。 将中间的延时时间不断改短,我们发现了什么? 刷新频率50HZ,我们就感觉不到闪烁了。 所谓动态扫描显示是指轮流向各位数码管送出段选(字形码)和位选,由于人眼的视觉残留作用,使人的感觉好像各位数码管同时都在显示。 动态显示的亮度比静态显示要低,所以在选择限流电阻时应小于静态显示电路中的。 变量的作用域 变量有名称(姓名)、储存单元地址(肉身),还有作用范围、也叫有效范围(活动范围)、生命期(寿命)。变量的作用域是指变量的“有效范围”,具体是指是可以使用变量名的程序代码区域 。在变量的作用域中,可以合法地引用它、设置它的值。在变量的作用域之外,就不能使用它了,如果非要那么做,将会导致编译错误。变量,有的可以在整个程序中的所有范围内起作用,这称为全局变量。而有的只能在一定的范围内起作用,称为局部变量。 局部变量和全局变量 变量的可见性 问题:C语言中允许同名变量存在吗? 如果回答不允许,那是错的! 正确答案: 1、在不同的作用范围内,允许同名局部变量存在!虽然变量名相同,但它们是完全不同的变量,之间没有任何关系。你对一个局部变量赋值,不会影响到其他作用域中的同名局部变量。 2、在相同的作用范围内,不允许同名局部变量存在! 3、不允许同名全局变量存在! 关于变量定义的一些建议 全局变量主要用于函数间数据传送,从模块化编程的要求看,函数间数据传送一般要使用形参/实参、返回值来传送,除非万不得已,一般不要用全局变量来传递,本例中,因为中断函数的特殊性,只能通过全局变量来传递。总之,要严格控制全局变量的使用,用得越少越好!一般我们定义变量的时候,没有特殊情况,全部定义为局部变量,使用局部变量的好处: 1、不用考虑本作用域外是否有同名变量。 2、节约RAM空间。 3、便于移植。 定义一个简单的数据类型 ? 整型无符号 uint 范围 0-65535 16位 ? #define uint unsigned int ? 字符型无符号 uchar 范围 0-255 8位 ? #define uchar unsigned char ? 只要定义上面的数据类型后,写程序会简单很多 数组 数组:同类型的一批数据的有序集合。由若干个元素组成。必须先定义,后使用! 数组的定义: [存储器类型] 数据类型 数组名[元素的个数]; 赋初值: 定义的同时 可以对 整个数组 赋初值 初值的个数不能超过数组的大小 可以不指定元素的个数,则初值的个数就是元素的个数 定义以后 只能对 单个元素 进行赋值 元素的引用 用数组名和下标确定。 强调:下标从0开始。定义数组 uch
您可能关注的文档
最近下载
- 广汽集团公司2010年度财报.pdf
- HEIDENHAIN海德汉TNC640 (34059x-10) Cycle Programming用户手册.pdf
- 2024年机电安装工程行业分析报告及未来五到十年行业发展趋势报告.docx
- 2022年长春市朝阳区工会系统招聘考试试题及答案解析.docx VIP
- 《大数据架构与设计》实践报告-网易云音乐大数据系统构建.docx VIP
- 仓储物流园及配套基础设施项目可行性研究报告-立项备案.doc VIP
- 城乡环卫保洁投标方案.doc
- 2022年1月吉林省长春市工会系统招聘考试《工会基础知识》试卷及答案.pdf VIP
- 2023年上海海洋大学计算机科学与技术专业《计算机网络》科目期末试卷A(有答案).docx VIP
- [高清书籍]威尼斯商人.PDF
文档评论(0)