glcd 64x128

13
GLCD 64x128 (Chip điu khin ST7920) 1.Hình dng, sơ đồ chân và chc năng tng chân.  Hình 12.1 GLCD 128x64 Hình 12.2 Sơ đồ chân GLCD 128x64 Chân s Tên chân Chc năng 1 - 2 VSS -VDD -C p ngun 3 V0 -Chnh độ tương phn 4 RS (Register select) CS (Chip select ) -Chn thanh ghi 0: Chn thanh ghi mã lnh 1: Chn thanh ghi d liu -Khi giao tiế  p theo chun SPI thì chân này là chân chip select 0: Không chn GLCD 1: Chn GLCD 5 R/W (Read/Write) SID (Serial Data Input) -Chn chế độ đọc hoc ghi GLCD 0: Ghi 1: Đọc -Khi giao tiế  p theo chun SPI thì chân này là chân nhn d liu ni tiế  p. 6 E (Enable) SCLK (Serial Clock ) -Nhn xung cho phép -Khi giao tiế  p theo chun SPI thì đây là chân nhn xung clock. 7-10 D0-D3 -4 bit d liu th p khi giao tiế  p theo chun 8 bit 11-14 D4-D7 -4 bit d liu cao khi giao tiế  p theo chun 8  bit -4 bit d liu khi giao tiế  p theo chun 4 bit 15 PSB -Chn chế độ điu khin 0: SPI (ni tiế  p) 1: 8 hoc 4 bit (song song) 16 NC (No Connect) B tr ng 17 RST (Reset) Reset GLCD 18 Vout Đin áp ra GLCD 19-20 BLA-BLK (Back Light Anode  Cathode) Cp đin cho led nn giúp quan sát đượ c trong bóng ti

Upload: nguyen-dinh-toan

Post on 09-Jan-2016

88 views

Category:

Documents


8 download

DESCRIPTION

glcd

TRANSCRIPT

Page 1: GLCD 64x128

7/17/2019 GLCD 64x128

http://slidepdf.com/reader/full/glcd-64x128 1/13

GLCD 64x128

(Chip điều khiển ST7920)

1.Hình dạng, sơ đồ chân và chức năng từng chân. 

Hình 12.1  GLCD 128x64 Hình 12.2 Sơ đồ chân GLCD 128x64 

Chân số  Tên chân  Chức năng 1 - 2 VSS -VDD -Cấ p nguồn

3 V0 -Chỉnh độ tương phản

4 RS (Register select)

CS (Chip select )

-Chọn thanh ghi

0: Chọn thanh ghi mã lệnh1: Chọn thanh ghi dữ liệu

-Khi giao tiế p theo chuẩn SPI thì chân nàylà chân chip select0: Không chọn GLCD1: Chọn GLCD

5 R/W (Read/Write)SID (Serial Data Input)

-Chọn chế độ đọc hoặc ghi GLCD0: Ghi

1: Đọc

-Khi giao tiế p theo chuẩn SPI thì chân nàylà chân nhận dữ liệu nối tiế p.

6 E (Enable)

SCLK (Serial Clock )

-Nhận xung cho phép 

-Khi giao tiế p theo chuẩn SPI thì đây làchân nhận xung clock.

7-10 D0-D3 -4 bit dữ liệu thấ p khi giao tiế p theo chuẩn

8 bit

11-14 D4-D7 -4 bit dữ liệu cao khi giao tiế p theo chuẩn 8

 bit

-4 bit dữ liệu khi giao tiế p theo chuẩn 4 bit

15 PSB -Chọn chế độ điều khiển

0: SPI (nối tiế p)1: 8 hoặc 4 bit (song song)

16 NC (No Connect) Bỏ tr ống

17 RST (Reset) Reset GLCD

18 Vout Điện áp ra GLCD 

19-20 BLA-BLK(Back Light Anode – Cathode) Cấp điện cho led nền giúp quan sát đượ ctrong bóng tối

Page 2: GLCD 64x128

7/17/2019 GLCD 64x128

http://slidepdf.com/reader/full/glcd-64x128 2/13

 2. Các loại vùng nhớ  của ST7920

- CGROM (Character Generation ROM) : ROM dung lượ ng 2M-bits chứa font chữ Trung

Quốc dạng 16x16.

- HCGROM (Half Height CGROM): ROM dung lượ ng 16K-bits chứa font của 168 ký tự dạng

