5.4-数码管驱动与程序设计课件_第1页
5.4-数码管驱动与程序设计课件_第2页
5.4-数码管驱动与程序设计课件_第3页
5.4-数码管驱动与程序设计课件_第4页
5.4-数码管驱动与程序设计课件_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

5.4数码管驱动和程序设计,目录,LED数码管的内部结构,单个LED数码管,单个数码管就是用8个独立的LED发光二极管按照“日”字形排列起来的。在实际应用中,一般会将8个LED的阳极或者阴极并联在一起组成数码管。由此可见,一个数码管至少有9个引入端,其中ah被定义为段选端,并联在一起的公共端com被定义为位选端。,8个独立的LED发光二极管,abcdefgh,COM,COM,abcdefgh,共阴:阴极并联,共阳:阳极并联,a,b,c,d,e,f,g,h,LED数码管的工作原理,abcdefgh,GND,+5V,abcdefgh,共阴极数码管,共阳极数码管,笔段发光:位选端输入低电平0;段选端输入高电平1。,a,b,c,d,e,f,g,h,a,b,c,d,e,f,g,h,笔段发光:位选端输入低电平1;段选端输入高电平0。,COM,COM,10000000,10000000,通过控制笔段发光,数码管可以显示数字09,以及一些字母符号等。,单个共阳极数码管LN3161BS,Vcc,P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0,LN3161BS引脚结构图它有10个管脚,2个内部相连的com端1和6,8个位选端。LN3161BS测试电路将段选端ah连接到单片机的P0口,则通过程序即可控制笔段的亮灭。,与单片机相连,R81kR71kR61kR51kR41kR31kR21kR11k,一个数码管只能显示1位数字,如果要显示多位数字怎么办?方法一:将多只单个数码管并接在一起。缺点:4位并列的数码管就需要48=32根段选信号,管脚过多,连线复杂。方法二:动态扫描方式进行数码管显示。优点:不增加段选信号线,利用人眼的视觉暂留效应,使数字轮流显示来实现。,10011001,10011001,4位动态数码管,LN3461AS四位动态共阴数码管内部结构,LN3461BS四位动态共阳数码管内部结构,段选端复用,段选端复用,采用段选端复用的方法,仅需12个管脚。两者外型尺寸大小、管脚的排列顺序和名称完全一样。,目录,TinyView数码管电路组成,TinyView数码管电路,4位共阳数码管LN3461BS,限流电阻,PNP型三极管,单片机I/O口驱动能力不够,增加三极管以提高com口的电流驱动能力,与单片机相连,目录,笔段与数值的对应关系,a,b,c,d,e,f,g,h,+5V,hgfedcba,共阳极数码管,11111110,数码管有8个笔段,每个笔段有亮和灭两种状态,则每个数码管有28=256种显示组合,去掉“点(h)”,其余7个笔段有27=128种显示组合。,0 x7f,0 xbf,0 xdf,0 xef,0 xf7,0 xfb,0 xfd,0 xfe,11111101,11111011,11110111,11101111,11011111,10111111,01111111,假设将ah对应8位二进制数的07位:,七段共阳极数码管段码表,a,b,c,d,e,f,g,h,假设将ah对应8位二进制数的07位:,0,1,1,0,0,0,0,0,0,0 xC0,1,1,1,1,1,1,0,0,1,0 xF9,2,1,0,1,0,0,1,0,0,0 xA4,3,1,0,1,1,0,0,0,0,0 xB0,4,1,0,0,1,1,0,0,1,0 x99,实验1TinyView段码表生成,8个开关控制数码管的8个显示段,JP1与JP36的segAsegH连接,将JP36的com连接到与K9相连的JP1,位选控制开关,8个段选控制开关,当位选控制开关K9拨到位置0时,三极管导通,com1被拉到高电平,K1K8对段选端的控制才有效。假设将K1K8对应8位二进制数的07位,通过实验验证:笔段数值对应关系表和七段共阳极数码管段码表。,实验24位数码管显示1234,实验分析:只要求在4位数码管上显示1234,但并没有要求在同一时间显示数字。实现方法:每次只让一个数码管显示。将与K9相连的JP1先与JP36中的com1相连,拨动K1K8在第1个数码管上显示正确的数字;然后将K9拨到控制com2,依此类推,实现在4个数码管上分别显示1234。,实验步骤:第1个数码管显示1;第2个数码管显示2;第3个数码管显示3;第4个数码管显示4。,根据段码表,拨到显示字符“1”的位置11111001,与com1相连,根据段码表,拨到显示字符“2”的位置10100100,与com2相连,根据段码表,拨到显示字符“3”的位置10110000,与com3相连,根据段码表,拨到显示字符“4”的位置10011001,与com4相连,目录,数码管的动态扫描显示实验电路,与P1口相连,相当于K1K8位置,分别与P3.0、P3.1、P3.2、P3.3相连,替代手动拨插连接它们的引线,动态扫描:每次只有一位数码管显示,即在实际操作过程中数字是轮流显示的,但只要轮流操作的速度达到一定的范围,人眼看到的将是整体显示的效果。,数码管的动态扫描显示程序实现,.AREAHOME(ABS,CODE).ORG0 x0000Start:MOVP1,#0 xF9;等效:将K1K8拨到显示字符“1”的位置CLRP3.0;等效:将com1连接到K9(0电平)ACALLDelay;延时SETBP3.0;等效:拔掉com1的连接线MOVP1,#0 xA4;等效:将K1K8拨到显示字符“2”的位置CLRP3.1;等效:将com2连接到K9(0电平)ACALLDelay;延时SETBP3.1;等效:拔掉com2的连接线MOVP1,#0 xB0;等效:将K1K8拨到显示字符“3”的位置CLRP3.2;等效:将com3连接到K9(0电平)ACALLDelay;延时SETBP3.2;等效:拔掉com3的连接线MOVP1,#0 x99;等效:将K1K8拨到显示字符“4”的位置CLRP3.3;等效:将com4连接到K9(0电平)ACALLDelay;延时SETBP3.3;等效:拔掉com4的连接线SJMPStart;返回Start,循环执行程序,0 xF9:11111001字符“1”的数值,将0 xF9送往P1口,即数码管的段选端segAsegH,P3.0置0,三极管Q11导通,com1被拉高,第1位数码管将显示字符“1”,延时长短:在保证数码管显示亮度的前提下尽量短,P3.0置1,三极管Q11关闭,第1位数码管的所有笔段全部熄灭,10011111,10011111,0,1,1,0,数码管的动态扫描显示实验现象,人眼看到的最终效果:,动态扫描:每次只有一位数码管显示,即在实际操作过程中数字是轮流显示的,但只要轮流操作的速度达到一定的范围,人眼看到的将是整体显示的效果。,目录,数字符号的意义,1?,2?,对小孩而言,只有将数字字符和具体的事物联系起来,才能真正理解数字的含义,对机器而言同样如此。,数字符号只有和具体的事物联系起来才有意义,否则将什么也不是。,让单片机能够识别数字字符,在上一个实验中,显示了“1234”,但单片机并“不知道”显示的“1234”是什么意思?,如何让单片机“知道”这些数字符号呢?在数字字符和数值之间建立对应的关系。比如,数字“1”和数值“0 xF9”之间的对应关系,即数值“0 xF9”在数码管上显示的符号就是数字“1”。“段码表”既建立了数字与数值之间的这种联系。,如何用程序来实现呢?将这些无序的数据列成表格。如:对Table表格的数据,可以用指令“MOVCA,A+DPTR”查找,其所查的表地址是由“DPTR”寄存器(16位)和A寄存器(8位)相加而来,所以可以将DPTR的数值固定在Table不动,而用A寄存器做查表指针。当A的数值为09时,其所指向的地址偏移量正好是数值所对应的数字符号。,Table:.DB0 xC0,0 xF9,0 xA4,0 xB0,0 x99;字符:0、1、2、3、4.DB0 x92,0 x82,0 xF8,0 x80,0 x90;字符:5、6、7、8、9,数字字符获取子程序范例,从“数字字符与数值的关系”可知,使用查表法即可找到与数字符号相对应的数值。,Ge

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论