今日热门

4

回答

51单片机和2H45B驱动器   线连接 怎么连接   是直接驱动器的脉冲、方向、使能与51单片机的I/O连接吗新手求学  谢谢大家

bad8efc68fef32ab 2020-10-13 阅读:887

4

回答

​我这有一个单片机四路输入输出工控板,没用软件程序,想改一组程序,该怎么做?求解 ​​​改一组程序,原本程序设定为60秒,改为30秒,怎么操作?​改一组程序,原本程序设定为60秒,改为30秒,怎么操作?​

9b13302baae249a0 2020-10-13 阅读:452

4

回答

#include<reg51.h> sbit a=P3^6; void main (void) { TH0=(65536-921)/256; TL0=(65536-921)%256; TMOD=1; TR0=1; a=0;         while(1)         {                 if(TF0==1)                 {                 TF0=0;                 TH0=(65536-921)/256;     TH1=(65536-921)%256;                 a=~a;                                }         } } 以上是书上的源程序,晶振是11.0592的,半周期改变一次,a连接无源蜂鸣器,1000us除以1.085us等于921次,我感觉是发出是500赫兹的声音,你们说呢?

laoyaomao 2020-10-12 阅读:761

5

回答

手机和蓝牙模块连接成功以后,发送信号,单片机没有反应,这是为什么呀,大神求解

aea3dc7ae5c858de 2020-09-23 阅读:1306

7

回答

如何用一个外部中断口实现上升压和下降沿都进入中断函数

yhj416606438 2020-09-22 阅读:1378

5

回答

如题51单片机怎么接PT100温度传感器? 

069cff8f9a09d53c 2020-09-18 阅读:1897

6

回答

        printf("AT+CGATT?\r\n")                        delay_ms(700);        strx=strstr((const char*)RxBuffer(const char*)"+CGATT: 1");//·μ1        Clear_Buffer();                        while(strx==NULL)                {            Clear_Buffer();                    printf("AT+CGATT?\r\n");/            delay_ms(700);            strx=strstr((const char*)RxBuffer(const char*)"+CGATT: 1“)                                delay_ms(1000);                }怎么跳出这个while循环  模块不返回正确数据他就一直卡在这了

7f671d7372c127f3 2020-09-05 阅读:671

3

回答

有一个电路板用的是80c31单片机现在坏了可以用89c51直接代替吗

yhj416606438 2020-09-02 阅读:728

3

回答

单片机功能强大,我想它可以完成存储器6116的数据存取功能吧?这或许是认识单片机比较容易的一步?讨厌我这个问题的朋友您就别看了,我真的不是想愚弄您。

8c7412220284aa76 2020-08-28 阅读:497

5

回答

各位大佬,51单片机用定时器中断让LED流转间隔为400ms500ms600ms一直到1200msLED初始速度为400ms按键按下加100ms,一直加到1200ms,数码管显示速度的值。按键控制数码管显示已经弄出来了,就LED流转速度不会弄,大佬们怎么弄呢?谢谢大家了

36e5609cc043b91d 2020-08-23 阅读:690

8

回答

有个项目需要用到电平采样功能(区分高低电平就行),我用示波器打了一下,频率7kHz左右,需要MCU做比较简单的数据处理,是否可以帮忙选一款单片机?越便宜越好,功能只要简单处理,但最好有硬件iic接口。

9604a3b72d92b876 2020-08-22 阅读:604

6

回答

51单片机学了也有半年了,各个模块也都了解,参考视频的教程也都可以理解。现在就是说不知道该怎么学了,是去网上找一找关于51单片机的实例去自己做一做,还是说在把51的内容加上数电和模电在好好的学一学啊。其实我自己希望是通过实践然后不断练习进步,但是现在好像没有什么方法,请求各位给我提出一些意见

41086cf51594952e 2020-08-15 阅读:499

5

回答

具体来说就是第一次按下按钮小灯会亮10S,如果在小灯亮的10S之内再次按下开关,小灯就会熄灭

3ee3e3657979593f 2020-08-14 阅读:553

5

回答

