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}

16led dich trai,phai

Thảo luận trong 'Vi điều khiển - Mạch Số' bắt đầu bởi ngosicuong07, 5 Tháng một 2011.

  1. ngosicuong07 New Member

    Số bài viết: 15
    Đã được thích: 0
    Điểm thành tích: 1
    //////////////////16led dich trai,phai/////////////////////
    #include <htc.h>
    __CONFIG(INTIO & WDTDIS & PWRTEN & MCLREN & UNPROTECT & DUNPROTECT & BORDIS & IESODIS & FCMDIS & LVPDIS);
    void delay_ms(int ms);
    void main()
    {
    //////////khoi tao port/////////
    ANSEL=ANSELH=0;
    TRISB=0;
    TRISD=0;
    unsigned char i;
    unsigned int a;
    while(1){
    //a=0x0001;//diem sang dau tien cho dich trai
    a=0x8000;//diem sang dau tien cho dich phai
    for(i=0;i<16;i++){
    PORTD=a%256;//tach byte thap
    PORTB=a/256;//tach byte cao
    //a=a<<1;//dich trai
    a=a>>1;//dich phai
    delay_ms(50);
    }

    }
    }
    void delay_ms(int ms)
    {
    int i;
    for(i=0;i<ms;i++){
    _delay(1000);//=1ms
    }
    }
    //////////////////16 sang dan tu trai->phai va nguoc lai/////////////////////
    #include <htc.h>
    __CONFIG(INTIO & WDTDIS & PWRTEN & MCLREN & UNPROTECT & DUNPROTECT & BORDIS & IESODIS & FCMDIS & LVPDIS);
    void delay_ms(int ms);
    void main()
    {
    //////////khoi tao port/////////
    ANSEL=ANSELH=0;
    TRISB=0;
    TRISD=0;
    unsigned char i;
    unsigned int a;
    while(1){

    a=0x8000;//diem sang dau tien tu trai->phai
    for(i=0;i<16;i++){
    PORTD=a%256;//tach byte thap
    PORTB=a/256;//tach byte cao
    a=(a>>1)+0x8000;//dich phai va cong voi 1000 0000 0000 0000
    delay_ms(50);
    }
    a=0x0001;//diem sang dau tien tu phai->trai
    for(i=0;i<16;i++){
    PORTD=a%256;//tach byte thap
    PORTB=a/256;//tach byte cao
    a=(a<<1)+0x0001;//dich trai va cong voi 0000 0000 0000 0001
    delay_ms(50);
    }

    }
    }
    void delay_ms(int ms)
    {
    int i;
    for(i=0;i<ms;i++){
    _delay(1000);//=1ms
    }
    }
  2. nhok New Member

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

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

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

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

    Số bài viết: 103
    Đã được thích: 0
    Điểm thành tích: 0
    Cái này là lập trình C cho vi điều khiển, chắc là viết trên Keil C, nhìn dễ hiểu chứ viết bằng ASM chắc nhìn đuối !:)>-
  7. thanhkht New Member

    Số bài viết: 156
    Đã được thích: 0
    Điểm thành tích: 0
    lập trình cho chip PIC phải không bạn,code bạn khá hay nhưng cũng hơi phức tạp 1 chút,có nhiều cách lập trình đơn giản hơn và hay nửa
  8. ngosicuong07 New Member

    Số bài viết: 15
    Đã được thích: 0
    Điểm thành tích: 1
    Uhm , vdk PIC 16f887, viết trên HI-TECH C đó , cách này viết hơi dài nhưng dễ hiểu , tất nhiên còn nhiều cách khác nữa mà ! các bạn có cách khác hay hơn cùng UP lên cho mọi người tham khảo !
  9. pro_and_brao Moderator

    Số bài viết: 484
    Đã được thích: 8
    Điểm thành tích: 18
    thank bạn đã share!
    để giúp đở cho các bạn mới học vdk thì bạn nên up cả hình ảnh lên nữa nhé!!
  10. lydainghiep Moderator

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

Chia sẻ trang này