AT89S52与LCD1602(asm/c51)

发布者:变形金刚最新更新时间:2016-09-29 来源: eefocus关键字:AT89S52  LCD1602 手机看文章 扫描二维码
随时随地手机看文章
 AT89S52与LCD1602接口实验 - 随梦飞翔 - 随梦飞翔 的博客

LCD1602 DDRAM地址映射表:

第一行地址80H

第二行地址C0H

AT89S52与LCD1602接口实验 - 随梦飞翔 - 随梦飞翔 的博客

单片机与LCD1602接口

AT89S52与LCD1602接口实验 - 随梦飞翔 - 随梦飞翔 的博客

;///////////////////////////////////////////////
项目名称:AT89S52与LCD1602接口实验
功能:在LCD1602的第一行显示WWW.LZY.EDU.CN:
      在LCD1602的第二行显示0830--3150897
;///////////////////////////////////////////////     
RS EQUP2.4        ;P2.4接LCD的RS

RW EQUP2.5        ;P2.5接LCD的RW

E EQUP2.6        ;P2.6接LCD的E
DRIR EQUP0       ;P0口接LCD的DB0-DB7
CWDK EQU 40H
DATK EQU 41H

ORG 0000H
SJMP START
ORG 0030H
;主程序
START:MOV SP,#80H
     LCALL RESTE
     LCALL TOPDA
     LCALL BOTDA
     SJMP $
;函数INCWD 指令写入程序
INCWD:CLR RS
     CLR RW
     MOV A,CWDK
     MOV DRIR,A
     SETB E
     NOP
     NOP
     CLR E
     LCALL DELAY
     RET
;函数INDAT 显示数据写入程序 
INDAT:SETB RS
     CLR RW
     MOV A,DATK
     MOV DRIR,A
     SETB E
     NOP
     NOP
     CLR E
     LCALL DELAY
     RET
;函数RESTELCD1602初始化程序      
RESTE:MOV CWDK,#00111000B;工作方式 8位数据接口,二行显示,5*7点阵
     LCALL INCWD
     MOV CWDK,#00000001B;AC清0 光标复位
     LCALL INCWD
     MOV CWDK,#00001111B;开显示 开光标 开闪烁
     LCALL INCWD
     MOVCWDK,#00011100B;屏幕不动光标自动右移           
     LCALL INCWD
     RET
;函数TOPDA LCD1602第一行显示程序
TOPDA:MOV CWDK,#80H
     LCALL INCWD
     MOV R2,#10H
     MOV R3,#00H
     MOV DPTR,#TABL1
   D1:MOV A,R3
     MOVC A,@A+DPTR
     MOV DATK,A
     LCALL INDAT
     LCALL DEL1S
     INC R3
     DJNZ R2,D1
     RET
;函数BOTDA LCD1602第二行显示程序
BOTDA:MOV CWDK,#0C0H
     LCALL INCWD
     MOV R2,#10H
     MOV R3,#00H
     MOV DPTR,#TABL2
   D2:MOV A,R3
     MOVC A,@A+DPTR
     MOV DATK,A
     LCALL INDAT
     LCALL DEL1S
     INC R3
     DJNZR2,D2           
     RET
;函数DELAY 480us延时
DELAY:MOV R1,#0A0H
   E1:NOP
     DJNZ R1,E1
     RET
;函数DEL1S 1S延时
DEL1S:MOV R5,#20
   E2:MOV R6,#20
   E3:MOV R7,#248
     DJNZ R7,$
     DJNZ R6,E3
     DJNZ R5,E2
     RET
             
TABL1:DB " WWW.LZY.EDU.CN"
TABL2:DB " 0830---3150897 "
END 

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

付带闪烁光标的LCD1602字符显示

;///////////////////////////////////////////////////

;AT89S52与LCD1602接口

;目的:1602第一行显示:WWW.SINA.COM.CN

;          第二行显示:Visual Basic net

;//////////////////////////////////////////////////

RS EQU P2.4

RW EQU P2.5

E  EQU P2.6

LDB EQU P0

 

DAT DATA 40H

COM DATA 41H

 

ORG 0000H

SJMP START

ORG 0030H

;主程序

START:MOV SP,#50H

      LCALL DEL40;1602复位延时

      LCALL LRET;LCD1602初始化

      LCALL TOPD;显示第一行

      LCALL BOMD;显示第二行

      LJMP START

;函数BUSY 忙标志检测

BUSY: CLR RS

      SETB RW

   E1:MOV LDB,#0FFH

      SETB E

      MOV A,LDB

      CLR E

      JB ACC.7,E1

      RET     

