《基于ADuC848开发板的单片机实验和课程设计指导书92641讲解学习.doc》由会员分享,可在线阅读,更多相关《基于ADuC848开发板的单片机实验和课程设计指导书92641讲解学习.doc(146页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Good is good, but better carries it.精益求精,善益求善。基于ADuC848开发板的单片机实验和课程设计指导书92641-基于ADuC848嵌入式系统的实验和课程设计指导书(汇编语言版本)二一一年三月目录第一章硬件系统介绍31.1板上资源分布41.2单片机ADuC84851.2.1ADuC848的简要介绍(针对本设计所选择的型号)51.2.2单片机引脚分布51.3电源模块71.4模数/数模转换81.4.1模数转换81.5RS232串口91.6PS/2接口和红外接收101.7显示模块101.7.1LCD显示101.7.2数码管111.7.38路LED121.8蜂
2、鸣器和红外发送131.9SPI接口、步进电机控制131.10按键输入141.11IIC总线(RTC时钟和EEPROM)151.12复位与下载16第二章基础实验17实验一I/O口控制实验17实验二定时器、中断实验19实验三数码显示实验23实验四蜂鸣器驱动实验28实验五12864点阵型液晶显示实验31实验六1602字符显示实验43实验七矩阵键盘实验43实验八A/D转换实验43实验九D/A转换实验43第三章系统设计方法及设计课题4431单片机应用系统的设计过程44311方案论证和硬件系统设计44312系统软件设计45313系统仿真调试设计4532设计课题46321多功能定时装置46322程控多波形信
3、号发生器46323LED汉字计时报讯屏47324简易多功能计数器48325LED字符显示屏48326抢答器48327秒表49328数字密码锁49329简易电子琴493210交通灯503211步进电机控制器503212A/D,D/A转换板503213电子计算器513214可编程微波炉控制系统513215简易超市收银机523216全自动洗衣机控制器5232175332185332195332205333评分标准和注意事项53331选择课题53332评分标准54333实验室设备使用及安全和赔偿条例54第四章KeiluVision4的使用554.1前言554.2新建工程554.3工程设置574.4编译
4、连接、下载和调试程序604.4.1编译程序604.4.2在线下载程序614.4.3在线调试程序634.4.4软件仿真调试程序65第五章PROTEUS的使用665.1前言6652操作步骤66521进入系统66522界面简介66523操作步骤6953Proteus与KeiI的结合73第一章硬件系统介绍本单片机学习板集成多个基础硬件资源模块,各个资源模块可以相互组合使该板实现不同的功能。因此,本学习板既可用于51单片机的教学实验,又可用于做功能比较强的单片机课程设计,是51单片机初学者的好帮手。1.1板上资源分布如图1.1所示。图1.1板上资源分布1、2、3:单片机P0、P2、P3口引出接口(有限流
5、保护电阻);4:上排图形点阵LCD12864的接口、下排LCD1602的接口;5、6:两路16位ADC输入、可作差分输入;7、8:12位DAC输出、对DAC输出进行比例放大或者跟随的运放;9:单片机AduC848;10:无源蜂鸣器、由单片机PWM模块输出信号控制;11:8位数码管;12:SPI接口;13:RS232串口(通过串口在线下载、单步、断点、运行到某一行等方式调试程序);14:步进电机(5V、70欧姆、6线4相)接口;15:8路LED,从左至右为LED70,分别被P0.7P0.0控制;16:复位按键和下载按键;17、18:IIC总线上的EEPROMAT24C08和RTCDS1307;1
6、9:IIC接口;20:PS/2接口;21:红外接收头;22:功能选择和配置插针;23:4X4矩阵式键盘或4个独立按键;24:直流电源输入;此外还有红外二极管(由单片机PWM模块输出信号控制)、USB电源输入接口。1.2单片机ADuC8481.2.1ADuC848的简要介绍(针对本设计所选择的型号)详细情况请参考芯片手册。1、8051-basedcore、5V供电电压;2、可以通过串口在线下载程序和单步、断点、运行到某一行等方式调试程序;3、16位8通道-ADC,片内有1.25V参考电压、buffer和PGA;4、12位电压输出DAC、Dual16-BIT-DAC;5、32kbyte程序存储器、
7、4kbyte用户信息Flash存储器、256RAM+2048XRAM(byte);6、PLL(12.58MHzmax)(片外只需接32.768kHz晶振);7、316位定时/计数器、看门狗定时器;8、11中断源(2优先级)、11位堆栈指针;9、24I/O+8模拟或数字输入;10、UART、SPI和I2C、高速115200波特率发生;11、Powersupplymonitor、上电复位、Dual200A激励电流源。1.2.2单片机引脚分布详见原理图。Pin14:(P1.0P1.3)作为矩阵式键盘或独立按键的输入,P1口只能用于输入,默认用于模拟输入,作为数字输入使用时应先往P1口相应引脚写0,这
8、里可以用P0&=0xf0。若P2、P3、P0口要作为输入,则应往相应引脚写1。Pin5、6:AVDD、AGND,模拟电源输入。Pin7、8:外部参考电压接入,Pin7接AGND。片内DAC有2.5V内部参考,ADC有1.25V内部参考。Pin9、10:(P1.4、P1.5)两路AD输入,可做差分输入,需要设置ADC的寄存器。Pin11、12:(P1.6、P1.7)各200uA激励电流源,可配合RTD等做应用。Pin13:两路AD输入做普通输入时的电压参考端,AD输入电压不能低于此引脚电压。Pin14:片内DAC输出。Pin15:复位引脚。Pin16、17:单片机RS232接口的RXD(P3.0
9、)TXD(P3.1)。Pin18:(P3.2)外部中断0,用于红外接收和PS/2接口。Pin19:(P3.3)LCD1602,LCD12864A的EN引脚,控制第一位数码管。Pin20、21:DVDD、DGND数字电源输入。Pin22:(P3.4)PS/2接口的data信号。Pin23:(P3.5)LCD1602和LCD12864A的RW。Pin24:(P3.6)LCD1602和LCD12864A的RS。Pin25:LCD12864A的CS1。Pin26:IIC接口时钟信号。Pin27:IIC接口data信号。Pin28:(P2.0)SPI接口时钟信号。Pin29:(P2.1)SPI接口MOS
10、I信号、控制第6位数码管的位码。Pin30:(P2.2)SPI接口MISO信号、控制第7位数码管的位码。Pin31:(P2.3)SPI接口SS信号、控制第8位数码管的位码;P2.03也作为4X4矩阵式键盘的扫描输出信号、步进电机的控制信号、数码管第数码管第6、7、8位位码。但是SPI、4X4矩阵式键盘、步进电机、数码管第6、7、8位功能不能同时实现。Pin32、Pin33:接外部32.768KHz晶振。Pin34、Pin35:DVDD、DGND。Pin36:(P2.4)LCD12864A的CS2。Pin37:(P2.5)内部PWM模块输出,控制红外LED。Pin38:(P2.6)内部PWM模块
11、输出,控制蜂鸣器。Pin39:(P2.7)内部PWM模块的外部时钟输入(也可以用内部时钟)。Pin40:EA,低电平有效,正常使用时拉低。Pin41:PSEN,在此引脚电平为低时按复位键进入debug模式,可以下载和调试程序。Pin42:ALE。Pin47、Pin48:DGND、DVDD。Pin43、44、45、46、49、50、51、52:P0口、LCD1602和LCD12864的数据总线,数码管的段码。1.3电源模块电源模块原理图如图1.2所示。本学习板共有如下3种供电方式:(1)5V电源适配器供电(开关往上拨、插针1下面两脚接跳线帽)。将开关sw4第2、3脚接通(开关往上拨),电源网络D
12、VDD连接到插针1第2脚的输出,将插针1的第1、2脚(插针1下面两脚)接跳线帽,DVDD直接连接到电源适配器输入端,即为5V电源适配器供电模式。(2)712V电源适配器供电(开关往上拨、插针1上面两脚接跳线帽)将开关sw4第2、3脚接通(开关往上拨),电源网络DVDD连接到插针1第2脚的输出,将插针1的第2、3脚(插针1上面两脚)接跳线帽,DVDD连接到稳压芯片7805的输出,而7805的输入端连接到电源适配器输入端,即为712V的电源适配器经7805给学习板供电的模式。(3)USB供电(开关往下拨)。将开关sw4第1、2脚接通(开关往下拨),电源网络DVDD连接到USB电源输入端。对DVDD
13、网络和AVDD网络设了测试点,方便调试。测试点具体位置参见附图1。1.4模数/数模转换1.4.1模数转换ADuC848内部有16位ADC,模拟信号输入模块原理图如图1.3所示。图1.3模拟信号输入模块D15和D16为钳位保护二极管,R55为限流保护电阻。其中CONAIN1对应板上的接口5、CONAIN2对应板上的接口6。CONAIN1和CONAIN2的第1、2脚在板上的分布和在原理图上的类似,均为1脚朝上。模拟信号有两种输入方式:(1)两路单端输入。把输入信号电压高的一端接到第1脚,电压低的一端接到同一个接口的第2脚。(2)一路差分输入。把输入信号的两端分别接到CONAIN1和CONAIN2的
14、第1脚。1.4.2数模转换ADuC848内部有12位DAC,并有专门的DA输出引脚。DAC信号输出模块原理图如图1.4所示。图1.4DAC信号输出模块本设计对片内DA的输出配置了运放LM358(该运放在单电源情况下对较低电平仍具有很好跟随效果),以增强其驱动能力或对DA输出做适当放大,其中R56和R57的大小决定放大倍数(A=1+R90/R89)。1.5RS232串口串口连接原理图如图1.5所示。图1.5RS232串口模块该模块中采用maxin公司的max232作电平转换,为方便调试硬件,对RXD,TXD信号设测试点和LED。测试点和LED具体位置参见附图1。1.6PS/2接口和红外接收该模块
15、原理图如图1.6所示。图1.6PS/2接口和红外接收模块本设计中外部中断0(P3.2)连接到PS/2接口的时钟信号或者红外接收头SM0038的输出。可以通过插针进行选择。外部中断1作普通IO口使用。该模块原理图如图2.6所示。关键网络名解释:(1)PS2_CLK:PS/2接口时钟信号(2)PS2_DATA:PS/2接口数据信号(3)INT0:外部中断0(4)INF_IN:红外一体化接收头SM0038的输出。插针配置:(1)J13第1、2脚(板上为插针11左边两脚)接跳线帽,INT0接PS/2的clock信号。(2)J13第2、3脚(板上为插针11右边两脚)接跳线帽,INT0接红外信号。1.7显
16、示模块本系统共有四种显示模式可供选择,这四种模式分别是:LCD12864、LCD1602、数码管、8路LED。引脚复用:四种显示模式复用数据总线,控制总线,故用户只可选择其中一种使用。1.7.1LCD显示LCD显示信号连接图如图1.7所示。图1.7LCD信号连接关键网络名和引脚名解释:(1)DISCTRL04:显示控制信号。(2)D0D7、DB0DB7:数据总线。(3)E:LCD使能信号。(4)RS:数据、指令选择信号。(5)RW:读、写选择信号。(6)CS1、CS2:LCD12864由两部分组成,CS1和CS2为选择信号。板上接口4的上排位LCD12864的接口,下排位LCD1602的接口,
17、排针和排母左对齐插入。切勿插错。1.7.2数码管该模块原理如图1.8所示。图1.8数码管驱动电路关键网络名解释:(1)DS07:数码管段码。(2)BIT07:数码管位码。(3)MOTORAD:步进电机驱动信号。(4)DISCTRL04:显示控制信号,控制数码管低5位。(5)D08:单片机P0口。本设计采用共阴极数码管,段码由PNP三极管驱动,位码由NPN型三极管驱动。引脚复用:数码管低5位(板上为右边5位)的位码由DISCTRL04控制,可单独使用,高3位的位码控制信号与SPI信号,电机驱动信号,4X4矩阵式键盘复用,使用数码管高3位时参与复用的其他功能则不能使用。插针配置:(1)若要使用数码
18、管第40位(板上为右边5位),可以接通插针8,为减少功耗,不用请断开。(2)若要使用数码管第75位(板上为左边3位),可以分别接通插针57和9,为减少功耗,不用请断开。1.7.38路LED该模块原理如图1.9所示。图1.98路LED8个LED接P0口,低电平时LED亮,这样不会影响P0口逻辑电平。LED限流电阻取4.7K,通过LED电流约为0.8mA,在P0口驱动能力范围之内。该部分可以用于做跑马灯等实验、帮助用户更好的了解和熟练对端口的操作、还可以用于观测P0口的状态。插针配置:(1)若要使用该模块,可以接通插针2,为减少功耗,不用请断开。1.8蜂鸣器和红外发送该模块原理图如图1.10所示。
19、图1.10蜂鸣器和红外发送本设计中采用无源电磁式蜂鸣器,蜂鸣器由PWM1(P2.6)控制,红外二极管由PWM0(P2.5)控制。PWM1和PWM0均为片内PWM模块的输出。蜂鸣器和红外LED的驱动均采用普通NPN三极管。为方便调试,对该模块中的信号设了测试点,具体位置参见附图1。插针配置:(1)若要使用蜂鸣器,可以接通插针3,为减少功耗,不用请断开。(2)若要使用红外二极管,可以接通插针4,为减少功耗,不用请断开。1.9SPI接口、步进电机控制该模块原理图如图1.11所示。图1.11步进电机驱动电路本设计中步进电机为5V、70欧姆、4相步进电机。引脚复用:AduC848内部有SPI通信模块,所
20、占用的引脚为P2.0P2.3。同时,P2.0P2.3又复用作步进电机控制信号、4X4矩阵式键盘列扫描信号,P2.1P2.3还复用为数码管第5、6、7位位码控制信号。参与复用的一项功能使用时,其他参与复用的功能则不能使用。插针配置:(1)若要驱动步进电机,可以接通插针9,为减少功耗,不用请断开。1.10按键输入该模块原理如图1.12所示。图1.12按键模块由于P1口(用于行扫描)内部无上拉电阻,为使无键按下时行信号为高电平,故将行信号接上拉电阻,电阻大小10K即可。引脚复用:P2.0P2.3为4X4矩阵式键盘列扫描信号,又复用作步进电机控制信号,SPI信号、P2.1P2.3还复用为数码管第5、6
21、、7位位码控制信号。参与复用的一项功能使用时,其他参与复用的功能则不能使用。插针配置:(1)插针10上面两脚接跳线帽,4X4矩阵式键盘输入,行扫描信号为P1.0P1.3,列扫描信号为P2.02.3。(2)插针10下面两脚接跳线帽,独立按键输入,该模式有4个独立按键可用,按键扫描所用端口为P1.0P1.3。这4个按键为4X4矩阵键盘的左边4个按键。1.11IIC总线(RTC时钟和EEPROM)该模块原理图如图1.13所示。图1.13IIC总线连接AduC848片内有I2C模块,并有独立的引脚SCLOCK和SDATA。板上的RTC时钟芯片DS1307和EEPROM芯片AT24C08均使用了I2C总
22、线。板上设置了I2C接口,方便MCU与板外的I2C设备进行通信。对SCLOCK和SDATA设置了测试点。具体位置参见附图1。1.12复位与下载复位与下载电路如图1.14所示。图1.14复位与下载进入下载或调试模式的步骤为:(1)按住BTN1(downordebug按键)不要放开;(2)按下BTN2(reset按键),然后放开BTN2(reset按键);(3)放开BTN1(downordebug按键)。这样单片机就进入了调试模式,可以下载或调试程序。第二章基础实验实验一I/O口控制实验一、实验目的1、学习P0、P1、P2、P3口的使用方法2、学习延时子程序的编写和使用3、学习KeiluVisio
23、n4软件的使用二、实验内容及步骤用P0口做输出口,接八位LED显示,程序功能使发光二极管从右到左轮流循环点亮。1、使用单片机最小应用系统。开关往下拨,使用5VUSB电源模式。若要使用其他电源,开关和插针1的设置请参考1.3节;2、插针2(LED)用短路帽接通,使能连接板上8路LED。其它插针如下图。3、在线下载和调试程序前请检查硬件配置、电源的连接、RS232通信线的连接、工程设置、通信端口的选择。4、打开KeiluVision4仿真软件,首先建立本实验的项目文件,接着添加源程序,进行编译,直到编译无误。进行软件设置,选择硬件仿真,选择串行口。5、打开电源,点击开始调试按钮,点击RUN按钮运行
24、程序,观察发光二极管显示情况。发光二极管单只从右到左轮流循环点亮。三、流程图及源程序1流程图2源程序ORG0000HLOOP:MOVA,#0FEHMOVR2,#08HOUTPUT:MOVP0,ARLAACALLDELAYDJNZR2,OUTPUTLJMPLOOPDELAY:MOVR6,#00HMOVR7,#00HDELAYLOOP:;延时程序DJNZR6,DELAYLOOPDJNZR7,DELAYLOOPRETEND四、思考题(1)修改程序,使发光二极管的现象发生变化。例如:全亮发光二极管一个一个的熄灭全灭,循环显示(2)对于本实验延时子程序Delay:MOVR6,#00HMOVR7,#00H
25、DelayLoop:DJNZR6,DelayLoopDJNZR7,DelayLoopRET假设使用12MHz晶振,粗略计算此程序的执行时间为多少?实验二定时器、中断实验一、实验目的1学习CPU内部计数器的使用和编程方法。2掌握中断处理程序的编程方法。3掌握Proteus软件的使用方法二、实验内容和原理1、实验内容模拟时序控制装置。观测发光二极管现象:L1、3L2、4L5、7L6、8L1、3、5、7L2、4、6、8全亮全灭2、时间常数的计算。CPU内部定时器,按方式工作,每秒钟溢出中断一次。(假设使用6.144MHz晶振)机器周期晶振频率()设初值为,则(),三、实验步骤(略,同实验一)四、程序
26、流程图及源程序:1、中断子程序流程图:中断入口关闭计数控制位计数值减1装入时间常数开放计数控制位返回2、主程序流程图入口置首显示代码(A),初始地址偏移量(R1),计数初值(R0)定时器1初始化,设计数初值开放EA,ET1,TR1R0=0装计数初值于R0指向下一个显示代码单元地址偏移=10装入初始偏移量从表中取显示代码显示NNYY3、 程序清单:ORG0000HLJMPSTARTORG001BHJMPIT11ORG0030HSTART:MOVA,#0FAHMOVR1,#03HMOVR0,#0AHMOVTMOD,#10HMOVTL1,#00HMOVTH1,#38HORLIE,#88HSETBTR
27、1LOOP1:CJNER0,#00,DISPMOVR0,#0AHINCR1CJNER1,#0BH,LOOP2MOVR1,#03LOOP2:MOVA,R1MOVCA,A+PCLJMPDISPDB0FAH,0F5H,0AFH,5FH,0AAH,55H,00H,0FFHDISP:MOVP0,AJMPLOOP1IT11:CLRTR1DECR0MOVTL1,#00HMOVTH1,#38HSETBTR1RETIEND五、思考题:1、改变发光二极管闪烁的间隔时间。2、P1口添加一个暂停按键,当该键按下时显示暂停,保持当前状态;再次按键,继续显示。3、去掉定时与中断,编写延时子程序。4、P1口添加多个按键,分
28、别对应实现不同的显示功能。(例如:暂停键、显示状态顺序执行和逆序执行键)实验三数码显示实验一、实验目的1进一步掌握定时器的使用和编程方法。2了解七段数码显示数字的原理。3熟练掌握KeiluVision4和Proteus联调的方法。二、实验内容做一个电子钟:利用定时器0定时中断,控制电子钟走时;利用单片机上的四位数码管显示分钟和秒钟。三、程序流程图和源程序初始化程序1、主程序流程图开始计数取显示单元值,转为段码送段数据口显示缓冲单元首址R0,扫描初值R2扫描值送位数据口显示单元地址加一扫描值带进位位(=0)右移一位N扫描值=0?Y取分、秒计数值,经变换放入相应显示单元2、中断子程序流程图:中断入
29、口定时器置初值时间计时单元加一Y计时单元=10?NY计时单元置0秒加一,十进制调整秒值=60?NY秒置0,分加一,十进制调整分值=60?NY分置0返回3、程序清单:ST_ADDREQU0000HBUFEQU23HSBFEQU22H;存放秒MBFEQU21H;存放分ORGST_ADDRLJMPMAINORGST_ADDR+0BH;定时器0中断入口LJMPCLOCKORGST_ADDR+200HMAIN:MOVR0,#40HMOVA,#00HMOVR0,AINCR0MOVR0,AINCR0MOVR0,AINCR0MOVR0,AINCR0MOVR0,AINCR0MOVR0,AANLTMOD,#0F0
30、HORLTMOD,#01HMOVTL0,#00HMOVTH0,#38HMOVBUF,#00H;清零MOVSBF,#00HMOVMBF,#00HSETBET0;开定时器0SETBEASETBTR0DS1:MOVR0,#45HMOVR2,#08HDS2:CLRP2.4MOVA,R2MOVP3,R2MOVA,R0LCALLTABLEMOVP0,ALCALLDELAY1;延时DECR0CLRCMOVA,R2RLCAMOVR2,ACJNER2,#10H,LLRLCAMOVR2,ALL:CJNER2,#00H,DS2MOVR0,#45HMOVA,SBFLCALLGETMOVA,MBFLCALLGETSJM
31、PDS1TABLE:INCAMOVCA,A+PCRETDB03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,19H,0BFHGET:MOVR1,AANLA,#0FHMOVR0,ADECR0MOVA,R1SWAPAANLA,#0FHMOVR0,ADECR0RETCLOCK:MOVTL0,#00H;定时器中断子程序MOVTH0,#38HPUSHPSWPUSHACCINCBUFMOVA,BUFCJNEA,#0AH,QUITMOVBUF,#00HMOVA,SBFINCADAAMOVSBF,ACJNEA,#60H,QUITMOVSBF,#00HMOVA,MBFADDA,#1HDAA
32、MOVMBF,ACJNEA,#60H,QUITMOVMBF,#00HQUIT:POPACCPOPPSWRETIDELAY1:MOVR4,#10;延时程序DEL11:MOVR5,#0AHDEL12:MOVR3,#18HDEL13:DJNZR3,DEL13DJNZR5,DEL12DJNZR4,DEL11RETEND四、实验板插针配置:使用数码管第30位(板上为右边4位),用短路子接通插针8。五、思考题1改变显示内容,使数码管显示小时和分钟。2在第一题的基础上,改写程序,使第二个数码管的小数点做为秒闪,按一秒的周期闪烁。3在原程序的基础上,改写程序,使数码管分时显示小时和分钟、分钟和秒钟。4添加按键
33、,可以调整时钟和分钟。实验四蜂鸣器驱动实验一、实验目的1了解输入/输出端口控制方法。2了解音频发声原理。二、实验原理音阶由不同频率的方波产生,音阶与频率的关系如表一所示。方波的频率由定时器控制。定时器计数溢出后,产生中断,将P2.6口取反即得周期方波。每个音阶相应的定时器初值可按下法计算:晶振为6.144MHZ时,音阶“1”相应的定时器初值为X,则1262*2=(216-X)*12(6.144*106)可得X=64559D=FC2FH,其它的可同样求得(见下表单位:HZ,X为16进制)音调45671234567123频率1751962202472622943303493924404945235
34、87659XFA49FAE6FB7EFC0CFC2FFC8FFCF8FD23FD73FDBAFDFAFE18FE4CFE94音的节拍由延时子程序实现。延时子程序实现基本延时时间,节拍值只能是它的整数倍。三、实验内容及步骤利用P2.6口输出不同频率的脉冲通过蜂鸣器发出不同频率音调。用短路帽接通插针三。四、程序流程图和源程序1、中断子程序流程图2、主程序流程图3、源程序清单ST_ADDREQU0000HORGST_ADDRLJMPMAINORGST_ADDR+1BHLJMPINT_0ORGST_ADDR+200HMAIN:ANLTMOD,#0FHORLTMOD,#10HSETBET1SETBEAM
35、OVDPTR,#TONEMOVA,#00HLOP:MOVCA,A+DPTRJZMAINMOVR5,AMOVTH1,AINCDPTRMOVA,#00HMOVCA,A+DPTRMOVR6,AMOVTL1,R6SETBTR1INCDPTRMOVA,#00HMOVCA,A+DPTRMOVR2,ALOOP1:MOVR3,#80HLOOP2:MOVR4,#0FFHLOOP3:DJNZR4,LOOP3DJNZR3,LOOP2DJNZR2,LOOP1INCDPTRMOVA,#00HLJMPLOPINT_0:PUSHDPHPUSHDPLPUSHACCCPLP2.6MOVTH1,R5MOVTL1,R6SETBTR
36、1POPACCPOPDPLPOPDPHRETITONE:DB0FCH,2FH,04H,0FCH,99H,04H,0FCH,0F8H,04H,0FDH,22H,04HDB0FDH,073H,04H,0FDH,0BCH,04H,0FDH,0FAH,04H,0FEH,17H,04HDB0FEH,17H,04H,0FDH,0FAH,04H,0FDH,0BCH,04H,0FDH,73H,04H,0FDH,22H,04H,DB0FCH,0F8H,04H,0FCH,99H,04H,0FCH,2FH,04H,00H,00H,00HEND五、思考题1、改编一首完整的新的歌曲。实验五12864点阵型液晶显示实验一
37、、实验目的1、了解点阵型液晶显示器的工作原理。2、了解点阵型液晶显示器控制方式。二、实验原理1、本实验采用内置控制器、不带字库的图形点阵液晶显示模块,点阵数为12864。它主要由行驱动器/列驱动器及12864全点阵液晶显示器组成,可完成图形显示也可以显示84个(1616点阵)汉字。主要技术参数和性能:1)电源VDD+5V模块内自带-10V负压用于LCD的驱动电压2)显示内容128(列)64(行)点3)全屏幕点阵4)七种指令5)与CPU接口采用8位数据总线并行输入输出和8条控制线6)占空比1/647)工作温度-10+55存储温度-20+602、模块主要硬件构成说明(结构框图)IC1、IC2为列驱
38、动器,IC1控制模块的右半屏,IC2控制模块的左半屏,IC3为行驱动器。IC1、IC2、IC3含有以下主要功能器件,了解如下器件有利于对LCD模块的编程。1)指令寄存器(IR):IR是用于寄存指令码,与数据寄存器数据相对应,当D/I=0时在E信号下降沿的作用下指令码写入IR2)数据寄存器(DR):DR用于寄存数据,与指令寄存器寄存指令相对应,当D/I=1时在下降沿作用下,图形显示数据写入DR,或在E信号高电平作用下,由DR读到DB7DB0数据总线,DR和DDRAM之间的数据传输是模块内部自动执行的。3)忙标志BF:BF标志提供内部工作情况,BF=1表示模块在内部操作,此时模块不接受外部指令和数
39、据;BF=0时模块为准备状态,随时可接受外部指令和数据。利用STATUSREAD指令可以将BF读到数据总线从而检验模块之工作状态。4)显示控制触发器DFF:用于模块屏幕显示开和关的控制,DFF=1为开显示,DDRAM的内容就显示在屏幕上;DFF=0为关显示。DDF的状态是指令DISPLAYON/OFF和RST信号控制的。5)XY地址计数器:XY地址计数器是一个9位计数器高,3位是X地址计数器,低6位为Y地址计数器。XY地址计数器实际上是作为DDRAM的地址指针,X地址计数器为DDRAM的页指针,Y地址计数器为DDRAM的Y地址指针。X地址计数器没有记数功能,只能用指令设置。Y地址计数器具有循环
40、记数功能,各显示数据写入后Y地址自动加1,Y地址指针从0到63。6)显示数据RAMDDRAMDDRAM是存储图形显示数据的,数据为1表示显示选择,数据为0表示显示非选择。7)Z地址计数器:Z地址计数器是一个6位计数器,此计数器具备循环记数功能,用于显示行扫描同步,当一行扫描完成此地址计数器自动加1,指向下一行扫描数据,RST复位后Z地址计数器为0。Z地址计数器可以用指令DISPLAYSTARTLINE预置,因此显示屏幕的起始行就由此指令控制,即DDRAM的数据从哪一行开始显示在屏幕的第一行,此模块的DDRAM共64行,屏幕可以循环滚动显示64行。3、模块的外部接口:外部接口信号如下表所示管脚号
41、管脚名称LEVER管脚功能描述1VSS0电源地2VDD5.0V电源电压3V05.0V-13V液晶显示器驱动电压4D/IH/LD/I=H表示DB7DB0为显示数据D/I=L表示DB7DB0为显示指令数据5R/WH/LR/W=HE=H数据被读到DB7DB0R/W=LE=HL数据被写到IR或DR6EH/LR/W=LE信号下降沿锁存DB7DB0R/W=HE=HDDRAM数据读到DB7DB07DB0H/L数据线8DB1H/L数据线9DB2H/L数据线10DB3H/L数据线11DB4H/L数据线12DB5H/L数据线13DB6H/L数据线14DB7H/L数据线15CS1H/LH:选择芯片(右半屏)信号16
42、CS2H/LH:选择芯片(左半屏)信号17RETH/L复位信号,低电平复位18VEE-10VLCD驱动负电压19ELAC背光板电源20ELAC背光板电源4、指令说明指令表:1)显示开关控制(DISPLAYON/OFF)代码R/WD/IDB7DB6DB5DB4DB3DB2DB1DB0形式000011111DD=1:开显示(DISPLAYON)意即显示器可以进行各种显示操作D=0:关显示(DISPLAYOFF)意即不能对显示器可以进行各种显示操作2)设置显示起始行代码R/WD/IDB7DB6DB5DB4DB3DB2DB1DB0形式0011A5A4A3A2A1A0显示起始行是由Z地址计数器控制的,A5A0的6位地址自动送入Z地址计数器起始行的地址可以是063的任意一行。例如选择A5A0是62则起始行与DDRAM行的对应关系如下DDRAM行626301232829屏幕显示行12345631323)设置页地址代码R/WD/IDB7DB6DB5DB4DB3DB2DB1DB0形式0010111A2A1A0所谓页地址就是DDRAM的行地址,8行为一页,模块共64行即8页,A2A0表示07页读写数据对地址没有影响,页地址