51系列单片机项目实践课件作者石长华主编课件汇总第10章节单片机串行口通信.pptVIP

  • 1
  • 0
  • 约3.43千字
  • 约 20页
  • 2017-11-12 发布于广东
  • 举报

51系列单片机项目实践课件作者石长华主编课件汇总第10章节单片机串行口通信.ppt

第10章 单片机串行口通信 10.1 项目内容:LED点阵显示汉字 10.2 程序设计 10.3 相关知识 10.1 项目内容:LED点阵显示汉字 10.1.1 硬件电路设计 下图是LED点阵显示汉字的硬件电路。 设计电路主要由以下部分组成: 1. 复位电路采用“上电复位”方式; 2. 时钟电路采用12MHz的振荡脉冲,以保证单片机 能按一定的频率运行; 3. 驱动电路采用动态扫描方式,使用两块74HC595 作为列驱动,而行驱动则采用一块4-16译码器 74HC154来完成; 4. 显示电路采用16x16 LED点阵,该图中采用4块 8x8 LED点阵组成。 10.1.2 基本功能 LED点阵显示汉字的基本功能如下: 1、不仅可以显示字符、汉字,还可以移动显示; 2、若要想更改显示的汉字,只需要在程序中输入相应的字符串的字模即可。 10.2 程序设计 10.2.1 程序代码设计 介绍一部分程序: #include reg51.h #define blkn 2 // 一列数据由两块8x8的LED点阵显示 器显示 sbit EN74154 = P1^7; // 74154片选线 sbit ST_CP74595 = P1^6; // 74595内部输出(从移位寄 存器到输出锁存器)控制 sbit CLEAR74595 = P1^5; // 74595移位寄存器清零 unsigned char data DDRAM[32]; // 显示数据缓冲数组 unsigned char code SJM[][32] = { { 0x00,0x00,0x00,0x00,0x1F,0xF0,0x12,0x20, // 电 0x12,0x20,0x12,0x20,0x12,0x20,0xFF,0xFC, 0x12,0x22,0x12,0x22,0x12,0x22,0x12,0x22, 0x1F,0xF2,0x00,0x02,0x00,0x0E,0x00,0x00 }, { 0x00,0x80,0x00,0x80,0x40,0x80,0x40,0x80, //子 0x40,0x80,0x40,0x82,0x40,0x81,0x47,0xFE, 0x48,0x80,0x50,0x80,0x60,0x80,0x40,0x80, 0x00,0x80,0x01,0x80,0x00,0x80,0x00,0x00 }, {0x42,0x08,0x42,0x08,0x7F,0xF0,0x42,0x11, // 班 0x42,0x92,0x07,0x04,0x00,0x18,0xFF,0xE0, 0x00,0x04,0x42,0x04,0x42,0x04,0x7F,0xFC, 0x42,0x04,0x42,0x04,0x42,0x04,0x00,0x00 } }; 其主程序请参考书上。 10.2.2 仿真结果 下图是截至LED点阵显示汉字在某一个时刻时的运行情况: 10.3 相关知识 10.3.1 字符、汉字显示的基本原理 LED数码管点阵显示器是由LED按矩阵方式排列而成的 按照尺寸大小分:5x7、5x8、6x8、8x8等多种规格; 按照LED发光颜色的变化情况分:单色、双色、三色; 按照LED的连接方式分:共阴极和共阳极之分。 在使用时,只要点亮相应的LED,LED点阵显示器即可 按要求显示英文字母、阿拉伯数字、图像以及中文字 符等场合。LED点阵显示器如下图所示: 1.字母、数字及图形的显示 下图为字母“A”的5x7字形点阵示意图。通过列扫描 方法,从左至右逐列扫描,第一列为0x1F,第二列为 0x24,…第八列为0x00。即得到的数据码为: 0x1F,0x24,0x44,0x24,0x1F,0x00,0x00,0x00。 2.汉字的显示 下图为汉字“电”的16x16字形点阵示意图: 通常把一个汉字分成上、下两个部分,如上图所示。 单片机从上半部左侧开始,扫描完上半部的第1列后, 继续扫描下半部的第1列;然后又从上半部的第2列开始 扫描,扫描完上半部的第2列后,继续扫描下半部的第 2列;……以此类推,直到扫描下半部右侧最后一列为 止。汉字“电”的扫描代码为: 10.3.2 字模生成 1.字模 “电子班”这3个字的字模如前所述。 2.字模数据输出算法 如何从字模数据表中取得当前需要的字模字节呢? 由于显示的汉字较少,可以将需要显示的汉字按照 如下方式编号。 10.3.3 LED点阵模块 8x8只共阴L

文档评论(0)

1亿VIP精品文档

相关文档