|
27-原創(chuàng)VB串口繼電器控制實(shí)驗(yàn)
0.png (76.6 KB, 下載次數(shù): 78)
下載附件
2016-12-5 03:05 上傳
下載:
27-原創(chuàng)VB串口繼電器控制實(shí)驗(yàn).zip
(17.32 KB, 下載次數(shù): 66)
2016-11-21 22:58 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
下位機(jī)程序:
- //按K1 繼電器吸合
- //按K2 繼電器斷開
- /*********************************************************/
- #include <reg52.h>
- sbit K1 =P3^2 ; //K1
- sbit K2 =P3^3 ; //K2
- sbit JDQ=P3^7; //繼電器
- unsigned char inbuf2[5];//接收緩沖區(qū)
- unsigned char count3;
- void init_serialcomm( void )
- {
- SCON = 0x50 ; //SCON: serail mode 1, 8-bit UART, enable ucvr
- TMOD |= 0x20 ; //TMOD: timer 1, mode 2, 8-bit reload
- PCON |= 0x80 ; //SMOD=1;
- TH1 = 0xFA ; //Baud:4800 fosc=11.0592MHz
- IE |= 0x90 ; //Enable Serial Interrupt
- TR1=1;
- }
- //串口接收中斷函數(shù)
- void serial () interrupt 4 using 3
- {
- if (RI) //RI==開始接收
- {
- unsigned char ch;
- RI = 0 ; //軟件RI=0
- ch=SBUF;
- if (ch>1)
- {
- count3= 0 ;
- inbuf2[count3]=ch;
- }
- else
- {
- count3++;
- inbuf2[count3]=ch;
- }
- }
- }
- /*********************************************************/
- void Delay(unsigned int ii) //1MS
- {
- unsigned int jj;
- for(;ii>0;ii--)
- for(jj=0;jj<125;jj++)
- {;}
- }
- void main()
- { init_serialcomm();
- JDQ=0;
- EA = 1; //允許CPU中斷
- while(1){
-
- if (inbuf2[0]==0x31){
- JDQ=1;//吸合
- P0=0x00;//P0口LED亮
- }
- if (inbuf2[0]==0x32){
- JDQ=0;//吸合
- P0=0xff;//P0口LED亮
- }
- if (K1==0)
- {
- Delay(10);
- if(K1==0){
- inbuf2[0]=0x00;
- JDQ=1;//吸合
- P0=0x00;//P0口LED亮
- }
- }
- if (K2==0){
- Delay(10);
- if(K2==0){
- inbuf2[0]=0x00;
- JDQ=0; //釋放
- P0=0xff; //P0口LED燈滅
- }
- }
- }
- }
復(fù)制代碼
|
評(píng)分
-
查看全部評(píng)分
|