网站大量收购独家精品文档,联系QQ:2885784924

6_1C数组使用和数码管显示.ppt

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数组使用及 数码管显示 任课教师: 晏凯 Address: 行政楼509 E-mail: yckaren@szpt.edu.cn 数码管显示控制的实战演练 Flash LED Design 设计内容1:编写程序,采用静态显示方式控制最右边一位数码管循环显示数字0~9,延迟时间为500ms。 (seg_led1.c) 知识点: 1.8段数码管接口电路 2.4位8段数码管静态显示方式及程序设计 3.4位8段数码管动态显示方式及程序设计 4.循环结构程序设计 5.一维数组定义及使用 6.查表方式程序设计方法 8段数码管接口电路 一维数组的定义 一般格式:类型标识符 数组名[常量表达式]; int array[8]; unsigned char num[10]; 注意: 数组名——见名知意;数组名中存放的是一个地址常量,它代表整个数组的首地址。同一数组中的所有元素,按其下标的顺序占用一段连续的存储单元。 方括弧而非圆括弧; 常量表达式:可以是常量或符号常量;表示数组元素的个数(也称数组长度)。不允许对数组大小作动态定义。 数组元素下标从0开始。array[0],array[1],…array[9]; 一维数组的引用 数组元素的表达形式: 数组名[下标表达式] Array[4] = 100; array[0] = 34; array[8] = 56; 注意:数组下标不能越界! 一个数组元素具有和相同类型单个变量一样的属性,可以对它赋值和参与各种运算。 一维数组的初始化 一般格式: 数据类型 数组名[常量表达式]={初值表} 1.定义时赋初值;int score[5]={1,2,3,4,5}; 2.给一部分元素赋值;int score[5]={1,2}; 3.使所有元素为0;int score[5]={0}; 4.给全部数组元素赋初值时,可以不指定数组长度; int score[]={1,2,3,4,5}; 设计内容1:静态方式数码管显示 数码管显示控制的实战演练 Flash LED Design 设计内容2:采用动态显示的方式,在4位数码管上显示 数字:1234 (seg2(显示1234)) 设计内容2:动态方式数码管显示 * * 共阳极数码管,8个段通过S12接到PB口。PB0~6接a~g段,PB7接小数点。 4个LED位控制通过S13的4~7位接到PA口高4位。PA4接最高(左)位,PB7接最低(右)位。 PORTA=0xF0; DDRA=0xFF; PORTB=0xFF; DDRB=0xFF; 一定要先定义,再使用。 取值范围:0~(元素个数-1) unsigned char num[ ]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90} unsigned char i; unsigned char num[10]; 开始 循环变量、 字型码初始化 显示位控制,关显示 循环变量赋初值 显示下一个数据 延时1s 循环变量加1 是否显示到9 N Y PORTA=0xe0; //选择最左一位数码管显示 PORTB=0xFF; for(i=0;i10;i++) { PORTB=num[i]; delay_ms(500); } 知识点提示:动态扫描方法 动态接口采用各数码管循环轮流显示的方法,当循环显示频率较高时,利用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出(字形选择),另一接口完成各数码管的轮流点亮(数位选择)。 2.在进行数码显示的时候,要对显示单元开辟4个显示缓冲区,每个显示缓冲区装有显示的不同数据即可。 3.对于显示的字形码数据我们采用查表方法来完成。 PORTB=num[i+1]; 开始 循环变量、字型码初始化 显示位控制,关显示 当前位数据送显缓 延时4ms 循环变量加1 是否显示到第4位 N Y(从最右一位重新开始显示) 显示缓冲区装待显数据 循环变量赋初值 PORTA左移1位,调节位控 PORTA=0XEF PORTA=1; //显示左边一位数字 PORTA=0xE0; //从最右一位开始显示 DDRA=0xFF; PORTB=0xFF; //关闭显示 DDRB=0xFF; PORTA=0xEF; //从最右一位开始显示

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档