基于51单片机的简易计算器时间显示(lcd1602显示)内容摘要:
页 共 33 页 图 1056 写操作时序 10. 8. 2. 4 1602LCD 的 RAM 地址映射及标准字库表 液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。 要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图 1057是 1602的内部显示地址。 图 1057 1602LCD 内部显示地址 例如第二行第一个字符的地址是 40H,那么是否直接写入 40H 就可以将光标定位在第二行第一个字符的位置呢。 这样不行,因为写入显示地址时要求最高位 D7恒定为高电平 1所以实际写入的数据应该是 01000000B( 40H) +10000000B(80H)=11000000B(C0H)。 在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。 每次输入指令前都要判断液晶模块是否处于忙的状态。 1602液晶模块内部的字符发生存储器( CGROM)已经存储了 160个不同的点阵字符图形,如图 1058所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文桂林电子科技大课程设计(论文)专用纸 第 12 页 共 33 页 第 12 页 共 33 页 假名等,每一个字符都有一个固定的代码,比如大写的英文字母“ A”的代码是 01000001B( 41H),显示时模块把地址 41H 中的点阵字符图形显示出来,我们就能看到字母“ A” 图 1058 字符代码与图形对应图 3 设计思路、仿真 及调试 设计方法 本电路设计采用 AT89S52 单片机为核心,利用晶振产生频率为 1HZ 的时钟脉冲信号,利用液晶屏 LCD1602 显示计算及其时间信息,通过对 AT89S52 单片机的编程控制液晶屏 LCD1602 的显示。 显示计算和简易计算的信息同在 LCD1602,通过按键切换选择。 外部按键可及时设定或调整时间或计算的信息。 硬件设计 本系统以 AT89S52单片机为核心,本系统选用 12MHZ的晶振,使得单片机有合理的运行速度。 起振电容 30pF对振荡器的频率高低、振荡器的稳定性和起振的快速性影响较合适, 复位电路为按键高电平复位。 按键调整电路 桂林电子科技大课程设计(论文)专用纸 第 13 页 共 33 页 第 13 页 共 33 页 S0 为调秒的按键,当按下 S0 时秒加 1, S1 为调分的按键,当按 S1时分加 1, S2按键为调时,当按下 S2 时,时加 1, S3 按键为调日,当按下 S3 时日加 1, S4 为调月,当按下 S4 时月加 1, S5 为调年,当按下 S5 时年加 1; S6 为时间显示建,S7 为计算显示键。 复位电路 液晶屏 LCD1602 显示 LED 指示电路 当单片机通电时 LED 亮 桂林电子科技大课程设计(论文)专用纸 第 14 页 共 33 页 第 14 页 共 33 页 4*4 键盘的设计 键盘功能如下: 简易计算器的总电 路 硬件设计中用 Protel99se 画原理图和 PCB 图 如图 1 所示原理图: 桂林电子科技大课程设计(论文)专用纸 第 15 页 共 33 页 第 15 页 共 33 页 图 1 软件设计 本电路软件设计采用 C 语言编写程序(具体程序在附件中给出)。 程序设计主要包括简易计算的编程,按键编程,时间控制编程,液晶屏 LCD1602 的显示编程。 软件仿真 在硬件设计完成后,利用软件对其进行仿真,以尽可能的减少做板的次数。 本次我采用 Proteus 软件仿真。 如图 2 所示,简易计算器的时间显示 如图 3 所示 简易计算器的计算显示软件仿真正常,可进行硬件制作。 桂林电子科技大课程设计(论文)专用纸 第 16 页 共 33 页 第 16 页 共 33 页 图 2 图 3 硬件调试 做好电路板,按键使用正确,时间显示正常,计算功能也正常。 如下图: 桂林电子科技大课程设计(论文)专用纸 第 17 页 共 33 页 第 17 页 共 33 页 4 结论 在用单片机实现简易计算的设计中使用到了 AT89s5 LCD1602及其 4*4键盘的使用。 在设计过程中我通过在网上和图书馆查阅资料,收集了关于单片机和液晶屏 LCD1602显示方面的资料,通过对这些资料的学习,我了解了单片机的基本结构和单片机在生活和生产中所发挥的作用;液晶屏 LCD1602的 原理和使用。 本次课程设计完成的主要工作和任务如下:对设计方案的理论研究,单片机的合理选型,硬件电路的设计,电路板的制作,元器件 的焊接,软件的编写和调试以及课设论文的制作。 通过设计简易计算器的过程中我掌握了单片机的基本原理及其各种应用,对它的各种硬件接口与软件设计方法有较深入的认识。 通过对电路原理图、 pcb图的绘制,电路仿真、电路板的制作掌握了对 proteus仿真软件的使用。 桂林电子科技大课程设计(论文)专用纸 第 18 页 共 33 页 第 18 页 共 33 页 谢 辞 本论文是在 袁华老师 悉心指导下完成的。 袁华老师 渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。 不仅使我树立了远大的学术目标、掌握了基本的研究方 法,还使我明白了许多待人接物与为人处世的道理。 本 课设 论文从选题到完成,每一步都是在 袁华老 师的指导下完成的,倾注了 袁华老师 大量的心血。 在此,谨向 袁华老 师表示崇高的敬意和衷心的感谢。 在此也感谢大学的老师教育我,使我完成本次课设,感谢他们带给我知识,同时也感谢我的同学们,对我的支持。 桂林电子科技大课程设计(论文)专用纸 第 19 页 共 33 页 第 19 页 共 33 页 参考文献: [1] 余锡存 ,曹国华,单片机原理及接口技术 . 西安 :西安电子科技大学出版社, 2020 [2] 郭天祥,新概念 51单片机 c语言教程。 北京:电子工业出版社, 2020 [3] 马忠梅,单片 机的 C语言应用程序设计 .北京:北京航空航天大学出版社, 1997。 [4]张毅刚著,《单片机原理及应用》,北京,高等教育出版社, 2020 [5] 谭浩强, C程序设计(第二版) [M].北京: 清华大学出版社 ,2020。 桂林电子科技大课程设计(论文)专用纸 第 20 页 共 33 页 第 20 页 共 33 页 附 件 硬件电路原理图: 软件编程程序: include define uchar unsigned char define uint unsigned int sbit rs=P0^0。 sbit rw=P0^1。 sbit e=P0^2。 桂林电子科技大课程设计(论文)专用纸 第 21 页 共 33 页 第 21 页 共 33 页 sbit k0=P1^0。 sbit k1=P1^1。 sbit k2=P1^2。 sbit k3=P1^3。 sbit k4=P1^4。 sbit k5=P1^5。 sbit k6=P1^6。 sbit k7=P1^7。 unsigned char code digit[ ]={0123456789}。 //定义字符数组显示数字 unsigned char s,m,h,day,month,year,count。 void write_dat(uchar dat)。 void write_(uchar )。 void keyscan()。 /********************** 功能说明: 显示编码,加上 0x30, 分别为 39。 139。 ,39。 239。 ,39。 339。 ,39。 +39。 , 39。 439。 ,39。 539。 ,39。 639。 ,39。 39。 ,等 **********************/ uchar code table1[]= { 1,2,3,0x2b0x30, 4,5,6,0x2d0x30, 7,8,9,0x2a0x30, 0,0x3d0x30,0x010x30,0x2f0x30 }。 uchar k=0,flag=0,num,fuhao,i。 long a,b,c。 void delay(uint z) { uint x,y。 for(x=z。 x0。 x) for(y=110。 y0。 y)。 } /***************************************************** 函数功能:指定字符显示的实际地址 入口参数: x ***************************************************/ void WriteAddress(unsigned char x) { write_。基于51单片机的简易计算器时间显示(lcd1602显示)
相关推荐
5 显示模块 本设计显示模块主要采用 LCD12864 液晶显示器,其电路原理图如下: 图 35 LCD12864 模块 LCD12864液晶显示器通过数据端口也即端口 7~ 14与主控芯片 AT89S52 的 I/O端口 P3相连接实现数据与指令的传输,再通过控制端口 RS、 RW、 EN也即端口 4~ 6与主控芯片 , 端口相接实现对数据和指令传输 的控制。 显示模块采用 12864
89C51单片机作为主机,它们都具有4K片内ROM,128字节片内RAM,片外ROM寻址范围达64K,片外RAM寻址范围达64K,2个16位计数器,5个中断源,4个并行口,1个串行口。 简易自动乐曲播放器采用单片机最小系统足以满足系统设计要求,同时要设计单片机最小系统的晶振和复位电路。 单片机复位电路复位是单片机的初始化操作,其作用是使CPU中的各个部件都处于一个确定的初始状态
整个应用程序的 APP 端前台设计,使整个应用程序的 功能变得更加完善和人性化。 为应用程序的使用者提供了很大的方便。 让使用者更加逼真的体会到现实生活中应用程序的操作性。 让使用者更加逼真的体会到现实生活中应用程序的操作性。 ( 5) APP 端新闻频道的滑动 在 APP 端,新闻种类的滚动条甚至可以随着 手指来回的左右滑动 ,大大方便了用户对新闻的查看和对新闻评论 的操作。
容易知道,当连接的线数越多,节省的 IO口效率就越明显。 不过矩阵键盘的识别原理比一般的独立按键识别原理要复杂一些,最常用的识别方法就是“高低电平翻转法”。 以 4*4矩阵键盘为例,当列线通过上拉电阻接电源正极,并将行线接到单片机的 IO口上,而列线所接的 IO 口作为输入。 这样,当按键在断开状态下,它们的输入端都呈现为 1,代表没有按键按下去。 此时行线输出的是 0,当检测到有按键按下
P31P 0. 732P 0. 633P 0. 534P 0. 435P 0. 336P 0. 237P 0. 138P 0. 039V C C40GND20A T 89 C 5 16VB A T T E R Y1234D11 N 40 0 2D21 N 40 0 2N P N 1T R A N S 1A C 2 20 V1 00 u FV i n1V o ut3GND2L M 7 80 51
V 编程电压( Vpp)。 抢答器的优点及组成 在知识比赛中,特别是做抢答题目的时候 , 在抢答过程中,为了知道哪一组或哪一位选手先答题,必须要设计一个系统来完成这个任务。 如果在抢答中,靠视觉是很难判断出哪组先答题。 利用单片机系统来设计抢答器,使以上问题得以解决,即使两组的抢答时间相差几微秒,也可分辨出哪组优先答题。 本文主要介绍了单片机抢答器设计及工作原理,以及它的实际用途。