您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 单片机项目实践教程刘燎原-项目六扩展2点阵
信息电子工程学院徐州建筑职业技术学院项目六数字温度计-------认识点阵显示模块信息电子工程学院徐州建筑职业技术学院知识目标:1.理解点阵的工作原理2.理解点阵的扫描法显示原理3.掌握点阵的编程方法技能目标:1.区分点阵的共阴、共阳2.正确理解点阵的行、列3.掌握单片机与点阵的连接信息电子工程学院徐州建筑职业技术学院几点说明:1.数码管动态显示(1)若干个数码管的段端接一起,通过单片机的I/O口控制数码管的位选端,实现若干个数码管轮流显示(2)单片机的1个I/O口带着若干个数码管,电流小,所以数码管亮度低。所以要加驱动(加三极管、驱动器),增加亮度。(3)延时时间合理设置;过长或过慢都不行。2.LCD管脚编程步骤(1)LCD初始化WC(命令代码);(2)设定第一行地址WC(地址代码);(3)写入(显示)第一行字符WD(字符的ASCII码);(4)设定第二行地址(5)写入(显示)第二行字符LCD的子程序记住,使用时只需调用即可D714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3LCD1LM032L信息电子工程学院徐州建筑职业技术学院信息电子工程学院徐州建筑职业技术学院点阵(矩阵LED)信息电子工程学院徐州建筑职业技术学院1.点阵结构(以8*8为例)8X8点阵共由64个发光二极管按照8行8列排列成矩阵形式,且每个发光二极管是放置在行线和列线的交叉点上(类似矩阵式按键)信息电子工程学院徐州建筑职业技术学院按颜色、行列数、公共极分类(1).共阴(对行而言)例如型号为JM-M1088A2.点阵分类信息电子工程学院徐州建筑职业技术学院(2).共阳(对行而言)例如型号为JM-M1088B有时也不做区分,旋转即可信息电子工程学院徐州建筑职业技术学院3.点阵原理以共阳为例。当对应的1个LED所在行置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)列扫描(逐列显示);若使用第一种方式,其扫描频率必须大于16×64=1024Hz,周期小于1ms即可。若使用第二和第三种方式,则频率必须大于16×8=128Hz,周期小于7.8ms即可符合视觉暂留要求。此外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足。信息电子工程学院徐州建筑职业技术学院5.举例例:使用一块8X8的LED点阵来显示一个心型1.那么如何点亮一个点?共阴点阵,假设上面为行线,下面为列线要想点亮1个点,如图:扫描第二行(为低电平),列线值00100000(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).利用软件生成(PCtoLCD2002,字模生成软件)徐州建筑职业技术学院信息电子工程学院徐州建筑职业技术学院A1B2C3E16E24E35Y015Y114Y213Y312Y411Y510Y69Y77U474LS138A23B22C21D20E118E219011223344556677889910101111131214131514161517U1741544.设计电路:(1).如何产生行扫信号。(共阴点阵,行扫法,需要显示哪一行,哪一行的行线为低电平有效信号)8行,为了节省单片机的I/O口,用3-8译码器,逐个选择每一行。138译码器的8个输出依次和8根行线相连。例如要扫描第三行,Y3输出低电平,则CBA=011信息电子工程学院徐州建筑职业技术学院(2).如何给不同的列线值(编码)?通过单片机的I/O口传送。把8个列值存入数组,逐个查出列值送给单片机的I/O口即可。为了增加单片机I/O口的驱动能力,可以使用三极管4148、4007、3904、3906、8050、8550、9012、9013或驱动芯片74HC245,74HC574。A02B018A13B117A24B216A35B315A46B414A57B513A68B612A79B711CE19AB/BA1U274LS245A02B018A13B117A24B216A35B315A46B414A57B513A68B612A79B711CE19AB/BA1U374LS24574LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器或驱动器,可双向传输数据当片选端/CE为低电平有效时,AB/BA=“0”,信号由B向A传输;AB/BA=“1”,信号由A向B传输;信息电子工程学院徐州建筑职业技术学院row0row0ROW1ROW2ROW3ROW4ROW5ROW6ROW7low7LOW6LOW5LOW4LOW3LOW2LOW1LOW0in0in1in2IN0IN1IN2ROW0ROW1ROW2ROW3ROW4ROW5ROW6ROW7LOW0LOW1LOW2LOW3LOW4LOW5LOW6LOW7XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51A1B2C3E16E24E35Y015Y114Y213Y312Y411Y510Y69Y77U274LS138A02B018A13B117A24B216A35B315A46B414A57B513A68B612A79B711CE19AB/BA1U374LS245信息电子工程学院徐州建筑职业技术学院编程:#includeREG51.hunsignedcharcodesz1[]={0x24,0x5A,0x42,0x42,0x42,0x24,0x18,0x00};//心形voiddelay(unsignedinta){unsignedchari;while(--a!=0){for(i=0;i125;i++);}}voidmain(){unsignedcharj,m=0;while(1){for(j=0;j8;j++){P2=sz1[j];P1=m;delay(2);P2=0X00;m++;}}}row0row0ROW1ROW2ROW3ROW4ROW5ROW6ROW7low7LOW6LOW5LOW4LOW3LOW2LOW1LOW0in0in1in2IN0IN1IN2ROW0ROW1ROW2ROW3ROW4ROW5ROW6ROW7LOW0LOW1LOW2LOW3LOW4LOW5LOW6LOW7XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51A1B2C3E16E24E35Y015Y114Y213Y312Y411Y510Y69Y77U274LS138A02B018A13B117A24B216A35B315A46B414A57B513A68B612A79B711CE19AB/BA1U374LS245信息电子工程学院徐州建筑职业技术学院6.显示汉字原理(16*16点阵)我们把显示器的每一个点理解为一个像素,那么8*8点阵只能显示64像素范围以内的任何图形和字符(不清楚)。如果想显示更大像素的图形,怎么办?组合一般我们使用点阵显示汉字是用的16*16的点阵宋体字库,所谓16*16,是每一个汉字在行、列各16点的区域内显示的。也就是说得用四个8*8点阵组合成一个16*16的点阵。组合后仍然采用逐行或逐列显示(16行16列),即动态显示。逐行(或逐列)显示第一行(第一列),延时;第二行(第二列)显示,延时;…,以此类推。只要每行(每列)数据显示时间间隔够短,利用人眼的视觉暂停作用,你就能看到稳定的汉字显示。如何得到汉字的编码呢?信息电子工程学院徐州建筑职业技术学院如上图所示,用16*16要显示“你”则相应的点就要点亮逐行显示:(行扫描线,列数据线)要显示“你”字的话,要把它的位代码信息作为对应列的值。第一行显示:16列依次送0000100010000000,即08H,80H;第二行显示:16列依次送0000100010000000,即08H,80H;利用人眼的视觉暂停作用,这样送16次数据扫描完16行后就会看到一个“你”字;信息电子工程学院徐州建筑职业技术学院7.16*16的点阵的构成(1)16*16点阵,由4个8*8点阵组成,如何连接?两两行行相连,两两列列相连。注意新的16*16点阵的行列高低顺序16行:ROW0---ROW1516列:HIG0-HIG7(高8位列)LOW0-LOW7(低8位列)row0row0ROW1ROW2ROW3ROW4ROW5ROW6ROW7hig7HIG6HIG5HIG4HIG3HIG2HIG1HIG0row0row0ROW1ROW2ROW3ROW4ROW5ROW6ROW7low7LOW6LOW5LOW4LOW3LOW2LOW1LOW0ROW8ROW8ROW9ROW10ROW11ROW12ROW13ROW14ROW15hig7HIG6HIG5HIG4HIG3HIG2HIG1HIG0ROW8ROW8ROW9ROW10ROW11ROW12ROW13ROW14ROW15LOW7LOW6LOW5LOW4LOW3LOW2LOW1LOW0A02B018A13B117A24B216A35B315A46B414A57B513A68B612A79B711CE19AB/BA1U274LS245信息电子工程学院徐州建筑职业技术学院(2)单片机的I/O口作为行列线够用吗?以逐行显示为例:(行为扫描线,列线输入数据),需要引脚众多,共32根线,单片机为了节省线,所以采用译码器或移位寄存器等(例如74LS154,74HC595,74LS164等
本文标题:单片机项目实践教程刘燎原-项目六扩展2点阵
链接地址:https://www.777doc.com/doc-768649 .html