16x8 như trong hình 12.3.

Hình 12.3 Các ký tự 16x8 trong vùng nhớ  HCGROM

- CGRAM (Character Generation RAM) : RAM kích thướ c 64x16 –bits cho phép người dùngtự tạo ký tự riêng dạng 16x16

Hình 12.4 Cách tạo ký tự trong CGRAM

Page 3: GLCD 64x128

7/17/2019 GLCD 64x128

http://slidepdf.com/reader/full/glcd-64x128 3/13

- IRAM (ICON RAM) : RAM để tạo icon 240 điểm dạng 15x16

- DDRAM (Display Data RAM): RAM lưu dữ liệu hiển thị ra màn hình 

+ Hiển thị fonts của HCGROM: ghi 2 bytes vào DDRAM để hiển thị 2 ký tự dạng 16x8,

nỗi byte là 1 ký tự. Các byte đượ c ghi phải nằm trong phạm vi 02H〜7FH

+ Hiển thị fonts của CGRAM: ghi 2 bytes vào DDRAM để hiển thị một ký tự dạng 16x16.

Chỉ được phép ghi 4 giá trị sau 0000H,0002H,0004H,0006H

+ Hiển thị fonts của CGROM: ghi 2 bytes vào DDRAM để hiển thị một ký tự. A140H〜

D75FH là mã BIG5, A1A0H〜F7FFH là mã GB.

Chú ý : Luôn ghi byte cao trước và byte thấ p sau.

Hình 12.5 Cách ghi dữ liệu vào vùng nhớ  DDRAM

- GDRAM (graphic display RAM) : Vùng nhớ  hiển thị ảnh gồn 64x256 bits. Các bước để ghi

dữ liệu hiển thị lên GDRAM: + Đặt đặt địa chỉ hàng dọc (Y)

+ Đặt địa chỉ hàng ngang (X)

+ Ghi D15-D8 vào GDRAM ( byte thứ 1)

+ Ghi D7-D0 vào GDRAM (byte thứ 2 )

- Địa chỉ GDRAM sẽ tự động tăng lên 1 để chuẩn bị ghi 2 bytes tiế p theo.

Hinh 12.6 Tổ chức vùng nhớ  GDRAM

Page 4: GLCD 64x128

7/17/2019 GLCD 64x128

http://slidepdf.com/reader/full/glcd-64x128 4/13

3. Tập lệnh

Nhóm lệnh 1 (Khi RE=0: nhóm lệnh cơ bản)

Lệnh

Mã lệnh

Mô tả 

Thờ igian

thực

hiện

RS RW D7 D6 D5 D4 D3 D2 D1 D0

CLEAR 0 0 0 0 0 0 0 0 0 1

Xóa màn hình - ghi đầyvùng nhớ  DDRAM giá trị “20H (mã của khoảng

tr ắng)” và đưa con trỏ về 

địa chỉ “00H” 

1.6ms

HOME 0 0 0 0 0 0 0 0 1 X

Đưa con trỏ về địa chỉ “00H” trong vùng nhớ  DDRAM

72us

ENTRY

MODE0 0 0 0 0 0 0 1 I\D S

Cài đặt cách dịch con tr ỏ 

khi đọc hoặc ghi dữ liệu.72us

DISPLAY

ON/OFF0 0 0 0 0 0 1 D C B

D=1: Bật hiển thị C=1: Bật con tr ỏ 

B=1: Con tr ỏ nhấp nháy 

72us

CURSOR

DISPLAY

CONTROL

0 0 0 0 0 0 S\C R\L X X

Điều khiển vị trí con trỏ vàdịch hiển thị; nội dung của

DDRAM không đổi

72us

FUNCTION

SET0 0 0 0 1 DL X

0

REX X

DL=1: Chế độ 8 bit

DL=0: Chế độ 4 bit

RE=1: Lệnh mở  r ộng

RE=0: Lệnh cơ  bản

72us

SETCGRAM

ADDR

0 0 0 1 AC5 AC4 AC3 AC2 AC1 AC0Đặt địa chỉ con tr ỏ trong

vùng nhớ  CGRAM72us

SETDDRAM

ADDR

0 0 1 0AC6

AC5 AC4 AC3 AC2 AC1 AC0

Đặt địa chỉ con tr ỏ trong

vùng nhớ  DDRAM

AC6 luôn bằng 072us

READ

BUSY

FLAG(BF) &

