AVR 串口使用

发布者:Blissful444最新更新时间:2016-10-06 来源: eefocus关键字:AVR  串口使用 手机看文章 扫描二维码
随时随地手机看文章
#include

#define uchar unsigned char 
#define uint unsigned int
#define BUFFER_LENGTH 11


unsigned char Receive_Calc = 0;
unsigned char UART_Receive_Buffer[11]={0};
unsigned char UART_Send_Buffer[]={'w','F',0,0,'V',0,'A',0,0,'R',0};

//########################################################### 
/*串口初始化函数*/
void Uart_Init(void)
{           
    UCSRA = (1<     UCSRB = (1<     UCSRC = (1<
    UBRRH=0x00;                                         // 设置波特率寄存器低位字节
    UBRRL=95;                                           //9600 (7.3728MHz)   // 设置波特率寄存器高位字节 
    
    SREG_I = 1;                                         // 开总中断
    DDRD_Bit1=1;                                        // 配置TX 为输出(很重要)
}
//########################################################### 
/*发送一个字符数据,查询方式*/
void Uart_Transmit_Char(unsigned char data)
{
     while(!(UCSRA&(1<                                                         // 也可以写成 while(UCSRA_UDRE==0);   
     UDR = data;                                        // 发送数据
}
//########################################################### 
/*发送字符串*/
void Uart_Transmit_String(unsigned char *ptr)
{
unsigned char i ;
i = BUFFER_LENGTH ;
    while(i--)
    {
        Uart_Transmit_Char(*ptr++);
    }
}
//########################################################### 
/*中断接收*/
#pragma vector=USART_RXC_vect 
__interrupt void USART_RXC_Server(void) 

UART_Receive_Buffer[Receive_Calc ++] = UDR ;                               // 将收到的值赋值给变量
if(Receive_Calc >= 11)
{
    Receive_Calc = 0;
}

//########################################################### 
/*主函数*/ 
void main(void)
{
Uart_Init();
while(1)
{
    Uart_Transmit_Char(0x0d);
    Uart_Transmit_Char(0x0a);

}
关键字:AVR  串口使用 引用地址:AVR 串口使用

上一篇:AVR单片机入门系列(25)AVR PWM OC0
下一篇:AVR 的下载和仿真标准接口

推荐阅读最新更新时间:2024-03-16 15:13

Atmel 90系列AVR单片机烧录器
AVRPRO烧录器,是针对ATMEL公司的90系列AVR精简指令单片机设计的专用烧录工具该产品只有软件部分,无需硬件支持,仅仅只需4根线,将计算机并口和用户板相连,这都是因为采用了ISP串行编程。软件支持擦、写、校验、写保护位以及批处理。使用极其方便。 该产品的最大优点有: 1.使用串行编程,达到了在线编程,节省了购买万用编程器和适配器的费用(万用编程器需2千元左右,适配器需3、4百元,并各个芯片和封装需不同适配器)。用户板也无需在焊插座(带来可靠性下降),而且为软件升级带来了极大的便利。 2.使用方便,无需硬件,给现场调试带来了极大的便利,不用再带笨重的编程器,而且为AVR单片机的使用上带来了方便。 3.价格实在太便
[单片机]
基于AVR单片机的LED显示屏控制系统的研究
   1 引言   LED 显示屏是八十年代后期在全球迅速发展起来的新型信息传播媒体,是集微电子技术、光电子技术、计算机技术、信息处理技术于一体的大型显示系统。它以其色彩鲜艳、动态范围广、亮度高、寿命长、工作性能稳定而日渐成为显示媒体中的佼佼者,广泛应用于广告、证券、信息传播、新闻发布等方面, 是目前国际上较为先进的宣传显示媒体 .本文提出了一种主从式单片机的LED 显示屏解决方案, 该设计方案利用AVR 单片机自身的FLASH ROM 和RAM,外部无需任何存储电路,电路结构简单。   2 系统的工作原理及总体方案设计   2. 1 AVR 单片机   AVR 单片机是增强型内置Flash 的RISC(Reduc
[电源管理]
基于<font color='red'>AVR</font>单片机的LED显示屏控制系统的研究
基于AVR单片机PWM功能的数控恒流源电路设计与产品研制
随着电子技术的深入发展,各种智能仪器越来越多,涉及领域越来越广,而仪器对 电源 的要求也越来越高。现今,电源设备有朝着数字化方向发展的趋势。然而绝大多数数控电源设计是通过高位数的 A/D 和 D/A 芯片来实现的,这虽然能获得较高的精度,但也使得成本大为增加。本文介绍一种基于AVR单片机PWM功能的低成本高精度数控恒流源,能够精确实现0~2A恒流。 系统框图 图1为系统的总体框图。本系统通过小键盘和 LCD 实现人机交流,小键盘负责接收要实现的 电流 值,LCD12864负责显示。AVR单片机根据输入的电流值产生对应的PWM波,经过 滤波 和 功放 电路 后对压控恒流元件进行控制,产生电流,电流再经过采样 电阻 到达
[单片机]
基于<font color='red'>AVR</font>单片机PWM功能的数控恒流源电路设计与产品研制
中断应用设计要点
AVR的中断源比较多,尤其是ATmega128,一共有35个外部以及内部中断源。通常情况下,Flash程序存储器空间的最低位置(0x0000-0x0045)定义为复位和中断向量空间。完整的中断向量见第二章表 2-23。在中断向量表中,处于低地址的中断向量所对应的中断拥有高优先级,所以,系统复位RESET拥有最高优先级。 A.中断设计注意点: 1.具备Bootloader功能的AVR,其中断向量区可以在Flash程序存储器空间最低位置和Bootloader区的头部来回迁移,这主要用于配合Bootloader程序的应用。如果不使用Bootloader功能,一般不要中断向量区进行迁移。 2.Flash较小的AVR芯片,其一个中断向
[单片机]
爱特梅尔针对AVR推出电容式触摸感应开发工具套件
爱特梅尔公司(Atmel® Corporation),宣布推出一套支持采用AVR®微控制器开发电容式触摸按钮、滑块和滑轮的完整开发工具套件QTouch Suite。这一套件包含了适用于AVR微控制器的全新QT600开发板、QTouch Studio、AVR Studio® 和QTouch Library SW开发包。 爱特梅尔的QT600套件为评测和设计触摸功能提供了一个功能强大的环境。QT600具有设计调整功能,可让设计人员使用自己的触摸感应电路板,配置不同的微控制器板卡,或直接将QT600板卡连接到自己的应用产品上。 爱特梅尔的QTouch工具套件可在使用8位和32位AVR® 微控制器的应用中开发和
[单片机]
爱特梅尔针对<font color='red'>AVR</font>推出电容式触摸感应开发工具套件
AVR128的程序——12864液晶与ds1302与ds18b20的综合运用
此程序包含子文件 #include iom128v.h #include macros.h #include 12864lcd.h #include ds1302.h #include ds18B20.h void mcu_init(void) { DDRA = 0XFF; PORTA = 0XFF; DDRC = 0XFF; PORTC = 0XFF; DDRF |= 0X0E; PORTF |= 0X0E; PORTF &= 0xF0; DDRB |= 0X10; PORTB
[单片机]
AVR单片机下载烧录快速入门
存储器 锁定位(2)保护类型LB模式LB2LB1 111没有使能存储器保护特性210在并行和SPI/JTAG串行编程模式中Flash和EEPROM的进 一步编程被禁止,熔丝位被锁定。(1)300在并行和SPI/JTAG串行编程模式中Flash和EEPROM的进 一步编程及验证被禁止,锁定位和熔丝位被锁定(1)BLB0模式BLBO2BLB01 111SPM 和LPM 对应用区的访问没有限制210不允许SPM 对应用区进行写操作300不允许SPM 指令对应用区进行写操作,也不允许运行于 Boot Loader 区的LPM指令从应用区读取数据。若中断向量 位于Boot Loader 区,那么执行应用区代码时中断是禁止 的。401不允许运
[单片机]
<font color='red'>AVR</font>单片机下载烧录快速入门
S3C2440串口的基本使用
2440A有三个串口,我们使用串口0对它进行了解熟悉。 首先肯定是应该找到手册上串口0所对应的引脚,然后配置相应寄存器。 串口0对应GPIO H的 2,3 串口在单片机中我们已经有很多使用经验了,对于协议采用 8-N-1,8bit数据位,无校验,1停止位。 说明波特率的计算方式: 把串口对应IO配置成 TX和RX功能之后,我们需要对指定寄存器进行读写操作,实现串口的接发。 具体的寄存器就不贴出来了。手册上都有,这里不使用FIFO和中断方式,只是最基本的接发操作。 main.c: #include s3c2440_gpio.h #include s3c2440_soc.h #include uart.h
[单片机]
S3C2440<font color='red'>串口</font>的基本<font color='red'>使用</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved