老师,请问为什么p1.7必须有那个电阻,什么意思,可以详细介绍下吗? |
留名回访 |
又见汇编。顶强人~~~~~~~ 曾经也用汇编写51程序,发现过一年回来就看不懂。所以后来换ICC来写AVR程序,移植性好多了。 2051在12M时钟下,只要安排得当,输出分辨率1uS的8通道是没问题的。 |
2.5ms对于c51这种12T的芯片,真没啥可干的。。。 真是落后了。。。得换1T的芯片了 |
我认为这种程序中最重要的是保证输出的脉冲宽度和周期的准确性,其它的事都可以在空闲的时候再做,所以决定宽度和周期的定时器中断为最高优先级。以4通来说,我是将20MS平分给4个通道,每个通道5MS的时间,一个通道中高电平时间最长是2.5MS,也就是说至少还有2.5MS的纯空闲时间可以干其它事,足够了。8通道时就紧张点,每个通道只得2.5MS,只能在定时器计数期间的0.5MS-2.5MS之间干其它事,应该也足够了,不够就任由中断打断也没多大影响。 |
可以用HC-11 433无线串口,使用方便,支持3~5V宽电压使用,自己写加密通讯协议。还可以同时使用N个组网,通讯协议和485一样 |
谁能提供个单片机之间无线通信的好办法,最好是加密的,不会相互干扰 |
用C51,C语言写的程序,舵机玩死了也就只能做到4位步进。。。折腾死我了。。。 读取红外遥控信号,解码,然后控制舵机完成一个动作。就这点,折腾死我。。唉 |
不错用汇编写功底深厚啊 |
这帖子要留个名备查。 |
太强大了 |
分辨率10微秒的 |
pic单片机也可以,还可用PICBASIC PRO编程,与C一样简单: 12f509中的舵机测试程序: INPUT GPIO.0 INPUT GPIO.1 INPUT GPIO.2 OUTPUT GPIO.5 B1 VAR BYTE B2 VAR BYTE B3 VAR BYTE B1=0 B2=0 B3=150 LOW GPIO.5 MAIN: IF GPIO.1=0 THEN B1=B1+1 IF B1=5 THEN B3=B3+1 IF B1=5 THEN B1=0 IF B3>=200 THEN B3=200 IF GPIO.2=0 THEN SUBGER IF GPIO.0=0 THEN B3=150 PAUSE 18 PULSOUT GPIO.5,B3 GOTO MAIN SUBGER: IF GPIO.2=1 THEN MAIN B2=B2+1 IF B2=5 THEN B3=B3-1 IF B2=5 THEN B2=0 IF B3<=100 THEN B3=100 PAUSE 18 PULSOUT GPIO.5,B3 GOTO SUBGER |
高手云集呀 |