基于GSM模块的无线LED显示屏的设计_第1页
基于GSM模块的无线LED显示屏的设计_第2页
基于GSM模块的无线LED显示屏的设计_第3页
基于GSM模块的无线LED显示屏的设计_第4页
基于GSM模块的无线LED显示屏的设计_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录1 前言 .12 方案论证 .12.1 整体方案选择 .12.2 GSM Modem 的选择 .13 设计要求 .34 系统总体框图 .35 单片机外围器件及其驱动程序的设计 .45.1 SoC 型单片机 STC89C516RD+ .45.2 实时时钟电路 .55.2.1 驱动程序设计 .65.3 看门狗电路 .115.3.1 STC89C516RD+单片机内部看门狗的使用 .116 TC35i 模块 AT 指令及中文短信息的收发 .126.1 单片机与 TC35i 的硬件接口 .126.2AT 指令介绍 .136.3 单片机发送 AT 指令的程序设计 .136.4 中文短信息的收发 .156.4.1 PDU 模式及中文短信息的编码 .156.4.2 PDU 模式中文短信息发送的程序设计 .176.4.3 PDU 模式中文短信息的接收与解码 .207 LED 显示屏与模拟串口 .258 结束语 .26致谢 .26参考文献 .27附录一 STC89C516RD+头文件 .28附录二 总程序清单 .311 前言现代社会中,作为人-机信息视觉传播媒体的显示器,LED 显示屏将有可能成为 21 世纪主流产品,广泛 应用于银行,医院,机 场,证券等公共场所。传统有线 LED 显示屏由于距离限制,束缚了屏幕的应用。本文设计的无线 LED 显示屏通过 GSM 短信的方式可实现远距离控制字符的显 示。 本文详细地叙述了基于西门子公司的 TC35i 型 GSM 手机模块的无线 LED 显示屏的设计过程。文中探讨了利用 GSM 短消息作 为数据传输媒介实现远程控制 LED 显示屏的可行性,给出了采用 TC35i 模块和 STC89C516RD+单片机构成的远程控制 LED 显示屏的设计方案,并详细介绍了 远程控制 LED 显示屏的硬件 组成和软件的工作流程。文章重点阐述了 STC89C516RD+单片机和 TC35i 模块的接口、TC35i 的特点和主要功能、AT 指令的应用、短信 PDU 编解码在单片机上的实现,LED 显示屏的构成等。该系统单片机 STC89C516RD+通过标准串口经电平变换与 TC35i 模块相连,完成 对 TC35i 模块 的初始化和短消息的数据收发功能,同时使用一个定时器模拟的串口与 LED 显示屏相 连,完成单片机与 LED 显示屏的信息传递。实践证明,这 种设计思想充分的使用了单片机的内部资源,有利于系统硬件的简单化,大大方便了系统硬件的设计,并很大成度的提高了系统的可靠性。2 方案论证2.1 整体方案选择方案一:基于 ARM 的嵌入式系统。 这种方案中我们 可以使用现有的操作系统(COS-II),在系统的基础上进行应用程序的开发 。由于 ARM 处理器的功能强大,资源丰富,因此使用这种方案可以使系统功能近乎完美,并且由于使用了操作系统, 应用程序的设计会 变得简单可靠。但是 这种方案成本较高,同 时使用的嵌入式操作系统也会占用一部分额外的硬件资源,这样会大大的提高开支。目前情况下我们不考虑这种方案。方案二:SoC 型单片机与 GSM 模块构成的系统。目前 SoC 型单片机已非常普遍,基于 51 内核的 SoC 型芯片也有众多供应厂商。例如,国内宏晶科技的STC 系列, Cyganl 公司的 C8051 系列。这些单片机都有丰富的片上资源,一般都不需要外扩其他器件就可以构成一个完整的系统。片上系统的优点在于减小了布线的麻烦,提高了系统的整体性能。因此我们选用 这种方案 1。2.2 GSM Modem 的选择本设计中 GSM Modem 是该系统中的核心部分,正确选择合适 GSM Modem将关系到整个项目设计的成败。目前 GSM Modem 有众多供应商提供,我们将对几种常用的 GSM 模块进 行评估,以便选择合适的方案。(1)MZ28 模块MZ28 模块是中兴通讯推出的 GSM 无线双频调制解调器,主要为语音传输、短信发送和数据业务提供无线接口。MZ28 集成了完整的射频电路和 GSM 的基带处理器,特别适合于迅速开 发基于 GSM 无线网络的无线应用产品。带有人机接口(MMI )界面的应用产品内部与 MZ28 的通讯可通过标准的串行接口(RS232)进行。MZ28 使用简单的 20-PIN ZIP 插座与用户自己的应用系统相连,此 ZIP 连接方式提供开发所需的数据通信、音频和电源等接口信号。MZ28 可以作为无线引擎,嵌入到用户 自己的产品当中,用 户可以用单片机或其他 CPU 的UART 口,使用相应的 AT 命令, 对模块进行控制,达到使其产品可以轻松进入GSM 网 络的目的 2。(2) Q2406B GSM 模块Q2406B 是 WAVECOM 公司双频 GSM/GPRS 模块内嵌 ICP/IP 协议,支持点对点的 MT&MO,短消息区域广播等。Q2406B(支持 class10),下载53.6.8kbits/s,上传 26.8kbits/s。数据线路异步传输和同步可达 14,400 bits/s。提供RS232 数据接口,通过 AT 指令进行操作,波特率从 300 到 115,200 bits/s,自动速率从 2,400 到 19,200 bits/s。单一天线接口,3V/5VSIM 卡接口。使用 3.6V 供电。(3)TC35i 模块TC35i 是 Siemens 公司推出的新-代无线通信 GSM 模块。自带 RS232 通讯接口,可以方便地与 PC 机、 单片机连机通讯。可以快速、安全、可靠地实现系统方案中的数据、语音传输、短消息服务(Short Message Service)和传真。TC35 模块的工作电压为 3.35.5V,可以工作在 900MHz 和 1800MHz 两个频段,所在频段功耗分别为 2w(900M)和 1w(1800M)。模块有 AT 命令集接口,支持文本和 PDU 模式的短消息、第三组的二类传 真、以及 2.4k,4.8k,9.6k 的非透明模式。此外, 该模块还具有电话簿功能、多方通话,漫游 检测功能,常用工作模式有省电模式、IDLE、TALK 等模式。通过独特的 40 引脚的 ZIF 连 接器,实现电源连接、指令、数据、语音信号、及控制信号的双向 传输。通过 ZIF 连 接器及 50天线连接器,可分别连接 SIM 卡支架和天线。 TC35i 模块主要由 GSM 基带处理器、GSM 射频模块、供电 模块(ASIC)、 闪存、ZIF 连接器、天 线接口六部分组成。作为 TC35 的核心,基带处 理器主要处理 GSM 终端内的语音、数据信号,并涵盖了蜂窝射频设备中的所有的模拟和数字功能。在不需要额外硬件电路的前提下,可支持FR、HR 和 EFR 语音信道编码。其它功能介绍可参见相关资料 3。通过对比以及资料的查找,我们发现 TC35i 有众多的用户,资料介绍比较全面详细。网 络上也有很多电 子爱好者、工程 师对 TC35i 比较感兴趣, 讨论的话题比较多,更有很多调试笔记 等可以参考。因此我 们考 虑选用该模块, 这样风险较小,成功率较高,遇到问题方便解决。3 设计要求(1)TC35i 驱动程序设计;(2)PDU 串解码;(4)LED 显示屏 驱动程序(模 拟串口);(5)汉字编码转换程序;(6)DS1302 驱动程序的设计;(7)终端主程序;(8)电源系统;4 系统总体框图根据设计要求及方案论证,系统终端电路方框图如下图 1。RTCDS1302XRAMCY62256Watch DogMAX6865MCUSTC89C516单片机系统RS232 RS232点阵 LED显示屏GSMmodemTC35i电源+5V图 1 系统终端硬件电路方框图在图 1 所示的方框图中,单片机系统包括 STC89C516RD+4、时钟芯片DS1302、看门狗芯片 MAX68655、以及扩展的 32K 片外存贮器CY62256。CY62256 通过 地址锁存器 74HC573 以总线的方式与单片机连接。这样在用 C 语言 编程的时候只需要在程序中把要使用的变量定义为外部(XDATA)变 量即可。无需考 虑存贮空间的分配以及 寻址的方式,使程序设计有所简化 6。GSM 模 块采用 TC35i,TC35i 带有标准的串行通信接口通过 MAX232 进行电平转换后与单片机进行接口。在本设计中我们的重点是进行短信息的接收与PDU 解码,因此 LED 显示屏我们不在自行设计,而是采用市面上出售的带有标准 RS232 接口的成品 LED 屏幕。 这样我们只需要编 写与 LED 显示屏通信的串口驱动程序。由于 TC35i 与 LED 显示屏都必须通过 串行通信接口与单片机相连,而大多数单片机都只有一个标准的 UART 接口(也有少部分 Soc 型单片机如,C8051F 系列中的一些芯片以及 华邦的 W79E225 等有两个 UART 接口,但价格相对较高),因此我们考虑 使用模拟的串行通信口,这样既降低了成本又充分的利用了片内的定时器资源,事 实证明这是可行的。关于模拟串口将在下文详细介绍。5 单片机外围器件及其驱动程序的设计5.1 SoC 型单片机 STC89C516RD+STC89C51RC/RD+系列单片机是宏晶科技推出的新一代超 强抗干扰、高速、低功耗的单片机。指令代码 完全兼容传统 51 内核的单片机,12 时钟(机器周期),6 时钟(机器周期)可任意选择,最新 D 版本内部集成了 MAX810 专用复位电路。STC89C516RD+单片机 PQFP 封装管脚分布如图 24。图 2 STC89C516RD+单片机 PQFP 封装管脚分布STC89C516RD+单片机的特点:(1)增强型 6 时钟(机器周期),12 时钟周期(机器周期)8051CPU(2)3.4-5.5V 工作电压(5V 单片机)(3)工作频率范围 080MHz (4)用户应用程序空间 64K(5)片上集成 1280 字节 RAM(6)36 个通用 I/O 口, P1、P2、P3、P4 准双向口弱上拉,P0 口开漏输出(7)支持 ISP、IAP,无需 专用编程器,可通过串口(P3.0 ,P3.1)直接下载用户程序(8)EEPROM 功能支持(9)硬件看门狗支持,可完全省去外部看门狗(10)内部集成专用复位电路 MAX810,外部晶振 20M 一下时可省去外部复位电路(11)3 个 16 位定时器计数器(12)外部中断 4 路,下降沿中断或低电平触发中断,Power Down 模式可由外部低电平触发方式唤醒(13)全双工 UART 串行口,可用 软件模拟多个串行口(14)特有的软件复位功能(15)程序加密性强STC89C516RD+单片机的特殊功能寄存器在原有 51 内核单片机的基础上进行了扩展,新增加了一些特殊功能寄存器,详细资料可以查阅STC89C51RC/RD+系列单片机的用户手册,这里不在 赘述。不过为了方便使用 C语言对这些特殊功能寄存器进行访问,在使用该系列单片机之前可以现定义一些关于特殊功能寄存器的头文件。关于 STC89C516RD+单片机特殊功能寄存器定义的头文件请参阅附录 1。5.2 实时时钟电路在本系统中需要显示当前的日期、时间等,因此我 们使用一个时钟芯片,用来提供年、月、日、星期、小时、分钟等信息。我 们选 用 MAXIM 公司生产的时钟芯片 DS1302,外形图如图 3 所示。图 3 DS1302 外形及管脚分布DS1302 是 DALLAS 公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和 31 字节静态 RAM 通过简单的串行接口与 单片机进行通信 实时时钟/日历电路提供秒、分、时、日、日期、月、年的信息。每月的天数和 闰年的天数可自动调整时钟操作可通过 AM/PM 指示决定采用 24 或 12 小时格式 DS1302 与单片机之间能简单地采用同步串行的方式进行通信 仅需用到三个口线 1RES 复位 2 I/O 数据 线 3 SCLK 串行时钟时钟/RAM 的 读/写数据以一个字节或多达 31 个字节的字符 组方式通信 DS1302 工作时功耗很低保持数据和时钟信息时功率小于 1mW。DS1302 有两个 电源端 VCC1 和 VCC2,VCC1 作为主电源端接电源电压, VCC1 作为备用电 源端,可接一个电容,或是接一个备用电池,当失去电源电压时, DS1302 可以通 过备用电源或是电容的放 电来维持供电,保 证时钟芯片能正常运行。当电源电压正常时, 备用电源在线路里不起作用。5.2.1 驱动程序设计DS1302 的输入输出时序图如图 4 和图 5 所示。由于图中的tCC、tCCZ、tCDZ、tDC、tCDH、tCDD、tCL、tR、tF、tCCH、tCWH、tCH 时间都不大于 1s,所以程序中不用考虑加延时。图 4 读数据时序图 5 写数据时序字节输入、输出、读写 DS1302 以及数据处理的 C 语 言程序如下所示:sbit DS1302_CLK = P12; /实时时钟时钟线引脚 sbit DS1302_RST = P14; /实时时钟复位线引脚sbit DS1302_IO = P13; /实时时钟数据线引脚#define DS1302_SECOND 0x80#define DS1302_MINUTE 0x82#define DS1302_HOUR 0x84 #define DS1302_DAY 0x86#define DS1302_MONTH 0x88#define DS1302_WEEK 0x8A#define DS1302_YEAR 0x8C#define CountDay 8#define CountMonth 8 /倒计时结束日期 08 年 8 月 8 日INT8U code SetTimeBuf7 = 0x30, 0x50, 0x08, 0x22, 0x05, 0x04, 0x08;INT8U code Countdown13=0,31,29,31,30,31,30,31,31,30,31,30,31;/月份天数/* 函数名称: DS1302InputByte* 功能描述: 实时时钟写入一字节数据* 输 入: d* 输 出: 无* 全局变量: 无* 调用模块: 无*/void DS1302InputByte(INT8U d) /实时时钟写入一字节 INT8U i;ACC = d;for (i = 8; i 0; i-)DS1302_IO = ACC0; DS1302_CLK = 1;_nop_();DS1302_CLK = 0;ACC = ACC 1; /*函数名称: DS1302OutputByte* 功能描述: 实时时钟读取一字节* 输 入: 无* 输 出: ACC* 全局变量: 无* 调用模块: 无*/INT8U DS1302OutputByte(void) /实时时钟读取一字节 INT8U i;for (i = 8; i 0; i-)ACC = ACC 1; ACC7 = DS1302_IO;DS1302_CLK = 1;_nop_();DS1302_CLK = 0; return (ACC); /*函数名称: Write1302* 功能描述: 向 DS1302 指定的地址写入数据* 输 入: ucAddr, ucData* 输 出: 无* 全局变量: 无* 调用模块: DS1302InputByte*/void Write1302(INT8U ucAddr, INT8U ucData) /ucAddr: 地址, ucData: 数据DS1302_RST = 0;DS1302_CLK = 0;DS1302_RST = 1;DS1302InputByte(ucAddr); / 地址,命令 DS1302InputByte(ucData); / 写 1Byte 数据DS1302_CLK = 1;DS1302_RST = 0;/*函数名称: Read1302* 功能描述: 读取 DS1302 指定地址的数据* 输 入: ucAddr* 输 出: ucData* 全局变量: 无* 调用模块: DS1302InputByte, DS1302OutputByte*/unsigned char Read1302(INT8U ucAddr) /读取 DS1302 某地址的数据INT8U ucData;DS1302_RST = 0;DS1302_CLK = 0;DS1302_RST = 1;DS1302InputByte(ucAddr|0x01); / 地址,命令 ucData = DS1302OutputByte(); / 读 1Byte 数据DS1302_CLK = 1;DS1302_RST = 0;return(ucData);/*函数名称: Initial_DS1302* 功能描述: DS1302 初始化函数* 输 入: * 输 出: * 全局变量: 无* 调用模块: Write1302*/void Initial_DS1302(void)DS1302_RST = 0;DS1302_CLK = 0;DS1302_RST = 1;Write1302(0x90, 0xA5); /充电方式设置DS1302_CLK = 1;DS1302_RST = 0; /*函数名称: DS1302_SetProtec* 功能描述: DS1302 写保 护* 输 入: flag* 输 出: * 全局变量: 无* 调用模块: Write1302*/void DS1302_SetProtect(bit flag) /是否写保护 0 不保护,1 保护if(flag)Write1302(0x8E,0x80);elseWrite1302(0x8E,0x00);/* 函数名称: DS1302_SetTime* 功能描述: DS1302 设置 时间函数* 输 入: * 输 出: * 全局变量: 无* 调用模块: Write1302*/void DS1302_SetTime(void) / 设置时间函数 DS1302_SetProtect(0);Write1302(DS1302_SECOND, SetTimeBuf0); Write1302(DS1302_MINUTE, SetTimeBuf1);Write1302(DS1302_HOUR, SetTimeBuf2);Write1302(DS1302_DAY, SetTimeBuf3);Write1302(DS1302_MONTH, SetTimeBuf4);Write1302(DS1302_WEEK, SetTimeBuf5);Write1302(DS1302_YEAR, SetTimeBuf6);DS1302_SetProtect(1);/*函数名称: DS1302_DS1302_GetTimeCHG* 功能描述: DS1302 读当前 时间并转换成 ASC 码* 输 入: * 输 出: * 全局变量: 无* 调用模块: Read1302*/void DS1302_GetTimeCHG(void)INT8U ReadValue=0,i=0,j=0;INT8S CountTmp=0;INT8U GetTimeBuf7;for(i=0;i4)*10 + (ReadValue/BCD 码转换为 十进制数据便于 处理j+;CHstring8 = GetTimeBuf6/10 + 0; /把日期数据转换为 ASCII 码CHstring9 = GetTimeBuf6%10 + 0;CHstring12 = (GetTimeBuf4/10 + 0);CHstring13 = GetTimeBuf4%10 + 0;CHstring16 = (GetTimeBuf3/10 + 0);CHstring17 = GetTimeBuf3%10 + 0;CHstring48 = (GetTimeBuf2/10 + 0);CHstring49 = GetTimeBuf2%10 + 0;CHstring51 = (GetTimeBuf1/10 + 0);CHstring52 = GetTimeBuf1%10 + 0;CHstring54 = (GetTimeBuf0/10 + 0);CHstring55 = GetTimeBuf0%10 + 0;switch (GetTimeBuf5) /把与星期对应的数据转换为中文一,二.case 0x01: CHstring25 =0xD2,CHstring26 =0xBB;break; case 0x02: CHstring25 =0xB6,CHstring26 =0xFE;break;case 0x03: CHstring25 =0xC8,CHstring26 =0xFD;break;case 0x04: CHstring25 =0xCB,CHstring26 =0xC4;break;case 0x05: CHstring25 =0xCE,CHstring26 =0xE5;break;case 0x06: CHstring25 =0xC1,CHstring26 =0xF9;break;case 0x07: CHstring25 =0xC8,CHstring26 =0xD5;break;default: CHstring25 =E ,CHstring26 =r;for(i=GetTimeBuf4;i 联机命令AT+CSQ 查询信号质量AT+CREG? 查询注册状况AT+IPR 设置串行通信的波特率AT&V 显示 GSM 模 块当前的一些设置AT+CMGF 设置短信编码格式 1-Text 格式, 0-PDU 格式AT+CNMI 选择短消息到来时系统的提示方式AT+CMGR 读取一条短消息AT+CMGL 将 SIM 卡中存 贮的短消息列表AT+CMGS 发送短消息AT+CMGD 删除一条短消息6.3 单片机发送 AT 指令的程序设计单片机与 GSM 模块(TC35i )的软件接口其实就是单 片机通过发送相关的 AT 指令 对 GSM 模块进行操作的技术。如 设置短信息的 编码方式、 读取手机的短信息内容、删除短信息内容、列出手机中 还未读的短消息等。执行 1 条指令,并非某些资料介绍的那么简单,事实上,指令的 执行过程需要单片机与手机交互应答完成,每一次发送或接收的字节数都有严格的规定,二者必须依据这些规定实现数据交换,否则,就会出现通信失败。表 4 列出 AT 指令执行过程。需要重点说明的是,所有 AT 指令的指令符号、常数、PDU 数据包等都是以ASCII 编码形式传送的。比如 “A”的 ASCII 编码为 41H,“T”的 ASCII 编码为 54H,数字“ 0”的 ASC编码为 30H 等。 单片机通过串口向手机发送每一条指令后,必须以回车符作为该条指令的结束,回车符的 ASCII 编码为 0DH。例如, 单片机向手机发送“ AT+CMGF=0”这条指令,其 ASCII 编码 序列为“41H 、54H、2B H、42H、4DH、47H、46H、3DH、30H、0DH”,最后一个字节“0D”表 4 AT 指令的执行过程H 就是回车符,表示该条指令 结束,如果没有这个回车符,手机将不识别这条指令。当手机接收到一条完整的 AT 指令后,手机并不立即执行这条指令,而是首先把刚才接收到的 AT 指令的全部 ASC编码序列全部反发送出来(含 0DH),其次发送 1 个回车符和换行符的 ASC编码即 0DH 和 0AH,最后执行该条指令。例如发送“AT+CMGF=0”这条指令给 GSM 模块,如果通信成功, 则 GSM 模块返回“AT+CMGF=0 OK”,即单片机接收到的数据是该字符串的 ASCII 码“41H 54H 2BH 43H 4DH 47H 46H 3DH 30H 0DH 0DH 0AH 4FH 4BH 0DH 0AH”这表示该条指令已经被成功的执行。遵循以上的 AT 指令执行原则,通过单片机发送一条 AT 指令到 GSM 模块的 C 语 言程序如下:INT8U code Command_At3 = ATr; /Send AT/* 函数名称: AT_Send* 功能描述: 发送 AT 联机命令,通信正常返回 ok* 输 入: 无* 输 出: 无* 全局变量: 无* 调用模块: Start_timer2,Uart_send,Close_timer2, deal_with_error*/void AT_Send(void) INT8U i, error_counter;error_counter = 0;Serial_Inter_Close();while(1) TI = 0;RI = 0;for(i = 0; i =0)&(temp=0)&(temp1;for(j=0;j=0x20&temp_l1)/94+0xB0; *pDst+=(i1)%94+0xA1;return nDstLength;7 LED 显示屏与模 拟串口由于本系统比较复杂,规模较大, 为了能集中精力做好短信息的收发处理,我们不再自行设计点阵 LED 显示屏 12。而是采用 现 有带有汉字字模库以及标准通讯串口的 LED 显示屏。这样我们的重点就工作就是做好 PDU 串的解码、转换以及与 LED 显示屏通讯。前面我们已经介绍过,由于所用的单片机只有一个串行通信口,所以我们使用定 时器来模拟一个串口。 LED 显示屏与单片机的连接如图 8 所示。 对模拟串口的程序 说明如下:123456789RS1R232123456789RS2RS232LED图 8 单片机模拟串口与 LED 显示屏的 连接方式1.程序使用一个定时器和任意 2 个 I/O 口模拟一个串行口。2. 1 位起始位,8 位数据位,1 位停止位。 发数据位时 先发低位。3. 支持半双工通讯。收、发波特率相同。4. 应把定时器中断优先级设置为最高级。5. 本程序每接收一个字节后就把它放到一个队列缓 冲区中(也可使用环行缓冲区), 待 缓冲区 满后,将 缓冲区中的内容原样发回。这是为了测试多字节连续收发的能力和简化程序。实际应 用中应防止缓冲区溢出。 6. 由接收转换到发送时要先调 soft_send_enable ();由发送转换到接收时要先调 soft_receive_enable ()。7. 发送最后一个字节后如果要立刻转为接收,必须等待最后一个字节后发送完毕 while ( rs_f_TI = 0)。模拟串口的详细程序见附录 2。8 结束语经过二个多月的努力,我们设计的基于 GSM 模块的无线 LED 显示屏基本上达到了预期的设计要求。后期我们将不断的对程序进行升级,使系统功能不断的完善。在信息化社会中,远程信息传递扮演着重要的角色。GSM 模块以其准确、低廉、实时 的特点为人们获 得某种信息提供便利,同时 LED 显示又是沟通的重要窗口,二者结合显示可应 用的领域十分广泛,如交通、天气 预报、广告、通知、工农业生产、商业信息等,本设计采用的模块市场上容易获得, 处理系统使用STC 的单片机使 电路简单 可靠。 纵观现有 LED 显示屏的行情,可以看出,该系统实用性强,具有广阔的市场 前景。致谢这次毕业设计是在徐老师的精心指导和大力支持下完成的。在课题选定、理论基础和方案的论证上,徐老 师为我们做了认真的分析和耐心的讲解,从理论指导到实际操作徐老师也给我提供了极大的帮助。他思路开阔、治学严谨、平易近人处事态度和幽默风趣的话语,让我们在学习知识和解决问题时感到无比的轻松和愉快。至此论文定稿之 际, 对老师表示衷心的感 谢! 感谢老师能在繁忙的教学之中抽出时间为我提供耐心的指导,帮我们解决在设计过程中遇到的种种问题。这次的毕业设计是由我们小组三人共同完成的,正是我们的团结合作、坚持不懈才能取得现在的结果。所以在这里还要感谢何永久和宋永帅同学的鼎力帮助,他们给 我的软件设计提出了不少建议,使我思路开阔,程序也因此更加完善。在这里一并向他们表示感谢!最后,再次向各位领导、各位老师致以衷心的感谢!参考文献1 潘琢金,施国君 .C8051Fxxx 高速 SOC 单片机原理及应用M. 北京:北京航空航天大学出版社,2002.52 中兴通讯 GSM 无线模块 MZ28 用户手册EB/OL /down/soft/52012.htm,2006-08-16/2006-10-043 SIEMENS. TC35i Terminal. EB/OL /index0/tc35i/pdf/tc35i_atc_v0301.pdf4宏晶科技.STC 单片机用户参考资料中文版. /datasheet/stc/STC-AD-PDF/STC89C51RC-RD+_GUIDE-CHINESE.pdf,2007-11-075MAXIM. MAX6865 参考资 料. /pdfserv/en/ds/MAX6854-MAX6869.pdf,2005-12-056 马忠梅,籍顺心,张凯,等.单片机的 C 语言应用程序设计(第四版)M. 北京:北京航空航天大学出版社,2007.17Samule P.Harbsion III.Guy L.Steele Jr.著;邱仲潘等译 .C 语言参考手册M.北京:机械工业出版社,2003.88 戴佳,戴卫恒.51 单片机 C 语言应用程序设计M. 北京:电子工业出版社,2006.49 汤竞南,沈国琴.51 单片机 C 语言开发与实例M. 北京:人民邮电出版社,2008.210王宏民.LED 点阵显示屏驱动方案J. 黑龙江电子技术,1999(5):1211李熹霖.谈LED大屏的刷新频率和换帧频率J.现代显示, 2004(1)12庞家成.多功能LED信息显示屏的设计J.现代显示技术, 2006(9)13周小平.LED显示屏及其扫描电路的硬件及软件实现J.印刷电路信息, 2005(1)14虞鹤松.LED 显示屏高速数据通讯接口设计J. 国外电子元器件, 2005(2)15郭兆正等.LED 点阵显示屏系统设计J.渤海大学学报, 2005(12) 16申屠南瑛.远程分布式多LED显示屏控制系统研究J.中国计量学院学报, 2005(1)附录一 STC89C516RD+头文件*-文件信息 -*文 件 名: STC89C516RD+.H*创 建 人: 石栋良*修 改 人: 石栋良*最后修改日期: 2008 年 3 月 20 日*描 述: 这是适用于 STC89C516RD+的头文件 * File : STC89C516RD+* By : spillar,Shi Dongliang联系方法: Tel-#ifndef _STC89C516RD_H / 防止 STC89C516RD.H 被重复引用#define _STC89C516RD_Hsfr AUXR = 0x8E;sfr AUXR1 = 0xA2;sfr IPH = 0xB7;sfr P4 = 0xE8;sfr XICON = 0xC0;sfr WDT_CONTR = 0xE1;sfr ISP_DATA = 0xE2;sfr ISP_ADDRH = 0xE3;sfr ISP_ADDRL = 0xE4;sfr ISP_CMD = 0xE5;sfr ISP_TRIG = 0xE6;sfr ISP_CONTR = 0xE7;sfr T2CON =0xC8;sfr T2MOD =0xC9;sfr RCAP2L =0xCA;sfr RCAP2H =0xCB;sfr TL2 =0xCC;sfr TH2 =0xCD;/* T2CON */sbit TF2 = T2CON7;sbit EXF2 = T2CON6;sbit RCLK = T2CON5;sbit TCLK = T2CON4;sbit EXEN2 = T2CON3;sbit TR2 = T2CON2;sbit C_T2 = T2CON1;sbit CP_RL2 = T2CON0;/* XICON */sbit PX3 = XICON7;sbit EX3 = XICON6;sbit IE3 = XICON5;sbit IT3 = XICON4;sbit PX2 = XICON3;sbit EX2 = XICON2;sbit IE2 = XICON1;sbit IT2 = XICON0;/*以上是 STC89C516RD+新增加的特殊功能寄存器*/*-REG51F.HHeader file for 8xC31/51, 80C51Fx, 80C51Rx+Copyright (c) 1988-1999 Keil Elektronik GmbH and Keil Software, Inc.All rights reserved.Modificati

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论