![]() |
|
Tài trợ cho PIC Vietnam |
PIC Việt Nam - Chuyên nghiệp Chúng ta sẽ thảo luận ở đây nhưng vấn đề về phương pháp nghiên cứu, cách làm việc và tổ chức công việc... |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#4 | |
Làm quen với PIC
Tham gia ngày: Oct 2005
Nơi Cư Ngụ: Hcm
Bài gửi: 160
: |
Trích:
Đầu tiên của chương trình , ta phải set lcd , bằng các dòng sau đây : Code:
LOW DC ' TRUYEN LENH LCD 3310 LcdData= $21: GOSUB LCD_ByteOut ' CODE %00100001 -> PD=0:CHIP ACTIVE ; V=0:HORIZONTAL ; H=1:LENH LCD MO RONG LcdData= $C8: GOSUB LCD_ByteOut ' CODE %11001000 SET LCD Vop (CONTRAST) LcdData= $06: GOSUB LCD_ByteOut ' CODE %00000110 SET TEMP COEFFICENT = 2 LcdData= $13: GOSUB LCD_ByteOut ' CODE %00010011 LCD BIAS MODE LcdData= $20: GOSUB LCD_ByteOut ' CODE %00100000 -> PD=0:CHIP ACTIVE ; V=0:HORIZONTAL ; H=0:LENH LCD CO BAN LcdData= $0c: GOSUB LCD_ByteOut ' CODE %00001100 LCD IN NORMAL MODE - NEN TRANG CHU DEN . Ta truyền dữ liệu chứa trong biến LcdData ra màn hình . 2 chân DTA và CLK là 2 chân giao tiếp với lcd . Bạn chú ý lúc này chân DC = 0 tức là ta đang truyền lệnh nhé . Code:
LCD_ByteOut: SHIFTOUT DTA,CLK,1,[LcdData] RETURN chương trình con như sau : chân DC được kéo lên mức 1 tức là truyền dữ liệu . Code:
XOA_GLCD : PosX=0:PosY=0:GOSUB LCD_GotoXY ' DEN VI TRI HANG = 0 - COT BANG 0 HIGH DC ' TRUYEN DU LIEU FOR Chr=1 TO 252 LcdData=0:GOSUB LCD_ByteOut LcdData=0:GOSUB LCD_ByteOut NEXT Chr RETURN code cho chương trình LCD_GotoXY như sau : DC = 0 là để truyền lệnh . PosY được "or" với %01000000 , truyền lệnh ra lcd PosX được "or" với %10000000 , truyền lệnh ra lcd tại sao y cần "or" với %01000000 và x cần "or" %10000000 thì bạn xem lại datasheet của lcd nhé . Code:
LCD_GotoXY: LOW DC LcdData=%01000000 | PosY :GOSUB LCD_ByteOut LcdData=%10000000 | PosX :GOSUB LCD_ByteOut RETURN +Sau khi vẽ xong màn hình bằng chương trình fastLCD , dịch ra ta sẽ được 1 tập các giá trị . +Ta dùng 1 vòng lặp for để lấy từng giá trị và cho hiển thị ra lcd . Câu lệnh LOOKUP2 I là để lấy giá trị theo vị trí I . Vì I là biến chạy từ 0 cho đến 504 cho nên ta sẽ lấy được tuần tự các giá trị có trong tập để hiển trị ra lcd . Code:
MAIN_CLOCK_TEMP_SCREEN : PosX=0:PosY=0:GOSUB LCD_GotoXY ' DEN VI TRI HANG - COT BANG FOR I = 0 TO 504 ' VE MAN HINH LOOKUP2 I,[$FF,_$0F,_$47,_$43,_$C1,_$41,_$41,_$01,_$C1,_$01,_$01,_$01,_$C1,_$01,_$A1,_$51,_ $51,_$51,_$A1,_$09,_$C5,_$03,_$01,_$01,_$C1,_$01,_$C1,_$21,_$11,_$11,_$11,_$21,_ $41,_$41,_$21,_$11,_$11,_$11,_$21,_$C1,_$01,_$C1,_$01,_$03,_$05,_$C9,_$01,_$89,_ $51,_$51,_$51,_$89,_$01,_$C1,_$01,_$01,_$01,_$C1,_$01,_$81,_$41,_$41,_$41,_$81,_ $01,_$01,_$01,_$01,_$01,_$01,_$39,_$6D,_$45,_$45,_$45,_$45,_$45,_$45,_$45,_$45,_ $7D,_$03,_$07,_$FF,_$FF,_$00,_$00,_$00,_$1F,_$80,_$80,_$80,_$8F,_$90,_$90,_$90,_ $8F,_$80,_$9F,_$82,_$82,_$82,_$9F,_$80,_$9F,_$81,_$82,_$04,_$1F,_$00,_$01,_$02,_ $04,_$08,_$10,_$20,_$40,_$40,_$60,_$70,_$38,_$1C,_$0E,_$07,_$00,_$1F,_$02,_$02,_ $02,_$1F,_$00,_$1F,_$02,_$02,_$02,_$1F,_$00,_$1F,_$01,_$02,_$04,_$1F,_$00,_$0F,_ $10,_$12,_$12,_$1E,_$00,_$F8,_$88,_$F8,_$00,_$F8,_$88,_$F8,_$00,_$FC,_$02,_$01,_ $01,_$01,_$02,_$FC,_$20,_$20,_$00,_$FF,_$FF,_$00,_$FC,_$02,_$01,_$F8,_$F8,_$18,_ $18,_$18,_$F8,_$F8,_$00,_$00,_$F8,_$F8,_$18,_$18,_$18,_$F8,_$F8,_$00,_$00,_$61,_ $62,_$02,_$02,_$FA,_$FA,_$1A,_$1A,_$1A,_$FA,_$FA,_$02,_$02,_$FA,_$FA,_$1A,_$1A,_ $1A,_$FA,_$FA,_$02,_$02,_$62,_$62,_$02,_$02,_$C2,_$C2,_$C2,_$C2,_$C2,_$02,_$02,_ $C2,_$C2,_$C2,_$C2,_$C2,_$02,_$04,_$F8,_$00,_$E4,_$24,_$E4,_$04,_$E4,_$24,_$E4,_ $04,_$FF,_$00,_$00,_$00,_$00,_$00,_$FF,_$80,_$80,_$00,_$FF,_$FF,_$00,_$1F,_$20,_ $40,_$9F,_$9F,_$98,_$98,_$98,_$9F,_$9F,_$80,_$80,_$9F,_$9F,_$98,_$98,_$98,_$9F,_ $9F,_$80,_$80,_$86,_$86,_$80,_$80,_$9F,_$9F,_$98,_$98,_$98,_$9F,_$9F,_$80,_$80,_ $9F,_$9F,_$98,_$98,_$98,_$9F,_$9F,_$80,_$80,_$86,_$86,_$80,_$80,_$9F,_$9F,_$98,_ $9F,_$9F,_$80,_$80,_$9F,_$9F,_$98,_$9F,_$9F,_$80,_$40,_$3F,_$00,_$13,_$12,_$13,_ $10,_$13,_$12,_$13,_$10,_$FF,_$00,_$00,_$00,_$00,_$00,_$FF,_$00,_$00,_$00,_$FF,_ $FF,_$00,_$00,_$00,_$FF,_$00,_$00,_$00,_$FC,_$FC,_$0C,_$0C,_$0C,_$0C,_$FC,_$FC,_ $00,_$00,_$FC,_$FC,_$0C,_$0C,_$0C,_$0C,_$FC,_$FC,_$00,_$00,_$00,_$00,_$00,_$00,_ $00,_$FC,_$FC,_$0C,_$0C,_$0C,_$0C,_$FC,_$FC,_$00,_$00,_$00,_$30,_$48,_$48,_$30,_ $00,_$00,_$F0,_$F8,_$1C,_$0C,_$0C,_$0C,_$1C,_$18,_$00,_$00,_$00,_$FF,_$FF,_$00,_ $00,_$5F,_$51,_$5F,_$40,_$5F,_$51,_$5F,_$C0,_$7F,_$80,_$80,_$80,_$80,_$80,_$7F,_ $82,_$02,_$00,_$FF,_$FF,_$F0,_$E0,_$C0,_$9F,_$A0,_$C0,_$80,_$9F,_$9F,_$98,_$98,_ $98,_$98,_$9F,_$9F,_$80,_$80,_$9F,_$9F,_$98,_$98,_$98,_$98,_$9F,_$9F,_$80,_$80,_ $9C,_$9C,_$9C,_$80,_$80,_$9F,_$9F,_$98,_$98,_$98,_$98,_$9F,_$9F,_$80,_$80,_$80,_ $80,_$80,_$80,_$80,_$80,_$80,_$87,_$8F,_$9C,_$98,_$98,_$98,_$9C,_$8C,_$80,_$C0,_ $E0,_$BF,_$9F,_$80,_$80,_$80,_$80,_$80,_$80,_$80,_$80,_$8F,_$90,_$A7,_$AF,_$AF,_ $AF,_$AF,_$AF,_$A7,_$D0,_$EF,_$F0,_$FF],LCDDATA : HIGH DC : GOSUB LCD_ByteOut NEXT I RETURN thay đổi nội dung bởi: hatuan296, 25-07-2012 lúc 11:09 PM. |
|
![]() |
![]() |
|
|