PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 13-01-2009, 03:49 PM   #1
nguyennam8888
Đệ tử 3 túi
 
Tham gia ngày: Dec 2008
Bài gửi: 50
:
Trích:
Nguyên văn bởi longtu View Post
Bạn tham khảo doan code nay nhé:

//cho phep sang 1 diem tren man hình
//cho toa do diem can sang (x,y)
//unsigned char buff_mh[BITMAP_HEIGHT_BYTE][BITMAP_WIDTH_BIT];
void point(int8 x,int8 y)
{
unsigned char *pt;
int8 mask=0b00000001;
int16 j;
mask = mask << (y%8);
pt=&buff_mh[0][0];
j=(y/6*BITMAP_WIDTH_BIT+x);
pt+=j;
*pt|= mask;
}

Thân,
anh , em không hiểu mấy,buff_mh[BITMAP_HEIGHT_BYTE][BITMAP_WIDTH_BIT] là sao, nó có tác dụng gí
pt=&buff_mh[0][0];
j=(y/6*BITMAP_WIDTH_BIT+x);
em cũng không hiểu
mong anh chỉ em cụ thể với , em mới bắt đầu thôi mà
nguyennam8888 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-01-2009, 07:15 AM   #2
longtu
Đệ tử 6 túi
 
longtu's Avatar
 
Tham gia ngày: Jul 2007
Bài gửi: 146
:
Send a message via Yahoo to longtu
Trích:
Nguyên văn bởi nguyennam8888 View Post
anh , em không hiểu mấy,buff_mh[BITMAP_HEIGHT_BYTE][BITMAP_WIDTH_BIT] là sao, nó có tác dụng gí
pt=&buff_mh[0][0];
j=(y/6*BITMAP_WIDTH_BIT+x);
em cũng không hiểu
mong anh chỉ em cụ thể với , em mới bắt đầu thôi mà
buff_mh[BITMAP_HEIGHT_BYTE][BITMAP_WIDTH_BIT] :mình coi ma trận led là màn hình Leds, thì đây chính là bộ đệm màn hình Leds(buffer_manhinh) đó, khi mình thay đổi dữ liệu trên bộ đệm này tức là mình đã thay đổi sự hiện thị trên màn hình Leds. Ban tìm hiểu thêm về mảng trong C nhé.

pt=&buff_mh[0][0];//Đây là cách lấy điạ chỉ cho con trỏ. Bạn tìm hiểu thêm về con trỏ trong C nhé.

Thân,
__________________
--------------------------------------------------------------------------------------
Phùng Minh Tuân
Email: tuan.phmt@gmail.com
"Cuộc đời sóng gió nuôi ta lớn
Bao lần thất bại dạy ta khôn".
longtu vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-01-2009, 11:22 PM   #3
nguyennam8888
Đệ tử 3 túi
 
Tham gia ngày: Dec 2008
Bài gửi: 50
:
Trích:
Nguyên văn bởi longtu View Post
buff_mh[BITMAP_HEIGHT_BYTE][BITMAP_WIDTH_BIT] :mình coi ma trận led là màn hình Leds, thì đây chính là bộ đệm màn hình Leds(buffer_manhinh) đó, khi mình thay đổi dữ liệu trên bộ đệm này tức là mình đã thay đổi sự hiện thị trên màn hình Leds. Ban tìm hiểu thêm về mảng trong C nhé.

pt=&buff_mh[0][0];//Đây là cách lấy điạ chỉ cho con trỏ. Bạn tìm hiểu thêm về con trỏ trong C nhé.

Thân,
j=(y/6*BITMAP_WIDTH_BIT+x);cái hàng này em không hiểu
nguyennam8888 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 15-01-2009, 12:27 PM   #4
longtu
Đệ tử 6 túi
 
longtu's Avatar
 
Tham gia ngày: Jul 2007
Bài gửi: 146
:
Send a message via Yahoo to longtu
Trích:
Nguyên văn bởi nguyennam8888 View Post
j=(y/6*BITMAP_WIDTH_BIT+x);cái hàng này em không hiểu
Tôi giả xử bạn có màn hình led là 16x16, khii đó bạn khai báo Buff_mh như sau:
#define BITMAP_HEIGHT_BYTE] 2
#define BITMAP_WIDTH_BIT 16
unsigned char buff_mh[BITMAP_HEIGHT_BYTE][BITMAP_WIDTH_BIT]
...
Bây giờ giả xử bạn chọn tọa độ (0,0) là điểm led tại góc trái-phía duoi màn hình led. Bây giờ bạn muốn điểm có tọa độ là (0,0) sáng lên, ban chỉ cần goi hàm point(0,0);

void point(int8 x,int8 y)
{
unsigned char *pt;
int8 mask=0b00000001;
int16 j;
mask = mask << (y%8);//xác định vi tri y:
pt=&buff_mh[0][0];
j=(y/8*BITMAP_WIDTH_BIT+x);//xác dinh vi tri x
pt+=j;
*pt|= mask;
}

Xin loi các bạn, doan code nay hom truoc mình viet nhầm hàng này:
j=(y/8*BITMAP_WIDTH_BIT+x);//chia cho 8 chứ khong phai chia 6

Thân,
__________________
--------------------------------------------------------------------------------------
Phùng Minh Tuân
Email: tuan.phmt@gmail.com
"Cuộc đời sóng gió nuôi ta lớn
Bao lần thất bại dạy ta khôn".
longtu vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 05:17 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam