ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:290.35KB ,
资源ID:8978478      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8978478.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于74hc595和74hc138的点阵显示.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于74hc595和74hc138的点阵显示.docx

1、基于74hc595和74hc138的点阵显示基于74hc595和74hc138的点阵显示基于74hc595和74hc138的16x40点阵显示 作者:廖基鑫 桂林电子科技大学 一、 电路原理图。 (1)输入输出口 JP1 为输入口,JP2为输出口(为串联下一块点阵),245为电平转换。 (2)行控制端电路 有2块3-8译码器组成4-16译码器。将A,B,C,D,接入一个8位I/O口,直接对I/O口赋值。 (3)行写入端电路 二、74HC595介绍。 74HC595 是一款漏极开路输出的CMOS 移位寄存器,输出端口为可控的三态输出 端,亦能串行输出控制下一级级联芯片。 10 脚 SCLR 移位

2、寄存器清零端 直接接地, 11 脚 SCK 数据输入时钟线 12 脚 RCK 输出存储器锁存时钟线 13 脚 OE 输出使能 低电平为输出有效 14 脚 SI 数据线 串行输入数据,亦能串行输出数据到下一级级联芯片 输入数据程序: 1. 向595写一个字节的数据 void write_595(uchar DATA) /向595写一个字节的数据 uchar i; for(i=0;i1; 2.向多个595写一个字节的数据 9 脚SQH 位串行数据输出管脚 将多个595的数据由9脚传至下一个595,全部写入后在打开输出存储器锁存时钟线 for(i=0;i0;j-) /向多个595写一个字节的数据 w

3、rite_595(display7k); write_595(display7k-1); write_595(display6k); write_595(display6k-1); write_595(display5k); write_595(display5k-1); write_595(display4k); write_595(display4k-1); k+=2; hang=16-j; /为138输入行控制数据 RCK=1;RCK=0; delay_ms(20); 3(595-RCK信号与138的输出使能E2信号为同一信号,故可以相连。 三、74hc138介绍。 3 线,8 线译码器

4、 当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B)为低电平时,将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。 利用 G1、/(G2A)和/(G2B)可级联扩展成24 线译码器;若外接一个反相器还可级联扩展成32 线译码器。 引出端符号: A、B、C 译码地址输入端 G1 选通端 /(G2A)、/(G2B) 选通端(低电平有效) Y0,Y7 译码输出端(低电平有效) 功能表: 逻辑图: 四、74hc245介绍。 管脚及电路接法。 五、ULN 2003介绍。 ULN2003是一个单片高电压、高电流的达林顿晶体管阵列集成电路。它是由7对NPN达林顿管组成的,

5、它的高电压输出特性和阴极箝位二极管可以转换感应负载。单个达林顿对的集电极电流是500mA。达林顿管并联可以承受更大的电流。此电路主要应用于继电器驱动器,字锤驱动器,灯驱动器,显示驱动器(LED气体放电),线路驱动器和逻辑缓冲器。 74hc595通过ULN2003驱动8*8LED点阵屏。 五、8*8点阵屏介绍 8*8点阵屏管脚如上,L1-L8由达林顿管TIP127驱动,H1-H8有ULN2003驱动 (1)TIP127简介 外延基PNP达林顿功率晶体管,采用TO-220塑料封装 VCBO 集电极-基极电压(IE = 0) 60 80 100 V VCEO 集电极-发射极电压(IB = 0) 60

6、 80 100 V VEBO 发射极-基极电压(IC = 0) 5 V IC 集电极电流 5 A ICM 集电极峰值电流 8 A IB 基极电流 0.1 A Ptot 耗散功率 Tcase?25? 65 W (2)ULN 2003介绍。 ULN2003是一个单片高电压、高电流的达林顿晶体管阵列集成电路。它是由7对NPN达林顿管组成的,它的高电压输出特性和阴极箝位二极管可以转换感应负载。单个达林顿对的集电极电流是500mA。达林顿管并联可以承受更大的电流。此电路主要应用于继电器驱动器,字锤驱动器,灯驱动器,显示驱动器(LED气体放电),线路驱动器和逻辑缓冲器。 74hc595通过ULN2003驱

7、动8*8LED点阵屏。 附录:原理图 源程序: /16x64点阵程序及滚动效果视频 #include #define uchar unsigned char #define uint unsigned int #define hang P1 /行扫描接在P1口 sbit SI=P23; sbit SCK=P20; sbit OE=P22; sbit RCK=P21; uint counter; uchar flag; void delay_ms(uchar z) /延时0.5秒 uchar i,j; for(i=z;i0;i-) for(j=120;j0;j-); uchar code dis

8、play32= /*- 文字: 好 -*/ /*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -*/ 0x10,0x00,0x11,0xFC,0x10,0x08,0x10,0x10,0xFC,0x20,0x24,0x20,0x24,0x20,0x27,0xFE,0x44,0x20,0x64,0x20,0x18,0x20,0x08,0x20,0x14,0x20,0x26,0x20,0x44,0xA0,0x80,0x40, /*- 文字: 好 -*/ /*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -*/ 0x10,0x00,0x11,0xFC,0x10,0x08,0x1

9、0,0x10,0xFC,0x20,0x24,0x20,0x24,0x20,0x27,0xFE,0x44,0x20,0x64,0x20,0x18,0x20,0x08,0x20,0x14,0x20,0x26,0x20,0x44,0xA0,0x80,0x40, /*- 文字: 学 -*/ /*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -*/ 0x01,0x08,0x10,0x8C,0x0C,0xC8,0x08,0x90,0x7F,0xFE,0x40,0x04,0x8F,0xE8,0x00,0x40,0x00,0x80,0x7F,0xFE,0x00,0x80,0x00,0x80,0x0

10、0,0x80,0x00,0x80,0x02,0x80,0x01,0x00, /*- 文字: 习 -*/ /*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -*/ 0x00,0x00,0x3F,0xFC,0x00,0x04,0x08,0x04,0x04,0x04,0x03,0x04,0x01,0x14,0x00,0x64,0x01,0x84,0x06,0x04,0x38,0x04,0x10,0x04,0x00,0x04,0x00,0x24,0x00,0x14,0x00,0x00, /*- 文字: 天 -*/ /*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -*/ 0x0

11、0,0x08,0x7F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0xFF,0xFE,0x01,0x00,0x02,0x80,0x02,0x80,0x04,0x40,0x04,0x40,0x08,0x20,0x10,0x10,0x20,0x0E,0xC0,0x04, /*- 文字: 天 -*/ /*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -*/ 0x00,0x08,0x7F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0xFF,0xFE,0x01,0x00,0x02,0x80,0x0

12、2,0x80,0x04,0x40,0x04,0x40,0x08,0x20,0x10,0x10,0x20,0x0E,0xC0,0x04, /*- 文字: 向 -*/ /*- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -*/ 0x02,0x00,0x04,0x00,0x08,0x04,0x7F,0xFE,0x40,0x04,0x40,0x24,0x4F,0xF4,0x48,0x24,0x48,0x24,0x48,0x24,0x48,0x24,0x4F,0xE4,0x48,0x24,0x40,0x04,0x40,0x14,0x40,0x08, /*- 文字: 上 -*/ /*- 宋体12

13、; 此字体下对应的点阵为:宽x高=16x16 -*/ 0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x10,0x01,0xF8,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0xFF,0xFE,0x00,0x00; void write_595(uchar DATA) /向595写一个字节的数据 uchar i; for(i=0;i1; void main() /主函数 uchar i,j,k; OE=0; /154使能 EA=1; /

14、开总中断 TMOD=0x01; /定时器0工作方式0 ET0=1; /定时器0使能 TH0=(65535-50000)/256; /定时器0设置初值 TL0=(65536-50000)%256; while(1) for(i=0;i0;j-) /向多个595写一个字节的数据 write_595(display7k); write_595(display7k-1); write_595(display6k); write_595(display6k-1); write_595(display5k); write_595(display5k-1); write_595(display4k); wr

15、ite_595(display4k-1); k+=2; hang=16-j; RCK=1;RCK=0; delay_ms(20); TR0=1;flag=1; while(flag) /停留一秒 uchar j; for(j=0;j0;i-) /字滚动出显示区 k=31; for(j=i-1;j0;j-) write_595(display7k); write_595(display7k-1); write_595(display6k); write_595(display6k-1); write_595(display5k); write_595(display5k-1); write_59

16、5(display4k); write_595(display4k-1); k-=2; hang=j; RCK=1;RCK=0; delay_ms(20); for(i=0;i0;j-) write_595(display3k); write_595(display3k-1); write_595(display2k); write_595(display2k-1); write_595(display1k); write_595(display1k-1); write_595(display0k); write_595(display0k-1); k+=2; hang=16-j; RCK=1

17、;RCK=0; delay_ms(20); TR0=1;flag=1; while(flag) /停留一秒 uchar j; for(j=0;j0;i-) /滚出显示区 k=31; for(j=i-1;j0;j-) write_595(display3k); write_595(display3k-1); write_595(display2k); write_595(display2k-1); write_595(display1k); write_595(display1k-1); write_595(display0k); write_595(display0k-1); k-=2; hang=j; RCK=1;RCK=0; delay_ms(20); void timer0() interrupt 1 /中断函数 counter+; if(counter=20) /1秒设置 counter=0; flag=0; TH0=(65535-50000)/256; TL0=(65536-50000)%256;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1