找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1523|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

求助單片機藍牙觸控燈的程序問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:768433 發(fā)表于 2021-2-8 17:16 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <reg52.h>
#include <stdio.h>
#include "lcd1602.h"
//ADC0809
sbit CLK=P3^4;        
sbit ST=P3^5;        
sbit EOC=P3^6;        
sbit OE=P3^7;
sbit RELAY = P3^3;

unsigned int pass = 0;
unsigned int ADCshow;
unsigned char pressure = 50;

unsigned char mode=0;
unsigned char status = 0;
void delay(unsigned int s)        
{
        while(s--);
}
void DelayMS(unsigned int ms)
{
         unsigned char i;
        while(ms--)
        {
                 for(i=0;i<120;i++);
        }
}



void Timer0_INT() interrupt 1
{
        TH0=(65536-200)/256;
        TL0=(65536-200)%256;
        CLK=~CLK;
        
}

void UART_init()    //設(shè)置串行通信 本晶振為11.0592MHZ,其他的就自己算一下應(yīng)該設(shè)置多少
{
      TMOD = 0x20;
      TH1 = 0xfd;
      TL1 = 0xfd;  //波特率9600
      SM0 = 0;  
      SM1 = 1;   // 串口工作方式1 10位異步
      REN = 1;  //串口允許接收
      TR1 = 1;
      EA = 1;
      ES =1 ;  //串口中斷
}
void main(void)
{
        
          RELAY=1;  //關(guān)燈
          UART_init();
      lcd_init(); //初始化1602

                TMOD=0x01; //設(shè)置定時器0
                TH0=(65536-200)/256; //初值重裝
                TL0=(65536-200)%256;
        EA=1;  //開總中斷
                ET0=1;  //開定時器中斷
                TR0=1;   //開定時器0

                while(1)
                {
                        

                        //adc0809讀取數(shù)據(jù)
                                                ST=0;
                                                OE=0;
                                                ST=1;
                                                ST=0;

                                                while(EOC==0);
                                                OE=1;
                                                ADCshow=P1;
                                                OE=0;
               
     //lcd1602顯示壓力傳感器值
                                        LCD_ShowStr(0,0,"Real:");
                                        LCD_ShowChar(5,0,ADCshow/100+'0');   
                                        LCD_ShowChar(6,0,ADCshow%100/10 +'0');
                                  LCD_ShowChar(7,0,ADCshow%10 +'0');
                                                               
                                if(ADCshow<pressure||pass==0x11)
                                {
                                   RELAY=0;  //亮燈
                                
                                }
                        
                                else
                                {  //否則
                                         RELAY=1; //滅燈
                                
                                }
        
                                
                }
               
}
void UART_INTERRUPT() interrupt 4
{        
              pass = SBUF;
              RI = 0;   
              SBUF = pass;  )
              while(!TI);
              TI = 0;  
}

(5]87ND7NF5]DGJ)$$5B2JF.png (91.95 KB, 下載次數(shù): 72)

原理圖

原理圖
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:768433 發(fā)表于 2021-2-8 17:17 | 只看該作者
我接了一個燈用藍牙試了一下,藍牙并不能控制,是不是程序哪里出了問題?
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表