您的位置 首页 分销

AVR USART(UART)发送中止程序 运用缓冲器

系统功能使用AVR的USART进行自发自收(将发送引脚RXD短接到接收引脚TXD),发出数据:0,1,2。。。数据,能接收到自己发出的数据:0

体系功用

   运用AVRUSART进行自发自收(将发送引脚RXD短接到接纳引脚TXD),宣布数据:0,1,2。。。数据,能接纳到自己宣布的数据:0,1,2。。。运用LED作出简略指示!

硬件规划


AVR主控电路原理图(点击图片扩大,不需要扩大镜!

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材料阐明

可作为如下AVR的参考材料: ATtiny13 ATtiny24 ATtiny44 ATtiny84 ATtiny2313 ATtiny26 ATmega48 ATmega88 ATmega168 ATmega8 ATmega16 ATmega32 ATmega64 ATmega128 ATmega162 ATmega169 ATmega169P ATmega8515 ATmega8535

 相关AVR类型材料

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部