#include<reg52.h>
sbit p2_0 = P2 ^ 0;
sbit p2_1 = P2 ^ 1;
sbit p2_2 = P2 ^ 2;
sbit p2_3 = P2 ^ 3;
sbit p2_4 = P2 ^ 4;
sbit p2_5 = P2 ^ 5;
sbit p2_6 = P2 ^ 6;
sbit p2_7 = P2 ^ 7;
sbit S1=P0^0; //启动按键
sbit S2=P0^1; //检测有无子弹
void time(unsigned char a)
{
unsigned int i;
while( --a != 0)
{
for(i = 0; i < 100; i++); //一个 ; 表示空语句,CPU空转。
}
}
void main()
{
while (S2==0)
{
while(S1==0)
{
p2_0 = 0; //一级开启
time(2);
p2_0 = 1;
time(2);// 一级关断时间
p2_1 = 0;
time(2);
p2_1 = 1;
time(10);//一级到二级开启时间
p2_2 = 0;
time(2);
p2_2 = 1;
time(2);//二级关断时间
p2_3 = 0;
time(2);
p2_3 = 1;
time(10);//二级到三级开启时间
p2_4 = 0;
time(2);
p2_4 = 1;
time(2);//三级关断时间
p2_5 = 0;
time(2);
p2_5 = 1;
time(10); //三级到四级开启时间
p2_6 = 0;
time(2);
p2_6 = 1;
time(2);//四级关断时间
p2_7 = 0;
time(2);
p2_7 = 1;
}
}
}
===============================================================
单片机的p2.1 p2.3 p2.5 p2.7 口是用来发信号控制继电器关断可控硅的。(继电器串联在可控硅和线圈中间,继电器接常闭)
time() 里的内容需要根据实际子弹速度作修改!!
哈哈!!我为了电磁枪才学的单片机。刚学了两天,那里不太合理了还望高手指点!!
200字以内,仅用于支线交流,主线讨论请采用回复功能。