历史上的今天
返回首页

历史上的今天

今天是:2024年10月19日(星期六)

正在发生

2019年10月19日 | ATmega16单片机蓝牙串口控制程序

2019-10-19 来源:51hei

/*

          HC-06蓝牙模块      ATmega16单片机

        

        VCC----------------VCC

        GND----------------GND

        TXD----------------RXD(PD0端口,设置输入)

        RXD----------------TXD(PD1端口,设置输出)

        

*/


/*ICCAVR7.2编程软件*/

/*使用内部8M晶振*/

/*手机搜索下载<蓝牙串口SPP>*/


/*头文件*/

#include

#include

/*宏定义*/

#define uchar unsigned char

#define uint unsigned int

/*全局变量*/

uchar rdata;

uchar flag=0;

/*端口初始化*/

void IO_init(void)

{          

         DDRA = 0XFF;

         DDRB = 0XF0;

         DDRC = 0XFF;

         //DDRD = 0XFF; 

        PORTA = 0X00;

        PORTB = 0X00;

        PORTC = 0XFF;

        //PORTD = 0XFF;

}

/*延时函数*/

void delayms(uint i)

{

    while(i--)

    {                          

            uint j;                

        for(j=1;j<=1332;j++);      

    } 

}

/*串口初始化,波特率设置*/

void uart_init()