#include<reg52.h>sbit a=P0^0;sbit b=P0^1;sbit c=P0^2;sbit OE0=P0^3;sbit OE1=P0^4;sbit OE2=P0^5;sbit KEY1=P3^2;sbit KEY2=P3^3;sbit KEY3=P3^4;sbit KEY4=P3^5;unsigned char code LedChar[7][8]={{0xC30x810x000x000x000x810xFF0xFF}{0xFF0x810x000x000x000x810xFF0xFF}{0xFF0xFF0x000x000x000xFF0xFF0xFF}{0xFF0xFF0xFF0x000xFF0xFF0xFF0xFF}     //不按按键时{0xEF0xDF0xBF0x000xBF0xDF0xEF0xFF}     //左转{0xF70xFB0xFD0x000xFD0xFB0xF70xFF}      //右转{0xFF0xFF0xFF0xFF0xFF0xFF0x660x99}      //W };     unsigned char LedBuff[16]={0xFF0xFF0xFF0xFF0xFF0xFF0xFF0xFF0xFF0xFF0xFF0xFF0xFF0xFF0xFF0xFF};void buan();          //不按按键函数void ting();           //刹车时函数void you();            //左转时函数void zuo();            //右转时函数void main(){TMOD=0x01;TH0=0xFC;TL0=0x67;EA=1;ET0=1;TR0=1;while(1){   if(KEY1==0)  {   zuo();  }  else if(KEY2==0)  {   you();  }  else  {  buan();  }}}/@@*中断函数*/void zhongduan() interrupt 1         //用于显示刷新{ static unsigned char i=0;TH0=0xFC;TL0=0x67;P1=0xFF;switch(i){  case 0:a=0;b=0;c=0;OE0=0;OE1=1;OE2=1;i++;P1=LedBuff[0];break;  case 1:a=0;b=0;c=1;OE0=0;OE1=1;OE2=1;i++;P1=LedBuff[1];break;  case 2:a=0;b=1;c=0;OE0=0;OE1=1;OE2=1;i++;P1=LedBuff[2];break;  case 3:a=0;b=1;c=1;OE0=0;OE1=1;OE2=1;i++;P1=LedBuff[3];break;  case 4:a=1;b=0;c=0;OE0=0;OE1=1;OE2=1;i++;P1=LedBuff[4];break;  case 5:a=1;b=0;c=1;OE0=0;OE1=1;OE2=1;i++;P1=LedBuff[5];break;  case 6:a=1;b=1;c=0;OE0=0;OE1=1;OE2=1;i++;P1=LedBuff[6];break;  case 7:a=1;b=1;c=1;OE0=0;OE1=1;OE2=1;i++;P1=LedBuff[7];break;  case 8:a=0;b=0;c=0;OE0=1;OE1=0;OE2=1;i++;P1=LedBuff[8];break;  case 9:a=0;b=0;c=1;OE0=1;OE1=0;OE2=1;i++;P1=LedBuff[9];break;  case 10:a=0;b=1;c=0;OE0=1;OE1=0;OE2=1;i++;P1=LedBuff[10];break;  case 11:a=0;b=1;c=1;OE0=1;OE1=0;OE2=1;i++;P1=LedBuff[11];break;  case 12:a=1;b=0;c=0;OE0=1;OE1=0;OE2=1;i++;P1=LedBuff[12];break;  case 13:a=1;b=0;c=1;OE0=1;OE1=0;OE2=1;i++;P1=LedBuff[13];break;  case 14:a=1;b=1;c=0;OE0=1;OE1=0;OE2=1;i++;P1=LedBuff[14];break;  case 15:a=1;b=1;c=1;OE0=1;OE1=0;OE2=1;i=0;P1=LedBuff[15];break;  default:break;}}/@@*左转*/void zuo(){LedBuff[0]=LedChar[4][0];LedBuff[1]=LedChar[4][1];LedBuff[2]=LedChar[4][2];LedBuff[3]=LedChar[4][3];LedBuff[4]=LedChar[4][4];LedBuff[5]=LedChar[4][5];LedBuff[6]=LedChar[4][6];LedBuff[7]=LedChar[4][7];LedBuff[8]=LedChar[6][0];LedBuff[9]=LedChar[6][1];LedBuff[10]=LedChar[6][2];LedBuff[11]=LedChar[6][3];LedBuff[12]=LedChar[6][4];LedBuff[13]=LedChar[6][5];LedBuff[14]=LedChar[6][6];LedBuff[15]=LedChar[6][7];}/@@*右转*/void you(){LedBuff[0]=LedChar[5][0];LedBuff[1]=LedChar[5][1];LedBuff[2]=LedChar[5][2];LedBuff[3]=LedChar[5][3];LedBuff[4]=LedChar[5][4];LedBuff[5]=LedChar[5][5];LedBuff[6]=LedChar[5][6];LedBuff[7]=LedChar[5][7];LedBuff[8]=LedChar[6][0];LedBuff[9]=LedChar[6][1];LedBuff[10]=LedChar[6][2];LedBuff[11]=LedChar[6][3];LedBuff[12]=LedChar[6][4];LedBuff[13]=LedChar[6][5];LedBuff[14]=LedChar[6][6];LedBuff[15]=LedChar[6][7];}/@@*不按按键*/void buan(){static unsigned char cnt=0;static unsigned int jisu=0;static unsigned char f=0;LedBuff[0]=LedChar[cnt][0];LedBuff[1]=LedChar[cnt][1];LedBuff[2]=LedChar[cnt][2];LedBuff[3]=LedChar[cnt][3];LedBuff[4]=LedChar[cnt][4];LedBuff[5]=LedChar[cnt][5];LedBuff[6]=LedChar[cnt][6];LedBuff[7]=LedChar[cnt][7];LedBuff[8]=LedChar[6][0];LedBuff[9]=LedChar[6][1];LedBuff[10]=LedChar[6][2];LedBuff[11]=LedChar[6][3];LedBuff[12]=LedChar[6][4];LedBuff[13]=LedChar[6][5];LedBuff[14]=LedChar[6][6];LedBuff[15]=LedChar[6][7];for(f=0;f>50;f++);jisu++;if(jisu>=400){  jisu=0;  cnt++;  if(cnt>=4)  {   cnt=0;  }}}芯片用的是74hc138

