单片机计数器液晶显示_第1页
单片机计数器液晶显示_第2页
单片机计数器液晶显示_第3页
单片机计数器液晶显示_第4页
单片机计数器液晶显示_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、基于51单片机的液晶计数显示黄 冈 师 院 物 电 学 院51单片机课程设计报告项目名称:基于51单片机的液晶计数显示专业年级: 电子信息工程2010级 学 号: 学生姓名: 指导教师: 报告完成日期 年 月 日目录摘要1第一章 绪论21.1.系统背景21.2.本设计主要实现的功能21.3.51单片机主要的技术发展方向2第二章 系统电路设计32.1 系统总框图32.2 系统硬件电路32.3各个功能模块设计32.3.1单片机模块32.3.2 1602液晶模块42.3.3 电源模块7第三章 51单片机的控制程序设计8系统主程序流程图8第四章 实验结果和分析94.1实验使用的仪器设备94.2测试结果

2、分析94.2.1.软件下载94.2.2.仿真结果分析94.2.3.仿真结果演示10结束语11参考文献11附录12C语言程序12基于51单片机的液晶计数显示摘要随着嵌入式技术的发展,嵌入式系统应用愈来愈广泛,单片机作为当前嵌入式系统的核心部分之一,具有体积小、速度快、功耗低、价格低廉等特点,在工业、教育、日用生活等诸多领域得到了广泛的应用,例如,在冰箱、微波炉、洗衣机等家用电器中使用单片机控制系统,可以使它们更加智能地工作;电话、传真、打印机中可使用单片机系统控制拨号、打印;单片机还可以在工业控制和机电一体化系统中作为核心控制部件。市场上微型处理器的品种愈来愈多功能也愈来愈强,但是51单片机以其

3、强大的功能和很高的性价比再加之使用简单被绝大多数电子工程师所青睐,因此51单片机在非高端嵌入式开发领域占有绝大部分的市场。本文介绍基于51单片机的1602液晶滚动显示模块设计,以及相关软件来完成设计。 关键词: 51单片机,Keil uVision2,Protel99se, 1602液晶显示器。第一章 绪论1.1. 系统背景对于现在流行的嵌入式电子产品,如便携式仪表、智能电器、消费类电子产品等,显示输出模块是必不可少的。液晶显示已经得到广泛地应用。 液晶显示器件在中国已有二十余年的发展历史。二十余年来,液晶显示器件从实验室走向大规模生产集团,形成了独立的产业部门。现在,液晶显示几乎已经应用于生

4、产,生活的各个领域,人们几乎时时处处都要与这一神奇而又普通的面孔打交道。 液晶显示是集单片机技术、微电子技术、信息处理于一体的新型显示方式。由于液晶显示器具有低压低功耗,显示信息量大易于彩色化,无电磁辐射,长寿命,无污染等特点。LCD是目前显示产业中发展速度最快,市场应用最广的显示器件,成为众多显示媒体中的佼佼者,在越来越多的领域中发挥作用,是目前显示器件中一个理想的选择。1.2. 本设计主要实现的功能 本课程设计主要是为了用单片机来实现液晶显示的控制,通过改变程序使LCD显示我们所学要的字符或者时间计时等。1.3. 51单片机主要的技术发展方向1. 相对稳定的计算机内核 2. 迅速发展的外围

5、技术 3. 最大化的电路集成 到了网络通信时代,计算机回归嵌入式应用领域。嵌入式系统复苏后带有浓重的通用计算机色彩。客观存在的两种应用模式:电子技术应用模式和计算机应用模式。前者主要是对象领域的电子工程师,后者主要是计算机工程师。两种模式可以互相补充、发挥专长。 基于PLD的SoPC的发展,是从开始的CPLD/FPGA发展到SoPC。目前都采用IP+PLA的设计思路. (这里的IP可不是Internet Protocol啊)SoPC的一般结构是(MCU内核+通用外围)+PLA. 另外通过MPW服务进行SoC设计来降低成本。第二章 系统电路设计2.1 系统总框图LCD液晶显示51单片机 P1如图

