单片机初始入门,我学的时后,走过很多弯路,其实,单片机用于
工业控制入门并不是我们想象的那样难.就是因为看书没人指
点,连如后这样简单的流程控制C程序都无处找,这里仅提供给
初学者,共同进步,象这样的简单入门,10天就够了,千万别放弃
哦,因为当初我也打算放弃,认为非常难.10天的路我确走了大
半年,希望走在更前面的朋有也多提供一些工控程序,互相学
习进步. hewww88@163.com
/**************************************************************
;江华单片机
;作者:江华
;outdisp1.c
;硬件:HE-DKB-1工控板(250元,17路输入,8路输出。10天教会使用于流程等控制,
;用途:代替PLC对手动改自动机台,流水线自动控制等,投资少作用大。
;芯片:宏晶STC89C52RC tel:15959652901
;功能:C语言写的流程状态转移
;s1即P0^0闭合;程序运行后,继电器依次吸合,同时,LED数码管依次显示7~0
;当然用在流程中加上延时调整,中间栽俳獿EDXX改为到位感测点一样哦,呵呵
;***************************************************************/
#include "reg51.h"
#include "intrins.h"
#define uchar unsigned char //0-255 没有用到可省掉
sbit Dat =P3^1; //可不要
sbit Clk =P3^0; //可不要
sbit Cntr =P3^2;
sbit s1 = P0^0; // P大写s小写
sbit s2 = P0^1;
sbit s3 = P0^2;
sbit s4 = P0^3;
sbit s5 = P0^4;
sbit s6 = P0^5;
sbit s7 = P0^6;
sbit s8 = P0^7;
sbit s9 = P0^0; // P大写s小写
sbit s10 = P2^1;
sbit s11 = P2^2;
sbit s12 = P2^3;
sbit s13 = P2^4;
sbit s14 = P2^5;
sbit s15 = P2^6;
sbit s16 = P2^7;//(S17 计数T0怎么加入呢?)
sbit LED1 = P1^7;
sbit LED2 = P1^6;
sbit LED3 = P1^5;
sbit LED4 = P1^4;
sbit LED5 = P1^3;
sbit LED6 = P1^2;
sbit LED7 = P1^1;
sbit LED8 = P1^0;
void mDelay(unsigned int Delay) //延时子程序0-65535
{ unsigned char i;
for(;Delay>0;Delay--)
{ for(i=0;i<159;i++)
{;}
}
} //经精确调整后延时503us
void main ()
{
P1 = 0x00;
while (1)
{
//---------------------------
Cntr = 0;
_nop_ ();
_nop_ ();
_nop_ ();
_nop_ ();
if (s1= =0) {LED1 = 1;LED8 = 0;} //此工控板1为输出。
Cntr = 1;
_nop_ ();
_nop_ ();
_nop_ ();
_nop_ ();
mDelay(20000);
//---------------------------
Cntr = 0;
if (LED1 = = 1) {LED2 = 1;LED1=0;} //如果LED1=1这是错的哦,LED1 = = 1才可
Cntr = 1;
_nop_ ();
_nop_ ();
_nop_ ();
_nop_ ();
mDelay(20000);
//---------------------------
Cntr = 0;
if (LED2 = = 1) {LED3 = 1;LED2=0;} //如果LED1=1这是错的哦,LED1= =1才可
Cntr = 1;
_nop_ ();
_nop_ ();
_nop_ ();
_nop_ ();
mDelay(20000);
//---------------------------
Cntr = 0;
if (LED3 = = 1) {LED4 = 1;LED3=0;} //91
Cntr = 1;
_nop_ ();
_nop_ ();
_nop_ ();
_nop_ ();
mDelay(20000);
//---------------------------
Cntr = 0;
if (LED4 = = 1) {LED5 = 1;LED4=0;}
Cntr = 1;
_nop_ ();
_nop_ ();
_nop_ ();
_nop_ ();
mDelay(20000);
//---------------------------
Cntr = 0;
if (LED5 = = 1) {LED6 = 1;LED5=0;} //如果LED1=1这是错的哦,LED1 == 1才可
Cntr = 1;
_nop_ ();
_nop_ ();
_nop_ ();
_nop_ ();
mDelay(20000);
//---------------------------
Cntr = 0;
if (LED6 = = 1) {LED7 = 1;LED6=0;} //如果LED1=1这是错的哦,LED1= =1才可
Cntr = 1;
_nop_ ();
_nop_ ();
_nop_ ();
_nop_ ();
mDelay(20000);
//---------------------------
Cntr = 0;
if (LED7= =1) {LED8=1;LED7=0;} //LED2= =1与LED2 = = 1是一样哦,换s2==0一样。呵呵!
//else P1 = 0xff; //128 此处不用
if (s1= =1) {P1 = 0x00;}
Cntr = 1;
_nop_ ();
_nop_ ();
_nop_ ();
_nop_ ();
mDelay(20000);
}
}
-
-
-
szunivo90 发表于 2008/7/17 14:26:18
我公司现主要营销PQI,INNODISK品牌的电子盘(DOM)32M-6G(容量);以及2.5寸或者1.8寸的工业SSD硬盘64M-128G(容量);PQI,Innodisk,Sandisk工业CF卡32M-8G(容量);还有M-SYSTEMS电子盘DOM,DOC 8M-128M(容量)等常温和宽温的存储产品公司长期备有现货PQI工业电子盘DOM和CF卡质保5年.,价格优惠,如果有需要的朋友可随时联系我!0755-61637296(梁小姐) QQ:530461699 MSN:anna@univo.com.cn
引用 szunivo90 2008/7/17 14:26:18 发表于2楼的内容
-
-
-
-
-
zh_zh224524 | 当前状态:离线
总积分:61 2025年可用积分:0
注册时间: 2008-09-20
最后登录时间: 2008-09-20
-
-
zh_zh224524 发表于 2008/9/20 13:32:14
引用 zh_zh224524 2008/9/20 13:32:14 发表于3楼的内容
-