脉冲发生仪(如何用单片机设计)

来源:百度知道 编辑:UC知道 时间:2024/05/30 13:09:08
有20个电磁阀,每个电磁阀按顺序开上几秒钟,要求设计一个脉冲发生仪,脉冲宽度可调,大概在0.1到0.2秒,电磁阀开关周期可调,电磁阀是常闭状态,通过继电器控制,现在只要设计弱电部分如何用8051单片机设计,C语言程序怎么编?

其实并不神密,用一个单片机,按基本的接线接好,用P1、P2、P3口中的二十个口做为控制,注意上拉,用三极管反相后,用光藕与继电器隔离。电源需要双5V隔离电源。用一个24C16存储各个电磁阀开关时间。
至于程序,给你个思路
sbit ON_OFF1=P1^0;
sbit ON_OFF2=P1^1;
```````
sbit ON_0FF19=P3^2;
sbit ON_OFF20=P3^3;
//定义二十个开关位
unsigned char time1,time2,time3,```````time18,time19,time20;
定义二十个开关时间
/*-----------------------------------------------a
调用方式:void yanshi(int x)
函数说明:延时x毫秒(晶振为6.0000M)
-----------------------------------------------*/
void yanshi(int x)
{
int a,b;
for(a=0;a<x;a++)
{
for(b=0;b<124;b++);
}
}
void main(void)
{
int i;
read24c16();
while(1)
{
ON_OFF1=0;
for(i=0;i<time1*100;i++)
yanshi(10);
ON_OFF1=1;
if(SET_KEY==1)
setkey();
//开关第一通道
ON_OFF2=0;
for(i=0;i<time2*100;i++)
yanshi(10);