ADDR.

0 1 BF AC6 AC5 AC4 AC3 AC2 AC1 AC0

Đọc cờ  bận (BF) xem

GLCD đã thực hiện lệnh

trước đó xong chưa, đồngthời đọc giá trị của tại vị trí con trỏ.

0us

WRITE

RAM1 0 D7 D6 D5 D4 D3 D2 D1 D0

Ghi dữ liệu vào bộ nhớ  RAM nội (DDRAM/

CGRAM/IRAM/GDRAM)

72us

READ

RAM1 1 D7 D6 D5 D4 D3 D2 D1 D0

Đọc dữ liệu từ bộ nhớ  RAM nội (DDRAM/

CGRAM/IRAM/GDRAM)

72us

Page 5: GLCD 64x128

7/17/2019 GLCD 64x128

http://slidepdf.com/reader/full/glcd-64x128 5/13

Nhóm lệnh 2 (Khi RE=1: nhóm lệnh mở  rộng)

Lệnh

Mã lệnh

Mô tả 

Thờ igian

thực

hiện

RS RW D7 D6 D5 D4 D3 D2 D1 D0

STAND BY 0 0 0 0 0 0 0 0 0 1

Đưa GLCD vào chế độ 

chờ  và thoát khỏi chế độ chờ  khi nhận bất cứ lệnh

nào 

72us

SCROLL or

RAM

ADDR.

SELECT

0 0 0 0 0 0 0 0 1 SR

SR=1: Cho phép cuộn dọchiển thị SR=0: Cho phépIRAM(chế độ mở  r ộng)

SR=0: Cho phépCGRAM(chế độ cơ bản)

72us

EXTENDEDFUNCTION

SET

0 0 0 0 DL X1

REG 0

DL=1: Chế độ 8 bit

DL=0: Chế độ 4 bitRE=1: Lệnh mở  r ộng

RE=0: Lệnh cơ bảnG=0:Tắt hiển thị ảnh

G=1: Bật hiển thị ảnh

72us

SET IRAM

or SCROLL

ADDR

0 0 0 1  AC5 AC4 AC3 AC2 AC1 AC0

Bit SR (xem lại nhómlệnh “SCROLL or RAM

ADDR. SELECT”)

SR=1: AC0-AC5 địa chỉ  bắt đầu cuộn dọc

SR=0:AC0-AC3 địa chỉ của IRAM

72us

SET

GRAPHICRAM

ADDR.

0 0 10

AC6 

0

AC5

0

AC4

AC3

AC3

AC2

AC2

AC1

AC1

AC0

AC0

Đặt địa chỉ cho GDRAM

Đầu tiên đặt địa chỉ cho

cột sau đó là địa chỉ hàng 

Địa chỉ cột :AC0-AC6Địa chỉ hàng: AC0-AC3

72us

Bài 12.1 Viết chương trình thư viện GLCD.c để tiện sử dụng trong các bài tập liên quan đến

LCD graphic.

 Nội dung thư viện như sau: #define ON 1

#define OFF 0

#define XVAL 16

#define YVAL 32

#define GLCD_WIDTH 128

#define TEXT 0x30 // Mã khở i tạo chế độ text

#define graphic 0x36 // Mã khở i tạo chế độ graphic

typedef union

{

unsigned int16 word;

Page 6: GLCD 64x128

7/17/2019 GLCD 64x128

http://slidepdf.com/reader/full/glcd-64x128 6/13

  unsigned int8 nbyte[2];

} Dots;

typedef struct

{

int1 refresh; // cho phép cậ p nhật dữ liệu từ Ram VDK lên LCD 

Dots pix[YVAL][XVAL];

} GD_RAM;

GD_RAM gdram;

void xuat_glcd(unsigned int8 lcd_signal,unsigned int8 lcd_ins_hthi)

{ lcd_signal = ~ lcd_signal; lcd_ins_hthi = ~lcd_ins_hthi;

xuat_1byte(lcd_signal); xuat_1byte(lcd_ins_hthi);

xuat_1byte(0); xuat_1byte(0);

mo_lcd;

mo_ic_74573_a_thong_dl();

output_high(rck_lcd20x4); output_low(rck_lcd20x4);

chot_ic_74573_a_goi_du_lieu;

}

void glcdcmd(unsigned int8 cmd) // Chương trình ghi mã điều khiển

