新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > avr uart仿真實驗 PROTEUS virtual terminal

        avr uart仿真實驗 PROTEUS virtual terminal

        作者: 時間:2016-11-13 來源:網絡 收藏
        注意PROTEUS virtual terminal的設置如下圖。advanced properties中,一定要選擇inverted否則結果出錯

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

        #include
        #include
        //#include
        //#include "skey.c"
        #define uchar unsigned char
        #define uint unsigned int
        #define MCLK 8000000
        uchar str[]="http://hi.baidu.com/282280072/blog";
        void delay(uint ms)
        {
        uint i,j;
        for(i=0;ifor(j=0;j<1141;j++);
        }
        void uart_init(uint baud)
        {
        UCSRB=0x00;
        UCSRA=0x00; //控制寄存器清零
        UCSRC=(1< //選擇UCSRC,異步模式,禁止 //校驗,1位停止位,8位數據位

        baud=MCLK/16/baud-1; //波特率最大為65K
        UBRRL=baud&0xff;
        UBRRH=(baud>>8)&0X0F; //設置波特率
        UCSRB=(1< //接收、發送使能,接收中斷使能
        //SREG=BIT(7); //全局中斷開放
        DDRD|=BIT(1); //配置TX為輸出(很重要)

        }
        void uart_sendB(uchar data)
        {
        while(!(UCSRA&BIT(UDRE)));//等待數據reg為空
        UDR=data;//寫數據
        while(!(UCSRA&BIT(TXC)));//等待數據發送結束
        UCSRA|=BIT(TXC);//清除發送結束標志
        }

        void uart_sentString(uchar *s)
        {
        while(*s)
        {
        uart_sendB(*s++);
        }

        }
        void main()
        {
        uchar i=4;
        uchar j=a;

        uart_init(19200);
        for(i=0;i<20;i++)
        {
        uart_sendB(j+i);
        uart_sendB(j+i);
        //delay(15);
        //下面兩條命令輸出換行
        uart_sendB(0x0d);
        uart_sendB(0x0a);
        //delay(15);
        }

        uart_sentString(str);
        //uart_sendB(j);
        //uart_sendB(j+1);
        //uart_sendB(j+2);
        }



        關鍵詞: avruart仿真實

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 桦甸市| 江源县| 莲花县| 如东县| 凌源市| 扶绥县| 化德县| 蒙阴县| 西安市| 长子县| 安义县| 雷波县| 四会市| 灵寿县| 秦皇岛市| 金寨县| 五原县| 海门市| 克山县| 涿州市| 吴桥县| 宁蒗| 茂名市| 庆安县| 玛曲县| 义马市| 宝清县| 麻江县| 繁昌县| 石林| 海林市| 遂平县| 西城区| 绍兴市| 邹城市| 霍城县| 新营市| 斗六市| 运城市| 天祝| 玉树县|