



Preview text:
  lOMoAR cPSD| 58931565
THỰC TẬP VI XỬ LÝ:  Done:xxxxx  - Chương 3:  o Module 1-32 Led đơn:  Hàm led32.ledx…[];  + ledx1[a]: a = 0 … 31;  + ledx8[a]: a = 0 … 3;  + ledx16[a]: a = 0 … 1;  + ledx32 
Hàm led32_display(); hiển thị led  o Nút nhấn:  BT0 = ON = UP = ON1  BT1 = OFF = DW = OFF1  BT2 = INV = CLR = ON2  BT3 = MOD = OFF2 
Input(button) == 0; không chống dội 
Inputcd(button) == 0; chống dội  o Bàn phím ma trận:  If(key4x4_read() == OK)  { bien = key4x4.key;  }  - Chương 4: 
o 4 led 7 đoạn trực tiếp: 
d7seg_display(); xuất dữ liệu ra led      lOMoAR cPSD| 58931565
 d7seg.led[x]; điều khiển led 7 đoạn thứ x (với x = 0…3, 0 là tận cùng bên phải) 
o Timer/counter: Setup_timer_0(a);  Với a là mode: 
a == T0_EXT_H_TO_L (đếm xung ngoại bằng cảm biến thu phát hồng 
ngoại) a == T0_DIV_1 (bộ chia trước là 1) a == T0_8_BIT (mặc định là 16, 
khi thêm lệnh này thì timer0 đếm 8 bit) 
set_timer0(x); đặt trước giá trị cho timer0 với x là giá trị đặt trước get_timer0();  đọc giá trị từ timer0    - Chương 5: 
o 8 led 7 đoạn anode chung dùng pp quét 
s7seg_display(); xuất dữ liệu ra led 
 s7seg.led[x]; điều khiển led 7 đoạn thứ x (với x = 0…7, 0 là tận cùng bên phải) 
o Timer1 định thời: Setup_timer_1(a);  Với a là mode: 
a == T1_INTERNAL (đếm xung ngoại nội) a == 
T1_DIV_BY_X (bộ chia trước là X = 1,2,4,8) 
set_timer0(x); đặt trước giá trị cho timer1 với x là giá trị đặt trước với X ở trên = 8 
thì x này = 3036 => định thời 1s chính xác  - Chương 6:  o LCD 20x4: 
Lcd_command(a); a = 0x01 hoặc 0x00; 
Lcd_data(int8 data); hàm xuất dữ liệu hiển thị 
Lcd_setup(); hàm khởi tạo LCD 
Lcd_goto(a,b) với a là cột (0 - 19) b là hàng (0 – 3); 
Lcd_write_2x3_num(x,a,b); hiển thị 1 số FONT 2x3 với x là số cần hiện thị (0-9) a 
là cột (0 - 19) b là hàng (0 – 3);      lOMoAR cPSD| 58931565
Lcd_write_4x3_num(x,a); hiển thị 1 số FONT 4x3 với x là số cần hiện thị (0-9) a  là cột (0 - 17); 
Printf(lcd_data, “ký tự/khai báo kiểu xuất biến”,bien); in dữ liệu ra màn hình LCD; 
khi biến là unsigned int8 ta dùng %u khi biến là signed int8 ta dùng %d khi biến là 
unsigned int16 ta dùng %lu khi biến là signed int16 ta dùng %ld khi biến là 
unsigned int32 ta dùng %lu khi biến là signed int32 ta dùng %ld khi biến là float ta  dùng %f  o Vùng nhớ CGRAM của LCD  BYTE 4 3 2 1 0 HEX  0      1      2      3      4      5      6      7     
Ta muốn vẽ hình gì thì chỉ cần điền điểm vẽ hình đó lên bảng 5x8 này, và sau đó 
khai bảo mảng 8 byte của mã đã tạo => khởi tạo địa chỉ bắt đầu của 1 trong 8 vùng 
nhớ để lưu dữ liệu (từ 0x40 – 0x47) => coppy 8 byte dữ liệu vào vùng nhớ => gọi 
hiển thị ký tự (vùng nhớ 0 – 7 ứng với 0x40 – 0x47) lcd_command(0x40); // Di 
chuyển đến vùng nhớ CGRAM for(n=0;n<8;n++) lcd_data(ma[]); // Ghi mã vào  CGRAM 
o GLCD 128x64 (x,y) với x = 0 … 127; y = 0…64; 
Glcd_clear(color); hàm xóa toàn bộ dữ liệu đồ họa (color = 0 màu xanh, color = 1  màu trắng) 
Glcd_pixel(x,y,color); hàm ghi 1 điểm ảnh ra glcd(không cần dùng glcd_update();)      lOMoAR cPSD| 58931565
Glcd_pixel_temp(x,y,color); hàm ghi 1 điểm ảnh vào ram 
Glcd_vertical_line(x,y1,y2,color); vẽ đường thẳng đứng 
Glcd_horizone_line(x1,x2,y,color); vẽ đường thẳng ngang 
Glcd_text_setup(x,y,size,color,overlay); cài đặt thông số text (size là kích thước 
n(5x7) chỉ cần điền n vào size; overlay = 0 là không ghi đè, 1 là ghi đè) 
Glcd_text(ký tự); hiển thị chuỗi ký tự ra glcd 
Glcd_spkt_logo_raw(x); vẽ logo spkt với kích thước 64x64 (với x là cột bắt đầu  vẽ) 
Glcd_line(x1,y1,x2,y2,color); vẽ đoạn thẳng qua 2 điểm 
Glcd_rect(x1,y1,x2,y2,fill,color); vẽ hình chữ nhật(fill = 0 không tô kín, = 1 là tô  kín) 
Glcd_bar(x1,y1,x2,y2,width,color); vẽ đoạn thẳng có bề dày đi qua 2 điểm 
Glcd_circle(x,y,radius,fill,color); vẽ hình tròn (radius là bán kính hình tròn,(x,y) là  tọa độ tâm) 
Glcd_triangle(x1,y1,x2,y2,x3,y3,fill,color); vẽ hình tam giác 
Glcd_update(); hiển thị ra màn hình, những cái trên sau khi viết xong cần câu lệnh 
này mới hiển thị ra màn hình glcd được Glcd_data(data); hàm xuất dữ liệu ra glcd 
Glcd_command(); hàm xuất dữ liệu ra glcd 
Glcd_setup(); khởi tạo glcd- phải gọi hàm này thì glcd mới hoạt động