LCD 設定(命令模式字的低8位數據) BIAS EQU 52H 1/3 偏壓4背極 RC256 EQU 30H 系統時鐘選用片 內RC振蕩器 SYSEN EQU 02H 打開系統時鐘 LCDON EQU 06H 打開偏壓發生器 SYSDIS EQU 00H 關閉系統時鐘和 偏壓發生器 X32K EQU 28H 系統時鐘選擇為 片外晶振 ToneOn EQU 12H 打開音頻輸出 ToneOff EQU 10H 關閉音頻輸出 Tone4k EQU 80H 音頻輸出頻率為 4K Tone2k EQU 0C0H 音頻輸出頻率為2K TIMEREN EQU 0CH 時基輸出使能 TIMERDIS EQU 08H 時基輸出禁能 CLRtime EQU 18H 清零進基發生器 WDTEN EQU 0EH 使能WDT溢出標誌 輸出 WDTDIS EQU 0AH 禁止WDT溢出標誌 輸出 CLRWDT EQU 1CH 清零WDT IRQEN EQU 10H 使能IRQ輸出 IRQDIS EQU 00H 禁止IRQ輸出 FR1 EQU 40H 設置時基輸出 1HZ,WDT溢出時間4s ;HT1621B控制位(液晶模塊介面定義,用戶根據自已的需要更改) CS BIT P0.1 HT1621BƬѡ WRITE BIT P0.3 HT1621B寫控制位 SDATA BIT P0.5 HT1621B數據線 ;顯示緩衝區(用戶根據自已的需要更改變數的存儲地址) DISBUFFER EQU 34H 顯示緩衝區地址34H--43H(16 位元組) ;臨時變數定義(不會破壞這些資源,只是臨時佔用,用戶不要自行修改) lcdbitcnt EQU 03H 發送位計數器 lcdcommand EQU 02H 發送命令緩衝器 lcdadr EQU 01H lcd顯存指針 LCDBYTECNT EQU 04H 發送位元組數記數器 ;=============================================================================== ==== ; 向HT1621B發送命令和數據模塊 ;軟體包面向用戶的界面程序: ; Send1621Com 發送命令子程序,命令ID為100+0型式 + 命令字 ; Send1621ComB 發送命令子程序(B),命令ID為100+1型式 + 命令字 ; HT1621DOWN 設置1621進行掉電工作方式 ; INTI1621 初化1621,並打開LCD顯示,用戶可更改相應初化字,進行1621的不同設 置。 ; BrushLcd 刷新LCD顯示,即將顯示緩衝區的16位元組數據發送到1621,從SEG0 段開始。 ; DISDPTR 將DPTR指向的程序存儲器的數據(連續16位元組)發送到1621顯示。 ;這此子程序都會自動保護所需的臨時單元,所以佔用較多的堆棧,用戶要注意這一點。 ;=============================================================================== ==== ;發送命令程序 ;名稱: Send1621Com ;描述: 向HT1621B發送控制命令,命令內容在LCDCOMMAND中。 ;所發的命令類型為ID=100+0+命令,佔用堆棧。 Send1621Com: PUSH ACC PUSH LCDBITCNT ACALL INTI 起動1621(即初 化) MOV LCDBITCNT,#04h MOV A,#80h 發送ID值100+0 ACALL sendb0 MOV A,LCDCOMMAND 取得命令字 ACALL send1621byte 發送到1621 SETB write SETB cs SETB sdata POP LCDBITCNT POP ACC RET ;發送命令程序(B) ;名稱: Send1621ComB ;描述: 向HT1621B發送控制命令,命令內容在LCDCOMMAND中。 ;所發的命令類型為ID=100+1+命令,佔用堆棧。 Send1621ComB: PUSH ACC PUSH LCDBITCNT ACALL INTI 起動1621(即初 化) MOV LCDBITCNT,#04h MOV A,#90h 發送ID值100+1 ACALL sendb0 MOV A,LCDCOMMAND ACALL send1621byte SETB write 將SPI介面均置為 高電平 SETB cs SETB sdata POP LCDBITCNT POP ACC RET ;HT1621B掉電模式 ;使1621進行掉電模式,以降低功耗 HT1621DOWN: PUSH LCDCOMMAND MOV LCDCOMMAND,#SYSDIS 關閉系統振蕩器即進行掉電 方式 ACALL Send1621Com POP LCDCOMMAND RET ;1621設置 ;描述:進行1621的基本設置,偏壓、背極、系統工作方式 ;用戶添加初化內容或更改設置內容。 INTI1621: PUSH LCDCOMMAND MOV LCDCommand,#bias ACALL Send1621Com 工作於1/3偏壓, 4背極 MOV LCDCommand,#X32K ACALL Send1621Com 系統時鐘選擇為 外部時鐘 MOV LCDCommand,#wdtdis ACALL Send1621Com 關閉看門狗 MOV LCDCommand,#timerdis ACALL Send1621Com MOV LCDCommand,#sysen 啟動1621系統振蕩器 ACALL Send1621Com |