标题：基于51系列单片机的LED显示屏开发技术
版权信息
书 名: 基于51系列单片机的LED显示屏开  发技术 
作　者：邬芝权  李骐
出版社： 北京航空航天大学出版社
出版时间： 2009
ISBN: 9787811244656
开本： 16
定价: 49.00 元
内容简介
在简要讲述普通51单片机和C51编程的基础上，《基于51系列单片机的LED显示屏开发技术》还对具有40MHz工作频率、单指令周期的增强型51单片机——VRS51L3074及其在LED显示屏控制系统中的应用做了详细介绍。《基于51系列单片机的LED显示屏开发技术》是国内第一本针对铁电单片机的书籍，为初学铁电单片机或是希望了解该单片机的读者提供了较为全面的资料和开发例程。此外还对通用LED显示屏上位机控制软件设计、LED显示屏控制系统常用时钟芯片DS1302、温度传感器DS18B20、二极管等模块控制程序和硬件电路进行分析和讲解。这些内容是作者近几年来部分开发工作的实践总结，有些是根据实际生产产品的提炼和推广。
《基于51系列单片机的LED显示屏开发技术》内容丰富实用，图文并茂，适用于从事单片机开发和应用以及从事LED控制系统的研发人员和工程技术人员使用，也可以作为单片机爱好者、铁电单片机初学者，以及使用C51编程的研究生、本科生、专科生毕业设计的参考用书。
目录
第1章51系列单片机系统结构概述
1.151单片机概述1
1.1.1单片机的分类1
1.1.28051单片机的应用3
1.1.38051单片机的开发3
1.1.48051单片机型号的选择4
1.1.5单片机学习的要点4
1.251单片机基本系统结构4
1.2.151单片机的结构框图及引脚4
1.2.2MCS51系列单片机主要功能部件6
1.2.3典型时钟电路和复位电路7
1.2.48051单片机I/O结构7
1.351单片机存储器结构8
1.3.1程序存储器9
1.3.2外部数据存储器10
1.3.3内部数据存储器空间11
1.3.4MCS51单片机特殊功能寄存器13
1.3.5常用特殊功能寄存器14
1.451单片机的指令系统及汇编语言设计要点16
1.4.1指令格式16
1.4.2伪指令17
1.4.3寻址方式19
1.4.4指令类型21
1.5汇编程序设计34
1.5.1三种基本的程序结构34
1.5.2汇编程序设计的要点35
1.651单片机主要扩展功能部件39
1.6.1MCS51单片机定时/计数器39
1.6.2中断系统47
1.6.3串行口54
第2章C51应用基础
2.1KeilC51简介62
2.2C51程序设计基础知识63
2.2.1C语言的特点63
2.2.2一个简单的C51例子63
2.2.3C51的基础知识64
2.2.4存储空间定义64
2.2.5C51数据类型65
2.2.6C51存储空间的定义67
2.2.7C51的常量67
2.2.8C51常用运算符68
2.2.9C51表达式73
2.2.10C51的基本语句74
2.3C51的函数与数组80
2.3.1函数的定义81
2.3.2数组83
2.3.3结构(struct)86
2.3.4联合(union)87
2.4C51基本应用90
2.4.1I/O口字节操作应用90
2.4.2I/O口位操作应用90
2.4.3计数器应用91
2.4.4外部中断应用91
2.4.5串行口中断应用92
2.4.6键盘显示程序93
第3章铁电单片机VRS51L3074
3.1VRS51L3074概述104
3.1.1功能说明104
3.1.2引脚说明106
3.1.3指令系统109
3.2VRS51L3074的存储器结构113
3.2.1内部数据存储区114
3.2.2特殊功能寄存器区114
3.2.3外部数据存储器组织120
3.2.4外部数据总线访问123
3.2.5FRAM铁电存储器的使用127
3.3VRS51L3074芯片配置133
3.3.1系统时钟配置133
3.3.2处理器工作模式控制135
3.3.3功能模块使能控制136
3.3.4功能模块I/O映射与优先级137
3.4通用I/O口138
3.4.1I/O口结构139
3.4.2I/O口方向配置139
3.4.3I/O口输入使能控制140
3.4.4I/O口锁存器140
3.4.5I/O口驱动能力141
3.4.6I/O口状态变化监控141
3.5定时/计数器142
3.5.1定时/计数器T0、T1143
3.5.2定时/计数器T2147
3.5.3定时器级联150
3.5.4定时器应用例程151
3.6脉冲宽度计数器(PWC)151
3.6.1PWC模块配置寄存器153
3.6.2PWC模块配置操作155
3.6.3PWC模块例程155
3.7串行口156
3.7.1串行口UART0157
3.7.2串行口UART1159
3.7.3串行通信波特率计算161
3.7.4UART0和UART1引脚映射162
3.7.5串行口例程163
3.8SPI接口166
3.8.1SPI运行控制167
3.8.2SPI配置和状态监控168
3.8.3SPI传输字长171
3.8.4SPI数据寄存器172
3.8.5SPI数据输入/输出173
3.8.6可变位数据传输174
3.9I2C接口175
3.9.1I2C运行控制175
3.9.2I2C从机在线状态检查178
3.9.3从机ID设置与I2C高级配置180
3.9.4I2C例程181
3.10脉冲宽度调制器(PWMs)184
3.10.1PWM输出波形控制185
3.10.2PWM模块时钟配置188
3.10.3PWM模块例程188
3.10.4PWM模块的定时器工作模式191
3.11增强型算术单元(AU)194
3.11.1算术单元控制寄存器195
3.11.2算术单元数据寄存器198
3.11.3桶式移位器200
3.11.4增强型算术单元整体结构201
3.11.5算术单元基本运算例程201
3.12看门狗定时器(WDT)202
3.12.1看门狗定时器的控制203
3.12.2采用外部时钟的情况下WDT的复位控制204
3.12.3WDT基本配置例程204
3.13中断系统205
3.13.1中断系统概述205
3.13.2中断允许控制207
3.13.3中断源选择208
3.13.4中断优先级209
3.13.5引脚变化中断209
3.14VRS51L3074JTAG接口211
3.14.1激活JTAG接口对系统的影响211
3.14.2板级JTAG接口的实现212
3.14.3VRS51L3074调试器212
3.15Flash编程接口（FPI）212
3.15.1与FPI模块相关的特殊功能寄存器212
3.15.2Flash存储器读操作215
3.15.3Flash存储器擦除217
3.15.4Flash存储器写操作218
第4章LED显示屏工作原理
4.1LED发光原理及其发展状况、趋势224
4.1.1LED发光原理224
4.1.2LED发展历史及趋势225
4.2LED显示屏基本模块介绍226
4.2.1光学和人眼视觉知识226
4.2.2LED器件主要参数227
4.2.3双基色点阵LED模块简介228
4.3常用双基色LED显示屏基本控制单元229
4.3.1室内双基色LED单元板结构介绍229
4.3.2驱动方式分析230
4.3.3室内双基色单元板电路分析232
4.4LED显示屏分类及亮度、灰度控制237
4.4.1LED显示屏分类237
4.4.2LED显示屏亮度及灰度控制理论238
4.5LED显示屏工程应用及维护概述241
4.5.1LED显示屏的方案设计241
4.5.2LED显示屏的安装243
4.5.3LED显示屏的维修244
第5章LED显示屏显示数据的组织
5.1LED显示屏控制系统对单片机的基本要求245
5.1.1LED显示屏对单片机控制系统的基本要求245
5.1.2LED显示屏对单片机数据处理方式的基本要求247
5.1.3指令优化对字节处理时间的影响248
5.2LED显示屏静态显示数据的组织251
5.2.1静态显示的LED显示屏数据组织251
5.2.2静态屏的滚动显示255
5.3LED显示屏动态显示数据的组织258
5.3.1动态显示的LED显示屏数据组织258
5.3.2显示区域中X、Y坐标与存储单元字节地址i、位地址j之间的关系261
5.4显示效果与占用显示数据存储器大小的关系263
5.4.1显示效果与占用显示数据存储器大小的关系263
5.4.2采用双RAM并行输出降低显示数据存储器的占用267
5.4.3多RAM并行输出时双RAM并行输出方式的扩展270
第6章基于51系列单片机的小型LED显示屏控制系统
6.1单片机直接驱动LED显示屏272
6.1.1显示数据存储在程序存储器中272
6.1.2显示数据存储在扩展的外部并行数据存储器中278
6.2利用单片机外部读写信号驱动LED显示屏279
6.2.1单片机外部数据存储器扩展279
6.2.2多个外部数据存储器扩展280
6.3利用单片机SPI接口驱动LED显示屏287
6.3.1SPI接口的特点287
6.3.2利用SPI接口驱动LED显示屏288
6.4单片机直接驱动LED显示屏应用实例291
第7章单片机扩展外部地址计数器驱动大型LED显示屏
7.1单片机访问外部数据存储器时间上的限制297
7.2利用单片机多RAM技术驱动大型LED显示屏301
7.2.1并行RAM方式301
7.2.2串行存储器方式307
7.3利用LED显示屏单元板排列方式驱动超长LED显示屏308
7.3.1超长LED显示屏面临的问题308
7.3.2LED显示屏的双向排列方式308
7.3.3超长LED显示屏的数据组织与硬件实现309
7.4利用多单片机系统驱动超大型LED显示屏313
7.5基于DSP与FPGA的LED显示屏控制系统的设计315
7.5.1DSP的特点及在LED显示屏控制系统中的应用315
7.5.2基于FPGA的系统时序电路设计316
7.5.3显示存储器模块设计317
7.5.4LED显示屏分区317
7.5.5显示存储器扫描时序控制电路318
第8章LED显示屏的系统软件编程
8.1汉字字库的生成与使用320
8.1.1汉字编码简介321
8.1.2点阵汉字字库321
8.1.3在Windows环境下提取字模的工作原理322
8.1.4提取字模的程序设计322
8.2控制卡与PC机的协议制定324
8.2.1控制命令字约定325
8.2.2配置文本编辑326
8.2.3直接数据格式定义329
8.2.4存储器地址位置331
8.2.5PC机端串行口通信模块331
8.3汉字字形的提取及图片的嵌入333
8.3.1汉字字形提取334
8.3.2图片的嵌入339
8.4PC机对下载数据的预处理339
8.4.1LED屏显示信息编辑及提取340
8.4.2LED显示数据生成340
8.4.3INTER格式数据转换342
第9章LED显示屏单片机控制系统编程
9.1基于SPI的Flash存储器读写346
9.1.1SST25系列串行Flash存储器346
9.1.2基于51单片机SPI接口的串行Flash驱动程序350
9.2字符控制及处理程序设计359
9.2.1字符控制处理程序设计360
9.2.2字符点阵字模提取程序设计367
9.3显示程序372
9.3.1显示程序指令表372
9.3.2读显示程序指令表378
9.3.3执行显示程序指令表381
9.3.4单场显示程序设计384
9.4串行口通信模块设计385
9.4.151单片机端串行口收发模块385
9.4.251单片机端串行口扩展程序模块388
9.5基于DS1302时钟模块程序设计391
9.5.1DS1302的结构及工作原理391
9.5.2DS1302的控制字节说明391
9.5.3复位392
9.5.4数据输入/输出392
9.5.5DS1302的寄存器392
9.5.6DS1302在LED控制卡上的硬件电路及软件设计393
9.6基于DS18B20温度传感器的模块设计395
9.6.1DS18B20的工作时序396
9.6.2DS18B20的程序设计397
第10章VRS51L3074在LED显示屏控制系统中的应用
10.1VRS51L3074与标准51单片机的比较401
10.1.1VRS51L3074运行速度401
10.1.2VRS51L3074的高速增强型SPI接口402
10.1.3VRS51L3074的定时/计数器402
10.1.4VRS51L3074的增强型算术运算单元402
10.1.5VRS51L3074的其他部件403
10.2VRS51L3074的基本应用403
10.3VRS51L3074的RAM扩展应用407
10.4VRS51L3074扩展硬件地址计数器409
10.5VRS51L3074的扩展“双端口”串行FRAM412
附录AASCII码表415
附录BMCS51单片机常用资料416
附录CC51中的关键字和常用函数425
附录DKeilμVision3中高性能铁电单片机（VRS51L2xxx/3xxx）的相关配置简介435
附录E常用芯片引脚图440
E.1CPU440
E.2驱动芯片442
E.3其他444
附录F异步室内双基色LED显示屏故障排查简明手册449
附录GLED双基色单元板原理图451
参考文献455
序言
我国开始使用单片机是在1982年，20世纪90年代中期单片机技术和市场发展非常迅速。近年来，单片机已经成为科技领域的有力工具，人类社会生活的得力助手。它的广泛应用，不仅仅体现在工业控制、机电应用、智能仪表、实时控制、航空航天、尖端武器等行业和领域的智能化、高精度化，而且在人类日常生活中也随处可见它的身影。洗衣机、电冰箱、电子玩具、收录机等家用电器配上单片机后，不仅提高了智能化程度，增强了功能，也使人类生活更加方便、舒适、丰富多彩。
20世纪90年代后，嵌入式系统设计由以嵌入式微处理器为核心的“集成电路”级设计，逐渐转向“集成系统”级设计，在MCU（Micro Controller Unit）提出了系统芯片SoC（System on a Chip）的基本概念，例如，ARM公司的ARM、HP公司的PARISC及Sun公司的Sparc等等，它们为高性能嵌入式系统开发提供了功能丰富的硬件平台，也为实时嵌入式操作系统的广泛应用奠定了基础。这些高性能微处理器的推广应用是否就意味着单片机即将退出嵌入式微处理器的舞台呢？目前，单片机正朝着高性能和多品种方向发展，其趋势将进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展，其功能也将越来越丰富，速度也越来越快，甚至有些方面并不逊于ARM或DSP。还有最为重要的是生产成本问题，普通ARM或DSP的价格是一般单片机的几倍甚至数10倍，因此在大批量工业生产时，这也成为了厂商选择的重要因素。据相关部门统计，我国的单片机年容量已达1亿~~3亿片，且每年以大约16%的速度增长，所以综合单片机技术和市场需求等多方面情况来看，它仍然有自己广阔的应用前景。例如，本书所讲的铁电单片机——VRS51L3074，它内部自带精确的40 MHz振荡器，拥有ISP、IAP功能的JTAG及FPI等众多外围接口，32 KB外部数据总线访问接口等等，具有许多普通51单片机所无法比拟的功能。与PIC高端单片机18系列比较，它在定时/计数器、PWC、PWM等方面都有较大优势，甚至和ARM7相比较很多技术指标也是不分伯仲，例如铁电的32位滚桶计数器、16位乘除法和32位加法运算单元、铁电存储器等。而且铁电公司预计在2008年底还将推出100 MHz铁电单片机，所以就目前单片机技术来看，其发展步伐没有减缓，反而在大幅度推进，原因不仅仅在于电子制造工艺的提高和电子科技的发展，最重要的还是因为市场对于它的大量需求。
随着LED显示屏在广告传媒领域逐渐崭露头角，其控制系统也如雨后春笋，层出不穷。由于它的控制系统均是基于嵌入式微处理器开发，所以单片机在其中也占有一席之地。但是，由于LED显示屏控制较复杂，特别是对于显示特殊效果，如循环移动、覆盖、霓虹灯效果，要求处理器运算速度快、执行效率高，所以很多控制卡生产厂家采用高端嵌入式系统进行设计。这样做虽然能在一定程度上提高数据处理速度，但是并不能完全满足所有显示效果要求，而且开发和产品成本也会随之成倍增加，甚至由于其设计不当可能在显示时出现抖动、闪烁、重影等现象。归根结底，LED显示屏控制卡的设计中硬件是一方面因素，同时还要考虑到显示数据组织方式，通过软硬结合的方法才能设计出一款性价比较高的控制卡。本书就如何高效率组织LED显示屏数据做了深度剖析，从显示基本原理到实际应用实现，都有详尽分析，并且在此基础上提出基于普通51系列单片机实现LED显示屏控制的原理及方法。通过单片机在LED显示屏控制卡中的应用，同时也印证MCU和SoC是嵌入式系统当今发展的两大分支，它们之间相互渗透、交叉，在硬件系统设计选择时，应根据实际需要，综合考虑开发、生产成本和技术难度等多方面因素。
本书共10章，每章内容概括如下：
第1章： 简要介绍51单片机结构体系和主要功能部件，以及指令系统和汇编语言设计的要点。
第2章： 分析当前比较流行的C51编程要点、技巧，并列举常用实例辅助说明。
第3章： 详细讲解铁电单片机——VRS51L3074，对其功能部件进行深度探讨和解析，弥补这一新器件中文资料不足的缺陷。
第4章： 以市面上普遍使用的双基色单元板为平台，分析LED单元板驱动方式，并对LED显示屏亮度和灰度控制深入探讨、总结。
第5章： 通过对LED显示屏数据组织方式的讨论，归纳总结出静态显示和动态显示的规律，以及对应显示效果和存储器大小之间的关系。
第6章： 基于第5章中所提出的算法，以51系列单片机为例，通过具体应用实例说明该算法的可行性，并详细介绍如何利用单片机SPI接口驱动LED显示屏的方法。
第7章： 采用实例讲解如何利用单片机扩展外部地址计数器驱动大型LED显示屏。
第8章： 介绍LED显示屏的系统软件编程。
第9章： 介绍LED显示屏单片机控制系统编程，包括常用串行口驱动、温度传感器（DS18B20）驱动、时钟芯片（DS1302）驱动等。
第10章： 介绍VRS51L3074在LED显示屏控制系统中的应用。
此外，为方便读者查询资料，在附录中添加了常用指令表、芯片引脚图、功能表、简明LED维修表等实用资料。
本书的编写宗旨是：以增强型51单片机为平台，结合当前比较流行的LED控制卡设计，通过软件算法优化、程序设计优化和硬件配合的方式，通过实例设计，向读者展示单片机的优势和特点，也从另一个方面说明，硬件设计最重要的是一种思想和理念，即：器件的选择并不是唯一决定硬件设计思路的因素。
本书中所有源代码和电路图均通过实际应用验证，并已经有部分长期在科研项目中使用，如果读者在验证过程中有疑问，欢迎来电或通过电子邮件的方式联系。
本书由西南交通大学峨眉校区计算机与通信工程系的部分教师编写。靳桅编写第5、6、7、10章，邬芝权编写第1、8、9章，李骐编写第2、4章和附录，刘全编写第3章。还有赵煜、杨莉、肖波、杨德友、朱云芳、张占军、陈诗伟、王飞、白海峰、翟旭、江桦等承担了本书部分章节资料整理工作，全书由靳桅统稿、主编。
本书编写过程中，得到了北京航空航天大学出版社的大力支持和关心，西南交通大学各级领导的帮助，以及许多专家的指导，特别是铁电公司西南区销售经理李丹同志、北天星公司和南安市佳彩光电电子有限公司在资料收集、整理上的鼎力支持，在此一并表示感谢！
由于作者水平有限，时间仓促，书中难免有错误和不妥之处，恳请广大读者批评指正。