<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> STM32 >> 瀏覽文章

        stm8串口收發例程

        作者:huqin   來源:本站原創   點擊數:  更新時間:2014年05月01日   【字體:

         #include "stm8s105c_s.h"

        #define LED PG_ODR
         
        #define shuzhi PB_ODR
        long int a;
        char t,f='1';
        int shumaguan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
        int o,i,u,y,k=-1;
        void xianshi(void)
        {
        while(1)
        {
        PD_ODR=0B00001110;
         
        shuzhi=shumaguan[y];
        for(a=0;a<1000;a++);
        PD_ODR=0B00001101;
        shuzhi=shumaguan[u];
        for(a=0;a<1000;a++);
        PD_ODR=0B00001011;
        shuzhi=shumaguan[i];
        for(a=0;a<1000;a++);
        PD_ODR=0B00000111;
        shuzhi=shumaguan[o];
        for(a=0;a<1000;a++);
        }
        }
        void jingzhen(void)//開16兆晶振
        {
        CLK_ECKR |=0x1;           //開啟外部時鐘    
          while(!(CLK_ECKR&0x2)); //等待外部時鐘   
          CLK_CKDIVR &= 0xF8;     //CPU無分頻 16M   
          CLK_SWR = 0xB4;            //選擇外部時鐘    
          while(!(CLK_SWCR&0x8));   
          CLK_SWCR |=0x2;           //使能外部時鐘
        }
        void Init_UART2(void)
        {
        UART2_CR1=0x01;//8字節、校驗中斷使能
        UART2_CR3=0X00;//1個停止位
        UART2_BRR2=0X01;//設置波特率
        UART2_BRR1=0X67; //設置波特率           
        UART2_CR2=0x2c;  //使能發送、接收模式\開接收中斷
        }
        @far @interrupt void UART2_Recv(void)//接收中斷
        {
        PG_ODR=~PG_ODR;
        t=UART2_DR;
        k++;
        if(k==0)
        o=t-48;
        if(k==1)
        i=t-48;
        if(k==2)
        u=t-48;
        if(k==3)
        y=t-48;
        if(k==4)
        {k=k-4;
        o=t-48;
        }
        return;
        }
         
        main()
        {
        PG_DDR=0B10;
        PG_CR1=0B10;
        PD_DDR=0B00001111;
        PD_CR1=0B00001111;
        PB_DDR=0XFF;
        PB_CR1=0XFF;
        jingzhen();
         
        Init_UART2();
        _asm("rim");
        while(1)
        {
        xianshi();
        }
        }
         
        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