6、所示是直接用单片机来控制液晶显示的电路,主要用的C语言来进行编程。电路分为控制部分和显示部分,控制部分由8051单片机来完成,显示部分主要是LCD1602液晶显示。2.2 系统硬件电路2.3各个功能模块设计 2.3.1单片机模块 单片机电源采用9v蓄电池供电,通过稳压器转换成5v电源。单片机晶振采用12MHz,单片机复位电路采用电容电阻式。单片机的P1口与液晶的DBO-DB7连接,单片机的P3.5接液晶的寄存器选择端RS,单片机的P5.6接液晶的读写操作选择端RW,单片机的P3.7接液晶的使能端E。如图3-2: 图3-2 单片机模块 2.3.2 1602液晶模块一、 1602液晶模块引脚图16

7、02液晶模块引脚如图3-3所示,RAM地址映射如图3-4所示: 图3-3 1602引脚 图3-4 RAM(80字节)地址映射二、 1602字符型液晶显示器的引脚定 1602字符型液晶显示器的引脚定义如表3-2所示:表3-2引脚定义引脚号符号状态 功能 1 VSS 输入电源地 2 VDD 输入+5v罗技电源 3 V0 输入液晶显示偏压信号,接0v-5v调节显示对比度 4 RS 输入寄存器选择1:数据 0:指令 5 R/W输入读、写操作选择1:读 0:写 6 E 输入使能信号 7 DB0 三态数据总线(LSB) 8 DB1 三态数据总线 9 DB2三态数据总线 10 DB3 三态数据总线 11 D

8、B4 三态数据总线 12 DB5 三态数据总线 13 DB6 三态数据总线 14 DB7三态数据总线(MSB) 15 LEDA 输入背光接+5v 16 LEDK 输入背光地 三、 1602字符型液晶显示模块的指令集 (1)清屏RS RWDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 00 0 0 0 0 0 0 1 运行时间(250KHz)1.64ms; 功能:清DDRAM和AC值。(2)归位RS RWDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 00 0 0 0 0 0 1 * 运行时间(250KHz)1.64ms; 当AC=0时,光标、画面回HOME位

9、(3)输入方式设置RS RWDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 0 0 0 0 0 0 1 I/D S 运行时间(250KHz)40us; 功能:设置光标画面移动方式。 I/D=1:数据读、写操作后,AC自动增1。 I/D=0:数据读、写操作后,AC自动减1 S=1:数据读、写操作,画面平移。S=0:数据读、写操作,画面不动。(4)显示开关控制RS RWDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 00 0 0 0 1 D C B 运行时间(250KHz)40us; 功能:设置显示、光标及闪烁 开/关。 D表示显示开关:D=1为开,D=0为关。

10、 C表示光标开关:C=1为开,C=0为关。 B表示闪烁开关:B=1为开,B=0为关。 (5)光标、画面移位RS RWDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 0 0 0 0 1 S/C R/L * * 运行时间(250KHz)40us; 功能:使光标、画面移动 不影响DDRAM。 S/C=1:画面平移一个字符位。 S/C=0:光标平移一个字符位。 R/L=1: 右移;R/L=0:左移。(6)功能设置RS RWDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 0 0 0 1 DL N F * * 运行时间(250KHz)40us; 功能:设置工作方式(初始

11、化指令)。 DL=1: 8位数据接口;DL=0: 4位数据接口。 N=1: 两行显示; N=0: 一行显示。 F=1: 5*10点阵字符; F=0: 5*7点阵字符。(7)CGRAM地址设置RS RWDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 00 1 A5 A4 A3 A2 A1 A0运行时间(250KHz)40us; 功能:设置CGRAM地址。A5A0=03FH(8)DDRAM地址设置RS RWDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 0 1 A6 A5 A4 A3 A2 A1 A0 运行时间(250KHz)40us; 功能:设置DDRAM地址

12、。N=0,一行,显示A6A0=00H4FH。N=1,两行,首行A6A0=00H27H, 次行A6A0=40H67H(9)读BF及AC值RS RWDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 1 BF AC6 AC5 AC4 AC3 AC2 AC1 AC0 运行时间(250KHz)40us; 功能:判断是否忙碌。BF=1:表示忙。BF=0:表示不忙。AC值意义为最近一次地址设置(CGRAM或DDRAM)定义。(10)写数据RS RWDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB01/0 0 数据运行时间(250KHz)40us;功能:将数据写入DDRAM,使L

