#include
#include
int k=0,i=0,j=0;
char s[4];
/*
*程序的作用是将电脑端发送过来的数据再发送回去
*/
void usart0_init()
{
UCSR0A=0X00;
UCSR0B = 0x00;
UCSR0C=0X00;
UCSR0C=(1<
UBRR0L=51;//波特率 8MHZ下9600
UBRR0H=0;
UCSR0B=(1<
PORTE=0X03;
DDRE=0X02; //单片机端口RX0与TX0要有作用,RX0对应的PE扣设为输入模式,且要上拉有效,TX0要设为输出模式
}
int main(void)
{
DDRA=0XFF;
PORTA=0XFF;
DDRB=0XFF;
PORTB=0X00;
usart0_init();
sei();
while(1)
{
PORTA=(s[0]<<8)+s[0];
}
}
/*
*接收结束中断
*/
ISR(USART0_RX_vect)
{
cli();
if(i<2)
{
s[i]=UDR0;//每次接受4个字符
i++;
}
else
{
i=0;
while(!(UCSR0A&(1<
sei();//这句与下一句不能调换位置,否则可能出错
UDR0=s[0];
}
}
/*
*发送结束中断
*/
ISR(USART0_TX_vect)
{
cli();
j++;
while(!(UCSR0A&(1<
if(j<2)UDR0=s[j];//
else j=0;
sei();
}
关键字:AVR 中断收发 atemga128A
引用地址:
AVR中断收发程序atemga128A
推荐阅读最新更新时间:2024-03-16 15:17
AVR驱动3.2英寸tft LCD(ssd1289)
管脚连接 D0 PA0 D5 PA5 D10 PD2 D15 PD7 D1 PA1 D6 PA6 D11 PD3 CS PB0 D2 PA2 D7 PA7 D12 PD4 RS PB1 D3 PA3 D8 PD0 D13 PD5 WR PB2 D4 PA4 D9 PD1 D14 PD6 RD PB3 RESET PB4 #inc
[单片机]
AVR单片机在无线自动报靶系统中的应用
目前,在野外射击训练考核中,大部分还是通过人工报靶的方法,带有很多人为因素(如报靶人员的主观性、情绪等),影响报靶的结果,使得射手不能正确了解自己的成绩,不利于打靶水平的提高。虽然现在市面上出现了一些自动报靶产品,但这些产品的成本高、系统比较复杂,并且占用场地。因此,本文根据实际训练需要,研制出了集轻武器射击训练所需的所有功能于一体的、基于AVR单片机的一种无线自动报靶系统。该系统包括精确和非精确报靶,射击成绩的自动实时显示、统计和打印,可以满足多种武器和多种射击模式的训练需求,对目标的隐显时机、次数、间隔等均按训练大纲要求由电脑自动控制,既可同时监控多个(25个)靶位的射击情况,也可单独监控一个靶位的射击情况。 1 系统组成
[工业控制]
BASCOM-AVR利用AVR-DOS库读写SD卡
试验了用BASCOM读写SD卡,完全可以把SD卡当作磁盘来操作,与VB/QB语法兼容,编程非常简单。 AVR-DOS介绍 Features: · Read and writeASCII-Files · Read and writeBinary-Files · Drivers available forCompact Flash Cards, Hard disk, MMC, SD etc. · Completly integrated inBASCOM-AVR Compiler · QB/VB compatible syntax · Completly written inAVR-Assembler (fast a
[单片机]
avr单片机 PWM调速程序及原理图
源程序: #include iom16v.h #include macros.h #define uint unsigned int #define uchar unsigned char #define Left OCR1A #define Right OCR1B #define ADD 1.15; //宏定义,加速系数 uchar i; uchar flag; //是否减速标志位 uchar TCRT5000_IN; uint Max_Speed; uchar Min_Speed; /************************************************* 函数名称:Init
[单片机]
avr单片机+12864液晶动画显示
折腾了3天12864液晶,终于有了进展。自己用所学知识完成了一些特殊功能。现在,12864可以完成在指定位置写入文字,绘制128*64的图形,绘制Wide*Height的图形(宽度必须为8的倍数,因为行的数据形式为字节)等。 下面将源代码贴上: /* * _12864.c * * Created: 2011/7/30 23:16:04 * Author: YIN */ #include avr/io.h #include avr/pgmspace.h // #include QQ.h // #include chiken.h #include TSJ.h #define uint unsigned int
[单片机]
avr单片机SPI串行外设接口初始化配置及说明
串行外设接口 SPI允许 ATmega16 和外设或其他 AVR 器件进行高速的同步数据传输。7 种可编程的比特率,主机或从机操作,全双工, 3 线同步数据传输,可以从闲置模式唤醒 ,作为主机时具有倍速模式 (CK/2) /* PB7 SCK (SPI 总线的串行时钟 ) PB6 MISO (SPI 总线的主机输入 / 从机输出信号 ) PB5 MOSI (SPI 总线的主机输出 / 从机输入信号 ) PB4 SS (SPI 从机选择引脚 ) SCK 端口 B, Bit 7 SCK :SPI 通道的主机时钟输出,从机时钟输入端口。工作于从机模式时,不论 DDB7 设
[单片机]
AVR单片机学习(六)中断与定时器
中断的概念 M16的外部中断 定时器的概念 M16的定时器 中断方式使用定时器 中断概念 一、在程序运行期间,发生非预期的紧急事件 1、通常是为了避免查询方式的程序设计(它低效因为一直查询,死循环一直不停查询) 2、用的最多的是外部中断与定时器中断(主要产生一些精确地延时,省去了CPU延时CPU延时就不能干其他事情了所以可以提高CPU效率) 3、外部中断:按键程序 4、定时器中断:定时与循环扫描应用场合 二、中断服务程序 1、中断发生时,主程序暂停,跳转到中断服务程序,称为 相应中断 2、执行完毕后返回主程序继续运行 一、M16具有3个外部中断 1、M16具有3个外部中断 2、INT0、INT1:
[单片机]
基于AVR单片机并采用分立元件构成的125 kHz RFID
0 引言 无线射频识别(Radio Frequency Identification,RFID)是利用感应、电磁场或电磁波为传输手段,完成非接触式双向通信、获取相关数据的一种自动识别技术。该技术完成识别工作时无须人工干预,易于实现自动化且不易损坏,可识别高速运动物体并可同时识别多个射频卡,操作快捷方便,已经得到了广泛的应用。 目前存在的一些读卡器,都需要读卡芯片作为基站,成本较高。本文介绍了一种采用分立元件构成的125 kHz RFID阅读器,电路结构简单,成本极低,用于读取EM4100型ID卡。 1 RFID系统的分类 RFID系统的分类方法有很多,在通常应用中都是根据频率来分,根据不同的工作频率,可将其分
[单片机]