TDX_PITE_80X86微机接口应用技术实验_点阵LED显示设计实验

目录

4.1实验目的

4.2实验设备

4.3实验内容及原理

4.4实验步骤

4.5字符提取方法 

 4.4字库取模软件下载


4.1实验目的

1.了解 LED 点的基本结构。
2.学习 LED 点阵扫描显示程序的设计方法。

4.2实验设备

PC机一台,TDX-PITE 实验装置一套。

4.3实验内容及原理

编写程序,控制点阵向上卷动显示“西安唐都科教仪器公司!3实验系统中的 16X16LED 点阵由四块 8X8 LED 点阵组成,如图 4.1 所示,8X8 点阵内部结构图如图 4.2 所示。由图 4.2 可知,当行为“1”,列为“0”,则对应行、列上的 LED点亮。图 4.3 为点阵外部引脚图。汉字显示如图 4.4 所示。

 TDX_PITE_80X86微机接口应用技术实验_点阵LED显示设计实验_第1张图片

        本实验采用 SM16206 作为列信号控制芯片,它是 LED 恒流驱动芯片,内建 CMOS 移位寄存器与锁存功能,可以将串行的输入数据转换成并行输出数据格式。其输出端口耐压可达+15V,因此可以在每个输出端申接多个 LED 灯;另外SM16206 高达2MHz的时钟频率可以满足系统对大量数据传输的需求。芯片引脚如图 4.6 所。 

TDX_PITE_80X86微机接口应用技术实验_点阵LED显示设计实验_第2张图片

 TDX_PITE_80X86微机接口应用技术实验_点阵LED显示设计实验_第3张图片

        本实验采用 SM5166 作为行信号控制芯片,它是高集成度 LED 驱动控制片。内置 3-8译码器,提供 8 通道的输出电流驱动,每个通道最大电流可达 2.5A。OUT1~OUT8 端口内置电压钳位电路,能消除 LED 显示屏的“列上拖影”,提高显示屏刷新率。内置短路保护功能,

        具有短路防烧灯、防烧板等特点,提升整体方案的应用可靠性。由于其高集成度的特点,可为应用方案节省空间,降低走线复杂度,降低应用风险。芯片引脚如图 4.7 所示。 

TDX_PITE_80X86微机接口应用技术实验_点阵LED显示设计实验_第4张图片

TDX_PITE_80X86微机接口应用技术实验_点阵LED显示设计实验_第5张图片

4.4实验步骤

1.按图 4.9 连接实验电路图。

TDX_PITE_80X86微机接口应用技术实验_点阵LED显示设计实验_第6张图片
2.编写实验程序(例程文件名为: LED16.C),检查无误后,编译、链接并装入系统。

hz.h文件  //(存放要显示的字的宏定义和数组),在这里我要LED点阵显示 “我爱湖南耒阳”

/*本文件为16×16点阵中文字库文件,字的横向8点构成一字节,左边点在字节的高位,字符点阵四角按左上角→右上角→左下角→右下角取字*/
/*如你想在以后继续用HZDotReader打开文件,追加汉字点阵数据,请不要修改或增删所有注释*/

#define  CCED2  0x0000  /*我  */
#define  CB0AE  CCED2+1  /*爱  */
#define  CBAFE  CB0AE+1  /*湖  */
#define  CC4CF  CBAFE+1  /*南  */
#define  CF1E7  CC4CF+1  /*耒  */
#define  CD1F4  CF1E7+1  /*阳  */

unsigned char hzdot[192] = {
/*我   CCED2 */
0x04,0x40,0x0E,0x50,0x78,0x48,0x08,0x48,0x08,0x40,0xFF,0xFE,0x08,0x40,0x08,0x44,
0x0A,0x44,0x0C,0x48,0x18,0x30,0x68,0x22,0x08,0x52,0x08,0x8A,0x2B,0x06,0x10,0x02,

/*爱   CB0AE */
0x00,0x08,0x01,0xFC,0x7E,0x10,0x22,0x10,0x11,0x20,0x7F,0xFE,0x42,0x02,0x82,0x04,
0x7F,0xF8,0x04,0x00,0x07,0xF0,0x0A,0x10,0x11,0x20,0x20,0xC0,0x43,0x30,0x1C,0x0E,

/*湖   CBAFE */
0x01,0x00,0x21,0x1E,0x11,0x12,0x17,0xD2,0x81,0x12,0x41,0x1E,0x41,0x12,0x17,0xD2,
0x14,0x52,0x24,0x5E,0xE4,0x52,0x27,0xD2,0x24,0x52,0x20,0x22,0x20,0x2A,0x00,0x44,

/*南   CC4CF */
0x01,0x00,0x01,0x00,0xFF,0xFE,0x01,0x00,0x01,0x00,0x7F,0xFC,0x48,0x24,0x44,0x44,
0x4F,0xE4,0x41,0x04,0x41,0x04,0x5F,0xF4,0x41,0x04,0x41,0x04,0x41,0x14,0x40,0x08,

/*耒   CF1E7 */
0x01,0x00,0x01,0x00,0x7F,0xFC,0x01,0x00,0x01,0x00,0x3F,0xF8,0x01,0x00,0x01,0x00,
0xFF,0xFE,0x03,0x80,0x05,0x40,0x09,0x20,0x31,0x18,0xC1,0x06,0x01,0x00,0x01,0x00,

/*阳   CD1F4 */
0x00,0x00,0x7C,0x00,0x45,0xFC,0x49,0x04,0x49,0x04,0x51,0x04,0x49,0x04,0x49,0x04,
0x45,0xFC,0x45,0x04,0x45,0x04,0x69,0x04,0x51,0x04,0x41,0x04,0x41,0xFC,0x41,0x04

};

