本人小白,有人可以提供一点有关资料吗,比如用哪个AD芯片什么的,用传统的8051(at89c52)可以实现音乐频谱仿真吗,这方面的资料非常少,希望得到一点帮助,非常感谢!
毕业设计题目是基于单片机的体温脉搏测量系统,请教大神怎样加入傅里叶算法来测量体温脉搏,并且得到结果后又该用什么方法后者算法来分析得到的结果
新唐N76E003单片机的引脚中断功能只能给某8路使用吗?因为正常的外部中断只有INT0和INT1,我需要更多外部中断脚
偶然看到arduino有好几种图形化编程工具,如Mixly、Ardublock、linkboy等,问一下51单片机有没有这样的工具啊!
51单片机P3口的wr非口有什么作用,接c0832 芯片时,芯片中的wr非口有什么作用,这个不太懂,有没有关于p3口功能的文档???
小萌新想问问 89c52单片机32个io口可以全部连接上数字量传感器吗,每个传感器就一条输入信号线,单片机扫描一下每个io口的电平就实现目的了。大佬们进来看看
单片机串口通信的问题我就想问串口通信方式1 到底和计数器T1有什么关系?波特率的计算重为什么要用到T1波特率在程序里面到底是怎么体现的。看了半天PPT都看不懂
请教各位大神,最近在玩st7920控制的LCD12864这个屏,有一些疑问,希望大神们带带小白:用打点法显示自己想要的汉字,具体是怎么实现的啊?比如说,我现在可以任意位置打一个点了,然后我怎么实现我想要的汉字呢?
用按键作显示模式选择键,实现上述实验中3个显示画面的切换,即上电显示“1”,按1次键显示“1234”,再2次键显示2位秒计数器,按3次键又显示“1”……。这个怎么做呀?#define THCO 0xee#define TLCO 0x0还有这个定义该怎么判断什么时候需要又如何来写呢??
//红外反射开关,接收头HS0038B,发射管用pnp三极管驱动//第一次上电,灯亮1秒后熄灭,//手挡一次开,再挡一次关,如此循环//实验板测试手挡一次开,再挡一次关 开关正常;//但是有一个问题,如果手一直挡在前面,LED会不停的亮--灭 -- 亮--灭//请大神们看下,这样才能做到手挡在前面不移开,保持一种状态//控制部分写在大循环里和写在中断里面一样锁不住#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intsbit ir=P2^4; //红外发射sbit ir_in=P3^2; //红外接收sbit led=P1^7; //低电平LED亮bit flagflag2=1;uint contcont1s;uchar clock;//bit f1f2;void delay(uint z) //ms{ uint xy; for(x=z; x>0; x--) for(y=114; y>0; y--);}void fa_38k() //38k 载波 //接收头前面有滤光片{ ir=0; _nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_(); ir=1; _nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();// _nop_();//_nop_();_nop_();_nop_();}void main(){ uint i=0; ir_in=1; TMOD |= 0X01; //T0定时器,模式1 16位计数 TH0 = (65536-10000)/256; //10ms初值 @12MHz晶振 TL0 = (65536-10000)%256; EA=1; ET0=1; TR0=1; led=0; delay(1000); led=1; while(1) { if(flag) { fa_38k(); //发38K } else ir=1; //停止发射 // if(ir_in==1) //没有反射信号// {// s=0; //延时变量清零// clock=0; //自锁标志清零// // f2=0;// flag2=1; //恢复发射// }// else if(clock==0) //有反射信号// { // // s++; //消抖// if(s>2000) //这里值取大些,增强抗干扰// { // // s=0;// flag2=0; //停止发射//// clock=1;// led=!led; //// // while(!ir_in);// // // f2=1;// delay(1000); //延时1秒,等手移开后// // }// } }}void timer0() interrupt 1{ TH0 = (65536-10000)/256; //重装10ms初值 TL0 = (65536-10000)%256; if(flag2==1) { cont++; if(cont==10) { cont=0; flag=!flag; //发100ms 38K,停100ms } } flag2=0; //停止发射 if(ir_in==1) //没有反射信号 { s=0; //延时变量清零 clock=0; //自锁标志清零 flag2=1; //恢复发射 } else if(clock==0 && ir_in==0) //有反射信号 { s++; //消抖 这里值取大些,增强抗干扰 if(s>8 && ir_in==0) // { s=0; flag2=0; //停止发射 clock=1; led=!led; while(!ir_in); //加不加这句,手挡在前面不移开,LED都会不停 亮--灭 flag2=0; //停止发射 } }}
在做出protus部分仿真了,不会和labview连接,做了一个温湿度光照的仿真
用单片机和tlc5615怎样实现呼吸灯操作? 电路图的LED应该如何连?这是我连的 没敢加电阻 一加就有问题。。。我想通过输出电压控制灯的亮暗哪位大佬能帮忙看看问题在哪?#include<reg51.h>#define uint unsigned int#define uchar unsigned charsbit TLC5615_CLK=P2^0;sbit TLC5615_CS=P2^1;sbit TLC5615_DI=P2^2;uint code a[]={450455460465470475480485490495500505510515520525530535540545550555560565570575580585590595600605610615620625630635640645650655660665670675680685690695700695690685680675670665660655650645640635630625620615610605600595590585580 575570565560555550545540535530525520515510505500495490485480475470465460455450};int main(){ void TLC5615_DAC(uint dat); void delayms(uint x); uint m=0; while(1) { TLC5615_DAC(a[m]); m++; if(m>100) m=0; } return 0;}void TLC5615_DAC(uint dat) { uchar i; dat<<=6; TLC5615_CLK=0; TLC5615_CS=0; for (i=0;i<12;i++) { TLC5615_DI=(bit)(dat&0x8000); TLC5615_CLK=0; dat<<=1; TLC5615_CLK=1; } TLC5615_CS=1; TLC5615_CLK=0; delayms(200);}void delayms(uint x){ uchar i; while(x--); for(i=0;i<123;i++);}