AVR单片机串口通信程序

发布者:MysticSerenade最新更新时间:2015-07-13 来源: 51hei关键字:AVR单片机  串口通信 手机看文章 扫描二维码
随时随地手机看文章
  单片机的串口在很多时候都是一个有用的通信接口,比如要修改单片机内部的一些变量,就可以直接使用串口通信,将参数发送到单片机,就省去了重新编译下载的麻烦。

    AVR单片机的串口通信功能可谓强大啊,下面就简单说下我在学习时的一些经验。

    实验板是AVR-ATMEGA128A单片机,晶振8MHz。

 

  1、初始化:设置波特率前,要关闭 USART0 的所有使用,包括使能和中断。

  2、设置 UCSR0A: UCSR0A 能写的有 Bit0,Bit1,Bit6,其他 5 位为状态位.我们一般使用的有 Bit1-U2X0,当这一位为 1 时,波特率的分频因子从 16 降到 8,能够有效的将异步通信模式的传输速率加倍,但是这一位仅对异步操作有影响,使用同步操作时应将此位清零。

  3、设置 UCSR0C: Bit6-UMSEL0:USART0 的模式选择0为异步模式,1为同步模式。

    Bit5:4-UPM01:0:奇偶校验模式,00 禁止,01,保留,10 偶校验,11奇校验。

    Bit3-USBS0:停止位的选择 0-停止位为1bit,1 停止位为 2bits

    Bit2:1-UCSZ01:0:字符长度 当 UCSZ02 为0时:00 表示 5 位,01 表示 6 位,10 表示7 位,11表示 8 位。当 UCSZ02 为 1 时,11 表示 9 位(UCSZ02 为 UCSR0B 里的一位寄存器)。

  4、设置 UBRR: UBRR 的设置和这些参数有关:U2X0,CPU 频率,波特率

  5、然后就是设置 UCSR0B:Bit7-RXCIE0 为接收结束中断使能,Bit6-TXCIE0 为发送结束中断使 ,Bit4-RXEN0 为接收使能,Bit3-TXEN0 为发送使能。一般情况下,接收使用中断方式,所以使用接收结束中断使能。

 

 

下面是源代码:

 

/*
 * usart.c
 *
 * Created: 2011/7/2 15:48:36
 *  Author: YIN
 */

#include
#include
#include
volatile unsigned char temp;
void init()
{
 UCSR0B=0x00;
 UBRR0H=0x00;
 UBRR0L=51;
 UCSR0A=0x00;
 UCSR0C=0x06;
 UCSR0B=0x98;
 sei();
 DDRF=0xff;
 PORTF=0xff;
 DDRD=0xf0;
 DDRA=0xff;
 
}
void delay()
{
 unsigned int i;
 i=100;
 while(i--);
}

int main(void)
{
 init();
    while (1);            //等待中断
}

SIGNAL(SIG_UART0_RECV)    //将上位机发送的数据发送回上位机显示
{
 temp=UDR0;
 PORTA=~temp;
 UDR0=temp;
}

关键字:AVR单片机  串口通信 引用地址:AVR单片机串口通信程序

上一篇:AVR单片机-数码管1
下一篇:超声波测距模块+AVR单片机控制程序

推荐阅读最新更新时间:2024-03-16 14:24

轻松搞懂STM32F407串口通信(USART)
串口通信就是一个码元一个码元的发送数据,并行通信就是多个码元同时发送,码元简单来说就是承载信息的信号单位,如二进制码元就通过高低电平来承载信息,那么一个码元就是一个高电平或低电平。 串口基础标准 串口数据帧格式 这张图描述了串口的一个数据帧格式 1:空闲电平为高电平 2:起始信号为下降沿加上一个位的低电平 3:传输数据(通常为八位的,也有些标准定义为其他位数) 4:校验位,这里分为奇偶校验和01校验,当然也可以没有这个位,也就是不需要校验 (1)奇校验:在数据中,1的个数为奇数该位为1,1的个数为偶数则该位为0; (2)偶校验:在数据中,1的个数为偶数该位为1,1的个数为奇数数则该位
[单片机]
轻松搞懂STM32F407<font color='red'>串口通信</font>(USART)
avr单片机按键程序
  什么是avr单片机   AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced InstrucTIon Set CPU) 精简指令集高速8位单片机。可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。AVR单片机是 Atmel 公司 1997 年推出的 RISC 单片机。RISC(精简指令系统计算机)是相对于CISC(复杂指令系统计算机)而言的。RISC 并非只是简单地去减少指令,而是通过使计算机的结构更加简单合理而提高运算速度的。   RISC 优先选取使用频率最高的简单指令,避免复杂指令:并固定指令宽度,减少指令格式和寻址方式的种类,从而缩短指令周
