电子制造业里电路设计和编制程序有什么关系?

核心提示两者没有直接关系,但是相关。编程有两个概念: 1是编一个软件,如windows系统是一个大程序,与CPU、显示器、打印机,都有关系。 2是编一个电器的动作控制程序,如PLC程序,它与电器元件本生也相关。但是,没人既要研究硬件,又要研

两者没有直接关系,但是相关。

编程有两个概念:

1是编一个软件,如windows系统是一个大程序,与CPU、显示器、打印机,都有关系。

2是编一个电器的动作控制程序,如PLC程序,它与电器元件本生也相关。

但是,没人既要研究硬件,又要研究软件,现在社会分工很细,而且都是在前人基础上发展的,所以,可以说都是分类组合。

作为电子工程师,如果在工厂,你如同一个裁缝,只要你会用剪刀剪出花样,而不需知道剪刀是什么材料做的。

求STC89C52控制步进电机的电路和程序

C语言

#include<reg51h>

void delay(unsigned int a)

{

unsigned i,j;

for(i=0;i<a;i++)

for(j=0;j<1000;j++);

}

main()

{

unsigned LED,i;

LED = 0xfe;

EA = 0;

while(1)

{

for(i=0;i<7;i++){delay(100);LED = (LED<<1)|0x01;P3 = LED;}

for(i=0;i<7;i++){delay(100);LED = (LED>>1)|0x80;P3 = LED;}

}

}

汇编语言

LED EQU 30H

ORG 0000H

LJMP MAIN

ORG 0030H

MAIN:

CLR EA

MOV SP,#5FH

MOV LED,#0FEH

MOV R0,#7

LOOP:

MOV R7,#50

LCALL DELAY

MOV A,LED

RL A

MOV LED,A

MOV P3,A

DJNZ R0,LOOP

MOV R0,#7

LOOP1:

MOV R7,#50

LCALL DELAY

MOV A,LED

RR A

MOV LED,A

MOV P3,A

DJNZ R0,LOOP1

MOV R0,#7

SJMP LOOP

;----------------------------

DELAY:

MOV R2,#8

DLY1:

MOV R3,#250

DJNZ R3,$

DJNZ R2,DLY1

DJNZ R7,DELAY

RET

;-----------------------------

END

一台计算器为什么能计算数据,如果说需要编写个程序,那程序和电路板是怎么样合在一起实现这个功能的

实际运用的程序,图纸

//

/ 广州一丁自动化设备有限公司010-28969088/

//

#include<reg52H> //加载头文件

#include <stdioh>   

sbit MC=P1^0;//脉冲

sbit FX=P1^1;//方向

sbit BL=P3^2;//半流

sbit JD=P1^2;//夹电池

sbit YD=P1^3;//发验电信号

sbit YW=P2^0;//原点

sbit YX=P2^1;//运行

sbit ZL=P2^2;//走轮信号

sbit JDW=P2^3;//夹到位

sbit FDW=P2^4;//放到位

void delay_1(unsigned int j0 ) //1毫秒延时程序

{

unsigned int j1;

unsigned int j2;

for(j1=0;j1<4j0;j1++)

for(j2=0;j2<50;j2++)

;

}

 void delay_01(unsigned int j0 ) //001毫秒延时程序J0等于50时两细分为200转/分钟

{

unsigned int j1;

for(j1=0;j1<j0;j1++)

;

}

void main(void)

