![]() |
|
Tài trợ cho PIC Vietnam |
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 |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
|
![]() |
#1 | |
Đệ tử 3 túi
Tham gia ngày: Dec 2008
Bài gửi: 50
: |
Trích:
|
|
![]() |
![]() |
![]() |
#2 |
Đệ tử 6 túi
|
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". |
![]() |
![]() |
![]() |
#3 |
Đệ tử 3 túi
Tham gia ngày: Dec 2008
Bài gửi: 50
: |
em hiểu rồi, nhưng nếu với nhiều hàng thì em có thể đổi mảng data từ mảng một chiều sang mảng hai chiều cũng được phải không, như thế có ổn không anh
|
![]() |
![]() |
![]() |
#4 |
Đệ tử 6 túi
Tham gia ngày: Jul 2007
Bài gửi: 154
: |
toàn bộ font tôi điều dùng mãng 1 chiều cả
ví dụ chữ A chiếu 8 byte đầu tiên, chữ B chiếm 8 byte tiếp theo.. trong một mãng. còn các màn hình hiển thị sẽ chia làm 8 mãng, mỗi mãng lá 1 hàng. ta chỉ cần lấy data từ font lần lượt cho vào các mãng. để lấy chữ A ta lấy: mang1[0] = font[0]; mang2[0] = font[1];.. mang8[0] = font[7]; như vậy ta đã lấy chữ A trong font ra để hiển thị trên màn hình và khi đó dùng các lệnh dịch trên để dịch các mãng 1-8 thì chữ A sẽ dịch qua. Do đó trong mãng font bạn có thể chứa bao nhiêu ký tự đã mã hóa sẳn vẫn được, chỉ cần dùng ký tự nào là ta tìm đến vị trí của ký tự đó để lấy nó ra. thay đổi nội dung bởi: tungtot_vl, 14-01-2009 lúc 05:29 PM. Lý do: sai |
![]() |
![]() |
![]() |
#5 | |
Đệ tử 3 túi
Tham gia ngày: Dec 2008
Bài gửi: 50
: |
Trích:
sao nó lại báo lỗi hả anh, báo ở chỗ số 1 ấy |
|
![]() |
![]() |
![]() |
#6 |
Đệ tử 6 túi
Tham gia ngày: Jul 2007
Bài gửi: 154
: |
lmd
|
![]() |
![]() |
![]() |
#7 | |
Đệ tử 3 túi
Tham gia ngày: Dec 2008
Bài gửi: 50
: |
Trích:
|
|
![]() |
![]() |
![]() |
#8 | |
Đệ tử 6 túi
Tham gia ngày: Jul 2007
Bài gửi: 154
: |
lmd
Trích:
chúc vui! |
|
![]() |
![]() |
![]() |
#9 |
Đệ tử 3 túi
Tham gia ngày: Dec 2008
Bài gửi: 50
: |
|
![]() |
![]() |
![]() |
#10 |
Đệ tử 6 túi
Tham gia ngày: Jul 2007
Bài gửi: 154
: |
lmd
bac nay duoc voi dòi tiên nhi. tôi chi có font 16 bác lấy về loc ra font 8 nhé.
font này mã hóa ngươc với font trong bài tôi làm cho bác. bác muốn dùng được nó thì có 2 cách: 1: đổi font ngược lại 2: đổi hàm display() ở các hàm output_hight(data); thành output_low(data); và output_low(data); thành output_hight(data);. còn trong hàm rotate thì đổi số 0 thành số 1 |
![]() |
![]() |
![]() |
#11 |
Đệ tử 3 túi
Tham gia ngày: Dec 2008
Bài gửi: 50
: |
bác lại giúp em nha, chương trình em viết giống gợi ý mà vẫn không ổn
|
![]() |
![]() |
![]() |
#12 |
Đệ tử 6 túi
Tham gia ngày: Jul 2007
Bài gửi: 154
: |
làm quang báo thì nên dùng pic 18f thì tốt hơn.
pic 16f chỉ cho phép khai báo mãng tối đa khoảng 80 byte còn pic 18f thì khai báo tự do. pic 18f có nhiều loại dung lượng rom, ram rất lớn như 18f4580 , 18f4680 . bạn có thể lưu font và các thứ vớ vẫn khác vào 2 con này mà ko cần phải sợ thiếu rom hay ram. hơn nữa pic 16f chỉ ngắt 1 cấp nên khi sử dụng nhiều ngắt đồng thời thì ko dùng được |
![]() |
![]() |
![]() |
#13 | |
Trưởng lão PIC bang
|
Trích:
Nếu bạn nói về mức ưu tiên thì vẫn có thể dùng nhiều ngắt với PIC16 chỉ có một mức ưu tiên ngắt. Ngay cả có nhiều mức ưu tiên ngắt thì việc xử lý ngắt vẫn diễn ra tuần tự, một cách có ưu tiên, chứ vẫn không thể diễn ra đồng thời. Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
![]() |
![]() |
![]() |
#14 | |
Đệ tử 3 túi
Tham gia ngày: Dec 2008
Bài gửi: 50
: |
Trích:
mong bác chỉ em thêm vài cái nữa nhé : em đang tìm hiểu cho chữ chạy dich từng nét xuống và chạy tửng chữ ra giống hết cái bài của bác pots lên đấy. thú thật tại vì nhìn thấy bài của bác chạy " đã quá " nên em mê làm matran rồi. mong bác hướng dẫn cho em. (có thể chỉ em qua mail : nguyen_nam8888@yahoo.com) |
|
![]() |
![]() |
![]() |
#15 | |
Đệ tử 3 túi
Tham gia ngày: Dec 2008
Bài gửi: 50
: |
Trích:
|
|
![]() |
![]() |
![]() |
Ðiều Chỉnh | |
Xếp Bài | |
|
|