新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于Proteus仿真的AVR單片機串口程序

        基于Proteus仿真的AVR單片機串口程序

        作者: 時間:2016-10-19 來源:網絡 收藏

          以前在上做過51的串口仿真沒有成功,昨天再次嘗試atmega16的串口仿真居然成功了;當然仿真是最簡單的,實際做事的時候需要加上max232芯片,但仿真時就不需要了,

        本文引用地址:http://www.104case.com/article/201610/311532.htm

          程序功能:由串口助手向單片機發送一組數據“I LOVE YOU-----SBILY1988”,單片機收到數據后發送回串口助手,

          數據傳輸方向:計算機——>單片機; 單片機——>計算機;

          現送上仿真圖和程序:

          

         

          #include

          #include

          void init();

          void send(unsigned char);

          unsigned char receive();

          void main()

          {unsigned char i=0,a=300;

          init();

          while(1)

          {

          i=receive();

          send(i);

          }

          }

          void init() //初始化函數

          {

          UCSRB=BIT(4)|BIT(3); //使能發送和接收器

          UCSRC=BIT(7)|(3<<1); //設置數據幀格式(8數據位)

          UBRRH=0; //設置波特率為8MHZ晶振下 9600bps

          UBRRL=51;

          }

          void send(unsigned char data) //數據發送

          {

          while(!(UCSRA&BIT(5))); //等待發送緩沖器準備完畢

          UDR=data;

          while(!(UCSRA&BIT(6))); //等待發送結束

          UCSRA&=BIT(6);

          }

          unsigned char receive() //數據接收

          {unsigned char data=0;

          while(!(UCSRA&BIT(7))); //等待數據接收完畢

          data=UDR;

          return data;

          }



        關鍵詞: Proteus AVR

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 武汉市| 吉木乃县| 依安县| 寻甸| 合作市| 广德县| 常州市| 吴川市| 安新县| 涿州市| 灵丘县| 巨鹿县| 从江县| 晋州市| 太原市| 南涧| 和田县| 临高县| 长葛市| 新干县| 巴林右旗| 中卫市| 古蔺县| 白山市| 凤翔县| 开化县| 特克斯县| 建阳市| 吴桥县| 麻江县| 巴彦淖尔市| 濉溪县| 深泽县| 新余市| 高陵县| 迁西县| 繁昌县| 商河县| 开化县| 泗水县| 泰宁县|