(C与汇编语言)ARM9之LPC2132控制LCD1602显示字符串

发布者:骄阳少年最新更新时间:2019-10-29 来源: 51hei关键字:汇编语言  ARM9  LPC2132控制  LCD1602显示 手机看文章 扫描二维码
随时随地手机看文章

GPADIR             EQU            0xE0028008


GPASET             EQU            0xE0028004

GPACLR             EQU            0xE002800C

                        EXPORT xmain

                        AREA    Init,CODE,READONLY

                        ENTRY

xmain

                        ldr r0,=GPADIR

                        ldr r1,=0x3ff

                        str r1,[r0]    ;A=out

;===========init1602================= 

                        mov r4,#0x38

                        BL  w1602C

                        mov r4,#0x06

                        BL  w1602C

                        mov r4,#0x0c

                        BL  w1602C

                        mov r4,#0x01

                        BL  w1602C

;============main=================

loop                    mov r4,#0x80

                          bl w1602C


                          ldr r9,=dat

                          mov r6,#0

loop1                 ldr r4,[r9,r6]

                          bl w1602D

                          ADD r6,r6,#1

                          BL delay

                          cmp r6,#15


                          bne loop1


                          mov r4,#0xc0

                          bl w1602C


                          ldr r9,=ttt

                          mov r6,#0

loop2                  ldr r4,[r9,r6]

                          bl w1602D

                          ADD r6,r6,#1

                          BL delay

                          cmp r6,#15


                          bne loop2

                          B loop

;=================================== 

w1602C           ldr r1,=0x3ff

                        ldr r0,=GPACLR

                        str r1,[r0]

                        mov r1,#0

                        ORR r1,r1,r4

                        ldr r0,=GPASET

                        str r1,[r0]

                        nop

                        nop

                        orr r1,r1,#0x200

                        str r1,[r0]

                        nop

                        nop

                        ldr r0,=GPACLR

                        mov r1,#0x200

                        str r1,[r0]

                        mov pc,lr

;====================================== 

w1602D            ldr r1,=0x3ff

                        ldr r0,=GPACLR

                        str r1,[r0]

                        mov r1,#0x100

                        ORR r1,r1,r4

                        ldr r0,=GPASET

                        str r1,[r0]

                        nop

                        nop

                        orr r1,r1,#0x200

                        str r1,[r0]

                        nop

                        nop

                        ldr r0,=GPACLR

                        mov r1,#0x200

                        str r1,[r0]

                        mov pc,lr

;=================================== 

delay                   mov r5,#0xff00

delay1                  sub r5,r5,#1

                          cmp r5,#0

                          bne delay1

                          mov pc,lr

;====================================

dat                    DCB " China  Dianzi"

ttt                      DCB "  Keji Xueyuan"

                        end

 

#define rGPACON     (*(volatile unsigned *)0xE0028008)        //Port A in/out0x56000000

#define rGPADAT1    (*(volatile unsigned *)0xE0028004)        //Port A =10x56000004

#define rGPADAT0    (*(volatile unsigned *)0xE002800C)        //Port A =0   0x56000008

const unsigned char dd[]="Shanxi Dianzi";

const unsigned char tt[]="gongchengxueyuan";

void xmain()

