《单片机的液晶显示器设计985.pdf》由会员分享,可在线阅读,更多相关《单片机的液晶显示器设计985.pdf(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、摘要 液晶显示已经是人机界面的关键技术。本文对基于单片机的液晶显示控制技术进行了研究。本文阐明单片机(89C51)控制 LCD1602 显示屏的方法。首先本文阐述了 LCD1602 液晶屏的显示原理,随后通过在 Proteus 仿真软件上构建相关的仿真电路,并连接在 Keil 软件编写、编辑及编译生成的相关的.Hex 驱动程序电路仿真,成功仿真出对所需内容的显示。关键字:LCD1602、单片机、Proteus 仿真 目 录 1 单片机介绍.错误!未定义书签。单片机发展概况.0 单片机应用分类.1 单片机基本组成结构.2 单片机应用范围.4 2 设计内容和意义.6 设计的内容.6 设计意义.7
2、3 硬件电路.8 31 89C51 系统.8 89C51 单片机的概述.8 89C51 单片机管脚说明.8 振荡电路外接晶体引脚.11 复位电路.12 LCD 液晶显示屏.12 LCD1602 简介.13 LCD1602 主要参数引脚功能.14 LCD1602 显示模指令集.15 4 软件设计.17 系统框图.17 程序.18 系统电路图.21 5 Proteus 调试与仿真.21 Proteus 介绍.21 功能特点:.22 智能原理图设计.23 电路仿真功能.23 协同仿真功能.24 PROTEUES 作用.25 系统调试与仿真.26 安装与调试.26 仿真.26 结 论.27 致 谢.2
3、8 参考文献.281 单片机介绍 单片机发展概况 单片微型计算机简称单片机,是典型的嵌入式(MicrocontrollerUnit)常用英文字母的缩写MCU 表示单片机,单片机又称,它不是完成某一个逻辑功能的,而是把一个到一个芯片上。单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,缺少了外围设备等。概括的讲:一块就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用是了解计算机原理与结构的最佳选择。它最早是被用在工业控制领域。诞生于1971年,经历了 SCM、MCU、SoC 三大阶段,早期的 SCM
4、单片机都是8位或4位的。其中最成功的是 INTEL 的8031,此后在8031上发展出了 MCS51系列MCU 系统。基于这一系统的系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位,但因为性价比不理想并未得到很广泛的应用。90年代后随着大发展,技术得到了巨大提高。随着 INTEL i960系列特别是后来的 ARM系列的广泛应用,32位迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。高端的32位 Soc 单片机已经超过300MHz,性能直追90年代中期的专用,而普通的型号出厂价格跌落至1美元,最高端的型
5、号也只有10美元。当代系统已经不再只在环境下开发和使用,大量专用的被广泛应用在全系列的单片机上。而在作为和手机核心处理的高端甚至可以直接使用专用的 Windows和。单片机芯片 由于在工业控制领域的广泛应用,单片机由仅有 CPU 的专用芯片发展而来。最早的设计理念是通过将大量外围设备和集成在一个中,使更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL 的8080是最早按照这种思想设计出的,当时的都是8位或4位的。其中最成功的是的8031,此后在8031上发展出了系列系统。因为简单可靠而性能不错获得了很大的好评。尽管2000年以后 ARM 已经发展出了32位的超过300M 的高端
6、,直到基于8031的还在广泛的使用。在很多方面单片机比专用更适合应用于,因此它得到了广泛的应用。事实上是世界上数量最多,随着单片机家族的发展壮大,单片机和专用处理器的发展便分道扬镳。现代人类生活中所用的几乎每件有电子器件的产品中都会集成有。手机、家用电器、电子玩具、以及鼠标等电子产品中都含有。汽车上一般配备40多片,复杂的上甚至可能有数百片单片机在同时工作!单片机的数量不仅远超过PC 机和其他计算的总和,甚至比人类的数量还要多。单片机应用分类 作为计算机发展的一个重要分支领域,根据发展情况,从不同角度单片机大致可以分为通用型/专用型、总线型/非总线型及工控型/家电型。(1)按适用范围来区分通用
7、与专用。例如,80C51是通用型,它不是为某种专用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成 ADC 接口等功能的温度测量控制。(2)按是否提供来区分。总线型普遍设置有并行地址总线、数据总线、控制总线,这些用以扩展并行外围器件都可通过与单片机连接,另外,许多单片机已把所需要的外围器件及集成一片内,因此在许多情况下可以不要并行,大大减省封装成本和体积,这类单片机称为非总线型单片机。图 非总线型单片机(3)按照大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算能力强;用于家电的多为专用型,通常是小封装、低价格,外围器件和集成度高。
8、显然,上述分类并不是惟一的和严格的。例如,80C51类既是通用型又是总线型,还可以作工控用。单片机基本组成结构 1.运算器。运算器由运算部件算术逻辑单元(Arithmetic&Logical Unit,简称 ALU)、累加器和寄存器等几部分组成。ALU 的作用是把传来的数据进行算术或逻辑运算,输入来源为两个8位数据,分别来自累加器和数据寄存器。ALU 能完成对这两个数据进行加、减、与、或、比较大小等操作,最后将结果存入累加器。例如,两个数6和7相加,在相加之前,操作数6放在累加器中,7放在数据寄存器中,当执行加法指令时,ALU 即把两个数相加并把结果13存入累加器,取代累加器原来的内容6。运算
9、器有两个功能:(1)执行各种算术运算。(2)执行各种逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。运算器所执行全部操作都是由控制器发出的控制信号来指挥的,并且,一个算术操作产生一个运算结果,一个逻辑操作产生一个判决。2.控制器。控制器由程序计数器、指令寄存器、指令译码器、时序发生器和操作控制器等组成,是发布命令的“决策机构”,即协调和指挥整个微机系统的操作。其主要功能有:(1)从内存中取出一条指令,并指出下一条指令在内存中的位置。(2)对指令进行译码和测试,并产生相应的操作控制信号,以便于执行规定的动作。(3)指挥并控制 CPU、内存和输入输出设备之间数据流动的方向。微处理器内通过内部总
10、线把 ALU、计数器、寄存器和控制部分互联,并通过外部总线与外部的存储器、输入输出接口电路联接。外部总线又称为系统总线,分为数据总线 DB、地址总线 AB 和控制总线 CB。通过输入输出接口电路,实现与各种外围设备连接。3.主要寄存器(1)累加器 A 累加器 A 是微处理器中使用最频繁的寄存器。在算术和逻辑运算时它有双功能:运算前,用于保存一个操作数;运算后,用于保存所得的和、差或逻辑运算结果。(2)数据寄存器 DR 数据寄存器通过数据总线向存储器和输入/输出设备送(写)或取(读)数据的暂存单元。它可以保存一条正在译码的指令,也可以保存正在送往存储器中存储的一个数据字节等等。(3)指令寄存器
11、IR 和指令译码器 ID 指令包括操作码和操作数。指令寄存器是用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存中取到数据寄存器中,然后再传送到指令寄存器。当系统执行给定的指令时,必须对操作码进行译码,以确定所要求的操作,指令译码器就是负责这项工作的。其中,指令寄存器中操作码字段的输出就是指令译码器的输入。(4)程序计数器 PC PC 用于确定下一条指令的地址,以保证程序能够连续地执行下去,因此通常又被称为指令地址计数器。在程序开始执行前必须将程序的第一条指令的内存单元地址(即程序的首地址)送入 PC,使它总是指向下一条要执行指令的地址。(5)地址寄存器 AR 地址寄存器用于保存当
12、前 CPU 所要访问的内存单元或 I/O 设备的地址。由于内存与 CPU 之间存在着速度上的差异,所以必须使用地址寄存器来保持地址信息,直到内存读/写操作完成为止。显然,当 CPU 向存储器存数据、CPU 从内存取数据和 CPU 从内存读出指令时,都要用到地址寄存器和数据寄存器。同样,如果把外围设备的地址作为内存地址单元来看的话,那么当 CPU 和外围设备交换信息时,也需要用到地址寄存器和数据寄存器。?单片机应用范围 渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智
13、能,民用豪华轿车的安全保障系统,、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:(1)智能仪器:具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的,可实现诸如电压、电流、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用控制使得仪器仪表数字化、智
14、能化、微型化,且功能比起采用电子或更加强大。(2)工业控制:单片机具有体积小、控制功能强、功耗低、环境适应能力强、扩展灵活和使用方便等优点,用单片机可以构成形式多样的控制系统、通信系统、信号检测系统、无线感知系统、测控系统、机器人等应用控制系统。例如工厂流水线的智能化管理,电梯智能化控制、各种,与计算机联网构成二级控制系统等。(3)家用电器:家用电器广泛采用了控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他视频器材、再到量设备和等。(4)网络和通信:现代的普遍具备,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,通信设备基本上都实现了单片机智能控制,从
15、手机,电话机、小型、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,对讲机等。(5)设备领域:在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。(6)模块化系统:某些专用设计用于实现特定功能,从而在各种中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成,看似简单的功能,微缩在纯电子中(有别于的原理),就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于 ROM),由读出,转化为模拟音乐电信号(类似于声卡)。在大型中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率
16、,也方便于更换。(7)汽车电子:在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于 CAN 总线的汽车发动机智能、GPS 导航系统、制动系统、胎压检测等。此外,在工商、金融、科研、教育、电力、通信、物流和国防航空航天等领域都有着十分广泛的用途。2 设计内容和意义 设计的内容 课程设计是在校学生素质教育的重要环节,是理论与实践相结合的桥梁和纽带。单片机课程设计,要求学生更多的完成软硬结合的动手实践方案,解决目前学生课程设计过程中普 遍存在的缺乏动手能力的现象.熟悉掌握 1602 液晶,和12862 液晶的原理,并会编程实现在液晶上显示出自己的基本信息。设计意义 在日常生活中,我们对液晶显
17、示器并不陌生。液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED 数码管、液晶显示器。发光管和 LED 数码管比较常用,软硬件都比较简单。在单片机系统中应用晶液显示器作为输出器件有以下几个优点:(1)显示质量高 由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。(2)数字式接口 液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作
18、更加方便。(3)体积小、重量轻 液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。(4)功耗低 相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动 IC 上,因而耗电量比其它显示器要少得多。3 硬件电路 31 89C51 系统 89C51 单片机的概述 该系列单片机是采用高性能的静态 80C51 设计由先进 CMOS 工艺制造并带有非易失性 Flash 程序存储器全部支持 12 时钟和 6 时钟操作 P89C51X2 和P89C52X2/54X2/58X2 分别包含 128 字节和 256 字节 RAM32 条 I/O 口线 3 个
19、16位定时/计数器6输入4优先级嵌套中断结构1个串行I/O 口可用于多机通信I/O扩展或全双工 UART 以及片内振荡器和时钟电路。此外由于器件采用了静态设计可提供很宽的操作频率范围频率可降至0 可实现两个由软件选择的节电模式空闲模式和掉电模式空闲模式冻结 CPU 但RAM 定时器串口和中断系统仍然工作掉电模式保存 RAM 的内容但是冻结振荡器导致所有其它的片内功能停止工作由于设计是静态的时钟可停止而不会丢失用户数据运行可从时钟停止处恢复。图 89C51引脚图 89C51 单片机管脚说明 VCC:供电电压。GND:接地。工作电压为 5V P0 口:P0 口为一个 8 位漏级开路双向 I/O 口
20、,每脚可吸收 8TTL 门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在 FIASH 编程时,P0 口作为原码输入口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时,P1 口作为第八位地址接收。P2 口:P2 口为一个内部上拉电阻
21、的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4个 TTL 门电流。
22、当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。P3 口也可作为 AT89C51 的一些特殊功能口,如下表所示:口管脚 备选功能 RXD(串行输入口)TXD(串行输出口)/INT0(外部中断 0)/INT1(外部中断 1)T0(记时器 0 外部输入)T1(记时器 1 外部输入)/WR(外部数据存储器写选通)/RD(外部数据存储器读选通)P3 口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时
23、,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在SFR8EH 地址上置 0。此时,ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。但在访问
24、外部数据存储器时,这两次有效的PSEN 信号将不出现。EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式 1 时,/EA将内部锁定为 RESET;当/EA端保持高电平时,此间内部程序存储器。在 FLASH编程期间,此引脚也用于施加 12V 编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡电路外接晶体引脚 XTAL1 19 脚 XTAL2 18 脚 图 晶振连接的内部、外部方式图 XTAL1 是片内振荡器的反相放大器输入端,XTAL2 则是输出端,使用
25、外部振荡器时,外部振荡信号应直接加到 XTAL1,而 XTAL2 悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为 12MHz,时钟频率就为 6MHz。晶振的频率可以在 1MHz-24MHz 内选择。电容取 30PF 左右。系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。AT89 单片机内部有一个用于构成振荡器的高增益反相放大器。引脚 XTAL1 和 XTAL2 分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容 C1 和 C2 构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但
26、电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为 22F。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。复位电路 在振荡器运行时,有两个机器周期(24 个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51 芯片便循环复位。复位后 P0P3 口均置 1 引脚表现为高电平,程序计数器和特殊功能寄存器 SFR 全部清零。当复位脚由高电平变为低电平时,芯片为 ROM 的 00H 处开始运行程
27、序。复位是由外部的复位电路来实现的。片内复位电路是复位引脚 RST 通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的 S5P2,由复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路。当时钟频率选用 6MHz 时,C 取 22F,Rs 约为 200,Rk 约为 1K。复位操作不会对内部 RAM 有所影响。常用的复位电路如图所示:图 常用复位电路图 LCD 液晶显示屏 LCD1602 简介 1602 是指显示的内容为 16*2,即可以显示两行,每行 16 个字符。目前市面上字符液晶绝大多数是基于 HD4478
28、0 液晶芯片的,控制原理是完全相同的,因此基于 HD44780 写的控制程序可以很方便地应用于市面上大部分的字符型液晶。1602 液晶显示:1602 液晶模块内部的字符发生存储器(CGROM)已经存储了 160 个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码 是 01000001B(41H),显示时模块把地址 41H 中的点阵字符图形显示出来,我们就能看到字母“A”。1602 识别的是 ASCII 码,试验可以用 ASCII 码直接赋值。VSS、VDD、V0 一般接地接电源(+5V)液晶显示
29、器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度)。RS 为寄存器选择,高电 1 时选择数据寄存器、低电 0 时选择指令寄存器。R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。E(或 EN)端为使能(enable)端,下降沿使能。RS 为数据/命令选择端,当此脚为高电平时,可以对 1602 进行数据字节的传输操作,而为电平时,则是进行命令字节的传输操作。R/W 为读写选择端。当此脚为高电平可对 LCD1602 进行读数据操作,反之进行写数据操作。下图为 LCD1602 的读操作时序和写操作时序。
30、1602 通过 D0D7 的8位数据端传输数据和指令。显示模式设置:0011 0000 0 x38 设置 162 显示、57 点阵,位数据接口;显示开关及光标设置;0000 1DCB 当 D 显示(1 有效)、光标显示(1 有效)、光标闪烁(1 有效)0000 01NS N=1(读 C B 或写一个字符后地址指针加 1&光标加 1),N=0(读或写一个字符后地址指针减 1&光标减 1),S=1 且 N=1(当写一个字符后,整屏显示左移),S=0 当写一个字 符后,整屏显示不移动数据指针设置:数据首地址为 80H,所以数据地址为 80H+地址码(0-27H,40-67H),其他设置:01H(显示
31、清屏,数据指针=0,所有显示=0);02H(显示回车,数据指针=0)。写指令 08H 是关闭显示,写指令01H 显示清屏,写指令 06H 光标移动设置,写指令 0cH 显示开及光标设置。当我们要写指令字,设置 LCD1602 的工作方式时:需要把 RS 置为低电平,RW 置为低电平,然后将数据送到数据口 D0D7,最后 E 引脚一个高脉冲将数据写入。当我们要写入数据字,在 1602 上实现显示时:需要把 RS 置为高电平,RW置为低电平,然后将数据送到数据口 D0D7,最后 E 引脚一个高脉冲将数据写入。图 LCD1602 读写时序 LCD1602 主要参数引脚功能 1602LCD 主要技术参
32、数:显示容量:162 个字符 芯片工作电压:工作电流:模块最佳工作电压:字符尺寸:(WH)mm 引脚功能说明 LCD1602 引脚如图所示 图 引脚图的功能如表 3-1 所示 表 3-1 LCD 引脚功能 LCD1602 显示模指令集(1)清屏 功能:清 DDROM 值和 AC 值(2)归位 功能:光标复位,光标返回到地址 00H(3)输入方式设置 功能:设置光标,画面移动方式。其中:I/D=1:数据读写操作后,AC 自加一;I/D=0:数据读写操作后,AC 自减一;S=1:数据读写操作,画面平移;S=0:数据读写操作,画面不动;(4)显示开关控制 功能:设置显示、光标和闪烁开关。其中:D 表
33、示显示开关,D=1 为开,D=0 为关;C 表示光标开关,C=1 为开,C=0 为关;B 表示闪烁开关,B=1 为开,B=0 为关。(5)光标、画面位移 功能:光标、画面移动。其中:S/C=1 画面移动一个字符位;S/C=0 光标移动一个字符位;R/L=1:右移;R/L=0 左移。(6)功能设置 功能:工作方式设置(初始化指令)。其中:DL=1,8 位数据接口;DL=0,4 位数据接口;N=1,两行显示;N=0,一行显示;F=1,5*10 点阵显示;F=0,5*7 点阵显示。(7)CGRAM 地址设置 功能:设置 CGRAM 地址,A5A0=03FH。(8)DDRAM 地址设置 功能:设置 D
34、DRAM 地址。其中:N=0,一行显示 A6A0=04FH;N=1 两行显示,首行 A6A0=02FH,次行 A6A0=4067H。(9)读 BF 及 AC 值 功能:读忙 BF 和地址计数器 AC 的值。其中:BF=1:忙,BF=0:准备好。此时 AC 值意义为最近一次地址设置(CGRAM 或DDRAM)定义。(10)写数据 功能:根据最近设置的地址性质,数据写入 CGRAM 或 DDRAM 中。(11)读数据 功能:根据最近设置的地址性质,从 CGRAM 或 DDRAM 数据读出。4 软件设计 系统框图 否 开 始 对 LCD1602A 进行初判是否有按键按 否 否 4.2 程序#incl
35、ude#define uint unsigned int#define uchar unsigned char 扫 描 按首行扫描字 R3 列扫扫描、判行确键值入栈保判释放按键值转化为ASII码,延时 LCD1602A 写显 延 时 结 束 继 续判第七位是uchar code table=Men Hong Sheng;uchar code table1=JIA YOU!;sbit rs=P35;sbit rw=P36;sbit ep=P34;uchar a;void cao(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void zl(ucha
36、r com)rs=0;P0=com;cao(5);ep=1;cao(10);ep=0;void sj(uchar shu)rs=1;P0=shu;cao(5);ep=1;cao(10);ep=0;void init()rw=0;zl(0 x38);zl(0 x0c);zl(0 x06);以仿真数千种模拟、数字器件和集成电路,并且提供了大量的动态仿真器件,使仿真运行效果更逼真;支持多种型号的微处理器、微控制器芯片的仿真,如51系列、pic 系列、avr 系列单片机、摩托罗拉的68mh1l 系列,以及 philips 的 lpc系列 arm 芯片等。的仿真是基于 spice3f5的,因此它也能像其
37、他的 eda 软件那样对各种分立与集成的模拟、数字进行电路分析,如模拟分析、数字分析、混合信号分析、频率分析等。3.提供了虚拟示波器、逻辑分析仪、信号发生器、计数器、电表、虚拟终端(virtualterminal 使用电脑的键盘和显示器通过串口与外部的单片机系统通讯)等虚拟仪器仪表供选用。4.由 isis 及 ares 两大功能模块构成,既能够进行 sch(原理图)的设计,也能够进行 pcb(印制板)的设计,并且在 isis 环境中能够对设计的电路进行交互式实时仿真。5.能和 keil、matlab 等软件整合使用,使得用户可以在设计中直接编辑修改源代码,并即时观察运行效果。功能特点:Prot
38、eus 具有其它 EDA(例:multisim)的功能。这些功能是:1原理布图 2PCB 自动或人工布线 3SPICE 电路仿真 4互动的 用户甚至可以实时采用诸如 RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分 SPI 器件,部分 IIC 器件。5仿真处理器及其外围电路 可以仿真51系列、AVR、PIC、ARM、等常用主流。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合的虚拟逻辑分析仪、示波器等,Proteus 建立了完备的电子设计开发环境。?智能原理图设计 丰富的器件库:超过27000种元器件,可方便地创建新元件;智能的器件搜索:通
39、过模糊搜索可以快速定位所需要的器件;智能化的连线功能:自动连线功能使连接导线简单快捷,大大缩短绘图时间;支持:使用总线器件和总线布线使电路设计简明清晰;可输出高质量图纸:通过个性化设置,可以生成印刷质量的 BMP 图纸,可以方便地供 WORD、POWERPOINT 等多种文档使用。电路仿真功能 ProSPICE 混合仿真:基于工业标准 SPICE3F5,实现数字/模拟电路的混合仿真。超过27000个仿真器件:可以通过内部原型或使用厂家的SPICE 文件自行设计仿真器件,Labcenter 也在不断地发布新的仿真器件,还可导入第三方发布的仿真器件。多样的激励源:包括直流、正弦、脉冲、分段线性脉冲
40、、音频(使用 wav 文件)、指数信号、单频 FM、数字时钟和码流,还支持文件形式的信号输入。丰富的:13种虚拟仪器,面板操作逼真,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、SPI 调试器、I2C 调试器等。生动的仿真显示:用色点显示的数字电平,导线以不同颜色表示其对地电压大小,结合动态器件(如电机、显示器件、按钮)的使用可以使仿真更加直观、生动。协同仿真功能 支持主流的 CPU 类型:如 ARM7、8051/52、AVR、PIC10/12、PIC16、PIC18、PIC24、dsPIC33、HC11、BasicStamp、
41、8086、MSP430等,CPU 类型随着还在继续增加,如即将支持 CORTEX、DSP 处理器;支持通用外设模型:如 LCD 模块、图形 LCD 模块、LED、LED 七段显示模块、键盘/按键、直流/伺服电机、RS232、电子温度计等等,其 COMPIM(COM 口物理接口模型)还可以使仿真电路通过 PC 机串口和外部电路实现双向;实时仿真:支持 UART/USART/EUSARTs 仿真、中断仿真、SPI/I2C 仿真、MSSP仿真、PSP 仿真、RTC 仿真、ADC 仿真、CCP/ECCP 仿真;编译及调试:支持汇编语言的编辑/编译/源码级仿真,内带8051、AVR、PIC的汇编,也可以
42、与编译环境(如 IAR、Keil 和 Hitech)结合,进行高级语言的源码级仿真和调试。PROTEUES 作用 在 PROTEUS 绘制好原理图后,调入已编译好的文件:*.HEX,可以在 PROTEUS的原理图中看到模拟的实物运行状态和过程。PROTEUS 不仅可将许多功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的实验硬件高度对应。这在相当程度上替代了传统的实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、运行结果等。课程设计、毕业设计是学生走向就业的重要实践环节。由于
43、 PROTEUS 提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的、仪表,因而也提供了培养学生实践精神、创造精神的平台 随着科技的发展,“”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中 PROTEUS 也能茯得愈来愈广泛的应用。使用 Proteus 进行单片机设计,是和相结合的综合运用,有利于培养学生的电路设计能力及的操作能力;在和全国大学生电子设计竞赛中,我们使用 Proteus 对学生进行培训,在不需要硬件投入的条件下,学
44、生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用 Proteus 进行开发成功之后再进行实际制作,能极大提高系统设计效率。因此,Proteus 有较高的推广利用价值。系统调试与仿真 安装与调试 电路安装前,要先检测所用集成电路及其它元器件的好坏。安装完成后,要用万用表检测电路接触是否可靠、电源电压大小、极性是否正确。一切正常后才能通电调试。实验调试时,注意数码管不能过亮。如果过亮,可在数码管的阴极串接一个200 欧左右的限流电阻。调试过程中,最好分步或分块进行,如首先调试控制部分、然后调试数据选择部分,最后调试译码显示部分。仿真 就是利用电子器件的数学模型通
45、过计算和分析来表现电路工作状态的一种手段。具有成本低,设计调试周期短,避免器件浪费等特点。特别适合于实验教学,可以在较短的时间内让学生掌握更多的概念。仿真的真实程度取决于器件模型的逼真程度,一个较好的仿真系统虽不能百分之白替代实际器件的实验,但对实际电路的设计调试是有很多帮助的 仿真分为实时仿真和非实时仿真。实时仿真是利用虚拟仪器(如信号发生器、示波器、电压表、电流表等)实时跟踪电路状态变化的仿真模式,在这种模式下必须不停地进行分析和计算工作。和实际实验很相似,比较真实,计算工作量大对计算速度有较高的要求,或者说在同样的机器速度下被仿真的电路频率比较低。非实时仿真是将分析计算过程与观察过程分开
46、的仿真模式。根据设置的电路条件,首先对电路进行分析计算,将计算结果保持下来绘制成图表显示在屏幕上,在观察分析过程中不再进行计算工作。这种方式可以在较慢的机器上仿真较高的频率特性,因为分析计算的时间可以被拉长。数字电路的仿真和模拟电路的仿真有很大的不同,数字逻辑电路仿真只在时钟变化时捕捉电路的状态,对信号过冲、信号变形可能忽略而不考虑,计算工作量大大减小,模拟电路在每个信号周期内都要进行很多次的计算和分析,所以计算工作量很大,每个周期的计算点数时可以设置的,不要设置的太高。液晶显示的调试比较简单,把编译好的上述程序指定到 Proteus 中的单片机中。运行Proteus即可在显示器LCD1602
47、中观测到显示结果。显示出第一行为“Men Hong Sheng”即我的名字。第二行为“JIA YOU!”仿真结果如运行图。图系统运行图 结 论 本设计所设计的液晶显示系统整体比较简单。设计分为电路与程序。在电路的设计上主要分为四部分:89C51 单片机、复位电路、LCD1602 液晶显示屏和振荡电路。89C51 单片机 P0 口接上显示屏的 D1-D7 口实现数据传送,89C51单片机的 XTAL1、XTAL2 口与振荡电路相连实现时钟电路设计,使得显示屏上能循环依次显示内容。在程序上本系统进行了全面的程序设计,显示程序、中断服务程序和初始化程序,并对这些程序在 uvision2 软件上进行编
48、译和调试,可以运行和转换成 HEX文件,通过编程器写入芯片中。基本达到了设计的要求。致 谢 在这次课程设计中,我得到许多人的帮助。首先我要感谢陈老师,是她带领我认知了单片机,从而系统学习单片机。她的严谨细致、一丝不苟的作风是我工作和学习中的榜样。她不拘一格的思路给与我无穷的启迪。其次我要感谢同学在我困惑时的帮助,是他们在闲暇中给予我程序上点拨、指正。最后我的感谢我这组的其他组员们,如果没有我们的齐心协力,这次的课程设计不会这么快完成。总之,如果没有负责任的老师和热情的同学的帮助,我的课程设计将难以完成,在此再次表示感谢。参考文献 1楼然苗.单片机课程设计指导,北京航空航天大学出版社,2007 年 7 月 2何立民.单片机实验与实践教程,北京航空航天大学出版社,2004 年 7月 3马彪.单片机应用技术,同济大学出版社,2007 年 4 月 4郭天祥.51 单片机 C 语言教程,电子工业出版社,2003 年 7 月