1. THÔNG BÁO TUYỂN ADMIN DIỄN ĐÀN 2013
    Tìm kiếm nhà trọ - Ở ghép
    THÔNG BÁO BÁN ÁO SPKT.NET CHO THÀNH VIÊN DIỄN ĐÀN


    HÃY TÌM KIẾM Ở ĐÂY TRƯỚC KHI ĐẶT CÂU HỎI
    {xen:phrase loading}

Đèn giao thông hiển thị led 7 đoạn

Thảo luận trong 'Lập trình C cho vi điều khiển AVR cơ bản' bắt đầu bởi KN Servant., 28 Tháng mười 2009.

  1. KN Servant. Servant.

    Số bài viết: 1,291
    Đã được thích: 3
    Điểm thành tích: 0
  2. minhhung_spk New Member

    Số bài viết: 24
    Đã được thích: 0
    Điểm thành tích: 1
    Re: Học AVR cơ bản qua xem phim

    Tân post bài thì đưa luôn code cho anh em tham khảo,đưa video lên thi cũng chỉ có tân làm đc,anh em po tay!!
  3. KN Servant. Servant.

    Số bài viết: 1,291
    Đã được thích: 3
    Điểm thành tích: 0
  4. utnhan89 New Member

    Số bài viết: 2
    Đã được thích: 0
    Điểm thành tích: 0
  5. lenam20189 New Member

    Số bài viết: 3
    Đã được thích: 0
    Điểm thành tích: 0
    Re: Học AVR cơ bản qua xem phim

    SVTH:Lê Văn Nam
    Msv:07105061
    Lớp:071051B
    Khoa:Cơ khí động lực
    Tiết học 456 thứ 7
    Đề bài: chương trình điều khiên đèn giao thông


    link youtube
  6. honapon New Member

    Số bài viết: 206
    Đã được thích: 0
    Điểm thành tích: 0
  7. [CKĐ]Espresso New Member

    Số bài viết: 1,019
    Đã được thích: 1
    Điểm thành tích: 0
  8. KN Servant. Servant.

    Số bài viết: 1,291
    Đã được thích: 3
    Điểm thành tích: 0
  9. huynhhuutri1989 New Member

    Số bài viết: 10
    Đã được thích: 0
    Điểm thành tích: 0
  10. Death_vt New Member

    Số bài viết: 9
    Đã được thích: 0
    Điểm thành tích: 0
  11. ngodangtiep New Member

    Số bài viết: 1
    Đã được thích: 0
    Điểm thành tích: 0
  12. NguyenVanMan New Member

    Số bài viết: 1
    Đã được thích: 0
    Điểm thành tích: 0
  13. hoangson New Member

    Số bài viết: 1
    Đã được thích: 0
    Điểm thành tích: 0
  14. fmdsaudoi New Member

    Số bài viết: 2
    Đã được thích: 0
    Điểm thành tích: 0
  15. minhhung_spk New Member

    Số bài viết: 24
    Đã được thích: 0
    Điểm thành tích: 1
  16. langtuvt119 New Member

    Số bài viết: 6
    Đã được thích: 0
    Điểm thành tích: 1
  17. libihockd New Member

    Số bài viết: 1
    Đã được thích: 0
    Điểm thành tích: 0
  18. Junior New Member

    Số bài viết: 196
    Đã được thích: 0
    Điểm thành tích: 0
  19. Kenvilcavy New Member

    Số bài viết: 1
    Đã được thích: 0
    Điểm thành tích: 0
  20. anmottram Member

    Số bài viết: 55
    Đã được thích: 0
    Điểm thành tích: 6
  21. phong_cui17 New Member

    Số bài viết: 1
    Đã được thích: 0
    Điểm thành tích: 0
  22. nguyenvietth New Member

    Số bài viết: 3
    Đã được thích: 0
    Điểm thành tích: 0
    cho em hoi ai bit doan code nay giai thich em voi.cung den giao thong.neu gap truc tiep chi cang tot.
    nguyenviet.tc@gmail.com
    Chip type : ATmega16
    Program type : Application
    Clock frequency : 4.000000 MHz
    Memory model : Small
    External SRAM size : 0
    Data Stack size : 256
    *****************************************************/
    #include <mega16.h>
    #include <delay.h>
    #define tgxanh1 60 // dat thoi gian xanh1
    #define tgvang1 5 // dat thoi gian vang1
    #define tgxanh2 60 // dat thoi gian xanh2
    #define tgvang2 5 // dat thoi gian vang2
    // khai bao bien
    unsigned int bien;
    unsigned char giaidoan,index,index1,index2,chuc1,donvi1,chuc2,donvi2;
    unsigned char tgdo1,tgdo2,tong;
    unsigned char flash MaledAnot[10]={ // khai bao ma led
    0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
    //----------------
    void demc(void)
    {
    bien++;
    if(bien ==100)
    {
    bien=0;
    if(index==0) {index=tong;giaidoan=1;};
    if(index1==0) {index1=tgxanh1;};
    if(index2==0) {index2=tgdo2;};
    index--;
    index1--;
    index2--;
    if(index==(tong-tgxanh1-1))
    {
    index1=(tgvang1-1);
    giaidoan=2;
    }
    if(index==(tgdo1-1))
    {
    index1=(tgdo1-1);
    index2=(tgxanh2-1);
    giaidoan=3;
    }
    if(index==(tgvang2-1))
    {
    index2=(tgvang2-1);
    giaidoan=4;
    }
    }
    }
    //-----------------
    void den(unsigned char gd)
    {
    switch (gd){
    case 1: PORTA=0b11110011; break; // xuat ra led don
    case 2: PORTA=0b11101011; break;
    case 3: PORTA=0b11011110; break;
    case 4: PORTA=0b11011101; break;
    };
    }
    //--------------
    // Declare your global variables here

    // Declare your local variables here
    void giaima(unsigned char code1, unsigned char code2)
    {
    donvi1=code1 % 10; //giai ma hang don vi
    chuc1=code1 / 10;
    donvi2=code2 % 10;
    chuc2=code2 / 10;
    }
    //-------------------
    void hienthi()
    {
    PORTD = 0x02; // xuat ra port d chan so17
    PORTC = MaledAnot[donvi1];
    delay_ms(1);
    PORTD = 0x01;
    PORTC = MaledAnot[chuc1];
    delay_ms(1);
    PORTD = 0x08;
    PORTC = MaledAnot[donvi2];
    delay_ms(1);
    PORTD = 0x04;
    PORTC = MaledAnot[chuc2];
    delay_ms(1);
    }
    //-----------------
    void main(void)
    {
    PORTA=0x00;
    DDRA=0xFF;
    PORTB=0x00;
    DDRB=0xFF;
    DDRC=0xFF;
    PORTD=0x00;
    DDRD=0xFF;
    TCCR0=0x04;
    TCNT0=0x00;
    OCR0=0x00;
    TCCR1A=0x00;
    TCCR1B=0x00;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x00;
    OCR1AL=0x00;
    OCR1BH=0x00;
    OCR1BL=0x00;
    ASSR=0x00;
    TCCR2=0x00;
    TCNT2=0x00;
    OCR2=0x00;

    MCUCR=0x00;
    MCUCSR=0x00;
    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=0x01;

    ACSR=0x80;
    SFIOR=0x00;
    //--------------

    tong = tgxanh1+tgvang1+tgxanh2+tgvang2;
    tgdo1 = tong - tgxanh1-tgvang1;
    tgdo2 = tong - tgxanh2-tgvang2;
    index = tong;
    index1 = tgxanh1;
    index2 = tgdo2;
    giaidoan = 1;
    //--------------------------
    while (1)
    {
    // Place your code here
    giaima(index1,index2);
    hienthi();
    den(giaidoan);
    demc();
    };
    } doan void ay
  23. duclinh1311 New Member

    Số bài viết: 3
    Đã được thích: 0
    Điểm thành tích: 0

Chia sẻ trang này