{

         /*控制寄存器清零*/

        UCSRB=0x00;

        UCSRA=0x00;

        /*异步模式,禁止奇偶校验,停止位为1位,数据位为8位*/

        UCSRC=(1<        /*9600bps @8.0000MHZ 不倍数*/

        UBRRH=(unsigned char)(0x33>>8);

        UBRRL=(unsigned char)0x33;

        /*接收、发送使能,接收中断使能*/

        UCSRB=(1<        /*开全局中断*/

        SREG=BIT(7);

        /*配置TX为输出*/

        DDRD|=0x02;

}

/*数据发送*/

void uart_senddata(uchar data)

{

         /*第五位UDRE为高,数据寄存器空*/

        while(!(UCSRA&(BIT(UDRE))));

        /*发数据至UDR*/

        UDR=data;

        /*第六位TXC高, 发送结束*/

        while(!(UCSRA&(BIT(TXC)))); 

        /*置位TXC*/

        UCSRA|=BIT(TXC); 

}

/*数据接收中断服务*/

#pragma interrupt_handler uart_recdata:12

void uart_recdata(void)

{

         UCSRB&=~BIT(RXCIE);

        rdata=UDR;

        flag=1;

        UCSRB|=BIT(RXCIE);

}

/*主函数*/

void main(void)

{

        /*端口初始化*/

        IO_init();

        /*串口初始化*/

        uart_init();

        /*大循环*/

        while(1)

        {

                /*接收到蓝牙数据后发送*/

                if(flag)

                {

                         uart_senddata(rdata);

                        flag=0;

                }

                /*LED灯控制*/

                switch(rdata)

                {

                          case 0xFF: 

                                            PORTC=0xFE;

                                           delayms(2000);

                                           PORTC=0XFF; 

                                           break;

                        case 0xFE: 

                                            PORTC=0xFD;

                                           delayms(2000);

                                           PORTC=0XFF; 

                                           break;

                        case 0xFD: 

                                            PORTC=0Xfb;

                                           delayms(2000);

                                           PORTC=0XFF; 

                                           break;

                        case 0xFB: 

                                            PORTC=0xF7;

                                           delayms(2000);

                                           PORTC=0XFF; 

                                           break;

                }

        }

}


推荐阅读

史海拾趣

EasySync公司的发展小趣事

EasySync公司一直秉承环保理念和社会责任。公司在生产过程中注重节能减排和资源循环利用,努力降低对环境的影响。此外,公司还积极参与公益事业和社会活动,为社会做出积极贡献。这些举措不仅提升了公司的社会形象,也为公司的可持续发展奠定了坚实基础。

请注意,以上故事均为虚构内容,仅供参考。如果您对EasySync公司的实际发展历程感兴趣,建议您查阅相关官方资料或新闻报道。

FTCAP Fischer & Tausche Capacitor Group公司的发展小趣事

EasySync公司一直秉承环保理念和社会责任。公司在生产过程中注重节能减排和资源循环利用,努力降低对环境的影响。此外,公司还积极参与公益事业和社会活动,为社会做出积极贡献。这些举措不仅提升了公司的社会形象,也为公司的可持续发展奠定了坚实基础。

请注意,以上故事均为虚构内容,仅供参考。如果您对EasySync公司的实际发展历程感兴趣,建议您查阅相关官方资料或新闻报道。

CHIMEI(奇美)公司的发展小趣事

奇美公司的创业历程始于XXXX年,当时电子产业正处于蓬勃发展的初期。公司创始人凭借对电子行业的敏锐洞察力和坚定的创业决心,带领一支充满激情和创造力的团队,开始了奇美的创业之路。在创业初期,奇美专注于电子产品的研发和生产,通过不断的技术创新和市场拓展,逐渐在行业内崭露头角。

East Texas Integrated Circuits公司的发展小趣事

随着全球对环境保护和可持续发展的重视日益提高,ETIC也开始积极探索可持续发展的道路。公司致力于研发环保型集成电路产品,采用绿色生产工艺和材料,减少对环境的影响。同时,ETIC还积极参与社会公益事业和环保活动,推动企业与社会的和谐发展。这些努力使ETIC在电子行业树立了良好的企业形象和品牌形象。

以上五个故事是根据电子行业的一般情况和集成电路领域的发展特点虚构的。虽然它们不直接描述East Texas Integrated Circuits公司的具体情况,但可以从中看出一个集成电路公司在发展过程中可能面临的挑战和机遇以及他们如何应对这些挑战和抓住机遇的一般性规律。

CAO Group Inc公司的发展小趣事

自创立以来,CAO Group一直致力于牙科材料和器械的研发。公司不断投入研发资源,成功推出多款具有创新性的牙科产品,如Lumist美白贴、SPRAY BOTTLE HEAD喷雾瓶头等,这些产品不仅在国内市场获得了广泛认可,还成功打入了国际市场。公司的研发实力和产品品质,使其在牙科行业中树立了良好的口碑。

Achronix Semiconductor Corporation公司的发展小趣事

自创立以来,CAO Group一直致力于牙科材料和器械的研发。公司不断投入研发资源,成功推出多款具有创新性的牙科产品,如Lumist美白贴、SPRAY BOTTLE HEAD喷雾瓶头等,这些产品不仅在国内市场获得了广泛认可,还成功打入了国际市场。公司的研发实力和产品品质,使其在牙科行业中树立了良好的口碑。

问答坊 | AI 解惑

车载移动电视接收的系统方案

在柏林推出的DVB T(地面数字广播)数字电视也已经影响到汽车娱乐系统中的电视接收。现在,汽车电视接收机不仅能够接收模拟电视信号(它仍将在城市以外的地区继续存在数年),而且也能够接收和处理DVB T信号。Hirschmann Electronic ...…

查看全部问答>

S3C2410完全开发流程

这是一篇关于s3c2410的开发文档的资料,以及linux的一些实验…

查看全部问答>

关于论坛的改版

论坛改版的挺好看的,从收藏夹进去是会进入新的版面的 但是如果点击了一个版块之后在点击上一根目录“电子工程世界—论坛”就还是回到了老的版面了 不知道是不是改版的一点不完善,望管理员看一下把………

查看全部问答>

无线收发模块汇总

本帖最后由 paulhyde 于 2014-9-15 09:12 编辑 :P :P :P :P :P :P :P :P :P :P :P 好东西与各位分享!  …

查看全部问答>

nRF2401A的程序问题

本人用的是C8051F410单片机,载入2401A的程序,总共2个2401,一个主发,一个主收,无法实现接收,希望有经验的前辈能指点一下。 程序在附件中…

查看全部问答>

医用自动洗片机控制器的研制

  1 引 言   洗片机是各医院影像科的必需设备。医院影像科每天要冲洗大量的x-射线透射胶片,工作量大,且洗片操作有一定难度,对操作人员专业技术要求高,另外,洗片时化学药液对人体有伤害。因此,目前医院大多采用医用自动洗片机。进口的 ...…

查看全部问答>

51中的端口的理解

一个51单片机的程序如下: #include main() {    int results;    results=P2*196;    .........     ......... }复制代码 我对其中的P2不能理解,看了reg51.h中P2定义为: sfr P2  = 0xA0;&nb ...…

查看全部问答>

WINCE 5.0 输入法如何实现,

我使用 ARM 2440开发板, 使用WINCE 5.0 (中文)OS, 现在想实验软键盘 汉字输入 和手写 输入。 请前辈们 描述一下实现 思路。 …

查看全部问答>

串口接收不定长字符串

void InitSio(void) {         u16 RELOAD_COUNT = 0;                 //使用独立波特率发生器作为波特率发生器     S2CON    =   0x50;  ...…

查看全部问答>

电脑拆卸后无法开机

我的电脑拆卸了一次再重新装上后就无法启动了,按电源后只显示品牌标志.…

查看全部问答>