Thông báo

Collapse
No announcement yet.

Tutorial: Led ma trận bằng hình ảnh (completed)

Collapse
This is a sticky topic.
X
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • gavitonline
    replied
    Cái programmer là cái J1 trong mạch của bác đó,nó dùng làm gì bác nhỉ?không mô phỏng dc chắc mình làm mạch thật luôn.cho mình hỏi trong codevision 0 error,7 warnings mình nạp nó vẫn chạy hả bác?mình mới tập làm có câu hỏi ngớ ngẩn bác giúp em nhé.Mình gởi hình bạn xem lỗi viết trong codevision là lỗi gì và giúp em sửa nhá bác.
    Attached Files

    Leave a comment:


  • nghaiha
    replied
    Nguyên văn bởi gavitonline Xem bài viết
    Bạn nghaiha ơi cho mình hỏi cái programmer trong orcad của bạn là cái gì vậy,nếu làm mạch thật thì nó là gì?mình mô phỏng trong proteus sao nó ko chạy(trong proteus mình bỏ cái programmer của bạn).bạn xem giùm mình đây là lỗi gì nha,với lại cái code full của bạn mình viết trong Codevison dịch ra có 7 warnings không biết nạp vào có chạy dc không hay mình mô phỏng sai.các bạn xem giúp với.cảm ơn.
    Em không hiểu câu hỏi của bác về cái programmer nào đó.
    7 Warnings em thấy là bình thường. Cái warning cuối cùng nói là việc mô phỏng bằng proteus không thể đáp ứng thời gian thực (chậm hơn).

    Leave a comment:


  • gavitonline
    replied
    Bạn nghaiha ơi cho mình hỏi cái programmer trong orcad của bạn là cái gì vậy,nếu làm mạch thật thì nó là gì?mình mô phỏng trong proteus sao nó ko chạy(trong proteus mình bỏ cái programmer của bạn).bạn xem giùm mình đây là lỗi gì nha,với lại cái code full của bạn mình viết trong Codevison dịch ra có 7 warnings không biết nạp vào có chạy dc không hay mình mô phỏng sai.các bạn xem giúp với.cảm ơn.
    Attached Files

    Leave a comment:


  • vgate
    replied
    ko ai giúp em a` giúp em với anh nghaiha oi chỉ giùm em đi mà!

    Leave a comment:


  • vgate
    replied
    bài viết của pac" rất hay em chưa hiểu nếu làm 3 màu thì làm ntn! mong câu trả lời của bác! thanks!

    Leave a comment:


  • 8sung
    replied
    hi bác nghaiha bác phang cho con pic16f877a phat dể anh em còn ngọng tập nói cái nhỉ
    xớm nhé bác
    bọn đệ chờ nha

    Leave a comment:


  • nghaiha
    replied
    Nguyên văn bởi thaokm1986 Xem bài viết
    hi em đã hiểu tại sao nó k ngắt.Cảm ơn anh nghaiha nhé.Code trước anh để TIMSK=0x40 là ngắt OCIE1B=1 mà trong khi mình lại dùng ngắt TIM1_COMPA tức phải OCIE1A=1 hay TIMSK=0x10 thì MCU thực hiện ngắt liền
    Code chỗ TIMSK thì em không sai đâu. Có lẽ do khác nhau giữa hai con ATMEGA8515 và ATMEGA16. Bác kiểm tra lại giùm.

    Leave a comment:


  • nghaiha
    replied
    Nguyên văn bởi thaokm1986 Xem bài viết
    Khi quét led matrix theo cột dùng ghi dịch 74hc164 hoặc 74hc595 em vẫn gặp hiện tượng có "bóng" cạnh các LED sáng rõ,tức vẫn có led sáng mờ.Hiện tượng này do đâu các anh nhỉ?Nhờ các anh chỉ giúp.Quét LED cột âm em dùng 74hc164,kéo nguồn cho hàng dương em dùng A1015.

    Cái này dễ quá mà, hiện bác đang làm như sau: hàng i, data i, hàng i+1, data i+1. Bóng mờ xảy ra lúc data i, hàng i+1.

    Sửa lại như sau:
    hàng i, data i, data=0, hàng i+1, data i+1. Tức là không đưa data ra khi chuyển hàng.

    Hoặc
    hàng i, data i, hàng =0, data i+1, hàng i+1 Tức là không cấp nguồn ra hàng khi chuyển data.

    Chúc mừng cái hình của bác nhé. Sửa lại thêm 1 chút là đạt rồi.
    Last edited by nghaiha; 05-10-2008, 23:23.

    Leave a comment:


  • thaokm1986
    replied
    Nguyên văn bởi nghaiha Xem bài viết
    Em đã kiểm tra lại, setting Timer1 đối với AT8515 và ATMEGA16 là như nhau. Bác tự kiểm tra lại việc tính toán của mình nhé.

    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: 15.625 kHz
    // Mode: CTC top=OCR1A
    // OC1A output: Discon.
    // OC1B output: Discon.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer 1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: On
    // Compare B Match Interrupt: Off
    TCCR1A=0x00;
    TCCR1B=0x0D;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x00;
    OCR1AL=0x22;
    OCR1BH=0x00;
    OCR1BL=0x00;

    Còn phần ngắt Timer1 không hoạt động như trong thư bác hỏi em thì bác xem lại chỗ này nhé.

    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=0x10;

    Còn gì thắc mắc bác cứ hỏi thẳng trên diễn đàn, em sẽ trả lời nếu có thể.
    hi em đã hiểu tại sao nó k ngắt.Cảm ơn anh nghaiha nhé.Code trước anh để TIMSK=0x40 là ngắt OCIE1B=1 mà trong khi mình lại dùng ngắt TIM1_COMPA tức phải OCIE1A=1 hay TIMSK=0x10 thì MCU thực hiện ngắt liền

    Leave a comment:


  • thaokm1986
    replied
    hoi ti

    Khi quét led matrix theo cột dùng ghi dịch 74hc164 hoặc 74hc595 em vẫn gặp hiện tượng có "bóng" cạnh các LED sáng rõ,tức vẫn có led sáng mờ.Hiện tượng này do đâu các anh nhỉ?Nhờ các anh chỉ giúp.Quét LED cột âm em dùng 74hc164,kéo nguồn cho hàng dương em dùng A1015.

    Leave a comment:


  • thaokm1986
    replied
    Tạo font 8x8 VB6

    em đóng góp phần mềm tạo font 8x8 tạo chữ viết bằng VB
    Attached Files

    Leave a comment:


  • nghaiha
    replied
    Nguyên văn bởi duyhien Xem bài viết
    cái này mình chưa có kinh nghiệm, ko bít bẳ đầu từ đâu, như thế nào
    Đã hướng dẫn từng bước như vậy rồi mà bác còn không biết bắt đầu từ đâu như thế nào thì em chịu thua.

    Leave a comment:


  • nghaiha
    replied
    Nguyên văn bởi thaokm1986 Xem bài viết
    Hi,Trong Bài 3,em thay tan so Timer1 quyết định bởi thanh ghi TCCR1B chứ nhỉ?em tra datasheet của atmel(16) thấy f(Timer1)=f(Thạch anh)/1024 khi TCCR1B=0x0D tức là tính ra f(Timer1)=4*10^6/1024 =3906.25 chứ có phải là 15625 hz đâu nhỉ?Muốn ra 15625Hz thì phải f(Thạch anh)/256 chứ nhỉ,tức TCCR1B=0x0C chứ nhỉ?
    Em đã kiểm tra lại, setting Timer1 đối với AT8515 và ATMEGA16 là như nhau. Bác tự kiểm tra lại việc tính toán của mình nhé.

    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: 15.625 kHz
    // Mode: CTC top=OCR1A
    // OC1A output: Discon.
    // OC1B output: Discon.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer 1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: On
    // Compare B Match Interrupt: Off
    TCCR1A=0x00;
    TCCR1B=0x0D;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x00;
    OCR1AL=0x22;
    OCR1BH=0x00;
    OCR1BL=0x00;

    Còn phần ngắt Timer1 không hoạt động như trong thư bác hỏi em thì bác xem lại chỗ này nhé.

    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=0x10;

    Còn gì thắc mắc bác cứ hỏi thẳng trên diễn đàn, em sẽ trả lời nếu có thể.

    Leave a comment:


  • thaokm1986
    replied
    xem lai tan so cai?

    Hi,Trong Bài 3,em thay tan so Timer1 quyết định bởi thanh ghi TCCR1B chứ nhỉ?em tra datasheet của atmel(16) thấy f(Timer1)=f(Thạch anh)/1024 khi TCCR1B=0x0D tức là tính ra f(Timer1)=4*10^6/1024 =3906.25 chứ có phải là 15625 hz đâu nhỉ?Muốn ra 15625Hz thì phải f(Thạch anh)/256 chứ nhỉ,tức TCCR1B=0x0C chứ nhỉ?

    Leave a comment:


  • duyhien
    replied
    cái này mình chưa có kinh nghiệm, ko bít bẳ đầu từ đâu, như thế nào

    Leave a comment:

Về tác giả

Collapse

nghaiha Tìm hiểu thêm về nghaiha

Bài viết mới nhất

Collapse

Đang tải...
X