今日热门

7

回答

我用proteus做单片机的数码管实验,仿真1分钟不到就闪退,这是什么情况呀?

afe7efab2f49aad9 2020-06-02 阅读:1920

1

回答

#include <REG51.h>#define uchar unsigned char#define uint unsigned intsbit RS=P2^0;sbit RW=P2^1;sbit EN=P2^2;sbit DQ=P3^4;uchar code table1[]="Temperature is:";uint table2[6]temperaturetemperatureflag;uint wei_baiwei_shiwei_gexiaoshufuhaowendu;void delay(int a){  int ij;  for(i=a;i>0;i--)    for(j=0;j<110;j++);}void delayus(int a){  while(a--);}void write_com(uchar com){  P0=com;  RS=0;RW=0;EN=1;  delay(10);  EN=0;}void write_dat(uchar dat){  P0=dat;  RS=1;RW=0;EN=1;  delay(10);  EN=0;}void init_LM1602(){  write_com(0x01);  write_com(0x38);  write_com(0x0c);  write_com(0x06);}uchar read_onebyte(){  uchar itemp=0;  for(i=0;i<8;i++)  {    DQ=0;         temp>>=1;         DQ=1;         if(DQ) temp|=0x80;         delayus(4);  }  return temp;}void write_onebyte(uchar dat){  uchar i;  for(i=0;i<8;i++)  {    DQ=0;         DQ=dat&0x01;         delayus(10);         DQ=1;         dat>>=1;  }}void init_DS18B20(){  uchar x=0;  DQ=1;  delayus(8);  DQ=0;  delayus(80);  DQ=1;  delay(4);  x=DQ;  delayus(20);}uchar read_Temparature(){  uchar tempL=0tempH=0;  init_DS18B20();  write_onebyte(0xcc);  write_onebyte(0x44);  delayus(100);  init_DS18B20();  write_onebyte(0xcc);  write_onebyte(0xbe);  tempL=read_onebyte();  tempH=read_onebyte();/@@*  if(tempH&0xF0)     //显示负数  {    tempL=~tempL;    tempH=~tempH;    temperature=(tempH*256+tempL)/16*(-1)-1;         temperatureflag=1;  }  else              //显示正数  {    temperature=(tempH*256+tempL)*0.0625;         temperatureflag=0;  }*/  temperature=tempH;  temperature=temperature<<8;  temperature=temperature|tempL;  if(temperature>0x0fff)  {    temperature=~temperature+2;        temperatureflag=1;  }  else temperatureflag=0;  temperature=temperature*0.0625*10;  return temperature;}void display(){  wendu=read_Temparature();  if(temperatureflag==1) fuhao=0x2d;  else fuhao=0x2b;  wei_bai=wendu/1000+0x30;  wei_shi=wendu%1000/100+0x30;  wei_ge=wendu%100/10+0x30;  xiaoshu=wendu%10+0x30;  write_com(0xc3);  write_dat(fuhao);  write_dat(wei_bai);  write_dat(wei_shi);  write_dat(wei_ge);  write_dat(0x2e);  write_dat(xiaoshu);  write_dat(0xdf);  write_dat(0x43);}void main(){  uchar i;  init_LM1602();  while(1)  {    write_com(0x80);    for(i=0;i<15;i++)    {      write_dat(table1[i]);           delay(5);    }    display();  }}复制代码

992b81030c187f9c 2020-06-02 阅读:444

5

回答

51单片机液晶12864显示模拟圆形表盘

0a63a03110b44cc0 2020-05-28 阅读:739

5

回答

未按键时显示“play”按键后是游戏模式,球每触碰一次数字+1,加到100清零,并且蜂鸣器响

我不道啊 2020-05-26 阅读:733

2

回答

STC单片机内置ISP可以使用串口下载程序,N76E003好像出厂不内置ISP程序,我该如何使用串口下载程序呢?

dikavimenkey 2020-05-22 阅读:888

3

回答

求各位大神帮忙提示一下,怎么在12864上显示出一个圆形的表盘,可以有具体的步骤,多谢

1f39f5c477717a90 2020-05-21 阅读:2033

2

回答

单片机python语言程序如何保存运算过程中的小数位

2d61c02fe58337ab 2020-05-21 阅读:2102

2

回答

TAG调试电缆制作完成,实验板正确,并口发生错误,实验板接上后发生短路,是什么原因?

1075af0f458ccad4 2020-05-18 阅读:337

3

回答

单片机python语言程序如何保存运算过程中的小数位

de7cdfcb17692c44 2020-05-18 阅读:485

2

回答

