LCD1602自定義字型檔怎麼編寫

2021-08-10 22:09:00 字數 2387 閱讀 8671

1樓:網路小度

1602的資料,關於自定義字元的。試圖寫了一下,也修改了幾次,成功了,下面來詳細的再分析一下。

rs  bit  p2.7(rs資料命令選擇端,高電平為資料,低電平為命令)

rw  bit  p2.6(rw讀寫選擇端,高電平為讀,低電平為寫)

e  bit  p2.5(使能端)

org 0000h(程式起始地址)

main:

mov r0,#8(r0中存入將要寫如多少個資料,我們要寫入8個資料所以r0中是8)

mov 30h,#00 (30h清零,在下面的程式中作為資料指標使用)

mov p3,#01h(01h-清屏顯示指令)

acall enable(呼叫命令寫入子程式)

mov p3,#38h(38h-設定1602顯示模式)

acall enable(呼叫命令寫入子程式)

mov p3,#0ch(0ch-開顯示,不顯示游標,不閃爍)

acall enable(呼叫命令寫入子程式)

mov p3,#06h(06h-地址指標加一命令)

acall enable(呼叫命令寫入子程式)

mov p3,#40h(40h-自定義第一個字元顯示命令,cgram的地址是40h-07h)

acall enable(呼叫命令寫入子程式)

loop: mov dptr,#tab (將**中的資料送到dptr中)

mov a,30h(將30h中的數送到累加器a中)

movc a,@a+dptr(查表)

mov p3,a(將a中的資料送到p3口做輸出)

acall write(呼叫資料寫入子程式)

inc  30h (30h中的資料加一)

djnz r0,loop(r0中送入的是8,減8次不為零跳轉到loop處執行程式,是則往下繼續執行)

mov p3,#80h(規定顯示的位置)

acall enable(呼叫命令寫入子程式)

mov p3,#00h(定義顯示第一個自定義的字元,一共可以顯示8個,為00h-07h)

acall write(呼叫資料寫入子程式)

jmp  $

enable:{命令寫入子程式}

clr  rs(rs資料命令選擇端,低電平為命令)

clr  rw(rw讀寫選擇端,地點平為寫)

clr  e(e為使能端,使能端電平跳變,開始寫命令)

acall delay1(延時,去忙)

setb e(使能端電平變化,完成命令的寫入)

ret(程式返回)

write: {資料寫入子程式}

setb rs(rs資料命令選擇端,高電平為資料)

clr  rw(rw讀寫選擇端,低電平為寫)

clr  e(e為使能端,使能端電平跳變,開始寫命令)

lcall delay1(延時,去忙)

setb e(使能端電平變化,完成命令的寫入)

ret(程式返回)

delay1: mov r7,#255{延時程式}

d1:  mov r6,#255

d2:  djnz r6,d2

djnz r7,d1

rettab: db  0fh,09h,0fh,09h,0fh,09h,11h,00h

end執行效果圖:

2樓:迷途夢

定義一陣列,裡面放有你要寫入的資料。每個字元有8行,也就是自定義的一個字元是8個位元組。因為每個字元是5列,所以寫入位元組的前三個我們一般為0。

向lcd1602中寫命令;write_com(0x40+x); //表示想cgram的x地址中寫入資料;

然後寫資料:for(i=0;i<64;i++)write_data(table[x]);//寫入陣列中的資料;

然後就可以顯示了!~寫顯示地址,寫顯示字元。write_com(0x80+x);

write_data(i);//顯示你所定義的第i個字元。

lcd12864帶字型檔的可不可以像不帶字型檔的一樣自定義漢字?

3樓:匿名使用者

所謂帶字型檔,其實就是指他裡面有一個儲存空間,專門存放了8千多個漢字對應的模

你使用帶字型檔lcd時,直接寫入字串,lcd能在這個儲存空間裡面找到你對應的字串的模並在lcd上現實出來

而不帶字型檔的lcd,則需要你在微控制器的儲存空間裡儲存你需要現實漢字的模

lcd1602是怎麼顯示的 舉個例子 比如顯示「cm」 是如何呼叫字型檔 如何顯示。。。等等 這個工作流程幫我講解

4樓:伍晏然

lcd driver ic 本身內部是帶字型檔的 一般情況下 mcu 給 lcd ic 是 字元的 asiic碼, 而ic 自動去呼叫相應的 字元顯示在 lcd上 。

mysql自定義函式怎麼寫

mysql create function helloworld4 returns varchar 20 begin return hello world e69da5e6ba9062616964757a686964616f31333365643538 end query ok,0 rows aff...

matlab怎麼建立自定義函式,matlab 如何建立 呼叫自定義函式?

matlab中定義函式的方式有以下幾種 1 函式檔案 呼叫函式檔案 定義多個m檔案。呼叫函式檔案 myfile.m clear clcfor x 1 10 y mylfg x end 自定義函式檔案 mylfg.m function y mylfg x 注意 函式名 mylfg 必須與檔名 mylf...

excel自定義填充序列怎麼用

假設要在一列的單元格中填充1至1000的序列 方法一在單元格寫入1 回車後 點住該單元格右下角的小黑點,游標成黑十字形狀時 點住滑鼠左鍵下拉 選中選單中的 以序列方式填充 方法二在單元格寫入1 回車後 點住該單元格右下角的小黑點,游標成黑十字形狀時 點住滑鼠右鍵下拉 選中選單中的 以序列方式填充 方...