{

XUAT_GLCD(0x07,cmd);

XUAT_GLCD(0x03,cmd);

}

void glcdchar(unsigned int8 dl) // Chương trình ghi dữ liệu

{

XUAT_GLCD(0x17,dl);XUAT_GLCD(0x13,dl);

}

void glcdmaunen(int1 color) // Chương trình tô màu nền (0-1) ở  chế đô graphic 

{

int8 v, h;

int16 d;

if(color)d=0xffff; else d=0;

for (v=0; v < YVAL; v++)

{for (h=0; h < XVAL; h++)

{

gdram.pix[v][h].word = d;

}

}

gdram.refresh = TRUE;

}

void capnhatvung(int8 x,int8 y,int8 rong, int8 cao) // Chương trình cậ p nhật nội dung ở  vùng 

{ // Ram vi điều khiển lên 1 vùng của LCDint8 v, h,hesox,hesoy; // ở  chế độ graphic

if (gdram.refresh)

{ if((x/16)!=(x+rong)/16)rong=((rong+15)/16)+1;else rong=((rong+15)/16); x=x/16;

Page 7: GLCD 64x128

7/17/2019 GLCD 64x128

http://slidepdf.com/reader/full/glcd-64x128 7/13

  for (v=y; v <(y+cao); v++)

{ if(v>31){hesox=8+x;hesoy=v-32;}else {hesox=x;hesoy=v;}

glcdcmd( 0x80 |hesoy); // đặt địa chỉ hàng 

glcdcmd( 0x80 | hesox); // đặt địa chỉ cột

for (h=hesox; h <(hesox+rong); h++)

{

glcdchar( gdram.pix[hesoy][h].nbyte[1]); // Ghi byte cao

glcdchar( gdram.pix[hesoy][h].nbyte[0]); // Ghi byte thấ p}

}

gdram.refresh = FALSE;

}

}

void glcdcapnhat () // Chương trình cậ p nhật nội dung vùng nhớ  Ram xuất ra hiển thị { // toàn bộ màn hình LCD ở  chế độ Graphic

int8 v, h;

if (gdram.refresh)

{

for (v=0; v <YVAL; v++)

{

glcdcmd( 0x80 | v); // đặt địa chỉ hàng 

glcdcmd( 0x80 | 0); // đặt địa chỉ cột

for (h=0; h <XVAL; h++){

glcdchar( gdram.pix[v][h].nbyte[1]); // ghi byte cao

glcdchar( gdram.pix[v][h].nbyte[0]); // ghi byte thấ p}

}

gdram.refresh = FALSE; // báo cậ p nhật xong

}

}

void ktglcd(int8 mode) // Chương trình khở i tạo GLCD theo chế độ { // text hoặc graphic

glcdcmd(mode);

delay_ms(5);

glcdcmd(0x0c);

delay_ms(5);

}

void glcd_pixel(int8 x, int8 y, int1 color) // Chương trình ghi một điểm ảnh tại tọa độ x,y

{int8 v, h, b;

if(y>31){x += 128; y-= 32;};

v = y;

Page 8: GLCD 64x128

7/17/2019 GLCD 64x128

http://slidepdf.com/reader/full/glcd-64x128 8/13

  h = x/16;

 b = 15 - (x%16);

if (color == ON) bit_set (gdram.pix[v][h].word, b);

else bit_clear (gdram.pix[v][h].word, b);

gdram.refresh = TRUE;

}

void xuatanh(int width,int height,int x,int y) // Chương trình cho phép xuất ảnh ra LCD

{ // Thay đổi “Logo_DHSPKTTP[ ]” để đổi

unsigned int i=0, j=0, k=0; // ảnh khác 

unsigned int16 count=0;

for(j=0;j<height;j++)

{

for(;i<width;)

{

for(k=8;k>0;k--)

{

glcd_pixel(i+x,j+y,bit_test(Logo_DHSPKTTP[count],(k-1)));

i++;

}

count++;

}

i=0;

}

}

Phần A : Chế độ textĐịa chỉ DDRAM

Bài mẫu 12.2 Sử dụng chế độ text hiển thị lên GLCD nội dung sau:

Chương trình: 

#include<TV_PICKIT2_SHIFT_1.c>

#include<tvglcd.c>

0x80 0x81 0x82 0x83 0x84 0x85 0x86 0x87

0x90 0x91 0x92 0x93 0x94 0x95 0x96 0x97

