Acht 24-volt control relais industrial control panels mit power lagerung (unterstützt AT89S52/STC89C52)
Die baby teilnahme:[Freies verschiffen] Zeit: 2014-01-06 12:36 -- 2014-03-07 12:36 Einzel bestellungen über98Yuan versand,Chinesischen festland verschiffen, Hong Kong, Macao, Taiwan und übersee verschiffen ist nicht automatisch ändern die porto fotografiert |
Geben sie den abschnitt beschriftet [beschreibung]
Ausgang abschnitt beschriftet [beschreibung]
[Host Interface](Quelle code)
[Test programm]
/************************************************* *******************
Xpress Technologie
Funktion: Diese version unterstützung test programmVerwenden chip: AT89S52Kristall: 11,0592 MHZBaudrate: 9600Compiler Umwelt: KeilAutor: zhangxinchunleoWebsite:Ourhc.cn Taobao shop: Xpress TechnologieShop36330473.taobao.com
[Disclaimer] Dieses verfahren ist verwendet nur für studie und referenz, bitte die copyright und autor informationen!
************************************************** *******************/
/************************************************* *******************
SCM und PC mit einem 9-pin serial port, MAX232 kommunikation baudrate standardwerte zu 9600.MCU erhält die PC sendet eine hex code tabelle wie folgt:01, voll: PC sendet 0xFF; SCM rückkehr 0XFF;02, alle off: PC sendet 0X00; SCM rückkehr 0X00;03, die erste straße open: PC sendet 0x01; SCM rückkehr 0X01;04, die zweite straße open: PC sendet 0x02; SCM rückkehr 0X02;05, die dritte straße open: PC sendet 0x03; SCM rückkehr 0X03;06, die vierte straße open: PC sendet 0x04; SCM rückkehr 0X04;07, die fünfte straße open: PC sendet 0x05; SCM rückkehr 0X05;08, die sechste road öffnen: PC sendet 0x06; SCM rückkehr 0X06;09, die siebte straße open: PC sendet 0x07; SCM rückkehr 0X07;10, die achte straße open: PC sendet 0x08; SCM rückkehr 0X08;11, die erste straße aus: PC sendet 0xFE; SCM rückkehr 0XFE;12, die zweite straße aus: PC sendet 0xFD; SCM rückkehr 0XFD;13, die dritte straße aus: PC sendet 0xFC; SCM rückkehr 0XFC;14, die vierte weg: PC sendet 0xFB; SCM rückkehr 0XFB;15, die fünfte weg: PC sendet 0xFA; SCM rückkehr 0XFA;16, sechste Road, Off: PC sendet 0xF9; SCM rückkehr 0XF9;17, die siebten straße aus: PC sendet 0xF8; SCM rückkehr 0XF8;18, die achte straße aus: PC sendet 0xF7; SCM rückkehr 0XF7;19, eingang status abfrage: PC sendet 0x55; SCM rückkehr die ausgang zustand (rückkehr wert in hexadezimal);20, die ausgang status abfrage: PC senden 0xAA; SCM rückkehr die ausgang zustand (rückkehr wert in hexadezimal);21, die ausgang negiert anweisung: PC sendet 0X11; SCM rückkehr 0x11;
************************************************** *******************/
# Umfassen# Definieren uchar unsigned char//makro definition unsigned char# Definieren uint unsigned int//makro definition unsigned integer/************************************************* *******************Die initial definition************************************************** *******************/
Uchar sj;//speichern von daten werte
Bit schreiben = 0;//schreiben 24C08 logo;
Uchar dat = 0xee;//für die speicherung MCU erhält die sendepufferregister SBUF inhalt innerhalb
/* Definieren acht aus der mikrocontroller P2 port */
Sbit K1 = P2 ^ 0;
Sbit K2 = P2 ^ 1;
Sbit K3 = P2 ^ 2;
Sbit K4 = P2 ^ 3;
Sbit K5 = P2 ^ 4;
Sbit K6 = P2 ^ 5;
Sbit K7 = P2 ^ 6;
Sbit K8 = P2 ^ 7;
/* Definieren acht in die mikrocontroller P1 port */
Sbit IN0 = P1 ^ 0;
Sbit IN1 = P1 ^ 1;
Sbit IN2 = P1 ^ 2;
Sbit IN3 = P1 ^ 3;
Sbit IN4 = P1 ^ 4;
Sbit IN5 = P1 ^ 5;
Sbit IN6 = P1 ^ 6;
Sbit IN7 = P1 ^ 7;
/************************************************* *******************
24C08 lesen und schreiben fahrer
************************************************** *******************/
Sbit scl = P3 ^ 6;//24c08 SCL
Sbit sda = P3 ^ 7;//24c08 SDA
Leere delay1 (uchar x)
{
Uint ich;
Für (i = 0; i
;
}
Nichtig flash () {;;}
Void x24c08_init ()//24c08 initialisierung routine
{
Scl = 1;
Flash ();
Sda = 1;
Flash ();
}
Nichtig starten ()//start (I quadrat C) bus
{
Sda = 1;-(); scl = 1;-(); sda = 0; flash (); scl = 0;-();
}
Nichtig stop ()//stop (I quadrat C) bus
{
Sda = 0;-(); scl = 1;-(); sda = 1; flash ();
}
Nichtig writex (uchar j)//schreiben ein byte
{
Uchar ich, temp;
Temp = j;
Für (i = 0; i <8; i + +)
{
Temp = temp <<1; scl = 0;-(); sda = CY; flash (); scl = 1;-();
}
Scl = 0;-(); sda = 1;-();
}
Uchar readx ()//lesen ein byte
{
Uchar i, j, k = 0;
Scl = 0;-(); sda = 1;
Für (i = 0; i <8; i + +)
{
Flash (); scl = 1;-();
Wenn (sda = = 1) j = 1;
Sonst j = 0;
K = (k <<1) | j;
Scl = 0;}
Flash (); rückkehr (k);
}
Nichtig uhr ()//(I quadrat C) linie uhr
{
Unsigned char i = 0;
Scl = 1;-();
Während ((sda = = 1) & & (ich <255)) ich + +;
Scl = 0;-();
}
/************************************************* *******************
Liest ein byte von daten von der adresse adresse in 24c08
************************************************** *******************/
Unsigned char x24c08_read (unsigned char adresse)
{
Unsigned char ich;
Starten (); writex (0xa0);
Uhr (); writex (adresse);
Uhr (); starten ();
Writex (0xa1); uhr ();
Ich = readx (); stop ();
Delay1 (10);
Rückkehr (ich);
}
/************************************************* *******************
Schreibt ein byte der daten auf die adresse adresse 24c08
************************************************** *******************/
Nichtig x24c08_write (unsigned char adresse, unsigned char info)
{
EA = 0;
Starten (); writex (0xa0);
Uhr (); writex (adresse);
Uhr (); writex (info);
Uhr (); stop ();
EA = 1;
Delay1 (50);
}
/************************************************* *******************
Verzögerung funktion
************************************************** *******************/
Void verzögerung (uchar t)
{
Uchar i, j;
Für (i = 0; i
{
Für (j = 13; j> 0; j-);
{;
}
}
}
/************************************************* *******************
Funktion: serial port initialisierung, baudrate 9600, der weg ein
************************************************** *******************/
Nichtig Init_Com (void)
{
TMOD = 0x20;
PCON = 0x00;
SCON = 0x50;
TH1 = 0xFd;
TL1 = 0xFd;
TR1 = 1;
}
/************************************************* *******************
Erhalt daten die beurteilung funktion
************************************************** *******************/
Chuankou ()
{
Schalter (dat)//empfangen daten zu beurteilen
{
Uchar k;
K = 10;
Fall 0xff: P2 = 0X00; verzögerung (k); SBUF = dat; dat = 0xee; schreiben = 1; break;//voll
Fall 0x00: P2 = 0XFF; verzögerung (k); SBUF = dat; dat = 0xee; schreiben = 1; break;//voll geschlossen
Fall 0x01: K1 = 0; verzögerung (k); SBUF = dat; dat = 0xee; schreiben = 1; break;//erste straße öffnen
Fall 0x02: K2 = 0; verzögerung (k); SBUF = dat; dat = 0xee; schreiben = 1; break;//zweite straße öffnen
Fall 0x03: K3 = 0; verzögerung (k); SBUF = dat; dat = 0xee; schreiben = 1; break;//dritte straße öffnen
Fall 0x04: K4 = 0; verzögerung (k); SBUF = dat; dat = 0xee; schreiben = 1; break;//vierte straße öffnen
Fall 0x05: K5 = 0; verzögerung (k); SBUF = dat; dat = 0xee; schreiben = 1; break;//fünfte straße öffnen
Fall 0x06: K6 = 0; verzögerung (k); SBUF = dat; dat = 0xee; schreiben = 1; break;//sechste road öffnen
Fall 0x07: K7 = 0; verzögerung (k); SBUF = dat; dat = 0xee; schreiben = 1; break;//siebten straße öffnen
Fall 0x08: K8 = 0; verzögerung (k); SBUF = dat; dat = 0xee; schreiben = 1; break;//achte straße öffnen
Fall 0xFE: K1 = 1; verzögerung (k); SBUF = dat; dat = 0xee; schreiben = 1; break; straße//erste hürde
Fall 0xFD: K2 = 1; verzögerung (k); SBUF = dat; dat = 0xee; schreiben = 1; break; straße//zweite hürde
Fall 0xFC: K3 = 1; verzögerung (k); SBUF = dat; dat = 0xee; schreiben = 1; break;//dritte straße off
Fall 0xFB: K4 = 1; verzögerung (k); SBUF = dat; dat = 0xee; schreiben = 1; break; viertens off road
Fall 0xFA: K5 = 1; verzögerung (k); SBUF = dat; dat = 0xee; schreiben = 1; break;//fünfte Lu Guan
Fall 0xF9: K6 = 1; verzögerung (k); SBUF = dat; dat = 0xee; schreiben = 1; break;//sechste Lu GuanFall 0xF8: K7 = 1; verzögerung (k); SBUF = dat; dat = 0xee; schreiben = 1; break; siebten off roadFall 0xF7: K8 = 1; verzögerung (k); SBUF = dat; dat = 0xee; schreiben = 1; break;//achte off roadFall 0x55: SBUF = P1; verzögerung (k); dat = 0xee; brechen; //lesen eingang statusFall 0xAA: SBUF = P2; verzögerung (k); dat = 0xee; schreiben = 1; brechen;//lesen ausgang port statusFall 0x11: P2 = ~ P2; verzögerung (k); SBUF = dat; dat = 0xee; schreiben = 1; break;//ausgang negiertStandard: brechen;//aus}}/************************************************* *******************Die wichtigsten funktion************************************************** *******************/
Void haupt (){Init_Com ();//serial port initialisierungX24c08_init ();//initialisierung 24C08Sj = x24c08_read (2);//lesen sie die daten gespeichert verleiht datP2 = sj;//gespeicherten daten gegeben P2 mundWährend (1){Chuankou ();//empfangen daten zu bestimmen die funktionWenn (RI)//bestimmt ob die erhalten scan daten,{Dat = SBUF;//erhalt daten SBUF ausgestattet mit datRI = 0;//RI gelöscht.}Wenn (schreiben = = 1)//bestimmen ob die timer zählen eine zweite{Schreiben = 0;//gelöschtSj = P2;//gegeben wert P2 port datX24c08_write (2, sj);//2 dat schreiben daten in 24c08 adresse}}}/************************************************* *******************Ende************************************************** *******************/ Funktion:
[Foto Galerie]
/*************************************/
Versand liste
1,24 V acht relais industrial control panels mit power lagerung 1 (die standard versand chips STC89C52RC)2,Relevanten daten CD 1
/*************************************/
Abschnitt babyPreis nicht enthalten rechnungen, sie eine rechnung benötigen, kontaktieren sie bitte kunden service,Danke!
Zustand: große rabatt! Willkommen großhandel!Kontaktieren sie uns:1, QQ: 115451619 (online zu jeder zeit)2, E-mail: 115451619qq.com3, Ali Wollen: zhangxinchunleo4, das unternehmen die website:Ourhc.cnOder:Ourhckj.219.huyi5.com
Art : Logik IC
Bedingung : Neu