系统功能使用AVR的USART进行自发自收(将发送引脚RXD短接到接收引脚TXD),发出数据:0,1,2。。。数据,能接收到自己发出的数据:0
运用AVR的USART进行自发自收(将发送引脚RXD短接到接纳引脚TXD),宣布数据:0,1,2。。。数据,能接纳到自己宣布的数据:0,1,2。。。运用LED作出简略指示!
|
|
下面部分从TXT拷出,拷到网页,代码部分缺省了许多空格,比较杂乱,请谅解!
//方针体系: 根据AVR单片机 //应用软件: ICC AVR
/*01010101010101010101010101010101010101010101010101010101010101010101 ———————————————————————- 试验内容: USART自发自收,运用PB口的LED指示接纳到的数据,调查是否与发送的数据共同。 ———————————————————————- 硬件衔接: 将MCU.RXD与MCU.TXD运用短路帽短接,将PB口的LED指示灯使能开关心换到”ON”状况。 ———————————————————————- 注意事项: (1)若有加载库程序,请将光盘根目录下的“库程序”下的“ICC_H”文件夹拷到D盘 (2)请具体阅览:光盘根目录下的“产品材料开发板试验板SMK系列SMK1632阐明材料” ———————————————————————- 10101010101010101010101010101010101010101010101010101010101010101010*/
#include #include “D:ICC_HCmmICC.H”
#define DISP_PORT PORTB #define DISP_DDR DDRB
/*——————————————————————– 程序称号:UART初始化程序 程序功用:初始化UART为:8位,9.6K,接纳中止 注意事项:根据7.3728M晶振 提示阐明:晶振不要买到假的,要不然,调不出来还认为电脑有鬼! 输 入: 返 回: ——————————————————————–*/ void uart0_init(void) { UCSRB = 0x00; //disable while setting baud rate UCSRA = 0x00; //U2X = 0,不加倍数率 UCSRC = 0x86; //8位 UBRRL = 47; //set baud rate lo,波特率为9.6K UBRRH = 0x00; //set baud rate hi UCSRB = 0x98; //接纳中止答应,接纳缓冲主动清空,接纳答应 } /*——————————————————————– 程序称号:UART接纳中止服务程序 程序功用: 注意事项: 提示阐明: 输 入: 返 回: ——————————————————————–*/ #pragma interrupt_handler uart0_rx_isr:12 void uart0_rx_isr(void) { DISP_PORT = UDR;//显现接纳到的数据 //用串口调试帮手发送数据,则单片机端显现数据对应的ASCII值,如:接纳到”1″,显现0X31 //delay50ms(1); } /*——————————————————————– 程序称号: 程序功用: 注意事项: 提示阐明: 输 入: 返 回: ——————————————————————–*/ void mcu_init(void) { CLI(); uart0_init(); MCUCR = 0x00; G%&&&&&%R = 0x00; TIMSK = 0x00; //timer interrupt sources SEI(); //re-enable interrupts } /*——————————————————————– 程序称号: 程序功用: 注意事项:没什么好说的。。。 提示阐明: 输 入: 返 回: ——————————————————————–*/ void main() { uint8 counter=0;
mcu_init();
DISP_DDR=0xFF;
while(1) { UDR=counter++; //发送数据,数据为变量counter while(!(UCSRA&0x40)); //等候发送完毕 UCSRA|=0x40; //铲除发送完毕标志位 delay50ms(4); } }
|
短接RXD与TXD能接纳到自己发送的数据,断开短接没有接纳到数据。 体系不断发送数据:0,1,2。。。若正常接纳,将收到0,1,2。。。。 用LED作数据指示,LED往上加,阐明体系程序正常履行。
|
可作为如下AVR的参考材料: ATtiny13 ATtiny24 ATtiny44 ATtiny84 ATtiny2313 ATtiny26 ATmega48 ATmega88 ATmega168 ATmega8 ATmega16 ATmega32 ATmega64 ATmega128 ATmega162 ATmega169 ATmega169P ATmega8515 ATmega8535
ATtiny13 |
ATtiny24 |
ATtiny44 |
ATtiny84 |
ATtiny26 |
ATtiny2313 |
ATmega48 |
ATmega88 |
ATmega168 |
ATmega8 |
ATmega16 |
ATmega32 |
ATmega64 |
ATmega128 |
ATmega162 |
ATmega169 |
ATmega8515 |
ATmega8535 |
AVR USART(UART)接纳中止程序
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/fenxiao/256409.html