久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: (C與匯編語言)ARM9之LPC2132控制LCD1602顯示字符串 [打印本頁]

作者: 51黑小牛    時間: 2016-4-10 17:33
標題: (C與匯編語言)ARM9之LPC2132控制LCD1602顯示字符串
本帖最后由 51黑小牛 于 2016-4-10 17:34 編輯

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



  1. #define rGPACON     (*(volatile unsigned *)0xE0028008)        //Port A in/out0x56000000
  2. #define rGPADAT1    (*(volatile unsigned *)0xE0028004)        //Port A =10x56000004
  3. #define rGPADAT0    (*(volatile unsigned *)0xE002800C)        //Port A =0   0x56000008
  4. const unsigned char dd[]="Shanxi Dianzi";
  5. const unsigned char tt[]="gongchengxueyuan";
  6. void xmain()
  7. {
  8.         unsigned int i,k;

  9.         rGPACON  = 0x7ff;  //A11-A0=out
  10.         
  11.                 rGPADAT1 |= 0x38;
  12.                 k=4;
  13.                 while(k--);
  14.                 rGPADAT1 |= 0x100;
  15.                 k=7;
  16.                 while(k--);
  17.                 rGPADAT0 |= 0x100;
  18.                 k=10;
  19.                 while(k--);
  20.                 rGPADAT0 |= 0x7ff;
  21.                 //============
  22.                 rGPADAT1 |= 0x06;
  23.                 k=4;
  24.                 while(k--);
  25.                 rGPADAT1 |= 0x100;
  26.                 k=7;
  27.                 while(k--);
  28.                 rGPADAT0 |= 0x100;
  29.                 k=10;
  30.                 while(k--);
  31.                 rGPADAT0 |= 0x7ff;
  32.                 //============
  33.                 rGPADAT1 |= 0x0c;
  34.                 k=4;
  35.                 while(k--);
  36.                 rGPADAT1 |= 0x100;
  37.                 k=7;
  38.                 while(k--);
  39.                 rGPADAT0 |= 0x100;
  40.                 k=10;
  41.                 while(k--);
  42.                 rGPADAT0 |= 0x7ff;
  43.                 //============
  44.                 rGPADAT1 |= 0x01;
  45.                 k=4;
  46.                 while(k--);
  47.                 rGPADAT1 |= 0x100;
  48.                 k=7;
  49.                 while(k--);
  50.                 rGPADAT0 |= 0x100;
  51.                 k=10;
  52.                 while(k--);
  53.                 rGPADAT0 |= 0x7ff;
  54.                
  55.                 while(1)
  56.                         {
  57.                                 //============
  58.                                         rGPADAT1 |= 0x80;
  59.                                         k=4;
  60.                                         while(k--);
  61.                                         rGPADAT1 |= 0x100;
  62.                                         k=7;
  63.                                         while(k--);
  64.                                         rGPADAT0 |= 0x100;
  65.                                         k=10;
  66.                                         while(k--);
  67.                                         rGPADAT0 |= 0x7ff;
  68.                                 //=============
  69.                                 for(i=0;i<13;i++)
  70.                                 {
  71.                                  rGPADAT1 |= 0x400;
  72.                                        
  73.                                  rGPADAT1 |=dd[i];
  74.                                         k=4;
  75.                                         while(k--);
  76.                                         rGPADAT1 |= 0x100;
  77.                                         k=7;
  78.                                         while(k--);
  79.                                         rGPADAT0 |= 0x100;
  80.                                         k=10;
  81.                                         while(k--);
  82.                                         rGPADAT0 |= 0x7ff;
  83.                                 }
  84.                                 //========================//
  85.                                 //============
  86.                                         rGPADAT1 |= 0xc0;
  87.                                         k=4;
  88.                                         while(k--);
  89.                                         rGPADAT1 |= 0x100;
  90.                                         k=7;
  91.                                         while(k--);
  92.                                         rGPADAT0 |= 0x100;
  93.                                         k=10;
  94.                                         while(k--);
  95.                                         rGPADAT0 |= 0x7ff;
  96.                                 //=============
  97.                                 for(i=0;i<16;i++)
  98.                                 {
  99.                                  rGPADAT1 |= 0x400;
  100.                                        
  101.                                  rGPADAT1 |=tt[i];
  102.                                         k=4;
  103.                                         while(k--);
  104.                                         rGPADAT1 |= 0x100;
  105.                                         k=7;
  106.                                         while(k--);
  107.                                         rGPADAT0 |= 0x100;
  108.                                         k=10;
  109.                                         while(k--);
  110.                                         rGPADAT0 |= 0x7ff;
  111.                                 }
  112.                         }
  113. }
復制代碼






歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美精品被 | 国产精品a一区二区三区网址 | 日韩在线播放视频 | 九九亚洲 | 日本欧美视频 | 亚洲精品乱码久久久久久蜜桃91 | 成人免费看电影 | 在线国产视频观看 | 欧美一区不卡 | 中文字幕视频在线观看 | 午夜一区二区三区在线观看 | 开操网 | www.成人.com| 中文字幕综合 | 久久久久成人精品亚洲国产 | 久久免费看 | 久久精品国产久精国产 | 久久久久久久久国产精品 | 国产日韩欧美 | 日本精品久久久一区二区三区 | 国产精彩视频在线观看 | 91在线视频播放 | 欧产日产国产精品99 | 黄色高清视频 | h视频免费在线观看 | 国产精品久久久久久一区二区三区 | 中文字幕在线观看 | 99国产精品久久久 | 久久婷婷国产麻豆91 | 9久9久9久女女女九九九一九 | 欧洲精品码一区二区三区免费看 | www.久久久.com | 亚洲一区二区在线 | 免费在线成人 | 国产福利91精品一区二区三区 | 免费久久精品 | 久久精品国产亚洲一区二区 | 国产在线观看 | 久久69精品久久久久久久电影好 | 亚洲永久精品国产 | 国产激情一区二区三区 |