f3050c23ac53a106 2020-08-12 阅读:335

6

回答

这个bcd码和二进制有什么关系?bcd 表示0011001是19(十进制)二进制表示0011001是25(十进制)这个怎么确定是哪个???

6aeb3db3f8c87a41 2020-08-06 阅读:1496

4

回答

为什么在LED点阵显示的时候里面的 通过 595 发送 2 个字节的数据 的函数中SER = dat >> 7; //从最高位开始发送 dat <<= 1;一位一位的给dat了那单片机是怎么得到的,还有就是显示的时候怎么一直用不到段选的数组求大佬帮忙看看,谢谢!谢谢!#include "reg51.h"#include "intrins.h"typedef unsigned int u16;typedef unsigned char u8;sbit SRCLK=P3^6; sbit RCLK=P3^5; sbit SER=P3^4;u8 ledduan[]={0x000x000x3E0x410x410x410x3E0x00}; // 类 似 于 动态数码管的段选 u8 ledwei[]={0x7f0xbf0xdf0xef0xf70xfb0xfd0xfe}; // 类 似 于动态数码管的位选void Hc595SendByte(u8 dat){ u8 a;  SRCLK = 1; RCLK = 1;for(a=0;a<8;a++) //发送 8 位数 { SER = dat >> 7;dat <<= 1;SRCLK = 0; //发送时序_nop_();_nop_(); SRCLK = 1;} RCLK = 0;_nop_(); _nop_(); RCLK = 1;}void main() { u8 i=0;while(1) { for(i=0;i<8;i++) { Hc595SendByte(ledwei); LED1(ledwei); delay(10); } }}

2781cf0682fa7ffa 2020-08-04 阅读:557

4

回答

  求助各位大神,我有个硬件电路使用了2片74hc245做扩展输入,4片74hc573做扩展输出,所有的数据线都接在P1口,片选信号线接在P3口。我现在的思路是这样的,在2ms定时中断中,每20ms控制一个片选信号,比如0-20ms控制1号245芯片,采集输入信号,21-40ms控制2号245芯片,以此类推,到41-60ms控制573芯片,输出信号。 求助各位大神有没有更好的思路,或者方式。    输入输出数据线都用P1口是因为单片机I/O口不够了,而且硬件电路已经搭建好了。

60946496e7b8ed04 2020-08-04 阅读:447

7

回答

我在网上看到的程序给单片机定时器T0打开和给定时器高位和低位赋值:TMOD=0X01;EA=1;ETO=1;TH0=0Xfc;TL0=0X18;TRO=1;程序中备注TH0=0xfc;TL0=0x18;中的0xfc和0x18是表示给定时器0的赋值1ms的,师傅在讲课时说th0=(65536-50000)/256tl0=(65536-50000)/%256然后通过判断执行20次等于1ms,怎么不一样,这个是怎么得出来的,还有定时器高位和低位之间是什么关系?搞不清!

4d95a4674d715979 2020-08-03 阅读:2764

5

回答

比如  梯形加减速算法   指数型加减速算法,小白最近在学步进电机,可是不是太会  网上也找了一些文档,可是没有程序,不知道框架怎么写   大神能分享一下吗?

99551f28a41d8d44 2020-07-30 阅读:648

9

回答

萌新请教,51单片机开发板标配能做多少实验如题

b39896c288de5cbd 2020-07-29 阅读:587
  • 帮助人数
  • 0
  • 获得赞数
  • 0
  • 一周积分
  • 0

问题达人换一批

本月问答

排名
用户名
问答积分
< >