;函数WCOM LCD1602指令写入子程序

WCOM: LCALL BUSY

      CLR RS

      CLR RW

      MOV A,COM

      MOV LDB,A

      SETB E

      NOP

      CLR E

      RET

;函数WDAT LCD1602显示数据写入子程序

WDAT: LCALL BUSY

      SETB RS

      CLR RW

      MOV A,DAT

      MOV LDB,DAT

      SETB E

      NOP

      CLR E

      RET          

;函数LRET LCD1602初始化子程序

LRET: MOV COM,#00000001B;清屏

      LCALL WCOM

      MOV COM,#00111000B;功能设定 8bit数据接口,两行显示,5*7点阵

      LCALL WCOM

      MOV COM,#00000110B;输入方式设定 AC加一,画面不动

      LCALL WCOM

      MOV COM,#00001111B;开显示,开光标,开闪烁

      LCALL WCOM

      MOV COM,#00000010B;光标复位

      LCALL WCOM

      MOV COM,#00010100B;光标右移

      LCALL WCOM

      RET  

;函数TOPD LCD1602第一行显示子程序

TOPD: MOV COM,#80H

      LCALL WCOM

      MOV DPTR,#TAB1

      MOV R3,#10H

      MOV R4,#00H

   E2:MOV A,R4

      MOVC A,@A+DPTR

      MOV DAT,A

      LCALL WDAT

      LCALL DEL05

      INC R4

      DJNZ R3,E2

      RET 

;函数BOMD LCD1602第二行显示子程序

BOMD: MOV COM,#0C0H

      LCALL WCOM

      MOV DPTR,#TAB2

      MOV R3,#10H

      MOV R4,#00H

   E3:MOV A,R4

      MOVC A,@A+DPTR

      MOV DAT,A

      LCALL WDAT

      LCALL DEL05

      INC R4

      DJNZ R3,E3

      RET           

;函数DEL40 40MS延时     

DEL40:MOV R0,#160

   D1:MOV R1,#250

      DJNZ R1,$

      DJNZ R0,D1

      RET 

;函数DEL05 0.5S延时

DEL05:MOV R5,#2

   D3:MOV R0,#200

   D2:MOV R1,#248

      DJNZ R1,$

      DJNZ R0,D2

      DJNZ R5,D3

      RET             

;显示数据表

TAB1:DB " WWW.SINA.COM.CN"

TAB2:DB "Visual Basic net"

 

END

关键字:AT89S52  LCD1602 引用地址:AT89S52与LCD1602(asm/c51)

上一篇:STC89C52R并行驱动LCD12864(asm/c51)
下一篇:AT89S52并口驱动LCD12864(ST7920芯片组)

推荐阅读最新更新时间:2024-03-16 15:12

基于AT89S52的温度显示报警系统
引言   温度是一种最基本的环境参数,人们的生活环境与温度息息相关,温度测量也被人们所异常关注。因此,研究温度的测量方法和装置具有重要意义,温度测控技术也在各个领域应用越来越广泛。采用单片机对温度进行控制,不仅具有控制方便和组态简单的优点,而且可以提高被控温度的技术指标。本文介绍了一款由单片机AT89S52 和新型的智能集成温度传感器DS18B20 以及LCD 显示器等部件实现的温度测量及报警系统。同时在设计方面做了功能的扩展,键盘是用来调时和温度查询,功能较强,可以设置上下限报警温度,且测量准确、误差小。单片机可把由DS18B20、DS1302 读来的数据利用软件来进行处理,从而把数据传输到显示模块,实现温度、日历的显示,还有
[工业控制]
基于<font color='red'>AT89S52</font>的温度显示报警系统
51单片机驱动ADC0832模数转换程序-lcd1602显示
/*这个芯应用不多*/ #include reg51.h #define uchar unsigned char #define uint unsigned int uchar Chan0Value,Chan1Value; sbit RS=P1^0; //1602各控制脚 sbit RW=P1^1; sbit EN=P1^2; sbit Cs0832= P2^0; //0832各控制脚 sbit Clk0832= P3^6; sbit Di0832= P3^7; sbit Do0832= P3^7; void delay1ms(unsigned int ms)//延时1毫秒(不够精确的) { int i,j; for(
[单片机]
基于AT89S52和传感器的智能库区防盗系统的设计
  0.前 言   智能防盗系统已成为库区管理的必要组成部分,数字化、无线化、集成化则是防盗系统的技术发展趋势,为此,现代防盗系统广泛采用红外线作为传感信号。由于红外线是不可见光,因而具有很强的隐蔽性和保密性,且基于红外传感信号的防盗系统结构简单,报警准确、及时,是安全防御的最佳选择。本设计主要对智能库区防盗系统的基本功能进行了设计,可分时段对检测到的信号做出判断并实现相应功能。   1.系统方案   系统要求具备以下功能:   1.防盗系统在18:00—08:00时间段内处于防盗状态,当检测到有人进入则发出声光报警,并记录进入时间;   2.防盗系统在08:00—18:00时间段内处于检测人数状态,每当一个人进入,则计
