版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
工作模块4---LED点阵屏显示控制
情境导入
每当走进商场、超市、银行、酒店时,都会看到广告类的电子大屏幕,显示文字或者图片,非常显眼,这就是LED点阵屏,简称LED屏。随着科技的发展,LED屏成为信息传播、新闻发布、广告宣传等领域最为常见的显示媒体。内容图谱任务描述
某电子科技有限公司接到一批订单,使用LED屏显示数字、字母和几个简单的汉字。现经过开发团队决策,考虑安装尺寸和物料成本,决定使用8×8LED屏,通过单片机控制其显示,调试阶段先显示汉字“正”,请设计电路原理图,编写程序,并仿真功能。初级能力:实现单片机控制8×8LED屏显示一个字符的功能。高级能力:能够实现8×8LED屏的滚动显示字符的功能。执行思路实施过程实施过程ProteusISIS设计电路原理图表4-1仿真电路元件明细序号元件名称元件型号元件参数1LED屏MATRIX-8x8-RED
2双向总线驱动器74LS245
实施过程4-1-1绘制原理图重点——绘制总线及分支74HC245数字芯片引脚图实施过程
第1脚DIR(T/R),为输入输出端口转换用,DIR=“1”高电平时信号由“A”端输入“B”端输出,DIR=“0”低电平时信号由“B”端输入“A”端输出。
第2~9脚,第11~18脚“A”信号输入输出端,如果IR=“1”OE=“0”则A1输入B1输出,如果DIR=“0”OE=“0”则B1输入A1输出。
第19脚OE,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用。
知识链接4-1LED屏结构LED显示屏最常见的是8×8(8行8列)的。内部的每一个点都是一个发光二极管。LED点阵屏有两个类型,一类为共阴极如图,在共阴极端输入有效电平0时某个点位的LED灯就具备了点亮的条件。知识链接4-1LED屏结构另一类则为共阳极,如图4.11(b),在共阳极端输入有效电平1时,某个点位的LED灯就具备了点亮的条件。知识链接
LED显示屏的基本工作原理是动态扫描。显示方式是按显示编码的顺序,一行一行地显示。每一行的显示时间大约为4ms,由于人类的视觉暂留现象,将感觉到8行LED灯是在同时显示的。若显示的时间太短,则亮度不够,若显示的时间太长,将会感觉到闪烁。任务4-1采用低电平逐行(P1)扫描,高电平(P2)输出显示信号。即轮流给行信号输出低电平,在任意时刻只有一行发光二极管是处于可以被点亮的状态
,其它行都处于熄灭状态。知识链接实施过程LED屏的显示控制//任务4-1LED屏8x8显示“正”字程序#include<reg51.h>
//头文件,含51单片机的专用寄存器#include<intrins.h>
//头文件,含循环位移函数#defineucharunsignedchar
//定义常量uchar#defineuintunsignedint
//定义常量uintucharcodedisled[]={0x00,0x7e,0x08,0x08,0x7a,0x0a,0x0a,0x7e};//“正”字模voiddelay(unsignedinti)//
具体语句见任务2-2
voidmain()
//主函数{uchari,w;
while(1)
{w=0xfe;
for(i=0;i<8;i++)
//变量i,循环10次
{P2=disled[i];//P2高电平有效,P27在右边
P1=w;
//P1低电平有效,P17在下边
delay(2);
//延时2ms
w=_crol_(w,1);
//循环左移函数P1=0xff;
//关显示delay(2);}}}任务4-216×16LED屏显示控制某届电子设计大赛有这样一个题目,设计并制作一个LED线阵显示装置,利用视觉暂留现象,在某个区域内显示不少于3个16×16LED屏点阵的图形或文字。分析题目,其中一块基础知识和技能是16×16LED屏的显示。现通过单片机控制16×16LED屏的显示,调试阶段先显示汉字“单”,请设计电路原理图,编写程序,并仿真功能。初级能力:实现单片机控制16×16LED屏显示汉字的功能。高级能力:能够实现16×16LED屏的交替显示汉字的功能。任务描述任务4-216×16LED屏显示控制单片机MCU16×16LED模块电源电路时钟电路复位电路列驱动电路行驱动电路
执行思路任务4-216×16LED屏电路图任务4-216×16LED屏电路图序号元件名称元件型号元件参数1LED屏MATRIX-8x8-RED
2双向总线驱动器74HC595实施过程4-2-2“单”显示程序//16×16LED屏显示控制参考程序#include"reg51.h"//头文件,定义51的专用寄存器#include<intrins.h>//头文件,包含_nop_空操作指令/************定义可寻址位********************/sbitLED138_D=P1^3;//定义可寻址位,串行数据高位sbitLED138_C=P1^2;sbitLED138_B=P1^1;sbitLED138_A=P1^0;//定义可寻址位,串行数据低位sbitLED138_G=P1^4;//低电平有效的使能控制端sbitLED595_DAT=P2^1;//595芯片的DS段,传输数据sbitLED595_CLK=P2^0;//移位寄存器时钟信号SH_CPsbitLED595_LCK=P2^2;//存储寄存器时钟信号ST_CPsbitwei=P2^3; //位处理信号实施过程/************函数声明********************/voidsend(unsignedchardat);//发送数据函数voidscan_Line(unsignedcharm);//行扫描函数voiddelay(unsignedintn); //延时函数voidscan_Key(); //键扫描函数voiddisplay(unsignedchardat[][32]);//字模数组unsignedchardisplay_buffer[2]; //缓冲数组unsignedcharcodeWord1[1][32]={0x10,0x10,0x08,0x20,0x04,0x40,0x3F,0xF8,0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,0x21,0x08,0x3F,0xF8,0x01,0x00,0x01,0x00,0xFF,0xFE,0x01,0x00,0x01,0x00,0x01,0x00};//*"单"voidmain(){ while(1) {display(Word1);//显示汉字 }}实施过程voiddelay(unsignedintn)//延时函数,时基是1ms{unsignedintj,k;for(j=0;j<n;j++)for(k=0;k<125;k++);}voiddisplay(unsignedchardat[][32])//16x16汉字显示函数
{ unsignedchari=0; for(i=0;i<16;i++)//循环16次 {scan_Line(i);//扫描16行 display_buffer[0]=dat[0][i*2];//送第一个字模字节到缓冲数组 display_buffer[1]=dat[0][i*2+1];//送第二个字模字节到缓冲数组send(display_buffer[1]);//发送字模数据send(display_buffer[0]);//发送字模数据,完成第一行显示 if((display_buffer[0]&0x80)==0x80){wei=1;} else{wei=0;} //提高显示效果 LED595_LCK=0; //产生上升沿时序 _nop_(); LED595_LCK=1; //发送存储数据到LED屏 _nop_(); LED138_G=1; //更新数据时候关闭显示 _nop_();LED138_G=0;//开启数据传输 delay(2); }}
实施过程voidScan_Line(unsignedcharm)//行扫描函数,m为行号{ switch(m){case0:LED138_D=0;LED138_C=0;LED138_B=0;LED138_A=0;break; case1:LED138_D=0;LED138_C=0;LED138_B=0;LED138_A=1;break; case2:LED138_D=0;LED138_C=0;LED138_B=1;LED138_A=0;break; case3:LED138_D=0;LED138_C=0;LED138_B=1;LED138_A=1;break; case4:LED138_D=0;LED138_C=1;LED138_B=0;LED138_A=0;break; case5:LED138_D=0;LED138_C=1;LED138_B=0;LED138_A=1;break; case6:LED138_D=0;LED138_C=1;LED138_B=1;LED138_A=0;break; case7:LED138_D=0;LED138_C=1;LED138_B=1;LED138_A=1;break; case8:LED138_D=1;LED138_C=0;LED138_B=0;LED138_A=0;break;
case9:LED138_D=1;LED138_C=0;LED138_B=0;LED138_A=1;break;
case10:LED138_D=1;LED138_C=0;LED138_B=1;LED138_A=0;break;
case11:LED138_D=1;LED138_C=0;LED138_B=1;LED138_A=1;break;
case12:LED138_D=1;LED138_C=1;LED138_B=0;LED138_A=0;break;
case13:LED138_D=1;LED138_C=1;LED138_B=0;LED138_A=1;break;
case14:LED138_D=1;LED138_C=1;LED138_B=1;LED138_A=0;break;
case15:LED138_D=1;LED138_C=1;LED138_B=1;LED138_A=1;break;
default:break;
}}实施过程voidsend(unsignedchardat)//发送数据{
unsignedchari;
for(i=0;i<8;i++)
{
if(dat&0x01)//移位最低一位数据
{LED595_DAT=1;}//接受到1
else
{LED595_DAT=0;}//接受到0
LED595_CLK=1;//上升沿数据移位
_nop_();
LED59
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南省娄底市2026年中考二模数学试卷附答案
- 6G技术基础考核试题及详细答案
- 1万米设备碰撞专项测试试题及详细答案
- 合规转利润:降本增效全指南(2026)《GBT 39336-2020沿空留巷高水材料巷旁袋式充填技术要求》
- 风机盘管冷凝水管排气持续管控施工工艺
- 合规转利润:降本增效全指南(2026)《GBT 39197-2020一般固体废物物质流数据采集原则和要求》
- 2026年浙江省人教版初中物理八年级下册第11章热学习题
- 2026年浙江省高中物理热学基础测试卷
- 湖南省益阳市2027届高三上学期9月教学质量检测历史试卷(含答案)
- 广东省广州市荔湾区2025-2026学年八年级(上)期末物理试卷(含答案)
- 儿童保健学教学课件
- 电子焊接培训课件
- 2《宁夏闽宁镇昔日干沙滩今日金沙滩》公开课一等奖创新教案+(共40张)+随堂练习(含答案)
- 公共足浴卫生管理制度
- 《人工智能数据服务》高职全套教学课件
- 《时尚买手攻略》课件
- 2024年版《煤矿安全生产标准化管理体系基本要求及评分方法》解读
- 幼儿园防溺水课件中班
- 甲醇存储工程设计报告
- 糖尿病口服降糖药的分类
- 统计学:假设检验基础
评论
0/150
提交评论