Wednesday, December 7, 2016

BÀI 5 : ĐẾM TỪ 0 - 9999 PIC18F4550 CCS

Chào các bạnh trong bài đăng này mình sẽ hướng dẫn các bạn đếm từ 0 - 9999, trong các bài trước mình đã hướng dẫn các bạn các bài cơ bản về PIC18F4550 rồi chúng ta sẽ áp dụng những gì học được từ các bài trước để áp dụng vào bài này. Ok chúng ta sẽ đi vào vấn đề chính.
- Trước tiên mình sẽ tách các số hàng nghìn,trăm,chục,đơn vị ra trước.
    nghin=dem/1000;
    tram = (dem - nghin*1000)/100;
    chuc=(dem - nghin*1000 - tram*100)/10;
    donvi=dem - nghin*1000 - tram*100 - chuc*10;
Code của chúng ta như trên mục đính của việc này là xác định xem ld nào là led nghìn led trăm led chục led đơn vị để chúng ta hiển thị nó lên led 7 đoạn.
- Tiếp theo là phần hiển thị.
    output_d(0x0F);           // Turn off all displays
    output_b(maled[nghin]);         // Send ones digit
    output_d(0x07);           // Turn on display for ones
    delay_ms(2);
    output_d(0x0F);           // Turn off all displays
    output_b(maled[tram]);        // Send tens digit
    output_d(0x0B);           // Turn on display for tens
    delay_ms(2);
    output_d(0x0F);           // Turn off all displays
    output_b(maled[chuc]);       // Send hundreds digit
    output_d(0x0D);           // Turn on display for hundreds
    delay_ms(2);
    output_d(0x0F);           // Turn off all displays
    output_b(maled[donvi]);      // Send thousands digit
    output_d(0x0E);           // Turn on display for thousands
    delay_ms(2);
Code chúng ta như sao thay vì trong bài trước chúng cho xuất ra port_b là giá trị mà chúng ta muốn hiển thị thì bài này chúng ta cũng làm như vậy như khác ở chô là có thêm biến đếm biến đếm này sẽ thay đổi liên tục.
- Cuối cùng là điền kiện của chúng ta như chúng ta biết trong bài này chỉ sử dụng 4 led nên chỉ đếm tối đa được từ  0 - 9999 nên điều kiện chung ta phải nằm trong khoảng này.
    if(dem==1500)
    {
    dem=0;
    }
    }
Với điều kiện trên các bạn có thể thay đổi giá trị tùy thích nha !
Code chương trình chúng ta đơn giản vậy thôi không có gì phức tạm cả.
- Đây là ảnh mô phonger chương trình.
0 - 9999 pic18f4550 ccs
- Link download project : Click here

2 comments:

  1. AD ơi, cho e xin tài liệu con PIC18f4550 này với ạ, em cảm ơn ad nhiều!!!

    ReplyDelete
  2. #fuses NOMCLR INTRC_IO
    setup_oscillator(OSC_8MHZ);
    2 hàm trên có nghĩa gì thế bạn?

    ReplyDelete