AVR串口发送程序

发布者:dfdiqc最新更新时间:2016-10-19 来源: eefocus关键字:AVR  串口发送 手机看文章 扫描二维码
随时随地手机看文章
 ATMega32
频率:  8.0MHz
编译器:CodeVisionAVR   1.24.8c

 

串口发送程序
*/


#i nclude
#i nclude
#i nclude

#define uchar unsigned char // 0~255
#define uint unsigned int     // 0~65535    
#define _SPK            PORTB.2
#define _LED            PORTB.3
#define CLI()           #asm("cli")
#define SEI()           #asm("sei")

/**//* UCSRA */
#define RXC     7
#define TXC     6
#define UDRE    5
#define FE      4
#define DOR     3
#define PE      2
#define U2X     1
#define MPCM    0

/**//* UCSRB */
#define RXCIE   7
#define TXCIE   6
#define UDRIE   5
#define RXEN    4
#define TXEN    3
#define UCSZ2   2
#define RXB8    1
#define TXB8    0

/**//* UCSRC */
#define URSEL   7
#define UMSEL   6
#define UPM1    5
#define UPM0    4
#define USBS    3
#define UCSZ1   2
#define UCSZ0   1
#define UCPOL   0

//=============================================================================
// 初始化,闪亮LED
//=============================================================================
void initport(void)
{
    uchar i;
    DDRB = 0xFF;
    PORTB = 0xFF;
    
    for(i=0; i<20; i++)
    {
        _LED = ~_LED;
        delay_ms(100);
    }
    
    _SPK = 0;
    delay_ms(500);
    _SPK = 1;
}
                 
           
#define BAUDRATE    9600
#define F_CPU       8000000
void init_USART(void)//USART 初始化
{
    //USART 9600 8, n,1  PC上位机软件(超级终端等)也要设成同样的设置才能通讯
    UCSRC = (1<     UBRRL= (F_CPU/BAUDRATE/16-1)%256;
    UBRRH= (F_CPU/BAUDRATE/16-1)/256;
    UCSRA = 0x00;
    // UCSRB = (1<     UCSRB = (1< }  

void put_c(unsigned char c) //发送采用查询方式
{
    while( !(UCSRA & (1<     UDR=c;
}

void put_s(unsigned char *ptr)
{
    while (*ptr)
    ...{
        put_c(*ptr++);
    }
    put_c(0x0D);
    put_c(0x0A);  //结尾发送回车换行
}

char ss[10] = "12345";
void main()
{
    DDRB = 0xFF;
    PORTB = 0xFF;
    init_USART();
    initport();
   
    while(1)
    {
        _LED = ~_LED;
        delay_ms(500);
        put_s(ss);
    }
}

关键字:AVR  串口发送 引用地址:AVR串口发送程序

上一篇:一个简单的18B20程序
下一篇:AVR控制4线触摸屏程序

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

Atmel推出新一代的低功耗8位AVR MCU
全球微控制器(MCU)及触控技术解决方案领域的领导者Atmel公司 近日在2014慕尼黑国际电子展上推出了新一代8位megaAVR MCU系列,配备4KB至16KB闪存,并提供新一代增强特性,其中包括更多模拟功能以及面向最新的低功耗消费、工业、白色家电和物联网应用的特性。 自mega168系列于2002年推出以来,Atmel已售出了近10亿件该系列MCU,该系列已成为当今市场上最受欢迎的Atmel 8位AVR MCU。8位megaAVR MCU适用于从爱好者、DIY和创客社区到专业人士、资深设计人员的各级工程师,是汽车、工业、消费电子、白色家电等各类应用的理想选择。Atmel的新一代megaAVR MCU具备前几代产品的所有
[单片机]
AVR单片机电源管理_睡眠模式(低功耗模式)实验
先看芯片手册吧 这对电源及睡眠模式的一个简述,并介绍了进入模式时和唤醒之后的处理(第二段一定好好吸收哦)。 这是控制寄存器的设定进入不同模式的设定,根据需要进入不同的模式。 看到这里,也算了解了。 下面发段代码: /********************************************************** * 文 件 名 : main.c * 描 述 : 低功耗模式的探究 * 创 建 人 : 夏玉峰 * 单 位 : 佳木斯大学 信息电子技术学院 电子协会 * 日 期 : 2012.12.9 * 开 发 环 境: 开发环境:ICCAVR 7.22
[单片机]
Atmel新一代32位AVR UC3L微控制器开始供货
爱特梅尔公司(Atmel Corporation)宣布,其采用picoPower技术、嵌入电容式触摸控制器外设的新一代爱特梅尔32位AVR UC3L 微控制器 ( MCU ) 现已在产供货。爱特梅尔通过将静态功耗降低90%,动态功耗降低45%,为微控制器市场带来了无与伦比的性能/功耗比。新型微控制器具有1.5 DMIPS/MHz性能以及唾手可得的数字信号处理(DSP)指令,可为嵌入式系统工程师带来超越以往的性能指标。这些产品的目标应用包括:USB和蓝牙耳机等音频处理应用、游戏操纵杆和高级语音或触摸人机接口装置。爱特梅尔32位AVR UC3L系列采用非常紧凑的5.5 x 5.5mm TLLGA封装,具有高性能和 低功耗 特性,
[工业控制]
avr单片机eeprom初始化配置及说明
ATmega16 包含 512 字节的 EEPROM 数据存储器。它是作为一个独立的数据空间而存在的,可以按字节读写。 EEPROM 的寿命至少为 100,000 次擦除周期。 EEPROM 的访问 由地址寄存器、数据寄存器和控制寄存器决定。 /* EEPROM 数据存储器 EEPROM 地址寄存器(EEARH 和 EEARL) bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 EEAR7 EEAR6 EEAR5 EEAR4 EEAR3 EEAR2 EEAR1 EEAR0 Res: 保留 保留位,读操作返回值为零。 EEAR8..0
[单片机]
AVR c语言优秀编程风格
文件结构 模块化的程序应该是有一个很好的程序结构的。AVR C语言程序有两种用户文件,.c程序文件,.h头文件,程序中编写过程中需要在.c文件中包含.h头文件。初学者往往出现重复包含或者头文件包含错误的问题,我当时也时常为这种错误而发愁。下面我以我写的电机驱动例程来给大家说明一下,优秀的编程文件结构。 这个工程中有8个文件,一个说明文件,如下图:下载程序例子 电机控制案例 。 我写的成型的程序的文件个数基本上都是偶数,因为每一个结构化的函数定义.c文件都会对应一个.h文件。main.c对应config.h。我们来看看各文件的包含关系。下面我们看看这些文件的包含关系与内容: 所有.c文件都包含了config.h文件。如: #
[单片机]
<font color='red'>AVR</font> c语言优秀编程风格
AVR端口(DDxn,PORTxn)配置及其说明
AVR端口(DDxn,PORTxn)配置及其说明 引脚序号 引脚名称 引脚功能 8 位双向I/O 口, 具有可编程的内部上拉电阻。 其输出缓冲器具有对称的驱动特 性,可以输出和吸收大电流。作为输入使用时, PB5 1 若内部上拉电阻使能,端口被外部电路拉 低时将输出电流。在复位过程中,即使系统 时钟还未起振,端口A 处于高阻状态。
[单片机]
利用STM32 的串口发送和接收数据实验
0目标 1 STM32 串口简介 2 硬件设计 3 软件设计 4 下载验证 0.目标 利用串口 1 不停的打印信息到电脑上,同时接收从串口发过来的数据,把发送过来的数据直接送回给电脑。 1.STM32 串口简介 串口设置的一般步骤可以总结为如下几个步骤: 1) 串口时钟使能, GPIO 时钟使能 2) 串口复位 3) GPIO 端口模式设置 4) 串口参数初始化 5) 开启中断并且初始化 NVIC(如果需要开启中断才需要这个步骤) 6) 使能串口 7) 编写中断处理函数 注:对于复用功能的 IO,我们首先要使能 GPIO 时钟,然后使能复用功能时钟,同时要把 GPIO 模式设置为复用功能对应的模式。 查看
[单片机]
利用STM32 的<font color='red'>串口</font>来<font color='red'>发送</font>和接收数据实验
AVR芯片锁死
AVR芯片锁死的两个情况 AVR锁死的两种情况都是熔丝位配置不正确导致的,当AVR STUDIO无法识别的话,也就是当前没有进入到编程模式下,这种情况用AVR STUDIO是没有办法解决的.现在就需要一个熔丝位烧写软件进行熔丝位进行改变,一般选择PROGISP(不同软件操作界面不同,大致流程相同),然后把ISP线与AVR单片机进行连接,连接好后,在Program State的ISP灯就点亮了,如下图: 一 图一 然后再”自动”按钮右边的”….”按钮下查看熔丝位.就可以对熔丝位进行写入了.如下图所示: 图二 具体的熔丝位配置,需要仔细查看位的功能,最好拿一块没有锁上的AVR读出其熔丝位然后把锁上的板子也按它进行进
[单片机]
<font color='red'>AVR</font>芯片锁死
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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