一个简单的单片机控制电磁枪程序
着迷者12013/01/05电磁炮 IP:河南
刚学单片机C语言不久,只会用简单的单片机程序来控制可控硅的导通,因可控硅导通后不用关断,所以也就没有加入关断程序,只有在可控硅全部触发后给于复位,延时的时间只要调整a的值就可以,因还没有用到实用中所以只是随便写了一个数。还请高手指点,程序如下
#include<reg52.h>
unsigned int a;
sbit S=P1^0;
sbit O1=P2^0;
sbit O2=P2^1;
sbit O3=P2^2;
sbit O4=P2^3;
sbit O5=P2^4;
sbit O6=P2^5;
sbit O7=P2^6;
sbit O8=P2^7;
sbit O9=P3^0;
sbit F=P3^1;
void delay20ms(void)
{  
unsigned char i,j;
  for(i=0;i<100;i++)
   for(j=0;j<100;j++)
    
}
void main()
{
while(1)
{
P0=0xff;
P1=0xff;
P2=0x00;
P3=0x00;
if(S==0)
{
  delay20ms();
   if(S==0)
   {
    O1=1;
a=3;
    while(a--);
    O2=1;
a=3;
    while(a--);
    O3=1;
    a=3;
while(a--);
a=3;
while(a--);
    O4=1;
a=3;
while(a--);
O5=1;
a=3;
while(a--);
O6=1;
a=3;
while(a--);
O7=1;
a=3;
while(a--);
O8=1;
a=3;
while(a--);
O9=1;
a=3;
while(a--);
F=1;
a=3;
while(a--);
      
   }
}
while(S==0)
;
}
}
+10  科创币    听我说瞎话    2013/01/06 看不懂上午撸过.....坐等友友教我,哈哈
来自:物理高能技术 / 电磁炮
19
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
17620462
12年0个月前 IP:未同步
485349
额。。有点简陋。

多加个开火保险检测,防止误触发。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wuya3344
11年5个月前 IP:未同步
555902
楼主能不能 把单片机控制可控硅的电路给一下啊![s:256]  我的电路有问题! 给个指教啊![s:261]牛人!
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
1006518834
11年5个月前 IP:未同步
559286
学了不久,不过我看上去你学了比我久,我学的点点而已
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
mfkqtd
11年1个月前 IP:未同步
656330
后一级的起动时间有没有太快了啊,才减三次就起动下一级。确定是算好的?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
w1s2n3g
10年7个月前 IP:未同步
695426
神马情况,你的单片机程序全不全呀,我照你的写,只是修改延迟时间,提示错误太多,好像第一句都有问题,提示“&”错误
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
w1s2n3g
10年7个月前 IP:未同步
695766
你用什么编译软件?
我用Keil uVision3编译软件,第一句就提示错误
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
毕毅
10年7个月前 IP:未同步
695772
编写程序这事累吗,在那里能学到[s:13]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
回忆
10年7个月前 IP:未同步
695807
貌似很多错误?还是我的编译器有问题?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
liunian198
10年7个月前 IP:未同步
695861
第一句是这个:#include<reg52.h>
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
w1s2n3g
10年7个月前 IP:未同步
695918
把第一句改成如上,错误如下:LED.C(54): error C202: 'O7': undefined identifier
LED.C(57): error C202: 'O8': undefined identifier
LED.C(60): error C202: 'O9': undefined identifier
LED.C(63): error C202: 'F': undefined identifier
LED.C(69): error C202: 'S': undefined identifier
Target not created
按照错误提示改了,错误越改越多,我用Keil uVision3编译软件,不知道什么原因
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
liunian198
10年7个月前 IP:未同步
695931
将所有的     <     替换成    <    即可。

#include<reg52.h>


unsigned int a;
sbit S=P1^0;
sbit O1=P2^0;
sbit O2=P2^1;
sbit O3=P2^2;
sbit O4=P2^3;
sbit O5=P2^4;
sbit O6=P2^5;
sbit O7=P2^6;
sbit O8=P2^7;
sbit O9=P3^0;
sbit F=P3^1;
void delay20ms(void)
{  
unsigned char i,j;
  for(i=0;i<100;i++);
   for(j=0;j<100;j++) ;
}
void main()
{
while(1)
{
P0=0xff;
P1=0xff;
P2=0x00;
P3=0x00;
if(S==0)
{
  delay20ms();
   if(S==0)
   {
    O1=1;
a=3;
    while(a--);
    O2=1;
a=3;
    while(a--);
    O3=1;
    a=3;
while(a--);
a=3;
while(a--);
    O4=1;
a=3;
while(a--);
O5=1;
a=3;
while(a--);
O6=1;
a=3;
while(a--);
O7=1;
a=3;
while(a--);
O8=1;
a=3;
while(a--);
O9=1;
a=3;
while(a--);
F=1;
a=3;
while(a--);
      
   }
}
while(S==0)
;
}
}
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
w1s2n3g
10年7个月前 IP:未同步
695980
终于看到了期待已久的Build target 'Target 1'
compiling s.c...
linking...
Program Size: data=11.0 xdata=0 code=291
creating hex file from "s"...
"s" - 0 Error(s), 0 Warning(s).
非常感谢liunian198,不然这几天头都大了,如果能告诉我a=3和微秒的换算关系,那就太好了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
liunian198
10年7个月前 IP:未同步
696278
w1s2n3g 发表于 2014-6-17 16:15
终于看到了期待已久的Build target 'Target 1'
compiling s.c...
linking...


设置好时钟周期后,在调试里面调试候的时候,就可以看到执行每条指令的时间。以24M时钟周期为例,每条基本指令(比如给引脚赋高低电平)基本都是2us,其余有调取函数的,不同函数有不同的调取时间和返回时间,基本都在10us内。while(a--)刚我调试了一下,执行时间为:a*4.5us+5us(跳出时间)。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
小东马驹
8年11个月前 IP:天津
807124
请问这个什么情况下s才能为0
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
普罗米修斯
8年11个月前 IP:北京
807199
大家看看,我的车咋样 200815103951678_2.jpg
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
交谈
8年11个月前 IP:天津
807916
学习了,不知道有没有用
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
powkp
5年8个月前 IP:江苏
856374

2019年考古的路过,问个问题,就是其中a=3应该是预设值吧,最后调整的时候每一级的a值应当都是不同的?

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
170050051624
5年8个月前 IP:北京
856434

@powkp

应该是的

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

着迷者1
学者 机友 笔友
文章
29
回复
164
学术分
1
2012/03/09注册,1个月15天前活动

88

主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
支持的图片格式:jpg, jpeg, png
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}