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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1189|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

這個單片機匯編程序如何改動顯示字符串?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:708783 發(fā)表于 2020-4-8 08:28 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
; 初始化顯示
; 詳見指令集
CLR P1.3                  ; 清零寄存器選擇RS1為數(shù)據(jù),0為命令/狀態(tài))表示指令正在發(fā)送到模塊
; 功能設(shè)置
CLR P1.7                 ; |
CLR P1.6                 ; |
SETB P1.5         ; |
CLR P1.4                 ; | 高半字節(jié)P1.4-P1.7DL=18位數(shù)據(jù)接口;DL=04位數(shù)據(jù)

SETB P1.2         ; |
CLR P1.2                 ; | 使能信號E的下降沿

CALL delay         ; 等待忙標志BF清零
        ; 首次發(fā)送的函數(shù)集-告訴模塊進入4位模式
; 為什么函數(shù)集為高半字節(jié)發(fā)送兩次?見HD447804位操作
SETB P1.2         ; |
CLR P1.2                 ; | 使能信號E的下降沿
        ; 第二次發(fā)送相同的函數(shù)集高半字節(jié)P1.4-P1.7

SETB P1.7         ; 低半字節(jié)(N=1,2行顯示;N=01行顯示)

SETB P1.2         ; |
CLR P1.2                 ; | 使能信號E的下降沿
        ; 發(fā)送低半字節(jié)函數(shù)集

CALL delay         ; 等待忙標志BF清零

; 設(shè)置輸入方式(光標和顯示模式)
; 設(shè)置為不移動的地址指針加1
CLR P1.7                 ; |
CLR P1.6                 ; |
CLR P1.5                 ; |
CLR P1.4                 ; | 高半字節(jié)

SETB P1.2         ; |
CLR P1.2                 ; | 使能信號E的下降沿

SETB P1.6         ; |
SETB P1.5         ; | 低半字節(jié)

SETB P1.2         ; |
CLR P1.2                 ; | 使能信號E的下降沿

CALL delay         ; 等待忙標志BF清零

; 設(shè)置顯示開/關(guān)及光標閃爍
; 顯示器打開,光標打開,閃爍關(guān)閉
CLR P1.7                 ; |
CLR P1.6                 ; |
CLR P1.5                 ; |
CLR P1.4                  ; | 高半字節(jié)

SETB P1.2         ; |
CLR P1.2                 ; | 使能信號E的下降沿

SETB P1.7         ; |
SETB P1.6         ; |
SETB P1.5         ; | 低半字節(jié)

SETB P1.2         ; |
CLR P1.2                 ; | 使能信號E的下降沿

CALL delay          ; 等待忙標志BF清零

; 將歐元符號放入RAM
MOV 30H, #110B ;   **
MOV 31H, #1001B ;  *  *
MOV 32H, #11110B ; ****
MOV 33H, #1000B ;  *
MOV 34H, #11110B ; ****
MOV 35H, #1001B ;  *  *
MOV 36H, #110B ;   **
MOV 37H, #0 ; | 數(shù)據(jù)結(jié)束(在本例中,0可用于指示數(shù)據(jù)結(jié)束,因為沒有行本身包含0

