欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4274|回復(fù): 8
收起左側(cè)

關(guān)于單片機(jī)匯編語言LCD12864初始化的問題

[復(fù)制鏈接]
ID:558772 發(fā)表于 2019-6-14 00:40 | 顯示全部樓層 |閱讀模式
100黑幣
最近在做設(shè)計,要求用匯編,就模仿網(wǎng)上的代碼。但是初始化LCD12864的時候一直在檢測忙中循環(huán)。   
RS BIT P2.0
     RS BIT P2.0
    RW BIT P2.1
    E  BIT P2.2
    PSB BIT P2.3
    RST BIT P2.5
    LCD EQU P1
        
    ORG 0000H
    SJMP MAIN
    ORG 0060H
        MAIN:;CLR RS
             ;CLR RW
             ;CLR RST
             ACALL DELAY5MS
             CLR  RST
             ACALL DELAY5MS
             SETB RST
             ACALL INIT_LCD
        LOOP:ACALL DISP
             ACALL DELAY1S
             AJMP LOOP

    INIT_LCD:MOV A,#30H   ;設(shè)定基本指令集
             ACALL WR_COM   ;調(diào)用寫指令
             ACALL DELAY50US
             MOV A,#30H   ;再次設(shè)定基本指令集
             ACALL WR_COM   ;調(diào)用寫指令
             ACALL DELAY50US
             MOV A,#0CH   ;開顯示,關(guān)光標(biāo),不顯示
             ACALL WR_COM   ;調(diào)用寫指令
             ACALL DELAY50US
             MOV A,#01H   ;清屏
             ACALL WR_COM   ;調(diào)用寫指令
             ACALL DELAY50US
             MOV A,#06H   ;指定在資料寫入或讀取時,光標(biāo)的移動方向
             ACALL WR_COM   ;調(diào)用寫指令
             ACALL DELAY50US
             RET
            
        DISP:MOV A,#80H   ;將首地址送入12864
             ACALL WR_COM   ;調(diào)用寫命令
             ACALL DELAY5MS
             MOV A,#'A'   ;傳送數(shù)據(jù)給LCD
             ACALL WR_DATA  ;顯示'A'
             ACALL DELAY5MS
             RET
        
      WR_COM:ACALL CHECK_BF
             CLR RS         
             CLR RW
             SETB E
             MOV LCD,A
             NOP
             NOP
             CLR E
             RET
            
     WR_DATA:ACALL CHECK_BF
             SETB RS
             CLR RW
             SETB E
             MOV LCD,A
             NOP
             NOP
             CLR E
             RET
            
    CHECK_BF:MOV LCD,#0FFH
             SETB RS
             CLR RW
             SETB E
             MOV A,LCD
             JB ACC.7,CHECK_BF
             CLR E
             RET
            
         
     DELAY1S:MOV R5,#100
          D1:MOV R6,#100
          D2:MOV R7,#50
             DJNZ R7,$
             DJNZ R6,D2
             DJNZ R5,D1
             RET
            
   DELAY50US:NOP
             NOP
             NOP
             NOP
             NOP
             RET

    DELAY1MS:ACALL DELAY50US
             ACALL DELAY50US
             RET
            
    DELAY5MS:ACALL DELAY1MS
             ACALL DELAY1MS
             ACALL DELAY1MS
             ACALL DELAY1MS
             ACALL DELAY1MS
             RET
            
             END
希望大佬們解答一下,謝謝!!!


回復(fù)

使用道具 舉報

ID:123289 發(fā)表于 2019-6-14 08:08 | 顯示全部樓層
實戰(zhàn)還是仿真?
回復(fù)

使用道具 舉報

ID:401564 發(fā)表于 2019-6-14 08:56 | 顯示全部樓層
把延時全部換成ACALL DELAY1S,并放到12864的所有指令子程序中,這樣的話就不用每次都要調(diào)用延時了
把延時加長幾倍,12864執(zhí)行指令都是在mS級別的
P2端口要有上拉電阻
等到12864可以正常顯示了,再去修一下延時,因為1秒的延時是有點長了
回復(fù)

使用道具 舉報

ID:558772 發(fā)表于 2019-6-14 09:57 | 顯示全部樓層
yzwzfyz 發(fā)表于 2019-6-14 08:08
實戰(zhàn)還是仿真?

實戰(zhàn),不過先仿真
回復(fù)

使用道具 舉報

ID:558772 發(fā)表于 2019-6-14 10:01 | 顯示全部樓層
Y_G_G 發(fā)表于 2019-6-14 08:56
把延時全部換成ACALL DELAY1S,并放到12864的所有指令子程序中,這樣的話就不用每次都要調(diào)用延時了
把延時加 ...

好的,我去改下。不過我有個疑問就是P2口為什么也要加上拉電阻?P0口我知道原因,所以想問下....
回復(fù)

使用道具 舉報

ID:401564 發(fā)表于 2019-6-14 10:42 | 顯示全部樓層
aads635 發(fā)表于 2019-6-14 10:01
好的,我去改下。不過我有個疑問就是P2口為什么也要加上拉電阻?P0口我知道原因,所以想問下....

P2和P1都要有上拉
P2是控制12864的幾個IO
P1是數(shù)據(jù)端口
回復(fù)

使用道具 舉報

ID:558772 發(fā)表于 2019-6-14 10:58 | 顯示全部樓層
Y_G_G 發(fā)表于 2019-6-14 08:56
把延時全部換成ACALL DELAY1S,并放到12864的所有指令子程序中,這樣的話就不用每次都要調(diào)用延時了
把延時加 ...

大佬,我加了延時之后沒有顯示'a',倒是顯示了255,百度搜不到原因,想問下哪里出錯了
回復(fù)

使用道具 舉報

ID:123289 發(fā)表于 2019-6-14 13:08 | 顯示全部樓層
仿真:由于沒有屏,所以屏不會給出狀態(tài)指示,測試屏,屏不回,死等。
回復(fù)

使用道具 舉報

ID:401564 發(fā)表于 2019-6-14 17:23 | 顯示全部樓層
aads635 發(fā)表于 2019-6-14 10:58
大佬,我加了延時之后沒有顯示'a',倒是顯示了255,百度搜不到原因,想問下哪里出錯了

AJMP LOOP改成 JMP $   讓12864只顯示一次,你再跳轉(zhuǎn)去的話,12864的顯示地址是會自動加1的
MOV A,#'A'改成MOV A,#65 看一下是不是A
能顯示就表示:輸入指令和查詢BF位的子程序是對的了
對于匯編,只能是這樣一步一步的來
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表