- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理_接口及应用---C51介绍课件
行列式键盘扫描流程 实例7 行列式键盘 按下任意按键后,LED显示器上显示该键的键模(0~F)。 分析: 需要考虑以下三个关键环节: ①获得按键的键值 ——检测流程图 ②获得闭合按键的键模 ——查表比对 ③获得闭合按键的字模 ——查表思路 错误键值? 检测键盘 显示键值 N Y 延时 Main() 参考程序 //关闭LED数码管 //消抖处理 //行线有键按下 //扫描列线 //保存行线状态 //确信有键按下 //键值合成 程序运行效果 本章小结 C51的数据类型与变量的定义,都必须考虑单片机的存储结构。 在Keil下进行C51开发的基本步骤是:建立项目→输入源程序→设置编译参数→编译连接→下载调试。 单片机IO口基本编程应用包括按键(或开关)状态检测、发光二极管输出控制、数码管动态显示以及行列式键盘扫描编程等内容。 实例3 混合编程 将实例2中的C51函数key()的功能改用汇编语言实现,并完成系统的混合编程。 程序说明 按照混合编程规则分别编写汇编语言(流水灯.asm)与C51语言(流水灯汇.c)两个程序文件,并将其添加到Keil的同一项目中。 流水灯汇.c 流水灯.asm 与流水灯汇.c文件中函数key同名的子程序 汇编子程序的头部格式 1 C51的程序结构 2 C51的数据结构 3 C51与汇编语言的混合编程 4 C51仿真开发环境 5 C51初步应用编程 5.1 IO端口的简单应用 5.1.1 基本输入输出单元与编程 5.1.2 LED数码管原理与编程 5.2 IO端口的进阶实践 LED显示元件——人机交互输出设备,其作用是指示中间运行结果与运行状态。 点式 字段式 LED 光柱式 LED 的类型 com为公共端 共阳极LED 共阴极LED 引脚配置 七段式LED显示器 (7-Segment Display) LED的亮暗组合(显示码)能形成不同的显示字符 以共阴极为例,部分字符的显示码(字模)为: 七段LED数码管的标准显示字符为0-9,A-F 实例4 LED数码管显示 在P0口连接一个共阴极数码管,使之循环显示0-9数字。 分析: 将显示码循环输出到P0口即可实现循环显示。但由于数字0~9的显示段码没有规律可循,需要采取查表方式进行操作: 循环10次 ? N 延时 循环指针i 赋值(10) P0 ←数组[i] Y ①将显示码按序存放在一个数组中, 顺序号与代表的显示字符相对应。(如,char led_mod [ ]={x1,x2,….,xn) ②通过循环变量指定待送出的数组元素 参考程序 实例5 计数显示器 对按键动作进行计数和显示,达到99后重新由1开始计数。 个位LED接P2口;十位LED接P0口(上拉电阻) 分析: ①读P3.7口,进行加1计数和超界处理; ②拆分计数器数值——个位、十位; ③查找/输出显示码到P0和P2口。 计数值拆分: 取模运算(%)→个位 整除10运算(/)→十位 99 ? N 计数器加1 计数器←1 Y P3.7= 0? N Y 查找/输出显示码: 按拆分值输出相应数组元素 参考程序 (接前页) 程序运行效果 1 C51的程序结构 2 C51的数据结构 3 C51与汇编语言的混合编程 4 C51仿真开发环境 5 C51初步应用编程 5.1 IO端口的简单应用 5.2 IO端口的进阶实践 5.2.1 数码管动态显示原理与编程 5.2.2 行列式键盘原理与编程 静态显示接口和动态显示接口 静态显示接口:一个并行口接一个数码管。 优点:被显示数据只要送入并行口后就不再需要CPU干预,因而显示效果稳定。 缺点:占用资源较多 动态显示接口:将所有数码管的段码线对应并联起来接在一个8位并行口上,而每位数码管的公共端分别由一位I/O线控制。 工作原理: 轮流显示,即每一时刻只有一只显示器工作。当时间间隔很小(如10ms)时,人眼的暂留特性→无闪烁的连续显示。 优点:占用资源较少 缺点:占用机时较多(需要CPU随时刷新显示值) 实例6 数码管动态显示 采用共阴极动态LED显示原理,实现如下功能: SW1向下拨时显示字符“L2”,向上拨时显示字符“H3”。 分析: Proteus中的双联LED数码管相当于两个并联的数码管。 如果不考虑switch,动态显示“L2”的程序可以如下: 完整的源程序 switch_sta 0 0 2 2 led_point 0 1 0 1 switch_sta+led_point 0 1 2 3 P3
您可能关注的文档
- 单元备课式PPTL4课件.ppt
- 单元综合测试14.doc
- 单元语法小专题.ppt
- 单光子技术.docx
- 单元十一汽车微机控制系统介绍.ppt
- 【RationalRose2003基础】第6章状态机图及其应用.ppt
- 单光子计数.docx
- 【PPT】中医经络养生之十二时辰养生.ppt
- 单县千亿斤粮粮施工组织设计六标段.doc
- 【】2013-2014《随堂优化训练》高一政治(必修一)配套:1.2信用卡、支票和外汇.ppt
- 【优化探究】2016届高三物理一轮复习(+知能检测)第四章曲线运动万有引力与航天章末专题突破.ppt
- 单相交流电路的研究.ppt
- 【人教版】八年级物理上册:4.2《光的反射》教案设计.doc
- 单相交流电源自动稳压器设计.doc
- 单片机第三章.pptx
- 单相交流调压电路的设计修改.docx
- 【优化方案】2016年高考数学二轮复习第一部分专题五解析几何第2讲椭圆、双曲线、抛物线理.ppt
- 【优化设计】2015-2016学年高中语文第二单元宋词鉴赏4柳永词两首新人教版必修4.ppt
- 【优化设计】(江西专用)2016中考化学总复习专题7实验方案的设计与评价试题课案.doc
- 单相交流调压电路课程设计课件.doc
文档评论(0)