LED16.C文件  //(存放要显示的字的播放逻辑)

#include 
#include 
#include 
#include 
#include 
#include 
#include "hz.h"					



#define  IOY0         0x0600

#define  MY8255_A     IOY0 + 0x00*2	
#define  MY8255_B     IOY0 + 0x01*2
#define  MY8255_C     IOY0 + 0x02*2
#define  MY8255_MODE  IOY0 + 0x03*2
#define  Num          10			
unsigned char ROW;
unsigned int COL;

void delay(int time)
{
   int i;
   int j;
   for(i=0;i<=time;i++)
   {}
}

void send(unsigned int addr,unsigned int dat)
{
	unsigned int  i,by=0x0001;
	unsigned char bit[16]={0};
	for(i=0;i<16;i++)						
	{
		bit[i] =(dat & by)>>i;				
		by =by*2;							
		outp(addr, (0x80|ROW)|(bit[i]<<4));	
		outp(addr, (0x80|ROW)|(bit[i]<<4));
		outp(addr, (0xA0|ROW)|(bit[i]<<4));
		outp(addr, (0xA0|ROW));
	}
	outp(addr,(0x40|ROW));			
	outp(addr,(0x00|ROW));			
	delay(100);
}

void main()
{
	int i,j;
	int t;
	unsigned int NCOL;
	unsigned int count=0;
	while(1)
	{
		for(j=0; j<15; j++)							//滚动速度						
		{
			ROW = 0;
			send(IOY0,0x0000);						//消隐	
			for(i=0; i<16; i++)						//显示一个汉字						
			{
			
				COL=hzdot[count+1]|hzdot[count]<<8;	//取字库数据拼16列
				NCOL = 0x0000;
				for(t=0;t<16;t++){
					NCOL = NCOL<<1 | (COL>>t & 0x0001);
				}
				COL = NCOL;
				send(IOY0,COL);						//B口送列	
				ROW += 1;	
				count += 2;
			}
			count -= 32;
		}
		count += 2;
		if(count==(Num-1)*32) count = 0;				//判断是否显示结束		
	}
}

3,运行实验程序,观察点阵的显示,验证程序功能。

微机接口应用技术实验_点阵LED显示设计实验


4,自己可以设计实验,使点阵显示不同的符号。
使用点阵显示符号时,必须首先得到显示符号的编码,这可以根据需要通过不同的工具获得。在本例子中,我们首先得到了显示汉字的字库文件,然后将该字库文件修改后包含到主文件中。参考4.5节所述。


4.5字符提取方法 


·1,将 HZDotReader 文件夹拷贝到硬盘上,然后双击文件 "HZDotReader"运行程序; 

2.在“设置”下拉菜单中选择“取模字体”选项,设置需要显示汉字的字体;

TDX_PITE_80X86微机接口应用技术实验_点阵LED显示设计实验_第7张图片

3.在“设置”下拉菜单中选择“取模方式”选项,在本系统中选择如图所示,即以横向 8个连续点构成一个字节,最左边的点为字节的最低位,即 BIT,最右边的点为 BIT7。16X16汉字按每行 2 字节,共 16 行取字模,每个汉字共 32 字节,点阵四个角取字顺序为左上角-右上角一左下角右下角; 

TDX_PITE_80X86微机接口应用技术实验_点阵LED显示设计实验_第8张图片

4.在“设置”下拉菜单中选择“输出设置”选项,以设置输出格式,可以为汇编格式或C语言格式,根据实验程序语言而定,如图 4.12 所示; 

TDX_PITE_80X86微机接口应用技术实验_点阵LED显示设计实验_第9张图片

5.点击"字" 按钮,弹出字符输入对话框,输入“我爱湖南耒阳”,如图 4.13所示,然后点击输入按钮; 

TDX_PITE_80X86微机接口应用技术实验_点阵LED显示设计实验_第10张图片

TDX_PITE_80X86微机接口应用技术实验_点阵LED显示设计实验_第11张图片

6.字符输入后,可得到输入字符的点阵编码以及对应汉字的显示,如图 4.14 所示。此时可以对点阵进行编辑,方法是右键点击某一汉字,此时该汉字的编码反蓝,然后点击“编辑”下拉菜单中的“编辑点阵”选项来编辑该汉字,如图 4.15 所示。鼠标左键为点亮某点,鼠标右键为取消某点。若无需编辑,则进行保存,软件会将此点阵文件保存为 dot 格式;

7.使用 Word 软件打开保存的文件,然后将字库复制到自己的程序中使用。 

TDX_PITE_80X86微机接口应用技术实验_点阵LED显示设计实验_第12张图片

 4.4字库取模软件下载

点阵LED显示设计实验到这里就结束了,然后需要字库提取软件的,我把链接放到下面,自行下载即可。

链接:【免费】点阵LED显示字库取模软件资源-CSDN文库

你可能感兴趣的:(《微机原理与接口技术实验》,单片机,嵌入式硬件,微机原理与接口技术,实验,汇编)