{

   unsigned int n,k;

delay_1(120);//起机延时

BL=0;//半流

k=3;

for(;YX==1;)

;

BL=1;//半流

FX=1;//方向

delay_1(20);

for(;YW==0;)//原位

{

MC=0;//脉冲

if(YX==1)

BL=0;

else

BL=1;

for(;YX==1;)

;

delay_01(k+50);

MC=1;//脉冲

delay_01(k+50);

}

delay_1(10);

FX=0;//方向

for(;YW!=0;)//原

{

MC=0;

if(YX==1)

BL=0;

else

BL=1;

for(;YX==1;)

;

delay_01(k+50);

MC=1;

delay_01(k+50);

}

FX=1;

BL=0;

while(1)

{

YD=1;

JD=1;

for(;FDW!=0;)

;

for(;YX!=0;)

;

// BL=1;

for(;FDW!=0;)

;

BL=1;

delay_1(1);

for(n=50;n>0;n--)

{

MC=0;

delay_01(k+n);

MC=1;

delay_01(k+n);

}

for(n=1890;n>0;n--)

{

MC=0;

delay_01(k);

MC=1;

delay_01(k);

}

for(n=0;n<50;n++)

{

MC=0;

delay_01(k+n);

MC=1;

delay_01(k+n);

}

for(;YW==0;)//首次对位

{

MC=0;

if(YX==1)

BL=0;

else

BL=1;

for(;YX==1;)

;

delay_01(k+50);

MC=1;

delay_01(k+50);

}

JD=0;//夹电

delay_1(10);

FX=0;

for(;YW!=0;)//回位

{

MC=0;

if(YX==1)

BL=0;

else

BL=1;

for(;YX==1;)

;

delay_01(k+50);

MC=1;

delay_01(k+50);

}

delay_1(5);

FX=1;

for(;YW==0;)//再次对位

{

MC=0;

if(YX==1)

BL=0;

else

BL=1;

for(;YX==1;)

;

delay_01(k+50);

MC=1;

delay_01(k+50);

}

delay_1(5);

FX=0;

for(;YW!=0;)//再次回位

{

MC=0;

if(YX==1)

BL=0;

else

BL=1;

for(;YX==1;)

;

delay_01(k+50);

MC=1;

delay_01(k+50);

}

FX=1;

BL=0;

for(;JDW!=0;)

;

YD=0;

delay_1(10);

for(;ZL==1;)

;

  }

}

plc程序设计和电工电路设计的有什么异同 我比较熟悉电工而plc较难理解 请大家帮帮忙

计算机的基本原理是存储程序和程序控制。预先要把指挥计算机如何进行操作的指令序列(称为程序)和原始数据通过输入设备输送到计算机内存贮器中。每一条指令中明确规定了计算机从哪个地址取数,进行什么操作,然后送到什么地址去等步骤。

计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下完成规定操作。依此进行下去。直至遇到停止指令。

程序与数据一样存贮,按程序编排的顺序,一步一步地取出指令,自动地完成指令规定的操作是计算机最基本的工作原理。这一原理最初是由美籍匈牙利数学家冯诺依曼于1945年提出来的,故称为冯诺依曼原理。

说起来十分复杂,实质就是电路中的电流不停随着既定的步骤改变,来实现目的

plc编程与基本电路有什么关系?

PLC意思是可编程控制

学习的时候还要学习相应的编程语言 不过这些语言对于熟悉电工的你来说没什么困难的

语言学会后只需要通过PLC就可以设计出你想要的电路了

而电工就不同 接完一组电路后虽然可以改 但该的比较麻烦 还可能出错

想学的话去买本PLC书看看 不难的

用89c51单片机 6个数码管循环显示HELLO的程序 及仿真电路图

PLC编程与自动控制电气线路有密切关系,最常用的梯形图就类似于一些基本的控制线路图,当然基本电路含义广泛,像数字电路、模拟电路等于PLC就没有必然的关系了。这里的基本电路指的是基本电气线路,如电机控制电路等等。

#include<reg51h>

#define uchar unsigned char

uchar code ledtab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};//0-9

uchar ledtab[]={0x66,0x79,0x68,0x68,0x5c, //HELLo

0x00,0x39,0x6d,0x00,0x3f,0x66}; // C51 04

0x66,0x79,0x68,0x68,0x5c} //HELLo

uchar disdat[6],num;

void dischg()

{

disdat[0]=num;

disdat[1]=num+1;

disdat[2]=num+2;

disdat[3]=num+3;

disdat[4]=num+4;

disdat[5]=num+5;

}

void t0isr() interrupt 1 //秒计时

{

TH0=0x3c;

TL0=0xb0;

time++;

if(time>=20)

{

time=0;

dischg();

num++;

num%=10;

}

}

void t1isr() interrupt 3 //显示

{

TH1=0xec;

TL1=0x78;

P2=0x01<<scanled;

P0=disdat[scanled];

scanled++;

scanled%=6;

}

main()

{

TMOD=0x11;

TH0=0x3c;

TL0=0xb0;

TH1=0xec;

TL1=0x78;

TR1=1;

TR0=1;

ET0=1;

ET1=1;

EA=1;

while(1);

}

 
友情链接
鄂ICP备19019357号-22