0x88 0x89 0x8A 0x8B 0x8C 0x8D 0x8E 0x8F

0x98 0x99 0x9A 0x9B 0x9C 0x9D 0x8E 0x9F

Dai Hoc SPKTBo Mon: DTCN

TTVXL Pic18F4550Module LCDGraphic

Page 9: GLCD 64x128

7/17/2019 GLCD 64x128

http://slidepdf.com/reader/full/glcd-64x128 9/13

void main()

{

SET_UP_PORT_IC_CHOT();

ktglcd(text); // Khở i tạo chế độ text

glcdcmd(0x01); // Xóa màn hình

delay_ms(5);

glcdcmd(0x80); // Đầu hàng 1 

glcdchar(" Dai Hoc SPKT");

glcdcmd(0x90);

glcdchar(" Bo Mon: DTCN");

glcdcmd(0x88);

glcdchar("TTVXL Pic18F4550");

glcdcmd(0x98);

glcdchar("Modul LCDGraphic");

WHILE(TRUE);

}

Bài 12.3 Viết chương trình đo nhiệt độ LM35, DS18B20,đếm sản phẩm 99-79 đồng thời đếm

giây chính xác 00-59 hiển thị GLCD ở  chế độ text theo hình sau.

Chú ý: Để hiển thị giá trị số SV tách số và chuyển qua mã ASCII giống như LCD text mà SVđã đượ c học.

Phần B: Chế độ Graphic

1.  Hướ ng dẫn chuyển ảnh thành file mã hex dùng 2 phần mềm GNU(thay đổi kích thước vàchuyển ảnh bất k ỳ thành ảnh nhị  phân) và LCDAssistant ( chuyển ảnh nhị  phân sang mãhex)

a. 

Sử  dụng phần mềm GNU

-  Click vào icon để chạy phền mềm GNU-  Mở  ảnh cần chuyển đổi Tậ p tin/ Mở  => chọn ảnh cần mở  -  Thay đổi kích thướ c ảnh cho phù hợp đề hiển thị lên được màn hình 128x64: Chọn

Ảnh/Co dãn ảnh

LM: 32DS: 33SP: 82TI : 28

Page 10: GLCD 64x128

7/17/2019 GLCD 64x128

http://slidepdf.com/reader/full/glcd-64x128 10/13

 

Sửa lại kích thướ c ảnh mong muốn r ồi click “Co dãn” -  Chuyển ảnh về thành ảnh nhị  phân: Chọn Ảnh/Chế độ / Đã phụ lục..

Click chọn “Dùng bảng chọn màu đen và trắng (1bit)” r ồi chọn “Chuyển đổi” 

-  Lưu ảnh dướ i dạng đuôi BMP : Chọn Tập tin/ Lưu dạng… 

b.  Sử u dụng phần mềm LCDAssistant

-  Click vào icon để chạy phần mềm

-  Mở  file cần chuyển đổi: File/Load image

-  Cấu hình file lấy mã theo chiều ngang bằng cách click vào mục “Horizontal” 

-  Chuyển ảnh sang mã hex: Chọn File/Save output => đặt tên file ( tenfile.c) rồi nhấn

“Save” 

Page 11: GLCD 64x128

7/17/2019 GLCD 64x128

http://slidepdf.com/reader/full/glcd-64x128 11/13

Bài mẫu 12.4 Viết chương trình hiển thị Logo DH SPKT kích thước 64x64 đồng thờ i hiển

thị game Ping Pong bên nửa LCD còn lại

Chương trình 

#include<TV_PICKIT2_SHIFT_1.c>

#include<spkt.c> // mã hex của logo SPKT

#include<tvglcd.c>#include<graphics.c> // Thư viện chứa các chương trình vẽ đườ ng

#include <stdlib.H> // thẳng, đườ ng tr òn ….

void main()

