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}

8 led dịch trai->phải PIC

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
    ///////////////////8led 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;#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
    }
    }
    unsigned char a,i;
    while(1){
    //a=0x80;//hexa
    a=0x01;
    for(i=0;i<8;i++){
    PORTB=a;//PORTB=0b10000000
    //a=a>>1;//dich phai 1bit
    a=a<<1;//dich trai 1bit
    delay_ms(100);// 1s(chay chuong trinh con delay_ms,lap 100 lan
    }

    }
    }
    void delay_ms(int ms)
    {
    int i;
    for(i=0;i<ms;i++){
    _delay(1000);//=1ms
    }
    }
    [IMG][IMG][IMG]

Chia sẻ trang này