资源描述
,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,Click to edit Master title style,徐州建筑职业技术学院,信息电子 工程学院,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,Click to edit Master title style,*,徐州建筑职业技术学院,学问目标:,1.理解点阵的工作原理,2.理解点阵的扫描法显示原理,3.把握点阵的编程方法,技能目标:,1.区分点阵的共阴、共阳,2.正确理解点阵的行、列,3.把握单片机与点阵的连接,徐州建筑职业技术学院,几点说明:,1.数码管的动态显示(书上147页,1假设干个数码管的段端接一起,通过单片机的I/O口掌握数码管的位选端,实现假设干个数码管轮番显示,2单片机的1个I/O口带着假设干个数码管,电流小,所以数码管亮度低。所以要加驱动加三极管、驱动器,增加亮度。,共阳数码管:需要高电平,加PNP三极管,共阴数码管:需要低电平,加NPN三极管,3延时时间合理设置;过长或过慢都不行。,2.LCD编程步骤,1LCD初始化,MOV P1,#01H LCALL ENABLE),2设定第一行地址,MOV P1,#80H LCALL ENABLE),(3)写入显示第一行字符,写字符串方法:MOV DPTR,#TAB LCALL WRITE1),(4)设定其次行地址,MOV P1,#0C0H LCALL ENABLE),5写入显示其次行字符,同第一行显示方法或写单个字符:ASCII码送入A,LCALL WRITE2,LCD的子程序记住,使用时只需调用即可,3.计算器程序,徐州建筑职业技术学院,徐州建筑职业技术学院,LED点阵,徐州建筑职业技术学院,1.点阵构造(以8*8为例,8X8点阵共由64个发光二极管依据8行8列排列成矩阵形式,且每个发光二极管是放置在行线和列线的穿插点上类似矩阵式按键,引脚:16根8行8列,字母为行引脚,数字为列引脚。一般需要自己用万用表检测如何测?,双色点阵;24根16行8列,徐州建筑职业技术学院,1.共阴对行而言,例如型号为,JM-M1088A,2.点阵分类,徐州建筑职业技术学院,2.共阳对行而言,例如型号为,JM-M1088B,有时也不做区分,旋转即可,徐州建筑职业技术学院,3 点阵原理,以共阳为例,当对应的某一行置1电平,某一列置0电平,则相应的二极管就亮;如要将第一个点点亮,则9脚接高电平13脚接低电平,则第一个点就亮了;假设要将第一行点亮,则第9脚要接高电平,而13、3、4、10、6、11、15、16这些引脚接低电平,那么第一行就会点亮;如要将第一列点亮,则第13脚接低电平,而9、14、8、12、1、7、2、5接高电平,那么第一列就会点亮。,共阴呢?,徐州建筑职业技术学院,4.显示方式,点阵LED一般承受扫描式显示,实际运用分为三种方式:,1点扫描逐点显示;,2行扫描逐行显示;,3列扫描逐列显示;,假设使用第一种方式,其扫描频率必需大于1664=1024Hz,周期小于1ms即可。,假设使用其次和第三种方式,则频率必需大于168=128Hz,周期小于7.8ms即可符合视觉暂留要求。此外一次驱动一列或一行8颗LED时需外加驱动电路提高电流,否则LED亮度会缺乏。,徐州建筑职业技术学院,5.举例,例:使用一块8X8的LED点阵来显示一个心型,1.那么如何点亮一个点?,首先调出一个88点阵,在点阵的管脚上接上,VCC,另一端的管脚就接GND,运行仿真,看看,点阵是不是能亮,亮了哪几个点,假设不亮就调换,VCC和GND,这样测出点阵的行和列,共阴或共阳,等引脚信息。,从图3判别出上面为行,下面为列,为共阴点阵。,要想显示如下图的亮点:则上面对应的行为低电平,对应的列为高电平此时8个列值 00100000,和其次行8个点亮灭状况全都。,所以我们可以通过某一行,8个等的亮灭状态从而得到显示时所需的列值,徐州建筑职业技术学院,2.承受动态显示行扫描法,逐行显示,以共阴点阵为例,先显示第一行,8个灯亮灭状况为00100100,则此时需送进去的列值也为00100100即24H,延时;,再其次行,8个灯亮灭状况为01011010,则此时需送进去的列值为01011010 5AH,再延时;,依次类推,第三行:42H;第四行:42H;,第五行:42H;第六行:24H;,第七行:18H;第八行:00H,总结:承受共阴点阵,行扫描法显示,8行对应的列值分别为:24H,5AH,42H,42H,42H,24H,18H,00H(该值也叫做编码,3.如何得到其他字符的编码?,1.自己在纸上画,2.利用软件生成PCtoLCD2023,字模生成软件),徐州建筑职业技术学院,4.设计电路:,1.如何给行扫信号。,共阴点阵,行扫法,需要显示哪一行,哪一行的行线为低电平有效信号,8行,为了节省单片机的I/O口,用3-8译码器,逐个选择每一行,徐州建筑职业技术学院,2.如何给不同的列线值编码?,通过单片机的I/O口传送。把8个列值存入表格,利用查表指令,逐个查出列值送给单片机的I/O口。,为了增加单片机I/O口的驱动力量,可以使用三极管4148、4007、3904、3906、8050、8550、9012、9013或驱动芯片74HC245,74HC574。,74LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器或驱动器,可双向传输数据,当片选端/CE为低电平有效时,AB/BA=“0”,信号由 B 向 A 传输;AB/BA=“1”,信号由 A 向 B 传输;,徐州建筑职业技术学院,或者加三极管共阴数码管 共阳数码管 8050 8550,3.延时,看电路图,徐州建筑职业技术学院,徐州建筑职业技术学院,编程:,org 0000h,ljmp st,org 0030h,st:mov 20h,#00h,mov dptr,#tab,ln3:mov r6,#08h,mov r4,#00h,mov r0,20h,ln4:mov a,r4,mov p1,a,inc r4,mov a,r0,movc a,a+dptr,mov p2,a,inc r0,lcall delay,djnz r6,ln4,ljmp st,徐州建筑职业技术学院,delay:mov r3,#02h,ln5:mov r5,#0f8h,djnz r5,$,djnz r3,ln5,ret,tab:db 24H,5AH,42H,42H,42H,24H,18H,00H,end,仿真,只需更改tab表格中的列值,就可以显示其他图形或字符。,徐州建筑职业技术学院,6.显示汉字原理 16*16点阵,我们把显示器的每一个点理解为一个像素,那么8*8点阵只能显示64像素范围以内的任何图形和字符。假设想显示更大像素的图形,怎么办?,组合,一般我们使用点阵显示汉字是用的16*16的点阵宋体字库,所谓16*16,是每一个汉字在行、列各16点的区域内显示的。也就是说得用四个8*8点阵组合成一个16*16的点阵。,组合后仍旧承受逐行或逐列显示16行16列,即动态显示。逐行或逐列显示第一行第一列,延时;其次行其次列显示,延时;,以此类推。只要每行每列数据显示时间间隔够短,利用人眼的视觉暂停作用,你就能看到稳定的汉字显示。,如何得到汉字的编码呢?,徐州建筑职业技术学院,如上图所示,用16*16要显示“你”则相应的点就要点亮,逐行显示:(行扫描线,列数据线,要显示“你”字的话,要把它的位代码信息作为对应列的值。,第一行显示:16列依次送,即08H,80H;,其次行显示:16列依次送即08H,80H;,利用人眼的视觉暂停作用,这样送16次数据扫描完16行后就会看到一个“你”字;,徐州建筑职业技术学院,7.16*16的点阵的构成,1)16*16点阵,由4个8*8点阵组成,如何连接?,两两行行相连,两两列列相连。,留意新的16*16点阵的行列凹凸挨次,16行:ROW0-ROW15,16列:HIG0-HIG7(高8位列,LOW0-LOW7(低8位列,徐州建筑职业技术学院,2单片机的I/O口作为行列线够用吗?,以逐行显示为例:(行为扫描线,列线输入数据,需要引脚众多,共32根线,单片机为了节省线,所以承受译码器或移位存放器等例如74LS154,74HC595,74LS164等)来扩展I/O线。,4-16线译码器,E1=E2=0,时,可译码低电平输出,徐州建筑职业技术学院,例:,用,4个8*8点阵组合成16*16点阵循环显示“信息”两个字。,显示”信”,再显示”息”,然后循环,徐州建筑职业技术学院,显示”信”:逐行显示,第一个点阵:其次个点阵:,第一行输入列值0000100008H)第一行输入列值10000000080H),其次行输入列值000011000CH)其次行输入列值0110000060H),第三行:18H 第三行:40H,第四行:17H 第四行:FEH,第五行:30H 第五行:00H,第六行:33H 第六行:F8H,第七行:50H 第七行:00H,第八行:93H 第八行:F8H,第三个点阵:,八行列值为:10H,13H,12H,12H,第九到十六行 12H,13H,12H,00H,第四个点阵:,八行列值为:00H,F8H,08H,08H,第九到十六行08H,F8H,08H,00H,显示”息“,同理可得”息“的编码,徐州建筑职业技术学院,如何把编码送给对应的点阵的列?,通过查表指令,查得编码。然后再分别送给对应点阵的列,建立表格如下:,tab:db 08h,80h,0ch,60h,18h,40h,17h,feh,30h,00h,33h,f8h,50h,00h,93h,f8h,db 10h,00h,13h,0f8h,12h,08h,12h,08h,12h,08h,13h,0f8h,12h,08h,00h,00h,;”信“的编码,db 01h,00h,02h,00h,1fh,0f0h,10h,10h,1fh,0f0h,10h,10h,1fh,0f0h,10h,10h,db1fh,0f0h,00h,00h,09h,00h,28h,84h,28h,92h,68h,12h,07h,0f0h,00h,00h,;”息“的编码,徐州建筑职业技术学院,徐州建筑职业技术学院,编程:,org 0000h,ljmp st,org 0030h,st:mov 20h,#00h,mov dptr,#tab,ln2:mov r1,#0ffh,ln3:mov r6,#10h,mov r4,#00h,mov r0,20h,ln4:mov a,r4,mov p1,a,inc r4,mov a,r0,movc a,a+dptr,mov p3,a,inc r0,mov a,r0,movc a,a+dptr,mov p2,a,inc r0,lcall delay,mov p3,#0,mov p2,#0,徐州建筑职业技术学院,djnz r6,ln4,djnz r1,ln3,mov 20h,r0,cjne r0,#64,ln2,ljmp st,Delay:mov r3,#01h,ln5:mov r5,#0f8h,djnz r5,$,djnz r3,ln5,ret,tab:db08h,80h,0ch,60h,18h,40h,17h,feh,30h,00h,33h,f8h,50h,00h,93h,f8h,db10h,00h,13h,0f8h,12h,08h,12h,08h,12h,08h,13h,0f8h,12h,08h,00h,00h,db 01h,00h,02h,00h,1fh,0f0h,10h,10h,1fh,0f0h,10h,10h,1fh,0f0h,10h,10h,db1fh,0f0h,00h,00h,09h,00h,28
展开阅读全文