{ unsigned int8 xb,yb,sstop=0,xt=82,lt=15,diem=0;

signed int chieux=1, chieuy=1;

int tatdiem=0;

set_tris_b(0x3c);

SET_UP_PORT_IC_CHOT();

ktglcd(text); // Khở i tạo chế độ text

glcdcmd(0x01); delay_ms(5); // Xóa màn hình 

glcdcmd(0x94);glcdchar(" 0="); glcdchar(0x1a); // Giao diện hướ ng dẫn chơi game 

glcdcmd(0x8c);glcdchar(" 1="); glcdchar(0x1b);

glcdcmd(0x9c);glcdchar(" 2=Play");

delay_ms(5);

ktglcd(graphic); // Khở i tạo chế độ Graphic

glcdmaunen(0) ;

xuatanh(64,64,0,0) ; // Hiển thị Logo SPKT (chiều r ộng, chiều cao, x,y)

glcd_rect(65, 0, 127, 63, 0, 1); // Hiển thị khung vuông bao quanh cửa sổ game

glcd_rect(66, 1, 126, 62, 0, 1);

glcd_rect(65, 60, 127, 63, 1, 0); // Xóa cạnh đáy của khung vuông 

glcdcapnhat () ; // Cho phép hiển thị ra màn hình 

WHILE(TRUE)

{

if(sstop)

{

glcd_circle(xb, yb,4, 1, 1); // hiển thị trái banh hình tròn 

capnhatvung (xb-6,yb-6,13,13) ; // Cho phép hiển thị trái banh glcd_rect(xt, 60, xt+lt, 62, 1, 1); // Hiển thị thanh hứng trái banh 

capnhatvung (64,60,128,3) ; // Cho phép hiển thị thanh hứng banh

glcd_circle(xb,yb,4, 1, 0); // Xóa trái banh ở  vị tr í cũxb+=chieux; // Cậ p nhật vị trí mới cho trái banh 

yb+=chieuy;

if((yb<40)&&(tatdiem==1)) // Tắt hiển thị điểm khi tạo độ y banh <40

{tatdiem=0;ktglcd(text);glcdcmd(0x95);glcdchar(" ");ktglcd(graphic);}

if(xb>=121)chieux=rand()%1-2; if(xb<=71) chieux=rand()%2+1;

if((yb<=7))chieuy=rand()%2+1; // Khi banh đụng các cạnh bao thì đổi chiều di chuyểnif(yb>=60) // Khi tọa độ y của banh >59 thì Game Over  { ktglcd(text); // Khở i tạo chế độ text để hiển thị Game Over

glcdcmd(0x95);

Page 12: GLCD 64x128

7/17/2019 GLCD 64x128

http://slidepdf.com/reader/full/glcd-64x128 12/13

  glcdchar("Game");

glcdcmd(0x8d);

glcdchar("Over");

sstop=0;

ktglcd(graphic);

}

else if(((yb==55)||(yb==56))&&((xb>(xt-4))&&(xb<(xt+lt+4))))

{ // Khi thanh hứng được banh thì tăng điểm đồng thời đổi chiều y của banh

diem++;

chieuy=rand()%1-2; // Chiều y đượ c nhận ngẫu nhiên giá trị -1 hoặc -2

ktglcd(text);

glcdcmd(0x95);glcdchar(" ");glcdchar(diem/10+48);glcdchar(diem%10+48);

tatdiem=1; // Hiển thị điểm số 

ktglcd(graphic);

}

}

if(input(pin_b2)==0) // Kiểm tra nút điều khiển qua phải

{

glcd_rect(xt, 60, xt+lt, 62, 1, 0);

if(xt<110) xt+=2;

}

if(input(pin_b3)==0) // Kiểm tra nút điều khiển qua trái {

glcd_rect(xt, 60, xt+lt, 62, 1, 0);

if(xt>69) xt-=2;

}if(input(pin_b4)==0) // Kiểm tra nút Play 

{ delay_ms(10);

if(input(pin_b4)==0)

{

diem=0;

xb= 75;yb= 10;

sstop=1;

ktglcd(text);

glcdcmd(0x01); delay_ms(2);ktglcd(graphic);

glcd_rect(67, 3,112, 63, 1, 0);

capnhatvung (67,3,45,61) ;

while(input(pin_b4)==0);

}

}

}

}

Page 13: GLCD 64x128

7/17/2019 GLCD 64x128

http://slidepdf.com/reader/full/glcd-64x128 13/13

Bài 12.5 Viết chương trình đồng hồ số DS13B07 hiển thị GLCD theo hình sau:

( ví dụ: 6 giờ  40 phút 15 giây) 

Bài 12.7 Viết chương trình vẽ 1 hình người ( dùng chương trình vẽ đườ ng thẳng và hình tròn)hiển thị GLCD và dùng các phím 1,9,4,6 của phím ma trận để điều khiển cho người này dichuyền qua trái , phải , lên , xuống.

12 3 6 9 12HM

S