一个基于AVR单片机的串口通讯例程

发布者:EnigmaticCharm最新更新时间:2016-10-21 来源: eefocus关键字:AVR单片机  串口通讯 手机看文章 扫描二维码
随时随地手机看文章
此程序是应用了ATMega128芯片,是以查询方式发送,中断方式接受数据,有问题可以交流!希望对大家有帮助!

//ICC-AVR application builder : 2007-6-10 
// Target : M128
// Crystal: 7.3728Mhz
//作者:Caterpillar
#include
#include

//UART0 initialize
// desired baud rate: 9600
// actual: baud rate:9600 (0.0%)
// char size: 8 bit
// parity: Disabled
//*************************************************************begin
unsigned char data[16];
unsigned char data1,sampleNumber1,Datalength;
void uart0_init(void)//******串口初始化程序
{
 UCSR0B = 0x00; //disable while setting baud rate
 UCSR0A = 0x00;
 UCSR0C = 0x0E; //8位数据位,1位停止位
 UBRR0L = 0x2F; //波特率寄存器低8位  波特率为9600
 UBRR0H = 0x00; //波特率寄存器高4位
 UCSR0B = 0x98; //接受中断使能、接受使能、发送使能
}

#pragma interrupt_handler uart0_rx_isr:19//*****串口以中断方式接受数据
void uart0_rx_isr(void)
{
 //uart has received a character in UDR
 unsigned char j=0;
 CLI();
 data[0]=UDR0;
 if(data[0]==0x68)//**起始位检测
  {
   do
   {
    while(!(UCSR0A & (1<     sendchar(data[j]);
    j++;
    data[j]=UDR0;
    
    if(data[j]==0x16)//**结束位检测
     {
      Datalength=j;
      break;
     }
      
   }while(1);
  }
 Dataprocessing();//***********数据处理
 SEI();
}

void sendchar(unsigned char data1)//**********串口以查询方式发送数据
{
 while(!(UCSR0A & (1<  UDR0=data1;
 
}


void Dataprocessing(void)//**********接收到PC用串口传送过来的数据,进行相应的处理。
{

}


void main(void)
{
 init_devices();
 while(1);//*********死循环,等待中断触发
}

关键字:AVR单片机  串口通讯 引用地址:一个基于AVR单片机的串口通讯例程

上一篇:AVR 单片机与GCC 编程使用方法
下一篇:C51单片机和AVR单片机的区别

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

AVR单片机的主要特性及应用解析
AVR单片机是ATMEL公司研发的增强型内置Flash的RISC精简指令集高速8位单片机,设计时吸取了8051及PIC单片机的优点,具备单时钟周期执行一条指令的能力,运行速度高达1Mips/MHz。AVR单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。 AVR单片机硬件结构采取8位机与16位机的折中策略,即采用局部寄存器存堆(32个寄存器文件)和单体高速输入/输出的方案(即输入捕获寄存器、输出比较匹配寄存器及相应控制逻辑),提高了指令执行速度,克服了瓶颈现象,增强了功能;同时又减少了对外设管理的开销,相对简化了硬件结构,降低了成本。AVR单片机在软/硬件开销;速度、性能和成本诸多方面取
[单片机]
<font color='red'>AVR单片机</font>的主要特性及应用解析
lPC1788的串口通讯
#ifndef __DEBUGSERIAL_H_ #define __DEBUGSERIAL_H_ #include sys.h #include stdio.h extern u8 serialBuffer ; extern u16 serialStatus; //ڰ void Debug_Serial_Init(u32 baud); void Debug_Serial_Send_Byte(u8 dat); void Debug_Serial_Send_Buffer(u8 length,u8* buffer); #endif #include debugSerial.h //加
[单片机]
AVR单片机的调频立体声收音机设计解析
引言 早期的数字FM处理芯片TEA5767由Philips公司开发并被广泛地使用,但该芯片需要外加音频放大电路才能驱动耳机。鉴于此,国内锐迪科微电子公司独立开发了一颗具备高接收灵敏度的FM立体声数字芯片RDA5807P,具有自动搜台、重低音、静音、休眠、直接驱动耳机等优异的性能。本文介绍用RDA5807P芯片设计和制作了一款带遥控功能的收音机。 1 收音机总体设计方案 收音机的总体设计框图如图1所示。本收音机采用单节3.7 V、容量1500 mAh的锂电池作力电源,在使用寿命期内可以用手机充电器反复对它进行充电,使用非常方便。采用低功耗的AVR单片机ATmega8L作为微控制器,负责处理和协调各模块电路的工作,AT
[单片机]
<font color='red'>AVR单片机</font>的调频立体声收音机设计解析
AVR单片机全系列性能参数表
AVR单片机全系列性能参数表 包括:tiny11,tiny12,tiny13,tiny15L,tiny2313,tiny26,tiny26L,tiny28L,tiny28V,90S1200, 90S2313 Mega128,Mega128L,Mega16,Mega16L,Mega162,Mega162L,Mega162V, Mega169,Mega169L,Mega169V,Mega32,Mega32L 包括:Mega48,Mega88,Mega168,Mega64,Mega64L,Mega8,Mega8L,Mega8515, Mega8515L,Mega8535,Mega8535L
[单片机]
<font color='red'>AVR单片机</font>全系列性能参数表
AVR单片机---串口发送
第一种方法: void send1_1byte(uchar k) { while(UCSR1A.5==0){;} UDR1=k; while(UCSR1A.6==0){;} UCSR1A.6=1; } void send0_1byte(uchar k) { while(UCSR0A.5==0){;} UDR0=k; while(UCSR0A.6==0){;} UCSR0A.6=1; } 这种方法常用。 第二种方法: putchar(k);
[单片机]
AVR单片机-- I/O口的使用
简介:本文章主要通过程序控制实现按键控制LED 灯的亮灭,按一下亮,再按一下灭,如此循环往复,并学习AVR 单片机的I/O口如何配置为输入和输出。 //文件名:delay_rest.c //文件描述:实现按键控制LED 灯的亮灭,按一下亮,再按一 //下灭,如此循环往复。 //实验目的:学习AVR 单片机的I/O口如何配置为输入和输出 //当前版本号:V1.0 //--------------------------------------------------------------------- //----------------------------start------------------
[单片机]
基于AVR单片机的数字正弦逆变电源设计
摘要:提出一种高性能的直流-交流(DC-AC)数字式正弦逆变电源的设计方法。采用SG3525A与AVR系列单片机AT90PWM2作为控制器进行设计。SG3525A产生PWM波进行前端的推挽升压控制,通过直流母线上高电压的负反馈,使得全桥逆变的输入电压保持稳定。AT9OPWM2的波形发生器产生SPWM波形对后级全桥逆变进行控制,通过采样全桥逆变后的输出电流以及输出电容电压,实现双闭环控制,使得逆变电源在各种不同类型负载条件下都能具备良好的输出特性以及负责效应。实验结果表明:1 kW样机性能稳定,逆变效率大于90%,在不同种类的满功率的负载条件下均能保持电压精度为220 V±l%,频率精度50 Hz±O.1%,THD小于l%。 关键词
[单片机]
基于<font color='red'>AVR单片机</font>的数字正弦逆变电源设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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