如题,理论上T1作为波特率发生器的定时器不需要中断服务函数。 但是如果加了允许进入中断(ET1=1;),又写了中断服务函数内容的话,会造成串口发送乱码吗? 或者允许了中断,但是不写中断服务函数,会造成51单片机跑飞程序吗? void SendByte(unsigned char c) {   SBUF = c;   while(TI==0);   TI = 0; } void main(void) {    TMOD = 0x21;       // 波特率2400    SCON = 0x50;            TH1 = 0xF3;            TL1 = TH1;             TR1 = 1;                          EA = 1;              ET1 = 1;                         //就是加了这句!!!!允许T1中断    while(1)   {     SendByte('A');   } } void Timer1Isr(void) interrupt 3    //T1的中断服务函数,随便瞎写的内容,只是表示一下。 {         unsigned char i = 0;        i++; } 其实也就是 定时器T1的中断服务函数会不会影响串口产生的波特率或者SBUF的发送???

大伟 2020-05-09 阅读:1099

5

回答

c51实现can总线需要外接那些芯片

yinxx 2020-05-03 阅读:1017

1

回答

求指点,及程序内容的添加

e90d66399fc363a2 2020-04-30 阅读:625

3

回答

单片机控制步进电机是否有参考的开源代码???

yinxx 2020-04-29 阅读:598

4

回答

关于KEIL无法增加STC 系列的头文件刚开始是提示没有INI文件,是路径错了,后面直接就无法加载。大神们支招

尧与你随缘 2020-04-28 阅读:1097

4

回答

STC12的时钟主频如何进行超频

抹茶奶盖 2020-04-26 阅读:969

6

回答

STM8到底是不是51的内核

铁石口是 2020-04-22 阅读:648

4

回答

STC12的内部有滴答定时器的外设吗

抹茶奶盖 2020-04-17 阅读:518

0

回答

希望通过esp8266令APP显示数据,现在的情况是WIFI能与APP建立连接,通过电脑也能收到串口的数据,但是无法将数据通过wifi发送到手机上,请问如何解决呢?  (电脑的传输线和esp8266使用的是一个串口)相关程序如下:单片机主函数:#include<reg52.h>#include"dht11.h"#include "string.h"#define uchar unsigned char #define uint unsigned intunsigned char idata Rxbuff[50]Rxnum;extern unsigned char  F16TF16RH;        //温湿度数据sbit LED1=P2^2;sbit LED2=P2^4;unsigned char getflag;//获取标志void InitUART(void);void delayms(unsigned int x);void UART_send_byte(char dat);void ESP8266_SERVER(void);void Send_Str(unsigned char *buf);void main(){          unsigned char   Tx_Buf[10];        delayms(500);        delayms(1000);          //延时一段时间,让WIFI模块稳定        InitUART();                        //初始化串口    ESP8266_SERVER();        //初始化ESP8266        LED1=0;        while(1)                {                                  getDHT11(); //获取温湿度值                          Tx_Buf[0]=F16T/10%10+0x30;        //帧头                          Tx_Buf[1]=F16T%10+0x30;                 //将温湿度数据送往发送数组送给模块让手机APP显示                          Tx_Buf[2]= ';';                                          Tx_Buf[3]=F16RH/10%10+0x30;                          Tx_Buf[4]=F16RH%10+0x30;                        Send_Str("AT+CIPSEND=05\r\n");                        delayms(300);                           Send_Str(Tx_Buf);//发送数据                        LED2=0;        }}void InitUART(void)         //这是串口的基本配置,配置他的波特率是9600.这些参数都是标准的。{    TMOD = 0x20;    SCON = 0x50;    TH1 = 0xFD;    TL1 = TH1;    PCON = 0x00;    EA = 1;    ES = 1;    TR1 = 1;}void delayms(unsigned int x){        unsigned int i;        while(x--)                for(i=125;i>0;i--);}//UART 发送一字节void UART_send_byte(char dat){        SBUF = dat;                                        //发送        while (TI == 0);                        //等待发送完毕        TI = 0;                                                //清发送完毕中断请求标志位 }//UART 发送字符串void Send_Str(unsigned char *buf){        while (*buf != '\0')        {                UART_send_byte(*buf++);        }}void ESP8266_SERVER(void)//建立服务器{        ES = 0;        TI = 1;         Send_Str("AT\r\n");        delayms(500);        Send_Str("AT\r\n");        delayms(500);        Send_Str("AT+CWMODE=2\r\n");          //服务器搭建在WIFI模块上        delayms(500);           Send_Str("AT+CWSAP=\"WiFi_mushu\"\"12345678\"53\r\n");          //设置显示名称:wifi密码:12345678        delayms(500);        Send_Str("AT+CIPMUX=1\r\n");//启动多连接,建立服务器都需要配置        delayms(500);                Send_Str("AT+CIPSERVER=15000\r\n");//建立服务器        delayms(500);                Send_Str("AT+CIPSTO=0\r\n");        TI = 0;        ES = 1;        }  APP相关程序package com.example.wifi_mushu;import androidx.appcompat.app.AppCompatActivity;import android.annotation.SuppressLint;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import android.widget.Toast;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.net.InetAddress;import java.net.Socket;import java.net.UnknownHostException;public class MainActivity extends AppCompatActivity {    //定义控件    EditText edGateIp edGateSn;    Button btnSearch btnLogin;    //消息机制    private Handler messageHandler;    //开辟一个socket    Socket socket = null;    OutputStream OutputStream = null;//定义数据输出流,用于发送数据    BufferedReader bufferedReader;//声明输入流对象    InputStream InputStream = null;//定义数据输入流,用于接收数据    //定义逻辑变量,用于判断服务器连接状态    boolean isConnected = false;    //用于控制读数据线程是否执行    boolean RD = false;    //测试区域    Button fs;    EditText sjfs sjjs;    @SuppressLint("HandlerLeak")    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //控件绑定        edGateIp = findViewById(R.id.edGateIP);        edGateSn = findViewById(R.id.edGateSn);        btnSearch = findViewById(R.id.btnSearch);        btnLogin = findViewById(R.id.btnLogin);        //

魂牵梦萦 2020-04-13 阅读:1051

6

回答

STC12的引脚IO最大工作电流可以达到多少

Aaronlee 2020-04-11 阅读:1850

4

回答

在编译程序时有时会报出以下警告,而又的时候没有,这个警告是因为什么呢?

c63733bac38c1420 2020-03-29 阅读:567
  • 帮助人数
  • 0
  • 获得赞数
  • 0
  • 一周积分
  • 0

问题达人换一批

本月问答

排名
用户名
问答积分
< >