|
Proteus仿真320x240TFT彩屏的原理圖如下:
0.png (36.05 KB, 下載次數(shù): 103)
下載附件
2016-9-4 17:50 上傳
下面是Proteus仿真320x240TFT彩屏的匯編源代碼:
- ;Proteus7.5SP3, LCD driver: ---, LCD: 320x240 65K color, 8bit接口
- ;R-G-B(565)順序(本仿真TFT先發(fā)送低位后高位).
- ;Modified by HeFanghua, 2012-4-20
- ;實現(xiàn)功能: 讀取AT25F4096中的BIN數(shù)據(jù)文件并在TFT上顯示, 刷屏
- ;仿真測試用單片機: AT89C55@12MHz or above.
- ;液晶坐標軸方向(以排線朝下為基本方向放置屏幕):
- ;O 319
- ;┼────→ horizontal
- ;│
- ;│
- ;│239
- ;↓vertical
- ;-----
- ;大圖片文件數(shù)據(jù)的轉(zhuǎn)換:
- ;asm格式數(shù)據(jù)表由文件分割精靈拆開成4個,每個分別用WAVE匯編成BIN,用批處理COPY命令合并,UltraEdit以HEX方式打開并刪掉末尾多余的1字節(jié)。
- ;---引腳定義---
- TFT_RS equ P3.5 ;數(shù)據(jù)/命令切換
- TFT_RST equ P1.2 ;復位
- TFT_WR equ P3.6 ;寫控制
- TFT_CS equ P3.7 ;片選
- TFT_Data EQU P2 ;8位模式數(shù)據(jù)口
- AT25F_SCK bit p1.7 ;AT25F4096(512KB SPI ROM)
- AT25F_SI bit p1.6 ;MOSI
- AT25F_SO bit p1.5 ;MISO
- AT25F_CS bit p1.4
- ;AT25F_WP bit p1.2
- ;AT25F_HOLD bit p1.3
- ;---
- ;---寄存器定義---
- I equ 3fh
- J equ 40h
- K equ 41h
- VH equ 42h
- VL equ 43h
- colorH equ 44h
- colorL equ 45h
- ;-----
- ;---宏定義---
- ;---
- ORG 0
- LJMP MAIN
- ORG 60H
- ;-----
- main:
- mov sp,#7fh
- setb TFT_CS
- call Address_set ;TFT初始化
- call AT25F_SPIinit
- ;call AT25F_SPI_Write
- call AT25F_SPI_Read
- call delay1s
- again:
- mov colorH,#0f8h
- mov colorL,#0
- call Paint ;紅色
-
- mov colorH,#7h
- mov colorL,#0e0h
- call Paint ;綠色
- mov colorH,#0
- mov colorL,#1fh
- call Paint ;藍色
- mov colorH,#0ffh
- mov colorL,#0e0h
- call Paint ;黃色
- mov colorH,#0f8h
- mov colorL,#1fh
- call Paint ;紫色
- mov colorH,#07h
- mov colorL,#0ffh
- call Paint ;靛色
- mov colorH,#0ffh
- mov colorL,#0ffh
- call Paint ;白色
- mov colorH,#0
- mov colorL,#0
- call paint ;TFT清屏(黑色)
- jmp again
- ;================
- AT25F_SPIinit: ;初始化25T. SPI模式0(CPOL極性=0, CPHA相位=0)
- setb AT25F_CS
- clr AT25F_SCK ;必須要
- ; setb AT25F_WP
- ; setb AT25F_HOLD
- setb AT25F_SO
- setb AT25F_SI
- ret
- AT25F_SPI_Write: ;測試用, 寫1字節(jié)
- ; clr AT25F_CS
- ; mov a,#00000010b
- ; call SPI_W1B
- ; mov a,#0 ;寫地址, 3字節(jié)
- ; call SPI_W1B
- ; mov a,#0
- ; call SPI_W1B
- ; mov a,#0
- ; call SPI_W1B
- ; mov r3,#256
- ; AT25F_SPI_Write_1:
- ; mov a,r3;#5ah
- ; call SPI_W1B
- ; djnz r3,AT25F_SPI_Write_1
- ; mov a,#5ah
- ; call SPI_W1B
- ; setb AT25F_CS
- ret
- AT25F_SPI_Read: ;連續(xù)讀25T存儲器
- clr AT25F_CS
- mov a,#00000011b ;Read Data from Memory Array
- call SPI_W1B
- mov a,#0 ;讀地址, 3字節(jié)
- call SPI_W1B
- mov a,#0
- call SPI_W1B
- mov a,#0
- call SPI_W1B
- ;320x240次=2x160x240
- mov R7,#2
- mov R6,#160
- mov R5,#240
- clr TFT_CS ;打開片選使能
- SETB TFT_RS ;發(fā)送數(shù)據(jù)
- AT25F_SPI_Read_1:
- call SPI_R1B
- mov VH,a ;暫存高8位
- call SPI_R1B
- mov TFT_Data,a
- clr tft_wr
- setb tft_cs
- clr tft_cs
- setb tft_wr
- mov TFT_Data,VH
- clr tft_wr
- setb tft_cs
- clr tft_cs
- setb tft_wr
- djnz R5,AT25F_SPI_Read_1
- mov R5,#240
- djnz R6,AT25F_SPI_Read_1
- mov R6,#160
- djnz R7,AT25F_SPI_Read_1
- setb AT25F_CS
- ret
-
- SPI_W1B: ;寫1字節(jié)
- mov r4,#8
- clr AT25F_SCK
- SPI_W1B_1:
- rlc a
- mov AT25F_SI,c
- clr AT25F_SCK ;上升沿
- setb AT25F_SCK
- djnz r4,SPI_W1B_1
- ret
- SPI_R1B: ;讀1字節(jié)
- setb AT25F_SI
- setb AT25F_SO
- mov r4,#8
- SPI_R1B_1:
- setb AT25F_SCK ;下降沿
- clr AT25F_SCK
- mov c,AT25F_SO
- rlc a
- djnz r4,SPI_R1B_1
- clr AT25F_SCK
- ret
- TFT_Write_Bus: ;發(fā)送數(shù)據(jù)給TFT, 輸入VH, VL. 先發(fā)低位后高位
- mov TFT_Data,VL
- clr tft_wr
- setb tft_cs
- clr tft_cs
- setb tft_wr
- mov TFT_Data,VH
- clr tft_wr
- setb tft_cs
- clr tft_cs
- setb tft_wr
- RET
- Address_set:
- mov vh,#0 ;x起始地址
- mov vl,#0
- CLR TFT_RS
- clr TFT_CS
- call TFT_Write_Bus
- mov vh,#0 ;y起始地址
- mov vl,#0
- call TFT_Write_Bus
- ret
- Paint: ;全屏填充顏色,輸入colorH,colorL
- clr TFT_CS ;打開片選使能
- call Address_set ;proteus手動回左上角
- SETB TFT_RS ;發(fā)送數(shù)據(jù)
- MOV VH,colorH
- MOV VL,colorL
- mov R7,#160
- mov R6,#240
-
- Paint_1:
- call TFT_Write_Bus ;發(fā)送2字節(jié)
- call TFT_Write_Bus ;發(fā)送2字節(jié)
- djnz R6,Paint_1
- mov R6,#240
- djnz R7,Paint_1
- setb TFT_CS ;關閉片選使能
- ret
- delay1s:
- MOV I,#0ABH
- delay1s_2:
- MOV J,#02DH
- delay1s_1:
- MOV K,#0B0H
- DJNZ K,$
- DJNZ J,delay1s_1
- DJNZ I,delay1s_2
- RET
- end
復制代碼
0.png (73.32 KB, 下載次數(shù): 94)
下載附件
2016-9-4 17:50 上傳
單片機做的Proteus仿真320x240TFT彩屏的仿真工程文件及所有資料其他資料下載:
51單片機Proteus仿真320x240 TFT彩屏.rar
(144.03 KB, 下載次數(shù): 150)
2016-9-4 17:53 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|
|