历史上的今天
返回首页

历史上的今天

今天是:2024年11月08日(星期五)

正在发生

2019年11月08日 | 蓝牙定时开关APP软件(附51单片机参考程序)

2019-11-08 来源:51hei

APP发送字符“1”至“7”数字。比如第一组定时发送的是字符“1”。第二组定时发送字符“2”.....一共7组。可用串口助手测试,电脑与蓝牙模块通信连接,如图1.所示。

 

单片机源程序如下:

#include

#include

#define uchar unsigned char

#define uint unsigned int

uchar tmp;

uint c=0;

sbit led1=P1^0;                    //指示灯0

sbit led2=P1^1;                        //指示灯1

sbit led3=P1^2;                        //指示灯3

sbit led7=P1^7;                        //指示灯3


sbit P2_0 = P2^0;

sbit P2_1 = P2^1;

sbit P2_2 = P2^2;

sbit P2_3 = P2^3;


uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,

                        0xf8,0x80,0x90};


void delay1(uint z)//1ms

{

        uint x,y;

        for(x=z;x>0;x--)

                for(y=120;y>0;y--);        

}

void display(uchar value)

{

    uchar shu1,value1;

        value1=value-48;

        //bai=value1/16;

        shu1=value1%16;



   P0=table[shu1];

   P2_0 = 0;

   delay1(1);

   P2_0 = 1;

}        

          

void init();   //串口初始化

void send(unsigned char a);        //单字节发送函数

void ctrl(); //接收处理函数


void main()

{

                init();

          while(1)

          {         

                  display(SBUF);

                                  if(RI==1)                     // 是否有数据到来

                  {

                   RI = 0;

                                  ctrl();

                                  }       

          }

}


void init()        //串口初始化

{

                   ES=0;                                                                  //关中断

                  SCON = 0x50;                        // REN=1允许串行接受状态,串口工作模式1,

                                                                                          //10位UART(1位起始位,8位数据位,1位停止位,无奇偶校验),波特率可变


                  TMOD = 0x20;                        // 定时器1工作于方式2,8位自动重载模式, 用于产生波特率

          TH1=TL1=0xFD;                       // 波特率9600 (本次测试采用晶振为11.0592)

          

          PCON &= 0x7f;                       // 波特率不倍增

          TR1 = 1;                                                          //定时器1开始工作,产生波特率

                                                                                          //发送标志位置0

                  TI=0;                                                                  //接收标志位置0

                  RI=0;

                  

                  //EA=0;

              ES=1;

}

   

void send(unsigned char a)        //单字节数据发送

