基于单片机的电子阅读器的设计与实现.doc_第1页
基于单片机的电子阅读器的设计与实现.doc_第2页
基于单片机的电子阅读器的设计与实现.doc_第3页
基于单片机的电子阅读器的设计与实现.doc_第4页
基于单片机的电子阅读器的设计与实现.doc_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

摘要进入21世纪,随着电子技术的高速发展,电子产品已经越来越多了。由此而诞生的电子阅读器也逐渐增多,曾在08年到12年这几年,电子阅读器曾轰动一时!之后随着手机平板电脑的普及,以及可以实现阅读,方便实用!越来越多的群众不再喜爱只有一种功能的电子阅读器了,致使电子阅读器从12年销量达到顶峰之后,每年销量急剧下降!而此次毕业设计所做的基于C51单片机的电子阅读器的,通过12864液晶显示屏现实字幕的,用红外设备控制翻页,相当于按键部分采用了红外遥控代替的,这种作品实际上基本上已经不具有实用价值,虽然所用的是还算是比较先进的LED显示屏来实现阅读的吧!因为现在的电子书阅读器厂家基本上已经放弃了LCD液晶显示,而是使用更先进的电子纸实现阅读的,而且C51单片机已经过时了,之所以我依旧选择这个题目是因为电子书接近现实,有更广泛的兴趣爱好,而且不光学习单片机知识,还有LED显示应用的知识,对于当代大学生掌握应用更高级的单片机知识打下了一个良好的基础。关键字:单片机; LED; 电子阅读器Abstract Entering the 21st century, electronic products has been more and more with the rapid development of electronic technology.Hence the birth of electronic readers also gradually increasing.E-book reader made a great flutter, in recent years from 2008 to 2012.After this,mobile phone tablet was popular,and it can achieve reading,be convenient and be practical!More and more people no longer love the electronic reader for only a function.Electronic reader sales peaked in 2012, after that annual sales fell sharply! And this e-book reader based on C51 SCM dose not have practical value.Though it was used to advanced 12864 LED screen!Now e-reader manufacturers basically has abandoned the LCD screen but them use more advanced electronic paper as the screen for e-book reader,and the C51 has been out of date.I still choose this topic because e-books is close to reality,and I have a wider range of the LED. Through it ,we can learn more knowledge for LED.It is a great foundation for college students!Key words:SCM; LED; E-reader book目录摘要1Abstract21 绪论11.1课题提出的背景目的以及意义11.1.1课题提出的背景11.1.2课题提出的目的11.1.3课题提出的意义11.2国内外研究状况21.2.1国外研究状况21.2.2国内发展状况31.3论文结构以及安排41.3.1论文整体结构41.3.2论文各部分策划安排42 课题整体设计思路与研究方法52.1 课题整体研究方案52.1.1 研究整体构架描述52.1.2整体构架图52.2课题所需芯片及软件62.2.1芯片介绍62.2.2软件介绍153 电子阅读器的硬件设置163.1最小系统设置163.2 LED显示电路设置193.3键盘控制电路设置204电子阅读器的软件设置244.1 LED显示子程序244.2 硬件汉字库相关知识254.3总电路图284.4 部分软件设计295 系统仿真与测试335.1keil编译335.2.Proteus仿真335.3出现的问题以及解决35结束语37致谢38参考文献39附录40 1 绪论1.1课题提出的背景目的以及意义1.1.1课题提出的背景 信息技术和网络技术的飞速发展,让全世界的人们提前很多年享受到虚拟网络世界给人们带来的幸福与快乐,信息的快速传递和思想情感的充分交流是IT和Internet给人们带来最为美好的一面。但是IT和Internet经济的泡沫,却让过早的享受这一切的人们也付出了代价,尤其是使投资者们损失了巨额的资金。 当带有许多泡沫的网络大潮退却的时候,人们发现海滩上还留下了电子邮件,资讯的快速浏览和寻找,聊天和免费的互动娱乐,除了这样几件东西以外,还有另外一件东西,那就是电子书。网络的存在,无疑会使传统的精神文化产品受到冲击。人们欢迎电子书,但是电子书却不能违背产业发展的规律,也不能无视资本的力量。不然我们绝对不会看到:现在所有新出的“书籍、杂志和报纸”原本都已经数字化了,可就在面向读者的最后一关出版,没有将“数字化”进行到底,仍旧使用的是纸张。如果说,这是由于技术的原因而不能实现以电子显示的方式进行大众阅读,那么这显然不是正确的回答。1.1.2课题提出的目的 随着电子技术的发展以及电子产品的铺天盖地,越来越多的消费者逐渐的喜欢了拿在手里方便,不可无限重复下载阅读的电子阅读器了,他们喜欢阅读哪一本书的时候不用再掏钱去书店里买了,只在网上下载次数到阅读器里面就可以随时随地的实现阅读,这样不仅省去了买书的钱,而且携带方便,观看方便。由此电子阅读器的产生是必然趋势。而在未来的年代里,电子书很可能代替纸质的课本了,这样更节能!至此,我选择了电子阅读器的制作,为了就是适应潮流,适应社会的发展。1.1.3课题提出的意义电子阅读器的发展是文字的纸质版逐渐向电子版转化的一个枢纽,也许电子版的阅读器永远无法完全代替纸质版的,可是这是一个趋势!地球的资源是有限的,总有一天会有短缺的时候,也许到了那一天来临的时候,就不会再有纸质版的文字记载了,全部都是电子档的,为了节约资源!我想那一天的来临也就预计着地球的危机了吧!1.2国内外研究状况1.2.1国外研究状况一般现在的研究课题都要与当今世界先进技术做对比,要跟着世界发展的步伐也只有这样了。目前说国外的研究状况,一般指的是世界先进国家的发展水平。在当今世界上电子阅读器研究水平顶尖的国家也就数美国和日本了,那么我们谈论国外的研究状况就从这两个国家说起:美国 (1)Microsoft PC机操作系统及工具软件王国的事实上的统治者,同时凭借内容格式和经营阅读平台方面的技术优势,期望通过eBook产业闯入经营内容的王国。(2)Gemstar 美国新闻集团为主要股东的NSDAQ上市企业,准备在IPG和eBook方面找到未来消费类电子产业中最具发展力的增长点,并于1999年彻底的收购了美国ebook阅读器最著名的两家公司Rocket Book 和SoftBook. 在专用阅读器方面准备实行技术垄断控制。(3)HP&Adobe HP无疑是IT公司中的佼佼者,尤其在打印机语言方面HL已基本形成了业界的标准。而Adobe公司以PS语言与之抗衡,特别是其网络上的PDF格式更加著名,目前60,70以上的西文电子文档都使用该格式。这两家公司岂能放弃eBook方面的积累优势,都投入巨资,希图占领未来的肥沃市场。(4) Franklin 美国著名的消费类电子产品品牌,且拥有自己的内容渠道,但其ebook的形象是稍大一点的PDA形象ebookman,目前出货量在美国号称第一,但年出货量仍然小于10万台。 日本 (1)Toshiba(东芝) 凭借着其综合的优势,在非挥发超大容量存储器、数字版权处理、存储卡和显示技术方面频频出大手笔,据说在ebook阅读器方面也投入了巨资开发。 (2)Sony(索尼) 在许多的电子类终端产品都有长线的投资,其在PS2方面的成功,使得全世界的业内人士清楚的看到,没有系统、内容和运营的全面服务,很难在未来的市场中立于不败之地。因此Sony在ebook产品所涉及部分大举投资,是其本能的反应。(3)MEI(松下) 松下SD卡全系列技术和盟员的出台,不但在版权和半导体技术进行了集成,而且在盟员的联合和新品的开发上都采取了全新的模式,可谓出手不凡。e平台方面的全面投入,使得他在未来的经营中取得了综合优势,ebook已经被松下聚焦为重中之中的旗舰产品。1.2.2国内发展状况 (1)Amazon Kindle由 Amazon生产的一系列电子书阅读器。第一代Kindle于2007年11月19日发布,用户可以通过无线网络使用 Amazon Kindle 购买、下载和阅读电子书、报纸、杂志、博客、芝麻客及其他电子媒体。由Amazon旗下 Lab126 所开发的 Amazon Kindle 硬件平台,最早只有一种设备,但已经发展为一个系列,大部分使用 E Ink 十六级灰度电子纸显示技术,能在最小化电源消耗的情况下提供类似纸张的阅读体验。 2013年9月4日消息,亚马逊正式宣布推出全新Kindle Paperwhite电子书2新款Kindle Paperwhite定价119美元(有广告)和139美元,它们将于9月5日上市,当前已经开放预订;至于售价189美元的3G版则要等到11月5日才会发布。两者均会在 9 月 30 日于美国出货。 据亚马逊的描述,新款Kindle Paperwhite的处理器要快25%,改善屏幕高对比显示,更长的电池续航。另外,亚马逊还为新Kindle Paperwhite增加了Kindle Page Flip等新功能。(2)(港台)汉文化传信 香港上市公司,中文仓吉输入法的发明人朱邦复为整体的领军人物,协同人民教育出版社大力开展中文学生课本的工作,理念宏达、手笔庞大,核心技术为字库、操作平台和中文MCU。 (3)北大方正 依据多年来,在华文出版界和报界的排版系统和相关设备的行业优势,大举进攻网络出版,并抢占内容格式(CEB与XEB)方面的制高点,以形成事实上的标准,目前主要的战略是:广泛与出版界联合,建立网络出版的依托平台,同时密切与国内外的硬件阅读器厂商合作。 (4)南开津科 专心致力于电子阅读器器具的研发,生产“翰林电子书”,广泛与网络出版、传统出版商合 作,重点突破阅读器具与版权控制的瓶颈,为形成新型的产业构筑坚实的基础。 (5)辽宁秦通 辽宁出版集团与美国硅谷一家公司合资,其“掌上书房”,主要仿制Rocket Book,缺乏可竞争的技术核心,运营思路是内容和阅读器一起上。 (6)湖南远景科技 整体思路和概念十分类似一Rocket Book, 内容有湖南出版集团的支持。 (7)北京伯通 推出主要针对中小学市场的“绿色电子书包”,其实是扩大的PDA,技术主要来源于台湾的PDA厂商。1.3论文结构以及安排1.3.1论文整体结构此次论文主要内容分为四个部分,第一部分主要是有关芯片以及软件的介绍,芯片主要介绍AT89C52单片机以及最小系统的内部原理,软件主要是keil和proteus_ISIS的介绍,最后介绍一下12864LCD液晶屏;第二部分是电子阅读器的硬件设置,主要是LED显示电路和sd卡控制电路的设置;第三部分是软件设置部分,主要是LCD12864显示子程序和外设控制程序;第四部分是关于调试仿真部分,基本就是在proteus_ISIS中的调试仿真。1.3.2论文各部分策划安排 本论文主要内容就是24章,核心是第三章与第四章,盖含了AD89C51单片机内部功能,引脚与最小系统原路;LCD12864液晶显示屏的整体介绍;单片机读取sd卡的分析和编程仿真软件的使用。至于仿真的结果与实物的演示基本不做介绍,因为此次毕设我不能保证一定可以调试成功,或者说一定可以做出实物。2 课题整体设计思路与研究方法2.1 课题整体研究方案2.1.1 研究整体构架描述本次设计是从程序中读取文本并显示到12864液晶显示屏上,还可以通过按键实现上下翻页的功能,选择要读取的内容。第一部分是汉字显示和按键部分,主要用12864液晶显示,红外遥控控制翻页;第二部分是汉字读取和字库读取部分。这两部分用单片机来实现。阅读器由单片机、红外接收装置、12864LCD液晶显示屏、键盘和供电电源组成,各部分电路均采用模块化设计。电子书存放在程序中,AT89C51单片机通过编程读取电子书信息,用红外无线控制键盘选择电子书显示在液晶显示屏上。2.1.2整体构架图图2.1 系统框图图2.2 软件流程图2.2课题所需芯片及软件2.2.1芯片介绍 (1)AT89C单片机:随着科技的发展,出现了DSP,ARM等更高级的单片机,DSP:它从16位32位,内部采用哈佛结构,特别适合数据处理。其中16位DSP适合中高级工控到简单语音/图片(不含视频)处理;其中32位DSP适合复杂语音/图片/视频处理。ARM:是32位单片机,由于结构和计算速度的原因,目前适合做事务处理或者中低端应用,从中高级工控到简单语音/图片(不含视频)处理 。51单片机虽然和DSP,ARM相比处理速度和运算速度上都比较慢,但它的体积小、质量轻、价格便宜,它的速度可以满足本次实验的要求,所以我们采用AT89C51这款单片机。AT89C51是一个低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的Flash只读程序存储器和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,1个全双工串行通信口。主要特性: 与MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环 数据保留时间:10年 全静态工作:0Hz-24Hz 三级程序存储器锁定 128*8位内部RAM 32可编程I/O线 两个16位定时器/计数器 5个中断源 可编程串行通道 低功耗的闲置和掉电模式片内振荡器和时钟电路 图2.3 AT89C51单片机芯片内部原理图 图2.4 AT89C52引脚结构 STC89C52RC引脚功能说明:VCC(40引脚):电源电压VSS(20引脚):接地P0端口(P0.0P0.7,3932引脚):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。此时,P0口内部上拉电阻有效。在Flash ROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。验证时,要求外接上拉电阻。P1端口(P1.0P1.7,18引脚):P1口是一个带内部上拉电阻的8位双向I/O口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流。此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体参见下表:在对Flash ROM编程和程序校验时,P1接收低8位地址。表2.1 P1.0和P1.1引脚复用功能引脚号功能特性P1.0T2(定时器/计数器2外部计数输入),时钟输出P1.1T2EX(定时器/计数器2捕获/重装触发和方向控制)P2端口(P2.0P2.7,2128引脚):P2口是一个带内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX DPTR”指令)时,P2送出高8位地址。在访问8位地址的外部数据存储器(如执行“MOVX R1”指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访问期间不会改变。在对Flash ROM编程和程序校验期间,P2也接收高位地址和一些控制信号。P3端口(P3.0P3.7,1017引脚):P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流。在对Flash ROM编程或程序校验时,P3还接收一些控制信号。P3口除作为一般I/O口外,还有其他一些复用功能,如下表所示:表2.2 P3口引脚复用功能引脚号复用功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(定时器0的外部输入)P3.5T1(定时器1的外部输入)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)RST(9引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。看门狗计时完成后,RST引脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。 ALE/(30引脚):地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚()也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址位8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOV指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址位8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。(29引脚):外部程序存储器选通信号()是外部程序存储器选通信号。当AT89C51RC从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而访问外部数据存储器时,将不被激活。/VPP(31引脚):访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,必须接GND。注意加密方式1时,将内部锁定位RESET。为了执行内部程序指令,应该接VCC。在Flash编程期间,也接收12伏VPP电压。XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。XTAL2(18引脚):振荡器反相放大器的输入端。 (2)CH376 是文件管理控制芯片,用于单片机系统读写U 盘或者SD 卡中的文件。CH376 支持USB 设备方式和USB 主机方式,并且内置了USB 通讯协议的基本固件,内置了处理Mass-Storage海量存储设备的专用通讯协议的固件,内置了SD 卡的通讯接口固件,内置了FAT16和FAT32 以及FAT12 文件系统的管理固件,支持常用的USB 存储设备(包括U 盘/USB 硬盘/USB 闪存盘/USB 读卡器)和SD 卡(包括标准容量SD 卡和高容量HC-SD 卡以及协议兼容的MMC 卡和TF 卡)。CH376 支持三种通讯接口:8 位并口、SPI 接口或者异步串口,单片机/DSP/MCU/MPU 等控制器可以通过上述任何一种通讯接口控制CH376 芯片,存取U 盘或者SD 卡中的文件或者与计算机通讯。CH376 的USB 设备方式与CH372 芯片完全兼容,CH376 的USB 主机方式与CH375 芯片基本兼容。下图为CH376 的应用框图。 图2.5 CH376应用图特点 支持1.5Mbps低速和12Mbps 全速USB 通讯,兼容USB V2.0,外围元器件只需要晶体和电容。 支持USB-HOST 主机接口和USB-DEVICE 设备接口,支持动态切换主机方式与设备方式。 支持USB 设备的控制传输、批量传输、中断传输。 自动检测USB 设备的连接和断开,提供设备连接和断开的事件通知。 提供6MHz 的SPI 主机接口,支持SD 卡以及与其协议兼容的MMC 卡和TF 卡等。 内置USB 控制传输的协议处理器,简化常用的控制传输。 内置固件处理海量存储设备的专用通讯协议,支持Bulk-Only传输协议和SCSI、UFI、RBC 或等效命令集的USB 存储设备(包括U 盘/USB 硬盘/USB 闪存盘/USB 读卡器)。 内置FAT16 和FAT32 以及FAT12 文件系统的管理固件,支持容量高达32GB 的U 盘和SD 卡。 提供文件管理功能:打开、新建或删除文件、枚举和搜索文件、创建子目录、支持长文件名。 提供文件读写功能:以字节为最小单位或者以扇区为单位对多级子目录下的文件进行读写。 提供磁盘管理功能:初始化磁盘、查询物理容量、查询剩余空间、物理扇区读写。 提供2MB 速度的8 位被动并行接口,支持连接到单片机的并行数据总线。 提供2MB/24MHz 速度的SPI 设备接口,支持连接到单片机的SPI 串行总线。 提供最高3Mbps 速度的异步串口,支持连接到单片机的串行口,支持通讯波特率动态调整。 支持5V 电源电压和3.3V 电源电压以及3V 电源电压,支持低功耗模式。 USB 设备方式完全兼容CH372 芯片;USB 主机方式基本兼容CH375 芯片。 提供SOP-28 和SSOP20 无铅封装,兼容RoHS,提供SOP28 到DIP28 的转换板,SOP28 封装的引脚基本兼容CH375 芯片。下图为CH376封装图 图2.6 封装 (3)12864液晶介绍主要技术参数如表2.3所示。 表2.3 主要技术参数显示容量12864点阵(SYN型)模块最佳工作电压5.0V工作电压4.85.2V字符尺寸0.48mm0.48mm(WH)工作电流5.1Ma(5.0V)工作温度-2060背光源颜色黄绿存储温度-3070背光源电流140mA接口信号说明如表2.4所列。 表2.4 接口信号说明编号符号引脚说明编号符号引脚说明1VSS电源地1DB4Data I/O2VDD电源正极(+5V)2DB5Data I/O3V0LCD偏压输入3DB6Data I/O4RS数据/命令选择(H/L)4DB7Data I/O5R/W读写控制信号(H/L)5CS1片选IC1信号6E使能信号6CS2片选IC2信号7DB0Data I/O7RST复位端(H:正常工作,L:复位)8DB1Data I/O8VEELCD驱动负压输出(-5V)9DB2Data I/O9BLA背光源正极10DB3Data I/O10BLK背光源负极控制器接口说明(KS108B及兼容芯片)。(1)基本操作时序读状态:输入 RS=L,R/W=H,CS1或CS2=H,E=H; 输出 D0D7=状态字。写指令:输入 RS=L,R/W=L, D0D7=指令码,CS1或CS2=H,E=高脉冲; 输出 无。读数据:输入 RS=H,R/W=H,CS1或CS2=H,E=H; 输出 D0D7=数据。写数据:输入 RS=H,R/W=L, D0D7=数据,CS1或CS2=H,E=高脉冲; 输出 无。(2)状态字说明表2.5 状态字说明SAT7SAT6SAT5SAT4SAT3SAT2SAT1SAT0D7D6D5D4D3D2D1D0(3)指令说明初始化设置。(a)显示开/关设置,见表2.6。表2.6 显示开/关设置指令码功能3EH关显示3FH开显示(b)显示初始行设置,见表2.7。表2.7 显示初始行设置指令码功能C0H设置显示初始行数据控制。控制器内部设有一个数据地址页指针和一个数据地址列指针,用户可通过它们来访问内部的全部512B RAM。(4)初始化过程写指令COH;设置显示初始行。写指令3FH;开显示。2.2.2软件介绍(1)Proteus是英国Labcenter公司开发的电路分析与仿真软件。该软件的特点是:集原理图设计、仿真和PCB设计于一体,真正实现从概念到产品的完整电子设计工具。具有模拟电路、数字电路、单片机应用系统、嵌入式系统(不高于ARM7)设计与仿真功能。 具有全速、单步、设置断点等多种形式的调试功能。 具有各种信号源和电路分析所需的虚拟仪表。 支持Keil C51 uVision2、MPLAB等第三方的软件编译和调试环境。 具有强大的原理图到PCB板设计功能,可以输出多种格式的电路设计报表。拥有PROTEUS电子设计工具,就相当于拥有了一个电子设计和分析平台。Proteus软件自 1989 年问世至今,经历了近20年的发展历史,功能得到了不断的完善,性能越来越好,全球的用户也越来越多。PROTEUS之所以在全球得到应用,原因是它具有自身的特点和结构。PROTEUS电子设计软件由原理图输入模块(简称ISIS)、混合模型仿真器、动态器件库、高级图形分析模块、处理器仿真模型及PCB板设计编辑(简称ARES)六部分组成。(2)Keil C51是美国Keil Software公司(ARM公司之一)出品的51系列兼容单片机C语言软件开发系统。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。Keil C51目前由ARM国内授权代理商提供技术支持和销售等相关服务。产业标准的Keil C编译器、宏汇编器、调试器、实时内核、单板计算机和仿真器,支持所有的251系列微控制器,帮助你如期完成项目进度。以下图表显示Keil的开发工具以及它们相互之间的接口。KEIL C51开发工具旨在解决嵌入式软件开发商面临的复杂问题。当你开始一个新项目,只需简单的从设备数据库选择使用的设备,uVision IDE将设置好所有的编译器、汇编器、链接器和存储器选项。包含大量的例程,帮助你着手使用最流行的嵌入式8051设备。Keil Vision调试器准确地模拟8051设备的片上外围设备(IC、CAN、UART、SPI、中断、I/O端口、A/D转换器、D/A转换器和PWM模块)。模拟帮助你了解硬件配置,避免在安装问题上浪费时间。 此外,使用模拟器你可以在没有目标设备的情况下编写和测试应用程序。当你准备在目标硬件上测试软件应用时,可以使用MON51、MON390、NONADI、或者FlashMON51目标监视器、ISD51 In-System调试器、ULINK USB-JTAG适配器在目标系统上下载并测试程序代码。3 电子阅读器的硬件设置3.1最小系统设置 (1)复位电路图3.1 复位电路上图为上电自动复位电路,在通电瞬间,电容C通过电阻R充电,RST端出现正脉冲,用以复位,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统自动复位初始化。 (2)时钟电路图3.3 时钟电路89C51芯片内部有一个高增益反相放大器,用于构成振荡器,反相放大器的输入端为XTAL1,输出端为XTAL2,两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。电容器C1和C2通常取30pf左右,可稳定频率并对振荡频率有微调作用。振荡脉冲频率范围为024MHz。 (3)电源电路图3.4 电源电路在电源引脚并联一个0.1uf的小电容目的是其一滤波,引入滤波电容的原因是要获得平滑稳定的电压,因为电容两端的电压不能突变,所以它能抑制电压的波动,使电压变得平稳光滑。其二去耦,也叫退耦,主要作用有两个:去除器件之间的交流射频耦合。它能将器件的电源端上瞬间的尖峰、毛刺对地短路掉。并联10uf的大电容目的是稳压,保证电源引脚端口有稳定的电压。 (4)端电路图 图3.5 端接高电平电路图当引脚接高电平时,CPU只访问片内Flash Rom并执行内部程序存储器中的指令。但当PC(程序计数器)的值超过0FFFH时,将自动转去执行片外程序存储器内的程序。当输入信号引脚接低电平时,CPU只访问片外ROM并执行片外程序存储器中的指令,而不管是否有片内程序存储器。当端保持高电平时,CPU则执行内部程序存储器中的程序。 (5)单片机最小系统硬件电路图3.6 单片机硬件最小系统3.2 LED显示电路设置在实际应用中,液晶模块与单片机的连接方式很多,从占用I/O口线的多少来分有串行方式和并行方式,其中串行方式速度较慢,占用的口较少,并行方式分为4线和8线,速度较快,占用的I/O口多,实际应用中以并行方式居多。LCD12864的管脚共有20个之多,但是连接的电路并不复杂。但是需要注意的是LCD的电源共有2组,一组是用于驱动LCD显示,另一组用于背光显示。可将这两组连再一起或者背光电源省略。另外有个输入管脚V0需要接入LCD调整电压来调节对比度。通常刚使用液晶时的问题是由此引起的,对比度过高于或过低均会使屏幕无法正常显示。它可接至10K-20K电位器的调整端,电位器两端分别接至VDD与VEE。目前市场上某些LCD12864的对比度可由单片机操作其寄存器调节,可根据不同的条件进行选择。其余的端口均连接至单片机。本文将IO口DB0-DB7连接至P2口,RS、RW、E、CS1、CS2、RET分别连接至P1.0至P1.5。其他硬件部分,四位按键分别连接P3.2-P3.5,由于四位按键已能完成基本功能,操作简单,使用方便,分别设置为左右选择键,上下选择键,且节省单片机IO口,因此不采用矩阵键盘目前51系列单片机是国内外应用最广泛的一类单片机的P0口和P3口的部份引脚与DMC20261型液晶显示连接电路如图3.7所示。图3.7 单片机与液晶屏的连接3.3键盘控制电路设置键盘输入信息处理的主要过程如下:CPU判断是否有键盘按下。确定按下的是哪一个键。把此键代表的信息翻译成计算机所能识别的代码,如ASC码或其他特征码。以上第、步主要由硬件完成,称为编码键盘;如果主要由软件完成,则称为非 编码键盘。单片机应用系统中通常采用非编码键盘,如行列式键盘。键的识别功能,即判断键盘中是否有键盘按下。若有键按下,则确定其所在的行列位置。程序扫描法是一种常用的键识别方法,应用这种方法时,只要CPU空闲,就调用键盘扫描程序,查询键盘并给予处理。此次毕业课题选择的是红外线控制翻页,所用的是HS0038红外接收头,通过外设遥控控制翻页。下面对HS0038红外接收头的简介。红外接收探头,接收红外信号频率为38kHz,周期约26s。随着家用电器、视听产品的普及,自动化办公设备的广泛应用和网络化的不断发展,越来越多的产品具有了待机功能(如遥控开关、网络唤醒、定时开关、智能开关等)。产品的待机功能实现遥控操作,极大地方便了我们的生活,但也浪费了大量的能源。中国节能产品认证中心(CECP)调查显示,全球每个家庭处于待机状态下的家电相当于亮着一个15 W30 W 的长明灯,仅一台彩电每年在“无用待机状态”下浪费电力近100度,在我国彩色电视机待机一项一年就浪费电力150 多亿度,相当于十几个大型火力发电厂白白发电。澳大利亚电器设备能源委员会新近的研究成果显示,不仅会耗费可观的电能,每月支付数额不小的“冤枉电费”,而且其释放大量有害气体二氧化碳在一定程度上加速了气候的变暖。利用本系统可以良好的达到节能和环保的效果。同时在家庭或工业控制现场,一些手动操作不太方便的场合,可以使用现有遥控器通过设置代替手动操作,比如可以利用家中现有的彩电遥控器,控制其它没有遥控功能的电器(如电灯、计算机、音响、电脑、打印机、饮水机、热水器等),方便生活。为了实现系统整体功能,红外解码部分是核心,红外解码指将遥控发射器所产生的红外遥控编码脉冲所对应的键值翻译出来的过程。下面将系统方案做一论证,通常有硬件解码和软件解码两种方案。方案一:此方案中,使用专用遥控器作为控制信号发出装置,当按下遥控器的设置键后,一体化红外接收装置接收到遥控器发出的设置控制信号,然后将信号送到专用的解码芯片中进行解码,解码后将信号送到单片机,由单片机查表判断这个信号是不是设置信号,当确认是设置信号后,启动设置子程序,那么以后接收到的红外信号就是设置的时间信号了,红外接收头接收到红外信号后再通过放大器将信号传到解码器中,解码器解完码后送到单片机,单片机再通过查表确定这些数值并进行设置,然后按下确认键,红外接收头接收到这个信号并通过放大送到解码器中,解码后再送到单片机中,单片机通过查表确定这是确认操作后,可以通过可控硅控制电源通断。 方案二:此方案中,我们采用普通的家用电器遥控器作为控制信号发出装置,当按下遥控器的设置键后,红外接收装置接收到遥控器发出的红外线控制信号,然后把这个信号转换成电信号,传到单片机中,利用单片机对这个信号进行解码,解码完成后查表确定是不是设置信号,当这个信号是设置信号后,启动设置子程序,那么以后接收到的红外信号就是设置的时间信号了,单片机再对这些信号进行解码,查表判断出数值是多少,然后设置,设置完时间后要进行确认,当遥控器发出确认信号后,单片机收到这个信号并查表判断这是确认信号后,执行确认指令,使设置生效,从而达到控制电源通断的目的。方案一为硬件解码方案,硬件解码需要使用与遥控器相配套的专用的解码器芯片,而解码芯片一般不易得到,价格也较贵,或者自行开发解码电路(但电路太复杂,性能欠佳)。方案二为软件解码方案,软件解码可以不考虑遥控器的芯片是什么型号的,因为我们只需检测到它的发射编码,然后用软件方式来对它进行处理,从而得到所要的信息。软件解码具有灵活、硬件精简(仅需集成红外接收头和一片单片机)、可靠性高,成本低等特点。经以上的论证,可以采用软件解码方案,成本低,方便实现,并且系统整体性能和可靠性高。系统组成和实现本系统硬件电路主要有以下几部分组成:(1)供电电源电路(给微处理器AT89C2051 和红外一体化接收头HS0038 提供工作需要的5V 电压)。(2)微控制器AT89C2051 系统(系统的核心部分)。(3)红外接收电路(接收系统所配备遥控器所发出的红外信号)。(4)看门狗和EEPROM 存储电路(防止系统死机和存储编码信号)。(5)执行电路(控制被控电器电源)。 红外接收电路一体化的红外接收装置将遥控信号的接收、放大、检波、整形集于一身,并且输出可以让单片机识别的TTL 信号,这样大大简化了接收电路的复杂程度和电路的设计工作,方便使用。在本系统中我们采用红外一体化接收头HS0038。HS0038 黑色环氧树脂封装,不受日光、荧光灯等光源干扰,内附磁屏蔽,功耗低,灵敏度高。在用小功率发射管发射信号情况下,其接收距离可达35m。它能与TTL、COMS 电路兼容。HS0038 为直立侧面收光型。它接收红外信号频率为38 kHz,周期约26 s,同时能对信号进行放大、检波、整形,得到TTL 电平的编码信号。三个管脚分别是地、5 V 电源、解调信号输出端。 红外遥控解码的实现:因为要进行遥控操作,必须使被遥控对象能够认识遥控指令,这样才能对其进行操作。举例说明一下:假如我只会说汉语,而JIM 只会说英语,让我们两个独自交流的话肯定不会有什么结果,那我们要进行交流,怎么办?这就需要一个翻译者来做中间人了,翻译者将JIM(我)说的话翻译给我(JIM)能够听懂、识别的语言,这样我们交流就没问题了。同样,在红外遥控方面,要使被遥控对象能够识别遥控指令,那就需要一个“翻译者”,我们将这作为一个过程,叫解码。本系统中所使用的遥控器为普通电视遥控器,红外芯片采用的是3010 芯片。识别方法分析:为了用软件识别以上波形,采用与程控交换机中“脉冲号码识别法”类似的方法来解决。用扫描的方式对接收波形快速扫描,然后根据扫描结果分析出编码值。识别编码的关键之一是确定扫描周期。分析波形和参数知道:整个数据14 位,总时长为22 ms25 ms,则一个数据位时长为1.5 ms1.8 ms,占空比1:1,脉宽为750 s900 s。在编程时要考虑脉宽的偏差容限,为保证扫描精度,选取扫描周期为100 s。识别编码的关键之二是判别“0”和“1”。数据“0”为波形从低到高,即在相邻的2 次扫描中,扫描值从0 到1,则识别数据为“0”;数据“1”为波形从高到低,即在相邻的2 次扫描中,扫描值从1 到0,则识别数据为“1”。为了记录相邻2 次扫描值,则分别用2 个变量来记录当前扫描值和前一次的扫描值,程序中用变量TheB 和PreB。识别编码的关键之三是识别各个数据比特的跳变时刻。为了识别这种跳变时刻,用一个标志位做“变化识别标志位”,程序中用VIB 表示,它由前次扫描值和当前扫描值“相异或”而得,即VIBPreB TheB,若VIB1,则说明是跳变时刻。但是,在2 个数据位之间,也有一个跳变,为了将它与数据位中的有效跳变区分开,设置一个“数据有效标志位”,程序中用IDB 表示。当VIB1,且IDB1 时,则说明是有效的数据跳变,便在此时进行0,1 的判别,用当前扫描值的反码和前次扫描值“相与”即得到该位的数据编码,即DATA/TheBPreB。在每次识别出一个比特的数据编码后,将IDB 求反,则在2个比特位之间的跳变时(VIB1),IDB 为0,不做识别运算。同时在识别出每个比特的数据编码后,将记录扫描次数的计数器清零,当连续10 次扫描波形无变化时,则时长至少大于1 ms,大于数据位脉宽900 s,即已经过了2 个比特位之间的跳变,视作已经扫描到下一个数据位,将IDB 再次求反,为下一个比特位的识别做好准备。识别编码的关键之四是判别整个数据何时结束。可以用扫描计数器的值来判别,若计数器值大于25,则说明至少连续2.5 ms 内波形已无变化,已远大于一个比特位的时长,可视作整个数据的最后一位,结束识别。当检测到有红外中断时,进入中断服务程序,在该程序中调用识别程序,并注意关闭外部中断,同时在另一定时中断中判别连续发码的间隔时间,并打开外部中断。为了提高识别的抗干扰能力,1)在中断服务程序中,判别系统码,系统码有效,才视为有效结果;2)对同一按键连续2次接收的结果做比较,相同才视为有效结果。红外遥控编码正确识别以后,设置任意键码实现存储,配以控制执行部分,比如采用继电器或者可控硅很容易实现被控电器的电源的通断,实现节能环保和方便生活的目的。4电子阅读器的软件设置 4.1 LED显示子程序 首先是LCD的初始化,包含对LCD的复位与关开显示。利用LCD的初始化函数void LCD_Init(void),其中对液晶操作的延时为两个_nop_();语句以确保时序的正确性。初始化完毕后执行写命令函数void LCD_WriteCmd(uchar CmdCode)和写数据函数void LCD_WriteData(uchar Data)。空闲状态检测时利用读状态函数uchar LCD_ReadStatus(void)读入的状态BUSY与RST位均为0时即检测到LCD空闲,跳出while循环,将E置0后跳出函数。对于液晶的读写均用到空闲状态检测以保证液晶的正常显示。 为了方便对LCD的使用,本设计提供了多个对LCD操作的子函数。使模块功能提升,方便屏幕显示界面的美化。

温馨提示

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

评论

0/150

提交评论