13、CD显示相应的图形或间用户自创的图形存入CGRAM内。(11)读数据RS RWDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB01/0 1 数据运行时间(250KHz)40us;功能:更具最近设置的地址性质,从DDRAM或CGRAM中读出数据。图3-5 LCD模块2.3.3 电源模块 电源部分采用9v蓄电池供电,用78L05稳压管转换成5v供电电压。 图3-6电源模块第三章 51单片机的控制程序设计系统主程序流程图在主程序中,是整个程序的执行顺序,首先对LCD1602进行初始化,然后对LCD显示初始化值,主要是在第一行的字符显示。在第二行显示中主要是对计数结果的显示。单片机进行的是

14、写操作,将计数的值转换后,输出到LCD初始化后要显示的地方。如下图所示:开始LCD初始化延时设置第一行显示显示第一行内容设置第二行显示显示第二行内容结束第四章 实验结果和分析4.1 实验使用的仪器设备51单片机开发板,1602液晶显示4.2 测试结果分析4.2.1. 软件下载 在进行软件下载前先将单片机开发板配备的Atmel单片机下载器连接到单片机开发系统上,然后再把下载器的另一端连接到计算机上,按照说明书装好驱动后就可以进行软件下载了。下载软件为AVR_fighter for USBASP,下载界面如图4-2: 图4-2在点击“装FLASH”按钮在弹出的对话框中找出已经编好程序的文件,点击“

15、打开”即可。再打开开发板的电源开关后,点击“编程”按钮即开始下载程序到单片机4.2.2. 仿真结果分析 在下载完程序后发现有 第一行显示 The 1602LCD Test , 第二行 开始计数显示 并且有 BY GUODONG的字符显示。本实验由于没有进行复位键设置,所以一直在计数,计数到99999为止。如果时间允许,可以在进行按键设置复位!4.2.3. 仿真结果演示结束语本设计能够实现1602液晶显示器计数器显示,基本实现了所需功能。由本设计的电路连接图可以看出使用单片机的优势就是其控制功能非常强大,简化了外围电路连接,有本设计的软件设计可以看出Keil uVision软件的优势在于使用简单

16、且它包含了丰富的单片机的常用库,特别是单片机c语言相比较汇编语言在单片机开发中的优势易于移植、降低了对单片机指令的要求。编写程序和调试的过程中,遇到了很多麻烦,比如LCD模块指令的设置很难一次设置成功,指令执行的时序图也很难确定,在查看了相关书籍和做多次比较调试的基础上终于得以解决。在做软件仿真时,刚开始由于没有加延迟函数导致液晶的显示很不正常和预期相差很远,经过深入研究,并多次重复实验下才得以解决。另外在编写程序时要细心,一点粗心大意就可能导致无法调试出正确的结果,而且会浪费好多时间去排错纠错。书到用时方很少,平时只学习一些书本上的理论知识,没有太多检验实际学习效果的环境,当真正自己去亲自着

17、手做一个实际的项目系统时,才发现有很多知识没有学扎实,许多知识点没有理解透彻,更有很多东西没有学,所以以后我会更努力广泛涉猎,深刻领悟。参考文献1.王为青、程国钢 编著 2007.单片机Keil Cx51应用开发技术 人民邮电出版社2.王守中、聂元铭 编著 2009 .51单片机开发入门与典型实例第二版 人民邮电出版社3.胡烨、姚鹏翼、陈明 编著 2005.Protel 99SE原理图与PCB设计教程 机械工业出版社4.谭浩强 编著 2007.11 C程序设计教程学习辅导 清华大学出版社5.张俊谟 编著 20117 单片机中级教程 北京航空航天大学出版社附录C语言程序#include <

18、REGX52.H>#include "LCD1602.h"unsigned char TempBuffer10;void IntToStr(unsigned int t, unsigned char *str, unsigned char n) unsigned char a5; char i, j; a0=(t/10000)%10; /取得整数值到数组 a1=(t/1000)%10; a2=(t/100)%10; a3=(t/10)%10; a4=(t/1)%10; for(i=0; i<5; i+) /转成ASCII码 ai=ai+'0' for(i=0; ai='0' && i<=3; i+); for(j=5-n; j<i; j+) /填充空格 *str=' ' str+; for(; i<5; i+) *str=ai; str+; /加入有效的数字 *str='0' void Delay1ms(unsigned int

温馨提示

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

评论

0/150

提交评论