[单片机]
基于<font color='red'>AT89S52</font>和传感器的智能库区防盗系统的设计
C51单片机LCD1602驱动程序
LCD1602简介 LCD1602字符型液晶(每行显示16个字符,一共可以显示两行)——一种专门用来显示字母、数字、符号的点阵型液晶模块。它由若干个5x7或者5x10的点阵字符组成,每个点阵字符位都可以用来显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此,所以它不能很好的显示图片。 1602的引脚 我们只需要关注以下几个管脚: 3 脚:VL,液晶显示偏压信号,用于调整LCD1602 的显示对比度,一般会外接电位器用以调整偏压信号,注意此脚电压为0时可以得到最强的对比度。 4 脚:RS,数据/命令选择端,当此脚为高电平时,可以对1602 进行数据字节的传输操作,而为电平时,
[单片机]
C51单片机<font color='red'>LCD1602</font>驱动程序
一种有无线拈的发射装置外场测试仪设计
针对传统的空空导弹发射装置中外场测试仪与飞机座舱无法直接通信的问题,设计了一种具有无线模块的外场测试仪。该测试仪可通过无线方式与座舱通信,提高了测试效率。同时无线模块替代了显示屏等人机接口,减小了测试仪的体积和重量,便于使用和运输。 发射装置外场测试仪(以下简称测试仪)是空空导弹发射装置的专用外场检测设备。在载机挂弹前,测试仪可模拟导弹部分的信号、负载和时序,完成对空空导弹发射装置及飞机有关线路、信号和工作时序的定性检查。 载机挂弹前,使用测试仪检测发射装置是一个飞机座舱与测试仪间的互动过程:座舱要向测试仪下发命令,告知测试仪发射装置的某个状态;测试仪完成该状态的测试后,需上报测试结果或故障信息。传统的测试仪由一体化的工程机箱构
[单片机]
一种有无线拈的发射装置外场测试仪设计
基于CPLD和AT89S52的自动巡线轮式机器人控制系统
   1引言   轮式移动机器人是机器人研究领域的一项重要内容.它集机械、电子、检测技术与智能控制于一体。在各种移动机构中,轮式移动机构最为常见。轮式移动机构之所以得到广泛的应用。主要是因为容易控制其移动速度和移动方向。因此.有必要研制一套完整的轮式机器人系统。并进行相应的运动规划和控制算法研究。笔者设计和开发了基于51型单片机的自动巡线轮式机器人控制系统。    2控制系统总体设计   机器人控制系统由主控制电路模块、存储器模块、光电检测模块、电机及舵机驱动模块等部分组成,控制系统的框图如图1所示。       3主控制模块设计   3.1CPLD设计   在机器人控制系统中.需要控制多个电动机和行程开关.还要进
[单片机]
基于CPLD和<font color='red'>AT89S52</font>的自动巡线轮式机器人控制系统
51单片机6自由度机械臂调试程序,带LCD1602PWM显示
以前学习51的时候为了调试机械臂角度编写的程序,用在开发板上也比较方便,但是由于是普通的舵机,不是总线的,所以需要自己洞洞板焊一个供电带电路。 单片机源程序如下: #include reg52.h #include lcd1602.h #define uchar unsigned char #define uint unsigned int sbit duoji0=P2^0; //PWM输出 sbit duoji1=P2^1; sbit duoji2=P2^2; sbit duoji3=P2^3; sbit duoji4=P3^1; sbit duoji5=P3^0; #define GPIO_KEY P1
[单片机]
51单片机之LCD1602的驱动程序
#include  reg52.h    #include "./delay/delay.h"      #define LCDPORT P0   #define LCD_WRITE_DATA   1   #define LCD_WRITE_COM    0   sbit RS = P2^4;   sbit RW = P2^5;   sbit E = P2^6;   unsigned char flag = 1;   unsigned char shi = 23, fen = 59, miao = 50;      void lcd1602_write(unsigned char byte, unsign
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved