LED8X8点阵显示数字09数字

LED8X8点阵显示数字09数字
LED8X8点阵显示数字09数字

LED8X8点阵显示数字0-9数字下面是电路图:

/*名称:8X8LED点阵显示数字

说明:1.8X8LED点阵屏循环显示数字0~9,刷新过程为动态变换完成。

2.行扫描为XX,接P1口,列扫描为YY,接P3口*/

#include;

#include;

#define uchar unsigned char

#define uint unsigned int

uchar code XX[]=

{

0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00,//0 0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00,//1 0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00,//2 0x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00,//3 0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00,//4 0x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00,//5 0x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00,//6 0x00,0x40,0x40,0x40,0x4f,0x70,0x00,0x00,//7 0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00,//8 0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00

//9

};

uchar code

YY[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; uchar i,k,j,t=0,Num_Index;

void yanchi(uchar ms)

{

while(ms--)

{

for (i=0;i;

#include;

#define uchar unsigned char

#define uint unsigned int

uchar code XX[]=

{

0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00,//0

0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00,//1

0x00,0x21,0x43,0x45,0x49,0x31,0x00,0x00,//2

0x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00,//3

0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00,//4

0x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00,//5

0x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00,//6

0x00,0x40,0x40,0x4f,0x50,0x60,0x00,0x00,//7

0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00,//8

0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00

//9

};

uchar code

YY[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; uint i,k,j,t;

void yanchi(uchar ms)

{

while(ms--)

{

for (i=0;i<100;i++);

}

}

//主程序

void main()

{

while(1)

{

for(t=0;t<200;t++)

{

for(j=0;j<20;j++)

{

for(k=0;k<8;k++)

{

P1=YY[k];

P2=~XX[(t%10)*8+k];

P3=~XX[((t%100)/10)*8+k];

P0=~XX[(t/100)*8+k];

yanchi(2);

}

}//**************************0 }

} }

点阵显示汉字滚动图解

点阵的汉字滚动实现其实很简单,用一句话概括就是:一边在行(列)上进行扫描,一遍循环依次取出显示代码输入到列(行)上。 以我们板上载有的8×8点阵为例,当要实现2个汉字的滚动时,我们把整个滚动的过程拆开,会发现每一次完整的滚动,点阵要显示2×8=16个状态。我们可以把两个汉字的行(或列)扫描代码通过字模提取软件提出后保存在数组里,然后顺序循环的去取数组里的数据放到行(或列)上就可。 我们用图示来解析一下整个过程。我们假设要显示两个汉字”人”和”天”的左右滚动。 首先我们假设在行和列的输入数据中,1代表亮,0代表灭。数组code里保存好从字模软件中按行提取出来的扫描码,假设code[15]=A0,A1,A2,A3,A4,A5,A6,A7,B0,B1,B2,B3,B4,B5,B6,B7(A代表“人”字的列扫描码,B代表“天”字的列扫描码) 思路是这样的: 第1个时段T1:(完整的汉字“天”) 时刻t0,R=0000_0001,L=A0,R0那一列显示;、 时刻t1,R=0000_0010,L=A1,R1那一列显示; 时刻t2,R=0000_0100,;L=A2,R2那一列显示; ……. 时刻t7,R=1000_0000,;L=A7,R7那一列显示; 然后又回到时刻t0的扫描状态,循环扫描。只要在这个T1时间段内按这样扫描的话,就形成了A0—A7所代表的数据,即汉字“人”

第2个时段T2:(开始滚入“天”字) 时刻t0,R=0000_0001,L=A1,R0那一列显示;、 时刻t1,R=0000_0010,L=A2,R1那一列显示; 时刻t2,R=0000_0100,L=A3,R2那一列显示; ……. 时刻t7,R=1000_0000,L=B0,R7那一列显示;“天”字第1列 然后又回到时刻t0的扫描状态,循环扫描。只要在这个T2时间段内按这样扫描的话,就形成了A1—A7和B0所代表的数据,如下图: 第3个时段T3: 时刻t0,R=0000_0001,L=A2,R0那一列显示;、 时刻t1,R=0000_0010,L=A3,R1那一列显示; 时刻t2,R=0000_0100,;L=A4,R2那一列显示; ……. 时刻t6,R=1000_0000,L=B0,R6那一列显示;“天”字第1列 时刻t7,R=1000_0000,L=B1,R7那一列显示;“天”字第2列 然后又回到时刻t0的扫描状态,循环扫描。只要在这个T3时间段内按这样扫描的话,就形成了A1—A7和B0--B1所代表的数据,如下图: 第4个时段T4: 时刻t0,R=0000_0001,L=A2,R0那一列显示;、 时刻t1,R=0000_0010,L=A3,R1那一列显示; 时刻t2,R=0000_0100,;L=A4,R2那一列显示; ……. 时刻t5,R=1000_0000,L=B0,R5那一列显示;“天”字第1列 时刻t6,R=1000_0000,L=B1,R6那一列显示;“天”字第2列 时刻t7,R=1000_0000,L=B2,R7那一列显示;“天”字第3列 然后又回到时刻t0的扫描状态,循环扫描。只要在这个T4时间段内按这样扫描的话,就形成了A1—A7和B0—B2所代表的数据,如下图:

8x8led点阵显示数字

// 36 8X8LED 点阵显示数字 /* 名称:8X8LED 点阵显示数字 说明:8X8LED 点阵屏循环显 示数字 0~9,刷新过程由定时器中 断完成。 */ #include<> #include<>

#define uchar unsigned char #define uint unsigned int uchar code Table_of_Digits[]= { 0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00, //0 0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00, //1 0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00, //2 0x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00, //3 0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00, //4 0x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00, //5

0x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00, //6 0x00,0x40,0x40,0x40,0x4f,0x70,0x00,0x00, //7 0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00, //8 0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00 //9 }; uchar i=0,t=0,Num_Index; //主程序 void main() { P3=0x80;

8×8点阵数字滚动显示

项目一8×8点阵数字滚动显示 LED点阵的元件符号及内部结构图: 对应编码: 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H ;NULL 00H, 00H, 3EH, 41H, 41H, 41H, 3EH, 00H ; 0 00H, 00H, 00H, 00H, 21H, 7FH, 01H, 00H ; 1 00H, 00H, 27H, 45H, 45H, 45H, 39H, 00H ; 2 00H, 00H, 22H, 49H, 49H, 49H, 36H, 00H ; 3 00H, 00H, 0CH, 14H, 24H, 7FH, 04H, 00H ; 4 00H, 00H, 72H, 51H, 51H, 51H, 4EH, 00H ; 5 00H, 00H, 3EH, 49H, 49H, 49H, 26H, 00H ; 6 00H, 00H, 40H, 40H, 40H, 4FH, 70H, 00H ; 7 00H, 00H, 36H, 49H, 49H, 49H, 36H, 00H ; 8 00H, 00H, 32H, 49H, 49H, 49H, 3EH, 00H ; 9 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H ;NULL 硬件设计原理: 单片机利用外部晶振作为时钟信号输入,RST端口接入上电复位信号使它加电后自动进行复位操作。将要显示的字符码表编入单片机的程序中,由单片机控制时序输出相应的扫描数据和字符数据。行码数据由单片机P0口输出,经一个双向总线收发器控制传输方向后进入LED点阵,点亮相应的发光二极管。列码扫描信号由P3口输出后,直接输入LED点阵控制8列的扫描,每列选

基于FPGA的LED16×16点阵汉字显示设计(VHDL版)

毕业设计(论文)开题报告 设计(论文)题目基于FPGA的LED 16×16点阵汉字显示设计 一、选题的背景和意义: LED点阵显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。它以其色彩鲜艳,动态范围广,亮度高,寿命长,工作稳定可靠等优点而成为众多显示媒体以及户外作业显示的理想选择。受到体育场馆用LED显示屏需求快速增长的带动,近年来,中国LED 显示屏应用逐步增多。目前,LED已经广泛应用在银行、火车站、广告、体育场馆之中。而随着奥运会、世博会的临近,LED显示屏将广泛的应用在体育场馆以及道路交通指示中,LED显示屏在体育广场中的应用将出现快速增长。 因此,本设计是很有必要的,之所以基于FPGA设计是因为现场可编程门阵列(FPGA)设计周期小,灵活度高,适合用于小批量系统,提高系统的可靠性和集成度。并且采用编写灵活的VHDL 语言编写主程序。本设计可以方便的应用到各类广告宣传中。 二、课题研究的主要内容: 1. 实现16×16点阵的汉字显示; 2. 实现有限汉字显示; 4. 实现汉字的滚动显示; 5. 完成方案论证。 三、主要研究(设计)方法论述: 通过去图书馆查阅书籍收集资料,同时在搜索引擎上检索资料,分析借鉴已有类似产品、设计方案与成功经验,选择几种可行方案比对,最后确定最切实可行的方案展开设计。 通过Multisim或Quartus软件对系统进行模拟仿真,对电路功能进行改进与完善。 在EDA试验箱上进行调试。 四、设计(论文)进度安排:

时间(迄止日期)工作内容 2010.5.17-5.23 理解并确认毕业设计任务书,撰写完成毕业设计开题报告(第1周) 2010.5.24-5.30 完成调研与资料收集、整理 (第2周) 2010.5.31-6.6 设计方案及原理框图确定 (第3周) 2010.6.7-7.4 电路资料收集,单元电路设计 (第4、5、6、7周) 2010.7.5-7.18 电路仿真与改进、完善 (第8、9周) 2010.19-8.1 资料整理 (第10、11周) 2010..8.2-8.8 书写毕业设计报告 (第12周) 2010.8.9-8.16 (第13周)修改毕业设计报告并整理装订 五、指导教师意见: 指导教师签名:年月日六、系部意见: 系主任签名:年月日 目录

LED 点阵显示数字

LED点阵显示数字#include //--重定义函数变量--// #define uchar unsigned char #define uint unsigned int #define ulong unsigned long //--定义SPI要使用的IO--// sbit MOSIO = P3^4; sbit R_CLK = P3^5; sbit S_CLK = P3^6; //---全局变量声明--// ulong column; //点阵列 ulong row; //点阵行 ulong dt; //--点阵显示数组--// uchar code tab0[] = {0x00, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0x00}; //--10字模--// uchar code tab1[] = {0, 0, 0, 0, 0, 0, 8, 24, 14, 36, 8, 66, 8, 66, 8, 66, 8, 66, 8, 66, 8, 66, 8, 36, 62, 24, 0, 0, 0, 0, 0, 0}; //--09字模--// uchar code tab2[] = {0, 0, 0, 0, 0, 0, 24, 24, 36, 36, 66, 66, 66, 66, 66, 66, 66, 100, 66, 88, 66, 64, 66, 64, 36, 36, 24, 28, 0, 0, 0, 0} ; //--08字模--// uchar code tab3[] = {0, 0, 0, 0, 0, 0, 24, 60, 36, 66, 66, 66, 66, 66, 66, 36, 66, 24, 66, 36, 66, 66, 66, 66, 36, 66, 24, 60, 0, 0, 0, 0}; //--07字模--// uchar code tab4[] = {0, 0, 0, 0, 0, 0, 24, 126, 36, 34, 66, 34, 66, 16, 66, 16, 66, 8, 66, 8, 66, 8, 66, 8, 36, 8, 24, 8, 0, 0, 0, 0};

16×16点阵滚动显示汉字c51程序

16×16点阵滚动显示汉字c51程序 给大家共享一个51单片机驱动的16×16点阵滚动显示汉字的程序,是公车上用的。 下载源代码 #include #define int8 unsigned char #define int16 unsigned int #define int32 unsigned long int8 flag; int8 n; int8 code table[][32]={ 欢迎您乘坐广州三汽公司公共汽车大学城2线开往大学城请您坐好扶稳 具体的字码省略,请点此处下载本列16×16点阵汉字滚动显示源代码 }; void delay(void); int16 offset; void main(void) { int8 i; int8 *p; flag=0x10;

n=0; TMOD=0x01; TH0=0xb1; TL0=0xe0; ET0=1; EA=1; TR0=1; p=&table[0][0]; while (1) { for (i=0;i<8;i++) //显示左半边屏幕 { P0=*(p+offset+2*i); P2=i|0x08; //P2.4=0,P2.3=1 选中U2, 输出扫描码给U6 delay(); P0=*(p+offset+2*i+1); P2=i|0x10; //P2.4=1,P2.3=0 选中U3, 输出扫描码给U7 delay(); } for (i=8;i<16;i++) //显示右半边屏幕 {

P0=*(p+offset+2*i); P2=(i-8)|0x20; //P2.5=1 P2.4=0, P2.3=0 选中U4,输出扫描码U8 delay(); P0=*(p+offset+2*i+1); P2=(i-8)|0x40; //P2.6=1 P2.5=0, P2.4=0 选中U5,输出扫描码U9 delay(); } } } void delay(void) { int16 i; for (i=0;i<50;i++) ; } void timer0() interrupt 1 using 3 { TF0=0; TH0=0xb1; TL0=0xe0; if (n1100)

16 16点阵LED循环显示汉字汇编语言设计

LED16X16点阵显示 课程设计报告 学院信息工程学院 专业通信工程 班级0801 学生姓名 指导老师 二0一0年十二月 一、设计目的 本次课程设计目的剖析试验箱,利用微机接口芯片8255,并行控制LED点阵显示;其次就是掌握8088微机系统与LED点阵显示模块之间接口电路设计及编程,了解LED点阵显示的基本原理和如何来实现汉字的的循环左移显示。 二、设计内容 利用598H试验系统扩展接口CZ7座,在控制板MC1上以并行通信的方式控制LED点阵显示。要求自建字库,编制程序实现点阵循环左移显示汉字,并要求通过protues仿真软件画出电路图,运行程序。 三、硬件电路设计 整个电路由8088CPU,两片8255,1个74ls373,1个74LS138,1个16×16的LED,5个7407。该电路可静态显示1个16*16位的汉字,也可循环显示。 1、8255 Intel8255A是一种通用的可编程序并行I/O接口芯片,又称“可编程外设接口芯片”,是为Intel8080/8085系列微处理据设计的,也可用于其它系列的微机系统。可由程序来改变其功能,通用性强、使用灵活。通过8255A,CPU可直接同外设相连接,是应用最广的并行I/O接口芯片。其中含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存能力。可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。 2、138译码器 译码器是组合逻辑电路的一个重要的器件,74LS138的输出是低电平有效,故实现逻辑功能时,输出端不可接或门及或非门,74LS138与前面不同,其有使能端,故

使能端必须加以处理,否则无法实现需要的逻辑功能。发光二极管点亮只须使其正向导通即可,根据LED的公共极是阳极还是阴极分为两类译码器,即针对共阳极的低电平有效的译码器;针对共阴极LED的高电平输出有效的译码器。 3、373锁存器 74LS373是低功耗肖特基TTL8D锁存器,内有8个相同的D型(三态同相)锁存器,由两个控制端(11脚G或EN;1脚OUT、CONT、OE)控制。当OE接地时,若G为高电平,74LS373接收由PPU输出的地址信号;如果G为低电平,则将地址信号锁存。工作原理:74LS373的输出端O0—O7可直接与总线相连。当三态允许控制端OE为低电平时,O0—O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,O0—O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端LE为高电平时,O随数据D而变。当LE为低电平时,O被锁存在已建立的数据电平。 4、LED动态显示原理 LED点阵显示系统中各模块的显示方式:有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。 点阵式LED绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面。最典型的例子就是电影放映机。在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。 以8×8点阵模块为例,说明一下其使用方法及控制过程。图2.1中,红色水平线Y0、Y1……Y7叫做行线,接内部发光二极管的阳极,每一行8个LED的阳极都接在本行的行线上。相邻两行线间绝缘。同样,蓝色竖直线X0、X1……X7叫做列线,接内部每列8个LED的阴极,相邻两列线间绝缘。 在这种形式的LED点阵模块中,若在某行线上施加高电平(用“1”表示),在某列线上施加低电平(用“0”表示)。则行线和列线的交叉点处的LED就会有电流流过而发光。比如,Y7为1,X0为0,则右下角的LED点亮。再如Y0为1,X0到X7均为0,则最上面一行8个LED 全点亮。 现描述一下用动态扫描显示的方式,显示字符“B”的过程。其过程如图3.1 图3.1用动态扫描显示字符“B”的过程 Proteus中只有5×7和8×8等LED点阵,并没有16×16LED点阵,而在实际应用中,要良好地显示一个汉字,则至少需要16×16点阵。下面我们就首先介绍使用8×8点阵构建16×16点阵的方法,并构建一块16×16LED点阵,用于本次设计。

8x8点阵LED显示键盘输入字母A~F.

课程设计报告 课程设计名称:微机原理与接口技术系别:三系 学生姓名:缪广东 班级:10计本(1) 学号:20100303130 成绩: 指导教师:巫宗宾 开课时间:2012—2013 学年 1 学期

一.设计题目 LED显示系统设计 二.主要内容 课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。 通过课程设计,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。 通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。 在课程设计时,1人一组,设计报告由学生独立完成,不得互相抄袭。教师的主导作用主要在于指明设计思路,启发学生独立设计的思路,解答疑难问题和按设计进度进行阶段审查。学生必须发挥自身学习的主动性和能动性,主动思考问题、分析问题和解决问题,而不应处处被动地依赖指导老师。 学生在设计中可以引用所需的参考资料,避免重复工作,加快设计进程,但必须和题目的要求相符合,保证设计的正确。学生学会掌握和使用各种已有的技术资料,不能盲目地、机械地抄袭资料,必须具体分析,使设计质量和设计能力都获得提高。学生要在老师的指导下制定好自己各环节的详细设计进程计划,按给定的时间计划保质保量的完成个阶段的设计任务。设计中可边设计,边修改,软件设计与硬件设计可交替进行,问题答疑与调试和方案修改相结合,提高设计的效率,保证按时完成设计工作并交出合格的设计报告。

16-16点阵LED显示汉字汇编语言

LED16X16点阵显示课程设计报告 学院 专业 班级 学生 指导老师

一、设计目的 本次课程设计目的剖析试验箱,利用微机接口芯片8255,并行控制LED点阵显示;其次就是掌握8088微机系统与LED点阵显示模块之间接口电路设计及编程,了解LED点阵显示的基本原理和如何来实现汉字的的循环左移显示。 二、设计容 利用598H试验系统扩展接口CZ7座,在控制板MC1上以并行通信的方式控制LED点阵显示。要求自建字库,编制程序实现点阵循环左移显示汉字,并要求通过protues仿真软件画出电路图,运行程序。 三、硬件电路设计 整个电路由8088CPU,两片8255,1个74ls373,1个74LS138,1个16×16的LED,5个7407。该电路可静态显示1个16*16位的汉字,也可循环显示。 1、8255 Intel8255A是一种通用的可编程序并行I/O接口芯片,又称“可编程外设接口芯片”,是为Intel8080/8085系列微处理据设计的,也可用于其它系列的微机系统。可由程序来改变其功能,通用性强、使用灵活。通过8255A,CPU可直接同外设相连接,是应用最广的并行I/O接口芯片。其中含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存能力。可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。 2、138译码器 译码器是组合逻辑电路的一个重要的器件,74LS138的输出是低电平有效,故实现逻辑功能时,输出端不可接或门及或非门,74LS138与前面不同,其有使能端,故使能端必须加以处理,否则无法实现需要的逻辑功能。发光二极管点亮只须使其正向导通即可,根据LED的公共极是阳极还是阴极分为两类译码器,即针对共阳极的低电平有效的译码器;针对共阴极LED的高电平输出有效的译码器。 3、373锁存器 74LS373是低功耗肖特基TTL8D锁存器,有8个相同的D型(三态同相)锁存器,由两个控制端(11脚G或EN;1脚OUT、CONT、OE)控制。当OE接地时,若G为高电平,74LS373接收由PPU输出的地址信号;如果G为低电平,则将地址信号锁存。工作原理:74LS373的输出端O0—O7可直接与总线相连。当三态允许控制端OE为低电平时,O0—O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,O0—O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器部的逻辑操作不受影响。当锁存允许端LE为高电平时,O随数据D而变。当LE为低电平时,O被锁存在已建立的数据电平。 4、LED 动态显示原理 LED点阵显示系统中各模块的显示方式:有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。 点阵式LED绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视

LED点阵显示数字到修订稿

L E D点阵显示数字到集团档案编码:[YTTR-YTPT28-YTNTL98-UYTYNN08]

单片机技术 课程设计说明书设计课题:8×8 点阵 专业(系)电气学院 班级 学生姓名 指导老师 完成日期

目录

1.课程设计目的 (1)巩固和提高学过的基础知识和专业知识。 (2)提高运用所学的知识进行独立思考和综合分析、解决实际问题的能力。 (3)培养掌握正确的思维方法和利用软件和硬件解决实际问题的基本技能。 (4)增加对单片机的认识,加深对单片机理论方面的理解。 (5)掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通讯等。 (6)熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。 2.课程设计题目和要求 (1)课程设计题目:单片机控制的跑马灯设计 (2)要求:利用8×8LED点阵显示数字0到9 3.设计内容 系统功能的描述 用单片机控制8×8LED点阵滚动显示数字0到9,利用硬件与软件相结合的方法,通过单片机将数字的代码分别送到相应的列线上面,经过软件编程使二极管从0到9依次显示数字,如此循环。

系统硬件设计 图1 系统框图 显示的硬件方式采用以AT89S51单片机为核心的电路来实现,主要由 AT89S51芯片、时钟电路、复位电路、驱动电路、8×8LED点阵5部分组成,系统框图如图1所示。 AT89S51芯片的介绍 (1)I/O端口线输入输出引脚 —(39—32):P0口食一个漏极开路型准双向I/O口。在访问外部存储器时,它是分时多路转换地址(低8位)和数据总线,在访问期间激活了内部内部的上拉电阻,在E—PROM编程时,它接受指令字节,而在验证程序时,则输出指令字节。 —(1—8):P1口是带内部上拉电阻的8位双向I/O口。 —(21—28):P2口是一个内部带上拉电阻的8位双向I/O口。在访问外部存储器时,它送出高8位地址。 —(10—17):P3口是一个内部带上拉电阻的8位双向I/O口。在MCS—51中,这8个引脚还兼有专用功能,P3的8条口线都定义有第二功能,其具体功能如表1所示。 表1 P3口的第二功能

16×16点阵LED显示汉字

以下程序在16×16点阵LED上依次显示“梅川酷子”四个字,分别用正向显示和反向显示,间隔两秒钟变换一次,电路图和效果图下图所示。 AT89c52晶振频率为24MHz,用T0定时,改变变量flag值,从而让程序确定显示哪个汉字和显示方式(正向or反向)。 #include 或者#include #define int8 unsigned char #define int16 unsigned int #define int32 unsigned long int8 flag; /* flag变量 MSB 7 6 5 4 3 2 1 0 LSB × ×× Bit5=1,Bit4=0 时,负向显示 Bit5=0,Bit4=1 时,负向显示 Bit[2..0]74HC138的片选信号 */ int8 n; int8 code table[][32]={ {0x88,0x00,0x88,0x00,0x88,0x7F,0x48,0x00,0xDF,0x1F,0xA8,0x10,0x9C,0x1 2,0xAC,0x14,0xEA,0x7F,0x8A,0x12,0x89,0x14,0x88,0x10,0x88,0x7F,0x08,0x 10,0x08,0x14,0x08,0x08},/*"梅",0*/ {0x08,0x20,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x2 1,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x04,0x 21,0x04,0x20,0x02,0x00},/*"川",1*/ {0x00,0x08,0xFE,0x08,0x28,0x0A,0x28,0x7E,0xFE,0x0A,0xAA,0x09,0xAA,0xF F,0xEA,0x00,0x86,0x00,0x82,0x7E,0xFE,0x42,0x82,0x42,0x82,0x42,0xFE,0x 7E,0x82,0x42,0x00,0x00},/*"酷",2*/ {0x00,0x00,0xF8,0x1F,0x00,0x08,0x00,0x04,0x00,0x02,0x00,0x01,0x00,0x0 1,0x00,0x41,0xFE,0xFF,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x 01,0x40,0x01,0x80,0x00}/*"子",3*/ }; void delay(void); void main(void){ int8 i; int8 j; int8 index;

点阵式LED滚动汉字显示屏

点阵式LED滚动汉字显示屏原 1.引言 点阵式LED组成的汉字显示屏在公共场所应用非常广泛。例如,车站发车时间提示、股票大厅中的股票价格显示板、商场的活动广告栏、候机厅的起飞时间表。点阵显示器的特点是可以按照需要的大小、形状和颜色进行组合,用单片机控制实行各种文字或图型的变化 2.硬件电路设计 点阵式LED滚动汉字显示屏硬件电路设计框图如图1所示。电路包括单片机、电源电路、时钟电路、复位电路、驱动电路和LED点阵电路等。本设计的核心是利用单片机读取显示字型码,通过驱动电路对16×16 LE D点阵进行动态列扫描,以实现汉字的滚动显示。本设计选用的单片机为ATMEL公司的AT89C52,显示屏采用16×16 LED点阵。电源电路通过变压整流元件为单片机和其他电路提供稳定的+5V工作电压。时钟电路是单片机的驱动电路,复位电路可在需要时,手动使单片机程序计数器复位清零。通过阳极驱动电路向16×16点阵送字型码,本设计采用74LS273。通过阴极驱动电路对16×16点阵进行列扫描,本设计采用74HC138。 图1 硬件电路设计框图 利用Proteus软件设计点阵式LED滚动汉字显示屏硬件电路原理图如图2 所示。在Proteus软件中,单片机模型本身包含了工作电源和可改变的工作频率,因此在仿真时无需设计电源电路和时钟电路。需要说明的是在Proteus软件目前版本中还没有16×16点阵模块,本设计中采用Proteus软件中现有的8×8点阵模块组合成一个16×16点阵模块。从图2中可以看出,16×16点阵的阳极驱动由P0口经输出缓冲器74LS273构成,在本设计中需要用两片,分别送出上8行和下8行的字型码。16×16点阵的阴极驱动由P2口经74HC138译码后动态扫描16×16点阵的各列,本设计中需要四片74HC138译码器,循环扫描各列,显示一个完整的汉字需要扫描32次。RP3为排阻,含有8个电阻,作P0口各位的上拉电阻,以保证P0口能够输出高电平。复位电路的作用是,在任何时刻可以手动复位单片机,使程序重新执行。

LED点阵显示数字到

L E D点阵显示数字到集团公司文件内部编码:(TTT-UUTT-MMYB-URTTY-ITTLTY-

单片机技术 课程设计说明书 设计课题:8×8 点阵 专业(系)电气学院 班级 学生姓名 指导老师 完成日期 目录

1.课程设计目的 (1)巩固和提高学过的基础知识和专业知识。 (2)提高运用所学的知识进行独立思考和综合分析、解决实际问题的能力。 (3)培养掌握正确的思维方法和利用软件和硬件解决实际问题的基本技能。 (4)增加对单片机的认识,加深对单片机理论方面的理解。 (5)掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通讯等。 (6)熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。 2.课程设计题目和要求 (1)课程设计题目:单片机控制的跑马灯设计 (2)要求:利用8×8LED点阵显示数字0到9 3.设计内容 3.1系统功能的描述 用单片机控制8×8LED点阵滚动显示数字0到9,利用硬件与软件相结合的方法,通过单片机将数字的代码分别送到相应的列线上面,经过软件编程使二极管从0到9依次显示数字,如此循环。

3.2 系统硬件设计 图1 系统框图 显示的硬件方式采用以AT89S51单片机为核心的电路来实现,主要由AT89S51芯片、时钟电路、复位电路、驱动电路、8×8LED点阵5部分组成,系统框图如图1所示。 3.1.1 AT89S51芯片的介绍 (1)I/O端口线输入输出引脚 P0.0—P0.7(39—32):P0口食一个漏极开路型准双向I/O口。在访问外部存储器时,它是分时多路转换地址(低8位)和数据总线,在访问期间激活了内部内部的上拉电阻,在E—PROM编程时,它接受指令字节,而在验证程序时,则输出指令字节。 P1.0—P1.7(1—8):P1口是带内部上拉电阻的8位双向I/O口。 P2.0—P2.7(21—28):P2口是一个内部带上拉电阻的8位双向 I/O口。在访问外部存储器时,它送出高8位地址。 P3.0—P3.7(10—17):P3口是一个内部带上拉电阻的8位双向 I/O口。在MCS—51中,这8个引脚还兼有专用功能,P3的8条口线都定义有第二功能,其具体功能如表1所示。 表1 P3口的第二功能

EDA16x16点阵滚动动画显示

四、课程设计的总体步骤 1、单个字符的显示(如:黄): library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity xianshi is port( clk2:in std_logic; rck,sck:out std_logic; si:out std_logic); end ; architecture one of xianshi is signal sel:std_logic_vector(3 downto 0); signal q: std_logic_vector(31 downto 0); signal i:integer range 0 to 31; signal coi:std_logic;

begin process(sel,clk1) begin case sel is when"0000"=>q<="00000100000000000111111111111111"; when"0001"=>q<="00000100000000011011111111111111"; when"0010"=>q<="00100100000000011101111111111111"; when"0011"=>q<="00100101111110101110111111111111"; when"0100"=>q<="00100101010100101111011111111111"; when"0101"=>q<="11111101010101001111101111111111"; when"0110"=>q<="00100101010100001111110111111111"; when"0111"=>q<="00100111111100001111111011111111"; when"1000"=>q<="00100101010100001111111101111111"; when"1001"=>q<="11111101010101001111111110111111"; when"1010"=>q<="00100101010101001111111111011111"; when"1011"=>q<="01100111111100101111111111101111"; when"1100"=>q<="00100100100000101111111111110111"; when"1101"=>q<="00001100000000011111111111111011"; when"1110"=>q<="00000100000000001111111111111101"; when"1111"=>q<="00000000000000001111111111111110"; when others =>null;

16215;16点阵滚动显示汉字c51程序

16×16点阵滚动显示汉字c51程序给大家共享一个51驱动的16×16点阵滚动显示汉字的程序,是公车上用的。 下载源代码 #include #define int8 unsigned char #define int16 unsigned int #define int32 unsigned long int8 flag; int8 n; int8 code table[][32]={ 欢迎您乘坐广州三汽公司公共汽车大学城2线开往大学城请您坐好扶稳 具体的字码省略,请点此处下载本列16×16点阵汉字滚动显示源代码 }; void delay(void); int16 offset; void main(void) { int8 i; int8 *p; flag=0x10;

n=0; TMOD=0x01; TH0=0xb1; TL0=0xe0; ET0=1; EA=1; TR0=1; p=&table[0][0]; while (1) { for (i=0;i<8;i++) //显示左半边屏幕 { P0=*(p+offset+2*i); P2=i|0x08; //P2.4=0,P2.3=1 选中U2, 输出扫描码给U6 delay(); P0=*(p+offset+2*i+1); P2=i|0x10; //P2.4=1,P2.3=0 选中U3, 输出扫描码给U7 delay(); } for (i=8;i<16;i++) //显示右半边屏幕 {

P0=*(p+offset+2*i); P2=(i-8)|0x20; //P2.5=1 P2.4=0, P2.3=0 选中U4,输出扫描码U8 delay(); P0=*(p+offset+2*i+1); P2=(i-8)|0x40; //P2.6=1 P2.5=0, P2.4=0 选中U5,输出扫描码U9 delay(); } } } void delay(void) { int16 i; for (i=0;i<50;i++) ; } void timer0() interrupt 1 using 3 { TF0=0; TH0=0xb1; TL0=0xe0; if (n1100)

8×8LED点阵显示数字A到F

摘要 本文研究了基于AT89S51单片机LED8×8点阵显示屏的设计并运用PROTEUS软件进行原理图绘制,运用KEIL软件进行仿真和调试。主要介绍了LED8×8点显示屏的硬件电路设计、汇编程序设计与调试、PROTEUS软件绘制原理图和实物制作等方面的内容,本显示屏的设计具有体积小、硬件少、电路结构简单及容易实现等优点。能帮助广大电子爱好者了解点阵显示原理,认识单片机的基本结构、工作原理及应用方法,并提高单片机知识技术的运用能力。利用单片机来设计的系统,既能实现系统所需的功能,也可以满足计数的准确、迅速性,并且电路简单,操作简单,通用性强。

目录 1.绪论 (2) 1.1前言 (2) 1.2国内外的研究概况 (2) 2. 系统概述 (3) 3.课程设计目的 (3) 4.课程设计题目和任务 (3) 5.设计内容 (4) 5.1系统功能的描述 (4) 5.2 系统硬件设计 (4) 5.2.1 AT89S51芯片的介绍 (4) 5.2.2 单片机系统设计 (7) 5.2.3 单片机的发展趋势 (8) 5.2.4 时钟电路的设计 (9) 5.2.5 复位电路的设计 (9) 5.2.6驱动电路的设计 (10) 5.2.7 8×8LED点阵 (10) 5.3 计数器初值计算 (11) 5.4 字母A到F点阵显示代码的形成 (11) 5.5 程序流程图 (12) 5.6 源程序 (12) 6. 调试及性能分析 (13) 6.1系统调试 (13) 6.1.1软件调试 (13) 6.1.2硬件调试 (14) 6.2设计分析 (14) 7.设计总结 (14) 附件调试结果 (15) 参考书目 (16)

VHDL点阵显示

数字电路课程设计报告 课程:基于FPGA的点阵显示控制器的设计 学院:电气信息工程学院 专业:测控技术与仪器 班级: 姓名: 学号: 合作者姓名: 日期:

一、引言 随着我国经济的高速发展,对公共场合发布信息的需求日益增长,利用LED 点阵滚动显示汉字的出现正好适应了这一市场需求,已经成为信息传播的一种重要手段。 采用传统方法设计的汉字滚动显示器,通常需要使用单片机、存储器和制约逻辑电路来进行PCB板级的系统集成。尽管这种方案有单片机软件的支持较为灵活,但是由于受硬件资源的限制,未来对设计的变更和升级,总是难以避免要付出较多研发经费和较长投放市场周期的代价。随着电子设计自动化(EDA)技术的进展,基于可编程FPGA器件进行系统芯片集成的新设计方法,也正在快速地到代基于PCB板的传统设计方式。因此,基于FPGA和VHDL语言实现在8*8点阵上的汉字静态或一屏显示问题。 二、课题要求 (1)技术要求 1根据电路特点,用层次设计概念。将此设计任务分成若干模块,规定每一模块的功能和各模块之间的借口,透视加深层次化设计概念; 2软件的原件管理深层含义,以及模块元件之间的连接概念,对于不同目录下的同一设计,如何熔合; 3适配划分前后的仿真内容有何不同概念,仿真信号对象有何不同,有更深一步了解。熟悉了FPGA设计的调试过程中手段的多样化; 4按适配划分后的管脚定位,同相关功能块硬件电路接口连线; (2)功能要求 1在8*8点阵上显示汉字 2可以静态显示或一屏显示 3利用拨码开关来实现静态显示与一屏显示切换 (3)本人的工作 三、设计方案 (1)工作原理 8*8点阵原理:按照要求可知,点阵模块,共由8*8=64个发光二极管组成,如何在该点阵模块上显示汉字是本实验的关键。 先将要显示的每幅图像画在8*8共64个小方格的矩形框中,再在有笔划下落处的小方格里填上“1”,五笔划处填上“0”,这样就形成了与这个汉字所对应的二进制数据在该矩形矿上的分布以“正”为例,点阵分布为: 10000000 10000001 11110001 10000001 11111111 10001001 10001001 10000000 (2)原理框图

88点阵显示汉子和数字

湖南工业大学 课程设计 资料袋 电气与信息工程学院(系、部)2016~2-17 第 1 学期课程名称单片机应用系统指导教师职称副教授 学生姓名未知专业班级电气工程及其自动化学 题目8*8LED点阵显示文字_____________________ 成绩起止日期2016 年11 月21 日~2016 年12 月2 日 目录清单 湖南工业大学

课程设计任务书 20 16—20 17第一学期 电气与信息工程学院电气工程及其自动化专业1404 班级课程名称:单片机应用系统____________________ 设计题目:8*8LED点阵显示文字______________________ 指导教师(签字):年月日系(教研室)主任(签字):年月日

(单片机应用系统) 设计说明书 8*8LED点阵显示文字 起止日期:2016 年11月21 日至2016年12 月2日 学生姓名哈哈 班级电气工程0000 学号000000000 成绩 指导教师(签字) 电气与信息工程学院(部) 2016年12月7日

目录 第一章系统概述 (1) 1.1设计任务及目的 (1) 1.2 设计发展前景 (1) 第二章系统硬件设计与分析 (3) 2.1 复位电路 (3) 2.2 晶振电路 (3) 2.3 显示电路 (4) 第三章程序设计 (6) 3.1 汉子与数字的编码 (6) 3.2 定时程序 (6) 3.3 完整程序 (6) 第四章软件仿真与测试 (11) 4.1 滚动循环显示 (11) 4.2 逐字切换显示 (11) 第五章总结 (13) 参考文献 (14) 附录(单片机源程序) (15)

相关文档
最新文档