{

        unsigned int i,k;


        rGPACON  = 0x7ff;  //A11-A0=out

        

                rGPADAT1 |= 0x38;

                k=4;

                while(k--);

                rGPADAT1 |= 0x100;

                k=7;

                while(k--);

                rGPADAT0 |= 0x100;

                k=10;

                while(k--);

                rGPADAT0 |= 0x7ff;

                //============

                rGPADAT1 |= 0x06;

                k=4;

                while(k--);

                rGPADAT1 |= 0x100;

                k=7;

                while(k--);

                rGPADAT0 |= 0x100;

                k=10;

                while(k--);

                rGPADAT0 |= 0x7ff;

                //============

[1] [2]
关键字:汇编语言  ARM9  LPC2132控制  LCD1602显示 引用地址:(C与汇编语言)ARM9之LPC2132控制LCD1602显示字符串

上一篇:ARM之LPC2132流水灯LCD1602
下一篇:ARM读取DS1302汇编程序

推荐阅读最新更新时间:2024-11-09 19:04

C-NPS:手机推荐度排行榜,华为位于第一
集微网1月21日消息,昨天品牌评级权威机构Chnbrand发布了2021年(第七届)中国顾客推荐度指数 (C-NPS®)品牌排名,我们一起来看看吧! 在手机推荐度排行榜中,我们看到华为以27.8的C-NPS得分排在首位,相较去年排名没有出现变化,排在第二位的是苹果,C-NPS得分为16.5,相较去年排名提升了2位,力压小米、OPPO等手机品牌。 在智能手环推荐度排行榜中,华为依旧以32.1的C-NPS得分排在第一位,远远的甩开了排在第二位的小米。 图片来源:Chnbrand官网 而在智能摄像机/摄像头推荐度排行榜中,荣耀意外击败海康威视等品牌,成为该消费者推荐度最高的品牌。 图片来源:Chnbrand官网 可能有一
[手机便携]
<font color='red'>C</font>-NPS:手机推荐度排行榜,华为位于第一
MSP430学习的第一个模拟I2C程序
#include msp430.h unsigned char I2CBUF; unsigned char checkbit; #define SCL_H (P10OUT |= BIT2) // P10.2为SCL #define SCL_L (P10OUT &= ~BIT2) #define SDA_H (P10OUT |= BIT1) //p10.1为SDA #define SDA_L (P10OUT &= ~BIT1) #define SDA_OUT (P10DIR |= BIT1) #define SDA_IN (P10DIR &= ~ BIT1) void I2C_Start(void) //I2C开
[单片机]
DS1302时钟与LCD1602液晶显示
DS1302是一个实时时钟芯片,它在实时显示时间中应用。它可以对年、月、日、周、时、分、秒进行计时。 DS1302的引脚及原理图如下: 它与CPU的连接需要SCLK(7)、I/O(6)和RST(5)三个引脚,VCC2和VCC1分别为主电源和备份电源,X1和X2分别接外部振荡器。在于CPU的通信中I/O用来传输数据,RST作为复位信号,SCLK用来控制数据字节的读写。 DS1302的读写时序如下: 程序中对芯片的操作主要是参考芯片的时序状态,时序中说明只要有对数据的操作RST就需要置1,在读数据的前8个时钟中在SCLK处于高电平的过程中会获取控制字信息,此过程I/O数据不会变化,而在低电平的过程中I/O
[单片机]
DS1302时钟与<font color='red'>LCD1602</font>液晶<font color='red'>显示</font>
纳芯微推出NSI22C1x系列隔离式比较器,打造更可靠的工业电机驱动系统
支持更高功率密度的系统设计,同时简化外围电路,相比传统分立方案,可将系统保护电路尺寸缩小60% 2024年2月21日,上海 —— 纳芯微宣布推出基于电容隔离技术的隔离式比较器NSI22C1x系列,该系列包括用于过压和过温保护的隔离式单端比较器NSI22C11和用于过流保护的隔离式窗口比较器NSI22C12。 NSI22C1x系列可用于工业电机驱动、光伏逆变器、不间断电源、车载充电机的过压、过温和过流保护,在提升系统可靠性的前提下,支持更高功率密度的系统设计,同时简化外围电路,相比传统分立方案,可将系统保护电路尺寸缩小60%。 以工业电机驱动系统为例,其正朝着更高效率、更高功率密度和更高可靠性的方向发展,同时伴随着以 SiC
[模拟电子]
纳芯微推出NSI22<font color='red'>C</font>1x系列隔离式比较器,打造更可靠的工业电机驱动系统
【蓝桥杯物联网】第三章 stm32l0xx_hal_gpio.c的常见函数
本章将介绍几个在比赛中常见的函数,这几个函数都是非常简单,关系到 LED ,按键,继电器等简单的外设。 第一节HAL_GPIO_Init 函数原型: voidHAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init); 函数解析: 这个是GPIO的初始化的函数,这个函数主要用来初始化我们需要用到的引脚的工作模式,包括具体引脚的工作速度、是否复用模式、上下拉等等 参数 。形参解析: 一共两名形参,该形参的具体功能如下: GPIO_TypeDef *GPIOx:该形参是对GPIO的类型的定义,比如:GPIOA,GPIOC等等。 GPIO_InitTypeDef *
[单片机]
【蓝桥杯物联网】第三章 stm32l0xx_hal_gpio.<font color='red'>c</font>的常见函数
s3c6410在linux下的WATCHDOG TIMER(看门狗定时器)驱动(2)
在上一篇中看了看门狗在linux中驱动实现的整体架构,作为混杂设备和平台设备存在。现在开始看平台设备对应的probe函数。 static struct platform_driver s3c2410wdt_driver = { .probe = s3c2410wdt_probe, .remove = s3c2410wdt_remove, .shutdown = s3c2410wdt_shutdown, .suspend = s3c2410wdt_suspend, .resume = s3c2410wdt_resume, .driver = { .owner = THIS_MODULE, .name = s3c2410-wdt
[单片机]
s3<font color='red'>c</font>6410在linux下的WATCHDOG TIMER(看门狗定时器)驱动(2)
STC89C51RC单片机数据类型的字节数测试
i = sizeof(char);//char是一字节的变量 if(i == 1) { led0 = 0; } i = sizeof(int); if(i == 2)//led等亮,测试int是两字节的变量 { led1 = 0; } i = sizeof(unsigned int);//unsigned int 是两字节的变量 if(i == 2) { led2 = 0; } i = sizeof(long);//long 是四字节的变量 if(i == 4) { led3 = 0; } i = sizeof(float);//float是四字节的变量 if(i == 4) { led4 = 0; } i = sizeof(do
[单片机]
TDS2000C系列数字存储示波器的特点及应用分析
TDS2000C系列数字存储示波器系列设计紧凑,性价比高。 TDS2000C 系列示波器集各种标准功能于一身,包括 USB 连接、16 种自动化测量、极限测试、数据记录和上下文相关帮助,助您事半功倍。 产品特点: ◆200MHz、100MHz、70MHz 和50MHz带宽; ◆2通道型号和4通道型号; ◆所有通道上高达2GS/s的采样率; ◆所有通道上2.5k点记录长度 ◆高级触发,包括脉宽触发和选行视频触发; ◆16种自动测量及FFT分析,简化波形分析; ◆内置波形极限测试; ◆自动化扩展数据记录功能; ◆自动设置和信号自动量程; ◆内置上下文相关帮助; ◆探头检查向导; ◆多语言用户界面; ◆5.7英寸有源TFT彩色显示器
[测试测量]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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