访问电脑版页面

导航:老古开发网手机版AVR单片机ATMega8系列单片机

atmega8 例程:USART串口通信

导读:/****************************************************************** 函数库说明:ATMEGA8 串口通信* 版本: v1.0 * 说明: 查询发送、中断
关键字:
atmega8,usart,串口通信,

/*****************************************************************

* 函数库说明:ATMEGA8 串口通信

* 版本: v1.0

* 说明: 查询发送、中断接收

*

******************************************************************

*注意: RXD PD0

* TXD PD1

******************************************************************/

#include

#include interrupt.h>

//晶振频率

#define F_CPU 6000000UL

//波特率

#define BAUD 9600

/*****************************************************************

** 名称:void Init_Usart(void)

** 功能:atmega8 串口初始化

** 入口参数:无

** 出口参数:无

** 使用说明:查询发送,中断接收,8位数据位,1位停止位,9600波特率

*****************************************************************/

void Init_Usart(void)

{

//设置波特率

UBRRH = (F_CPU / BAUD / 16 - 1) / 256;

UBRRL = (F_CPU / BAUD / 16 - 1) % 256;

//接收中断使能,接收使能,发送使能

UCSRB |= (1 << RXCIE) | (1 << RXEN) | (1 << TXEN);

}

/*****************************************************************

** 名称:void Send_Char(char data)

** 功能:atmega8 串口发送字符

** 入口参数:data 发送字符

** 出口参数:无

** 使用说明:查询发送

*****************************************************************/

void Send_Char(char data)

{

//查询方式发送

while(!(UCSRA & (1 << UDRE)));

UDR = data;

}

//主函数

int main(void)

{

Init_Usart();

//总中断使能

sei();

//发送一个字符a

Send_Char('a');

while(1);

return 0;

}

//定义接收字符

volatile char rev_data;

//串口接收中断

SIGNAL(SIG_UART_RECV)

{

rev_data = UDR;

//发送接收到的字符

Send_Char(rev_data);

}


来源:互联网   作者:karen  2018/12/12 13:40:01
栏目: [ ATMega8系列单片机]

相关阅读

atmega8 例程:USART串口通信

ATmega8多数的I/O口外部中断问题

atmega8 例程:系统库函数的延迟

atmega8 例程:PWM

atmega8 例程:AD中断方式采集

ATmega8控制STA013和MMD/SD卡的电路图

atmega8 默认内部RC振荡 + 解锁

用 Atmega8 实现D触发锁存器的功能

ATmega8驱动74HC595程序

基于ATmega8的电动车蓄电池智能管理系统设计

让atmega8可以和飞思卡尔xs128一样对IO引脚进行定义

ATMega8 查询方式 A/D转换测试程序

基于ATmega8的超声波倒车雷达实现方案

8 位AVR® 微处理器 ATmega8515 ATmega8515L

基于Stm32F101和Atmega8的投影机升降控制设计

ATmega8单片机与时钟器件DS3231的接口设计

[转载]基于Atmega8及MSM7512的嵌入式Modem设计

ADF7020+ATMEGA88原理应用

基于ATmega8的新型电动自行车调速控制系统设计

ATmega8 ATmega8L 单片机