[单片机]
<font color='red'>avr单片机</font>按键程序
基于AVR单片机的ISP1362OTG设计
   0 引言   随着PDA、移动电话、数码相机、打印机等消费类产品的普及,用于这些设备与电脑、或设备与设备之间的高速数据传输技术越来越受到人们的关注。以往以计算机为核心的数据传输结构,非常不利于USB,总线在嵌入式行业的应用,也不适用于野外作业,而OTG技术的推出则可实现在没有PC的情况下,设备与设备之间的数据传输,它拓展了USB技术的应用范围。本文采用的设计方案是基于Philips公司的ISP1362 OTG控制芯片,参照最新的USB OTG技术规范,设计了一种遵循USB协议的主/从机系统。    1 ISP1362芯片的内部结构   Philips公司的ISP1362是一款符合USB 2.0总线协议的接口芯片,内部有
[单片机]
STM8S103串口通信初始化设置
硬件: STM8单片机(很裸,就一个单片机加俩电容) ST-Link V2仿真器 PL2103 USB转TTL小板 声明部分 uart.h #ifndef __UART_H__ #define __UART_H__ //#include “stm8s.h” #include “define.h” //Fcpu=8M时波特率设置 #define UART_RATE_1200 (uint16)6666 //0x1a0a #define UART_RATE_2400 (uint16)3333 //0xd05 #define UART_RATE_4800 (uint16)1667 //0x683 #define UART_T
[单片机]
自制AVR单片机ISP下载线电路解析
自制AVR 单片机 ISP下载线 单片机编程器的作用是将调试好的程序烧写到单片机的 存储器 中。本文介绍的AVR单片机ISP下载线的成本只有10元左右,非常适合初学者自制。 AVR单片机的程序可以使用串行在线编程(ISP)方式下载写入,即可直接在 电路 板上进行程序的烧写和修改,所需的装置就是一根ISP下载线。 本文介绍的ISP下载线使用计算机的并口对单片机编程.不仅支持AVR单片机,也支持对51单片机中AT89S系列单片机的编程。 一、下载线电路 下载线的电路见图1。该下载线是STK200/300型的下载线。74HC244是8 缓冲器 电路,用来作计算机并口和单片机的缓冲隔离。图1中的LPT连接到计算机的并口,作计算
[单片机]
自制<font color='red'>AVR单片机</font>ISP下载线电路解析
AVR单片机定时/计数器学习笔记(一)
(具体的寄存器配置方式见mega16数据手册) 定时/计数器1(16位)有普通模式、CTC模式、快速PWM模式、相位修正PWM模式等工作模式。 1.普通模式(设为溢出中断工作方式,向量号为9) 工作原理:在设定的时钟频率下,计数寄存器由初值逐次加1,当达到计数最大值(65535)时,溢出,执行中断子程序。 需要配置的寄存器:T/C1控制寄存器B(TCCR1B)、计数寄存器(TCNT1H和TCNT1L)、T/C1中断屏蔽寄存器(TIMSK)。 (1)由TCCR1B的bit2、bit1、bit0设置时钟频率(有内部和外部) (2)由TCNT1H和TCNT1L设置计数初值(注意应先写H,再写L) (3)由T
[单片机]
avr单片机定时器0溢出中断程序
2014年2月17日22:26:32 芯片名称: AVR (艾特梅尔公司)mega16A 微控制器芯片; 开发板: 自主研发的 YF-A1芯片开发板; (YF :是本人名字缩写 ) 第53次试验,用逻辑分析仪捕捉,输出于IO口的数字,脉冲信号,脉冲信号宽度:1.5~1.8微妙,每9~11个脉宽1.5us的信号时序中,夹杂着一个脉宽位为3微妙的高脉冲信号. 我用了好几个小时都计算不出定时器0内部的时钟频率........哪里出错了呢? 外部用12兆晶体整荡器; 我的计算结论是:定时器0内部频率为32khz ,但是这显然有问题. 定时器时钟为内部8分频 TCCR0=0X0
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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