{                                                        //注意:若单片机TXD(P3.1)无上拉能力,必须在P3.1端接上拉电阻。本次测试需要接上拉电阻

        TI=0;        

        SBUF=a;

        while(TI==0);

        TI=0;


        if(c%2)                                        //发送指示灯标志,每接收一次,此灯亮灭交替

         led7=1;

        else

         led7=0;

        c++;


void ctrl()                            //接收处理函数

{

                                    switch(tmp)

                                  {

                                          case '1':

                                                led1=1;                                   //收到字符1,指示灯0灭

                                                send(tmp);

                                                break;                                        

                                        case '2':                                         //收到字符2,指示灯1灭

                                                 led2=1; 

                                                 send(tmp);

                                                 break;

                                        case '3':                                    //收到字符3,指示灯0、1亮

                                                 led1=0;

                                                 led2=0;

                                                 send(tmp);

                                                 break;

                                        case '4':                                        //收到字符4,指示灯0、1灭

                                                  led1=1;

                                                  led2=1;

                                                  send(tmp);

                                                  break;

推荐阅读

史海拾趣

极海半导体(Geehy)公司的发展小趣事

机顶盒,这一在现代家庭娱乐中占据重要地位的设备,全称为数字视频变换盒,它不仅是连接电视机与外部信号源的桥梁,更是数字电视技术与互联网融合创新的结晶。从广义上讲,机顶盒泛指所有与电视机连接的网络终端设备,它们能够接收来自有线电缆、卫星天线、宽带网络及地面广播的数字信号,并将其转换为适合电视播放的格式。

从功能划分上,机顶盒可分为数字机顶盒和网络机顶盒两大类。数字机顶盒主要负责数模转换,使模拟电视机也能收看数字电视节目;而网络机顶盒则进一步融入了互联网功能,提供更为丰富的互动娱乐体验,如在线视频、网络购物、社交媒体浏览等。近年来,随着技术的发展,网络机顶盒不断升级,支持高清、超高清视频播放,并集成人工智能技术,实现语音控制、智能推荐等功能,为用户带来更为便捷、智能的观影体验。

在技术层面,机顶盒的发展深受高清、超高清、云计算、边缘计算以及5G等新兴技术的推动。这些技术的应用不仅提升了机顶盒的性能,还为其内容的创新提供了强有力的支持。同时,随着市场竞争的加剧,机顶盒厂商不断优化产品设计,提升用户体验,以满足用户对高质量娱乐内容日益增长的需求。

综上所述,机顶盒作为家庭娱乐的重要组成部分,正通过技术的不断创新和市场的持续发展,为用户提供更加丰富、便捷、智能的观影体验。

飞翼科技(FEIYI)公司的发展小趣事

在电子行业中,艾迪沃德公司(Beijing IDworld Science & Technology Development Co., Ltd.)的发展历程充满了技术创新与市场拓展的亮点。以下是五个关于艾迪沃德公司发展起来的相关故事,每个故事均基于事实描述,旨在展现其成长轨迹。

1. 创立与技术创新起点

艾迪沃德公司成立于2004年6月,自创立之初便确立了以研究、开发国际先进指纹识别技术为基本战略的发展方向。在那个指纹识别技术刚刚兴起的时代,艾迪沃德凭借其前瞻性的视野,迅速投入到这一领域的探索中。公司自主研发的指纹识别技术,经过不断迭代与优化,逐渐成为了业界公认的优秀指纹识别核心算法之一。这一技术突破不仅为公司赢得了市场的初步认可,更为后续的产品开发奠定了坚实的基础。

2. 产品多元化与市场拓展

随着技术的不断成熟,艾迪沃德开始将指纹识别技术应用于更多领域,推出了包括指纹考勤机、指纹门禁系统、指纹保险柜在内的多元化产品系列。这些产品凭借其高安全性、便捷性和稳定性,迅速在市场中占据了一席之地。特别是在安防、金融、教育等行业,艾迪沃德的产品得到了广泛应用,进一步巩固了其在指纹识别领域的市场地位。

3. OEM与ODM业务的发展

为了满足不同客户的定制化需求,艾迪沃德积极拓展OEM(原始设备制造商)和ODM(原始设计制造商)业务。公司凭借其强大的研发能力和生产能力,为众多合作伙伴提供从产品设计、生产到售后的全方位服务。这一业务模式不仅为公司带来了稳定的收入来源,还进一步提升了艾迪沃德在电子行业中的知名度和影响力。

4. 技术支持与解决方案提供

艾迪沃德深知技术支持对于客户的重要性,因此公司组建了一支专业的技术支持团队,为客户提供包括技术咨询、方案设计、系统集成在内的全方位服务。无论是大型项目还是小型应用,艾迪沃德都能根据客户的具体需求,提供量身定制的解决方案。这种以客户为中心的服务理念,赢得了客户的广泛赞誉和信赖。

5. 国际合作与品牌建设

在国际化战略的推动下,艾迪沃德积极参与国际交流与合作,与多家国际知名企业建立了良好的合作关系。通过引进国外先进技术和管理经验,艾迪沃德不断提升自身的竞争力和创新能力。同时,公司还加大了品牌建设的力度,通过参加国际展会、发布新品等方式,提升品牌知名度和美誉度。这些努力不仅为公司带来了更多的国际合作机会,也为艾迪沃德在全球电子行业中树立了良好的品牌形象。

Embedded Planet公司的发展小趣事

Embedded Planet公司始终关注社会责任的履行。公司积极参与公益事业和慈善活动,为社会做出了积极贡献。例如,公司捐赠了一批嵌入式系统设备给偏远地区的学校和教育机构,帮助他们改善教学条件和提高教育质量。此外,公司还积极参与环保和扶贫等公益活动,用实际行动践行企业的社会责任。

请注意,以上故事仅为示例,并非真实发生的事件。如果您需要更详细和具体的信息,建议您查阅Embedded Planet公司的官方网站或相关新闻报道。

Continental Industries公司的发展小趣事

经过多年的发展,Continental Industries已经成为电子行业中的佼佼者。公司不断追求创新和发展,积极拓展新的业务领域和市场空间。未来,随着电子行业的不断发展和变革,Continental Industries将继续保持敏锐的市场洞察力和强大的技术实力,努力成为行业的领导者。

这五个故事展示了Continental Industries在电子行业中的发展历程和取得的成就。虽然无法涵盖公司的全部发展细节,但通过这些故事,我们可以感受到公司在技术创新、市场拓展、合作共赢、应对挑战以及持续发展等方面的努力和成果。

GSG公司的发展小趣事
智能压力测量电路采用先进的传感器技术和数字信号处理算法,能够实现更高的测量精度。
CP Technology Inc公司的发展小趣事

CP Technology Inc成立之初,便专注于半导体技术的研发。公司研发团队成功开发出一种高效能、低功耗的芯片,这一创新为公司的快速崛起奠定了基石。随着技术的不断完善和产品的广泛应用,CP Technology Inc逐渐在半导体市场上占据了一席之地。公司通过持续的技术创新和产品迭代,不断满足市场需求,赢得了客户的信赖和支持。

问答坊 | AI 解惑

☆★☆★☆★【电子设计】资料收藏区(2012.03更新)!!!☆★☆★☆★

作为新的版主,为了活跃此版,我会努力地!!!虽然没有机会再参加下届的全国大学生电子设计竞赛了,但是我希望给下一届的朋友们留下一点东西,希望你们能够取得好成绩!也衷心希望大家能够支持我哈! 在此谨把我在今年参加大赛时候收集的自认为一些比 ...…

查看全部问答>

请教一个问题,大虾们请指教。

程序如下:process (clk)begin  if rising_edge (clk) then      S_1<=S_1 +1;     O_1<=S_1;  else     null;   end if;end process;其中,S_1是 ...…

查看全部问答>

求解图片内嵌代码

听说图片之中可以嵌入代码,不知道怎么回事,希望知道的说一下…

查看全部问答>

makefile的问题,请大侠帮忙指点一下,多谢

makefile文件有这样一句,我想事先看看APP_PRJ是什么内容,应该怎么做,多谢 APP_LIB      = $(APP_PRJ)/lib…

查看全部问答>

proteus支持哪些微处理器

我是个新手,不拍拍砖,重在学习,微芯的支持吗?…

查看全部问答>

招聘兼职PDA 软件开发(北京)

本公司需要开发一套PDA点检系统,欢迎有开发经验的联系!hj3850@163.com   13511070298 qq:942582560…

查看全部问答>

PB调试

各位大虾,小弟有一个问题请教。PB有没有象VC那样的单步调试方法啊。 我现在调试都是把NK编译好,然后下载进去调试,这样做的话效率相对比较的低。 比如我写了一个驱动程序,就必须编译把NK烧进去才能调试,有没有不用烧进去,象VC那样F10功能那 ...…

查看全部问答>

车辆信息的无线采集系统

希望管理员支持,谢谢…

查看全部问答>

STM32F103的ADC采样问题

怎样才能不间断采样呢? 我现在的方法:ADC12采样AB相的电压和电流,ADC3采样C相电压和电流,用TIM1的CC2和CC3作为触发,DMA传输采样数据,半传输完成后计算一次,计算期间进行下一个采样,整传输完成后,重新给DMA采样数据个数。 问题是: ...…

查看全部问答>

FPGA实现冒泡排序

冒泡排序的FPGA实现。…

查看全部问答>