您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > LCD1602课程设计报告
一、设计要求1、原设计要求:通过单片机控制LCD1602,使LCD显示两行字符。2、更改后设计要求:通过单片机STC89C52RC,控制LCD第一行不断滚动显示“ChangzhouInstituteofTechnology”,第二行显示“Designer:ZhaQi”3、附加的设计要求:通过两个按键控制外部中断0和外部中断1,分屏渐入式显示大段字符,使LCD1602显示两句名言警句。外部中断0:Iwanttobringoutthesecretsofnatureandapplythemforthehappinessofman.Idon'tknowofanybetterservicetoofferfortheshorttimeweareintheworld.--ThomasEdison(我想揭示大自然的秘密,用来造福人类。我认为,在我们的短暂一生中,最好的贡献莫过于此了。——爱迪生)外部中断1:Thepeoplewhogetoninthisworldarethepeoplewhogetupandlookforcircumstancestheywant,andiftheycannotfindthem,makethem.--BernaraShaw(在这个世界上取得成就的人,都努力去寻找他们想要的机会,如果找不到机会,他们便自己创造机会。——萧伯纳)二、系统工作原理2.1、单片机及单片机系统微型计算机包括运算器、控制器、存储器、输入/输出接口四个基础组成部分。如果在一块芯片上,集成了一台微型计算机的四个基础部分,这种芯片被称为单片微型计算机,简称单片机。以单片机为核心的硬件电路称为单片机系统,单片机系统属于嵌入式系统的应用范畴,嵌入式系统包括硬件和软件两部分:硬件部分包括中央处理器、存储器、外设器件、I/O(输入/输出)端口和图形控制器等;软件部分包括操作系统软件(OS)和应用程序软件。1为突出单片机在嵌入式系统的主导地位,许多半导体公司在单片机内部还集成了许多外围电路和外设接口,如:中断、定时/计数、串行通讯、模拟/数字转换(ADC)、脉冲宽度调制(PWM)等单元。一般来说,单片机利用大规模集成电路技术把中央处理器和数字存储器(RAM)、程序存储器(ROM)及其他I/O通信口集成在一块芯片上,构成一个最小的计算机系统。而现代的单片机则配置了中断单元、定时单元及A/D转换等更复杂、更完善的电路,使得单片机的功能越来越强大,应用更广泛。单片机具备微型计算机的全部特征,因此单片机仍符合冯·诺依曼结构,其基本结构如下图所示:单片机除了具备体积小,价格低,性能强大,速度快,用途广,灵活性强,可靠性高等优点外,与通用性微型计算机相比,还具有许多独特之处:1、存储器ROM和RAM严格分工;2、采用面向控制的指令系统;3、输入/输出(I/O)端口引脚通常设计有多种功能;4、品种规格的系列化;5、单片机的硬件功能具有广泛的通用性。单片机主要由:程序存储器(ROM)、随机存储器(RAM)、中央处理器(CPU)、并行输入输出(I/O)端口、串行输入输出端口、定时器/计数器、系统时钟组成。2程序存储器(ROM):用来存放用户程序,可分为EPROM、MASKROM、OTPROM和FLASHROM等。随机存储器(RAM):用来存放程序运行时的工作变量和数据,RAM的内容是易失性的,掉电后会丢失。中央处理器(CPU):是单片机的核心单元,通常由算数逻辑运算部件ALU和控制部件构成。并行输入/输出(I/O)端口:通常为独立的双向I/O口,即可以用作输入方式,又可以用作输出方式,有的是漏极开路输出,有的能提供足够的电流可以直接驱动外部设备。串行输入/输出口:用于单片机和串行设备或其他单片机的通信,有同步和异步之分,可以用硬件或通用串行收发器件实现。定时器/计数器(T/C):用于单片机内部精确定时或对外部事件(输入信号如脉冲)进行计数,通常单片机内部有多个定时/计数器。系统时钟:通常需要外接石英晶体或其他震荡源提供时钟信号输入,也有的使用内部RC振荡器。以上是指单片机的基本构成,现代的单片机又加入了许多新的功能部件,如模拟/数字转换器(A/D)、数字/模拟转换器(D/A)、温度传感器、液晶(LCD)3驱动电路、电压监控、看门狗电路、低压检测电路等。2.2、STC89C52RC芯片本次课程设计所使用的单片机型号是STC89C52RC,它具有:8KBROM,512KBRAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。其管脚图如右图所示。2.3、晶振和时钟电路利用芯片内部的振荡器,然后再引脚XTAL1和XTAL2两端跨接晶体振荡器(简称晶振),就构成了稳定的自激振荡器,发出的脉冲直接送入内部时钟电路,如右图所示。内部时钟电路外接晶振时,C1和C2的值通常选择为30pF左右。C1、C2对频率有微调作用,晶振或陶瓷谐振器的频率范围可在1.2-13MHZ之间选择。2.4复位电路时钟电路开始工作,在单片机的RST引脚上加大于24个时钟周期以上的正脉冲,单片机系统即初始复位。初始化后,程序计数器PC指向0000H,P0~P3输出口全部为高电平,堆栈指针写入07H,其他专用寄存器被清0。RST由高电平下降为低电平后,系统从0000H地址开始执行程序。4单片机的外部复位电路有上电自动复位和按键手动复位两种。本次课程设计使用的是上电+按键复位。复位键按下后,复位端与VCC电源接通,迅速放电,是RST引脚为高电平,复位键弹起之后,电源VCC通过电阻对电容重新充电,RST引脚端出现复位正脉冲,其持续时间取决于RC电路的时间常。上电+按键复位2.5、LCD1602工作原理LCD1602是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。其显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。1602采用标准的16脚接口,管脚图如右图所示,其中:第1脚:VSS为电源地;第2脚:VCC接5V电源正极;第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度);LCD1602管脚图第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器;第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作;第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令;第7~14脚:D0~D7为8位双向数据端;第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极。5字符液晶显示模块组件内部主要有LCD显示屏、控制器、驱动器和偏压电路构成。控制器主要由指令寄存器IR、数据寄存器DR、忙标识BF、地址计数器AC、DDRAM、CGRAM及时序发生电路组成。指令寄存器(IR)和数据寄存器(DR):用户可以通过RS和R/W输入信号的组合选择指定的寄存器,进行相应的操作,组合选择方式如下表:ERSR/W说明100将DB0-DB7的指令代码写入指令寄存器中1→001分别将状态表示BF和地址计数器AC内容读到DB7和DB6-DB0110将DB0-DB7的数据写入数据寄存器中,模块的内部操作自动将数据写入DDRAM或CGRAM中1→011将数据寄存器内的数据读到DB0-DB7,模块的内部操作自动将DDRAM或CGRAM中的数据送入数据寄存器中忙标志位BF:忙标志位BF=1时,表明模块正在进行内部操作,此时不接受任何外部指令和数据。当RS=0、R/W=1且E为高电平时,BF输出到DB7。地址计数器(AC):地址计数器是DDRAM或CGRAM的地址指针。AC具有自动加1或减1的功能。显示数据寄存器(DDRAM):DDRAM存储器显示字符的字符码,其容量的大小决定模块最多可显示的字符数目。字符发生器ROM:在CGROM中,模块已经以8位二进制数的形式,生成了5×8的点阵的字符字模组字符字膜。字符发生器RAM:在CGRAM中,用户可以生成自定义图形字符的字模组,可以生成5×8点阵的字符字膜8组,相对应的字符码从CGROM的00H-0FFH范围内选择。LCD1602指令说明:详情见附录一LCD1602指令表。62.6、系统框图三、程序流程图3.1、主程序流程图3.2、LCD初始化子程序流程图73.3、命令写入子程序流程图3.4、数据写入子程序流程图3.5、外部中断和外中断1流程图3.6、延时子程序流程图8四、程序清单#includereg52.h#includeintrins.h#defineucharunsignedchar#defineuintunsignedint#definebusy0x80;ucharcodedesign[]=Designer:ZhaQi;/*我想揭示大自然的秘密,用来造福人类。我认为,在我们的短暂一生中,最好的贡献莫过于此了。--爱迪生*/ucharcodetable1[12][16]={Iwanttobring,outthesecret,ofnatureand,applythemfor,thehappinessof,man.Idon'tknow,ofanybetter,servicetooffer,fortheshort,timewearein,theworld.,--ThomasEdison};/*命在这个世界上取得成就的人,都努力去寻找他们想要的机会,如果找不到机会,他们便自己创造机会。--萧伯纳*/ucharcodetable2[10][16]={Thepeoplewho,getoninthis,worldarethe,peoplewhoget,upandlookfor,circumstances,theywant,andif,theycannotfind,them,makethem.,--BernaraShaw};sbitlcden=P2^5;//使能端sbitlcdrs=P1^0;sbitlcdrw=P1^1;//*************函数声明*************voiddelay(uintcount);voidwrite_command(ucharcommand);voidwrite_info(ucharinfo);voidinit();/*********************************主函数**********************************/voidmain(){ucharnum,state;ucharschool1[]=ChangzhouInstituteofTechnology;IE=0x85;//中断初始化IT0=1;//设置外部中断的触发方式9IT1=1;TR0=1;//打开外部中断TR1=1;init();//LCD初始化write_command(0xc0);//设置从第二行第一位开始写入数据for(num=0;num16;num++){write_info(design[num]);//写入数据}while(1){for(state=0;state50;state++)//34中循环状态{write_command(0x80);//从第一行第一位开始写入数据for(num=0;num16;num++){write_info(school[num+s
本文标题:LCD1602课程设计报告
链接地址:https://www.777doc.com/doc-5166988 .html