阿替卡因_c51单片机最小程序怎么编程????????

c51单片机最小程序怎么编程????????


编程,好说,十几天就能学会。

你得先确定电路。

当人体接触到红外线感应器时,单片机的那个引脚,收到什么电平?

带动马达转动,是用单片机的那个引脚?用什么电平驱动电机?追问

额这个,,单片机上的引脚电平是什么呢,我都=一点都不懂这个,,,也没想学,,就是想有个这样的程序给我输入,,我能让我的模型动就行了追答

你不用学,你只要说出来:

你用的是什么单片机?

给你程序,你输到什么地方?

硬件,你一点都不透露,软件,怎么可能编出来?追问

c51单片机最小程序,,用keil编程啊啊,,,,刚才有人回答我说,要是人体红外感应那种,都不需要单片机,直接把人体红外输出接上个三极管放大都驱动马达就行,电路简单又可靠,,,是吗追答

人体红外感应那种,都不需要单片机,直接把人体红外输出接上个三极管放大都驱动马达就行,电路简单又可靠,,,是吗

----
对。追问

三极管放大驱动什么意思啊就去买个三极管连接马达就行了对吗???追答

马达,有不同类型,功率,也有大、有小。

驱动马达,有不同的电路:光偶、三极管、继电器、...

应该选用什么驱动电路,取决于你用的是什么马达。
AT89S51单片机的在线编程是什么意思?AT89C51怎么编程?


在线编程,就是在目标板上直接编程(或者产品板),就是方便修改。
AT89C51 没有这个功能。就at89s51芯片可以在PCB上直接程序,而不用将芯片取下来放到器去写程序。
而at89c51没个功能,就要将芯片放到编程器上编程。
at89c51要编程,可以买编程器。便宜点的一两百吧,不太确定。不过现在at89c51已经停产了。被at89s51代替了。
51单片机编程

51编程得看外部电路的情况。电路图,木法写。。。数码管和单片机之间的电路多种,你这种就用译码器,74138就行。假设单片机p1口用作数码管输出。滑槽电路也不清楚,假设一个电机,用的是P2^0,P2^1(顺时针一个口,逆时针一个口)检测非金属物料的电路用的是P2^3 4. 按键电路用的是P3口
代码就不贴了,说下思路。开机初始化,给单片机所有引脚置零,然后设置数码管显示(2位十进制数显示至少需要7个引脚,你这里只需要用4个引脚)。按键处理,编程中需要注意的地方就是机械开关的抖动消除,当然,如果有硬件消抖电路就不用管了。假设k1用的是P3^1口,那么只需要判断P3^1==1为真,就可以拉高P2^0或P2^1口电压,直接P2^0=1就ok。检测非金属物电路:检测到一个非金属物料,此电路就给单片机P2^3发送一个脉冲信号。单片机这边,主循环里检测P2^3口的电平,用一个变量oldState来保存上一个状态。用count来保存非金属物料个数if(oldState!=P2^3){count++;
oldState=P^3;
}计数值满10后滑槽下降初始位:
if(count==10){P2^0==0;P2^1==1;count=0;
}

当然,如果电路还没做的话,我推荐一个电路,这个电路编程更简单,效率更高。还是假设非金属检测电路一旦检测到非金属就发出一个脉冲信号。将非金属检测电路同一个计数器(计数器可以买现成芯片,也可以自己用触发器做)的输入端连接。计数器同数码管通过译码器连接。单片机P1口同计数器输出端连接。单片机同计数器清零端连接。单片机同滑槽连接。单片机同键盘连接。这个电路就只需要读计数器的值,不用控制数码管。单片机启动时向计数器清零端发出清零信号,那么数码管就显示00单片机程序主循环判断计数器的值,若为10,那么向计数器清零端发出清零信号;控制滑槽下降。单片机程序主循环判断键盘的值,若K1按下,控制滑槽上升。


51单片机编程sprintf怎么用?
需要自己写个库,先的整数部分int a=x,先显示整数部分,再显示小数点,再逐一取数部分的每一位int b=x*10-a*10等显示在LCD上,直至所有位数显示完为止即float x==(float)a+(float)b*0.1+...sprintf是将变量转换为字符串
例如 sprintf(s,%5.3f,x)
就将变量X转换为字符串,小数点后面保留3位,保存于数组s[ ]中
然后调用字符串显示函数可送LCD追问

不行啊,我这样写虽然没报错,但是全部显示0,而且1602一直闪
float x=3.14;
uchar code table[5];
sprintf(table,"%5.3f",x);
lcd_wcom(0x80);

lcd_wdat(table[0]+0x30);
lcd_wdat(table[1]+0x30);
lcd_wdat(table[2]+0x30);
lcd_wdat(table[3]+0x30);
lcd_wdat(table[4]+0x30);追答

试试lcd_wdat(table[0]);
lcd_wdat(table[1]);
table[]本身就是字符串追问

第一行全部显示四条横杠追答

可能你的显示程序有问题,转换方法不会错的,见keil2仿真截图

本回答被网友采纳[最佳答案]这个函数可能有错误 要把浮点数传递到数组, 不必这样做 定义y一个联合体,字符数组和浮点数一体的...分一个月的,,放下手机号给我说我就知道了知道了你现在在哪儿童节快乐你我他 放假咯没人要是我就说了啊姨,发链接在此恭候大驾光路上咯图墨迹了默默诺

上一篇: 下一篇:

相关文章