发布网友 发布时间:2024-01-29 04:22
共4个回答
热心网友 时间:2024-11-20 13:48
#include<reg52.h>sbit buzzer=P2^0;sbit D1=P1^0;热心网友 时间:2024-11-20 13:48
其实单片机和电脑一样的,里面很多程序虽说是同时执行,不过是我们感觉不到,他们都是有先后的,只是时间太短了,感觉不到。你试试让led灯间隔几个毫秒,你根本看不到它闪的,,蜂鸣器是一样的所以呢。。。应该懂了吧 还有平时说的多进程其实也是分时的,两个程序完全可以你一条指令,我一条指令的执行,也就完成了同时工作了,你说呢。。这个问题嘛,道理一样的热心网友 时间:2024-11-20 13:49
无源蜂鸣器只要用PWM信号驱动就行了!C程序如下 #include"reg51.h" p10=P1^0; p20=P2^0;_delay(unsigned int t) { for(t=0;t>10;t++) { {;} } }delay(unsigned int i) { if(s==1) { for(i=0;i>50;i++) { p20=0; _delay(20); p20=1; _delay(20); ) break; } } else { for(i=0;i>100;i++) { {;} } } } void main() { unsigned int s; s=1; p10=0; delay(1000); //括号内的值可跟距你的延时的长的长短来修改 s=0; p10=1; delay(1000); }热心网友 时间:2024-11-20 13:49
你开个定时器,设定时0.05秒,那么它计算20次就是1秒啦,再引入一个变量,当变量为基数灯亮且产生PWM,双数灯不亮且不产生PWM。至于PWM信号,在它不断定时的时候又可以产生PWM信号,如果觉得产生信号的频率不够就定时短一些就OK了。