![]() |
![]() |
#1 |
Nhập môn đệ tử
Tham gia ngày: Oct 2008
Bài gửi: 8
: |
![]() Code:
=================================================================== Doan chuong trinh cua em nhu sau : #include <16f877a.h> #use delay(clock=20000000) #define hang PORTD #define cot PORTB #define Cot1 PORTC #byte PORTD =0x08 #byte PORTB =0x06 #byte PORTC =0x07 #byte trisc =0x87 #byte trisb =0x86 #byte trisd =0x88 const unsigned char chuA[]={ 0b00010000, //BitRB4 0b00011000,0b00010100,0b00011100,0b00010010,0b00011010,0b00010110,0b00011110, 0b00100000, //BitRB5 0b00101000,0b00100100,0b00101100,0b00100010,0b00101010,0b00100110,0b00101110, 0b01000000, //BitRB6 0b01001000,0b01000100,0b01001100,0b01000010,0b01001010,0b01000110,0b01001110, 0b10000000, //BitRB7 0b10001000,0b10000100,0b10001100,0b10000010,0b10001010,0b10000110,0b10001110}; const unsigned char font[]={251,224,219,255,192,247,247,207,255,231,219,219,195,255,195,251,251,199,255,192,247,247,207,255,255,255,255,217,182,182,205,255,231,219,219,195,255,195, 251,251,199,255,239,87,87,135,255,255,255,129,126,126,129,255,241,110,110,129,255,254,14,246,248,255,231,235,237,0,239,255,110,110,110,145,255,125,0,127, 255,29,110,118,121,255,125,0,127,255,29,110,118,121,255,110,110,110,145,255,255,63,63,255,255,255,255,255,255,255,255,255}; void Display(unsigned char timer1,unsigned char k) { unsigned char i,j,m; set_tris_d(0); set_tris_b(0); set_tris_c(0); for(i=0;i<timer1;i++) { m = 0; for(j=0;j<=20;j++) { Cot = chuA[j]; Cot1 = chuA[j+32]; hang = 0xff; if(j>=k) { hang = font[m]; m ++; } } } } void main() { while(true){ unsigned char k=33,m=0; while(true) { Display(33,k); k=k-1; if(k==0) { while(true) { Display(1000,k); for(m=0;m<=20;m++) { font[m]=font[m+1]; hang = 0xff; } } } } } } ===============================================================
__________________
THS thay đổi nội dung bởi: Huynh Thanh San, 07-11-2009 lúc 08:37 AM. Lý do: Bạn nhớ đưa code vào thẻ code |
![]() |
![]() |
![]() |
#2 |
Super Moderator
Tham gia ngày: Feb 2006
Bài gửi: 150
: |
Bạn dùng chỉ mục trong mảng bị vượt ra ngoài phạm vi của mảng mà bạn có:
Code:
Cot = chuA[j]; Cot1 = chuA[j+32]; và Code:
hang = font[m]; Chừng đó thôi thì chương trình của bạn chạy hoàn toàn sai rồi |
![]() |
![]() |
![]() |
#3 |
Đệ tử 3 túi
Tham gia ngày: Feb 2009
Bài gửi: 47
: |
Đây là sơ đồ mạch bằng Proteus 7.5sp3 (chỉ để mô phỏng ai bảo thiếu j thì mình... chịu thua).
Code thế nào có lẽ là bạn phải tự viết, nhưng viết theo hướng sau: - Quét LED matrix chắc ko phải nói nhiều, bạn nhìn trong sơ đồ nha các chân 6 của 74138 đều được nối lên Vcc, 3 chân input của 8 con quét cột được nối vào 3 chân đầu tiên của portc, 3 chân input của con điều khiển 8 con kia được nối vào 3 chân tiếp theo đương nhiên là vẫn ở portc (như trong sơ đồ). - Vậy thế làm thế nào để trong mỗi lần gọi hàm quét cột chỉ có một cột được nối xuống mass và gọi hàm quét cột lần tiếp theo thì chỉ cột tiếp theo được nối mass chứ ko phải cột nào khác: Bạn chỉ cần cho portc=0 trong lần gọi hàm quét cột đầu tiên và cứ tăng portc lên đến khi portc==63 thì portc phải nhận giá trị ban đầu (portc=0) là được. - Tại sao lại thế là vì: Khỉ portc=0 thì 3 chân input của con 74138 điều khiển sẽ bằng 0 => con 74138 quét cột của matrix đầu tiên được chọn (tức là chỉ có output của con đó thay đổitrạng thái logic) mà vì portc=0 nên cũng chỉ có chân y0 của con đó =0 => chỉ có cột 1/64 của matrix sáng mà thôi khi tăng portc lên 1 đơn vị thì cột thứ 2 sáng. Cứ làm như vậy đến khi portc=8 thì con 74138 điều khiển matrix 8x8 thứ 2 được chọn và khỉ đó vì input của nó =0 nên chỉ có chân y0 của nó bằng =0 => chỉ có cột 9/64 sáng. Cứ như vậy đến khi kết thúc quá trình. Bạn hãy viết code theo hướng đó có vấn đề j thì mọi người sẽ giúp, chứ ko nên xin xỏ. |
![]() |
![]() |
![]() |
#4 |
Nhập môn đệ tử
Tham gia ngày: Mar 2009
Bài gửi: 1
: |
có gì nho giup tôi nha thoai ne sao thoai vô dien dàn 9 ko được trả lời dùm đi nha có gì giúp minh nha sang
|
![]() |
![]() |
![]() |
#5 | |
Đệ tử 1 túi
Tham gia ngày: Dec 2008
Bài gửi: 14
: |
Trích:
Bạn thử tìm hiểu 74HC595 và ULN 2803 xem sao? 2 con này có thêm phần hút dòng và chống nhiễu rất tốt. Chúc thành công! |
|
![]() |
![]() |
![]() |
#6 |
Đệ tử 7 túi
Tham gia ngày: Jul 2007
Nơi Cư Ngụ: Đà Nẵng
Bài gửi: 188
: |
|
![]() |
![]() |
![]() |
|
|