; 設(shè)置CG RAM地址
; 設(shè)置為字符4,行0(地址100000 B=20H
CLR P1.7                 ; |
SETB P1.6         ; |
SETB P1.5         ; |
CLR P1.4                 ; | 高半字節(jié)

SETB P1.2          ; |
CLR P1.2                 ; | 使能信號E的下降沿

CLR P1.6                 ; |
CLR P1.5                 ; | 低半字節(jié)

SETB P1.2         ; |
CLR P1.2                 ; | 使能信號E的下降沿

CALL delay         ; 等待忙標志BF清零

; 將歐元符號發(fā)送到CGRAM
SETB P1.3 ; 置位寄存器選擇RS-表示數(shù)據(jù)正在發(fā)送到模塊
MOV R1, #30H ; 指向第一行,在8051 RAM位置30H
loop:
MOV A, @R1 ; R1指向單元中的數(shù)據(jù)傳送至A
JZ endEuroEntry ; 如果A0,則已到達數(shù)據(jù)結(jié)尾-跳出循環(huán)
CALL sendCharacter ; 將當前行發(fā)送到LCD模塊
INC R1 ; 指向下一行
JMP loop         ; 跳回loop

endEuroEntry:

; 設(shè)置DDRAM地址
; 設(shè)置為0
CLR P1.3                 ; 清零寄存器選擇RS—表示指令正在發(fā)送到模塊

SETB P1.7         ; |
CLR P1.6                 ; |
CLR P1.5                 ; |
CLR P1.4                  ; | 高半字節(jié)

SETB P1.2          ; |
CLR P1.2                 ; | 使能信號E的下降沿

CLR P1.7                 ; | 低半字節(jié)

SETB P1.2          ; |
CLR P1.2                 ; | 使能信號E的下降沿

CALL delay         ; 等待忙標志BF清零

; 顯示歐元符號(通過發(fā)送4DDRAM
SETB P1.3 ; 置位寄存器選擇RS-表示數(shù)據(jù)正在發(fā)送到模塊
MOV A, #01010111B
CALL sendCharacter
MOV A, #01110101B
CALL sendCharacter
MOV A, #0100100B
CALL sendCharacter
MOV A, #01100001B
CALL sendCharacter
MOV A, #01101110B
CALL sendCharacter
MOV A, #00101100B
CALL sendCharacter
MOV A, #01000011B
CALL sendCharacter
MOV A, #01101000B
CALL sendCharacter
MOV A, #01101001B
CALL sendCharacter
MOV A, #01101110B
CALL sendCharacter
MOV A, #01100001B
CALL sendCharacter
MOV A, #00100001
CALL sendCharacter

JMP $          ; 程序結(jié)束-不執(zhí)行任何操作

; 發(fā)送字符子程序

sendCharacter:
MOV C, ACC.7         ; |
MOV P1.7, C ; |
MOV C, ACC.6         ; |
MOV P1.6, C ; |
MOV C, ACC.5         ; |
MOV P1.5, C ; |
MOV C, ACC.4         ; |
MOV P1.4, C ; | 高半字節(jié)

SETB P1.2 ; |
CLR P1.2         ; | 使能信號E的下降沿

MOV C, ACC.3         ; |
MOV P1.7, C ; |
MOV C, ACC.2         ; |
MOV P1.6, C ; |
MOV C, ACC.1         ; |
MOV P1.5, C ; |
MOV C, ACC.0         ; |
MOV P1.4, C ; | 低半字節(jié)

SETB P1.2 ; |
CLR P1.2         ; | 使能信號E的下降沿

CALL delay ; 等待忙標志BF清零

delay:
MOV R0, #50
DJNZ R0, $
RET
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美三级在线 | 国产精品久久精品 | 不卡一区 | 欧美一区二区三区久久精品 | 久久精品国产一区二区 | www.日本国产| 精品国产一区二区国模嫣然 | 国产天天操 | 久久久www成人免费精品张筱雨 | 欧洲免费毛片 | avtt国产 | 一级免费视频 | 亚洲午夜网| 国产精品福利一区二区三区 | 四虎首页| 国产精品一区一区三区 | 欧美色性 | 日韩欧美在线免费观看视频 | 在线观看日韩精品视频 | 久久久www成人免费无遮挡大片 | 欧美精品在线一区 | 中文字幕av第一页 | 91亚洲国产成人精品一区二三 | 在线免费观看a级片 | 久久中文一区二区 | 国产黄a一级 | 91看片在线观看 | 国产精品久久久久一区二区三区 | 成人午夜av | 91精品国产综合久久久动漫日韩 | 亚洲国产欧美国产综合一区 | 91麻豆精品国产91久久久久久久久 | 在线视频国产一区 | 日韩免费成人av | 91精品国产一区二区在线观看 | 6080亚洲精品一区二区 | 亚洲码欧美码一区二区三区 | 日韩久久久久 | 国产激情第一页 | 亚洲一区二区三区桃乃木香奈 | 日韩精品一区二区在线 |