99久久亚洲女同一区二区_国产成人亚洲欧美二区综_中国精品一级毛片免费播放_午夜福利深夜XX00视频无卡顿_动漫人物打扑克牌又疼又叫_中午字幕在线播放_深夜福利网站在线_国产成人免费福利网站_欧美成年黄网站色高清视频_欧美色黄禁片短视频

固話:0592-8011678 熱線:13306028255 客服 :
 

單片機(jī)

AVR USART接收中斷程序

分類:單片機(jī) 發(fā)布:2019-03-20 10:47:17 瀏覽:374次 Tag:

使用AVR的USART進(jìn)行自發(fā)自收(將發(fā)送引腳RXD短接到接收引腳TXD),發(fā)出數(shù)據(jù):0,1,2。。。數(shù)據(jù),能接收到自己發(fā)出的數(shù)據(jù):0,1,2。。。使用LED作出簡單指示。 
USART自發(fā)自收,使用PB口的LED指示接收到的數(shù)據(jù),觀察是否與發(fā)送的數(shù)據(jù)一致。

#include

#define DISP_PORT PORTB

#define DISP_DDR  DDRB


/*

程序功能:初始化UART為:8位,9.6K,接收中斷

注意事項(xiàng):基于7.3728M晶振  

程序名稱:UART初始化程序

*/

void uart0_init (void)

{

    UCSRB = 0x00;   //disable while setting baud rate

    UCSRA = 0x00;   //U2X = 0,不加倍數(shù)率

    UCSRC = 0x86;   //固定的

    /*  設(shè)置幀格式 : 8 個數(shù)據(jù)位 , 2 個停止位 */

    //UCSRC = (1<

    UBRRL = 47;     //set baud rate lo,波特率為9.6K   

    //UBRRL=(fosc/16/(baud+1))%256; fosc是晶振,baud為波特率

    UBRRH = 0x00;   //set baud rate hi

    UCSRB = 0x98;   //接收中斷允許,接收緩沖自動清空,接收允許  

}

/*程序名稱:UART接收中斷服務(wù)程序*/

#pragma interrupt_handler uart0_rx_isr:12

void uart0_rx_isr(void)

{

  DISP_PORT = UDR;//顯示接收到的數(shù)據(jù)

                  //如:接收到"1",顯示0X31

//delay50ms(1);

}


void mcu_init(void)

{

    CLI(); 

    uart0_init();

    MCUCR = 0x00;

    GICR  = 0x00;

    TIMSK = 0x00;   //timer interrupt sources

    SEI();          //re-enable interrupts

}

void main()

{

    uint8 counter=0;


    mcu_init();


    DISP_DDR=0xFF;


    while(1)

    {

        UDR=counter++;          //發(fā)送數(shù)據(jù),數(shù)據(jù)為變量counter

        while(!(UCSRA&0x40));   //等待發(fā)送結(jié)束

         //Bit 6 – TXC: USART  發(fā)送結(jié)束

//發(fā)送移位緩沖器中的數(shù)據(jù)被送出,且當(dāng)發(fā)送緩沖器 (UDR) 為空時

//TXC 置位。執(zhí)行發(fā)送結(jié)束中斷時 TXC 標(biāo)志自動清零,

//也可以通過寫 1 進(jìn)行清除操作。

        UCSRA|=0x40;            //清除發(fā)送結(jié)束標(biāo)志位 

        delay50ms(4);

    }

}



相關(guān)文章
在線留言聯(lián)系我們
電話:0592-8011678
傳真:0592-8011678
聯(lián)系人:王女士
24H熱線:13306028255
聯(lián)系QQ: 656368133
郵箱:656368133@qq.com
網(wǎng)址:633100.cn
QQ在線咨詢
銷售電話:
13306028255
0592-8011678
656368133
掃碼添加微信