欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2412|回復(fù): 4
收起左側(cè)

單片機(jī)與PC機(jī)的互相通信

[復(fù)制鏈接]
ID:189897 發(fā)表于 2017-5-4 13:09 | 顯示全部樓層 |閱讀模式
    目前我正在做有關(guān)單片機(jī)與PC機(jī)相互通信的小項(xiàng)目,我想在一個(gè)程序里面同時(shí)實(shí)現(xiàn)電腦發(fā)送數(shù)據(jù)控制單片機(jī)LED燈 ,單片機(jī)通過按一個(gè)鍵向電腦發(fā)送數(shù)據(jù)并在PC機(jī)上顯示。這兩個(gè)小程序我都分別實(shí)現(xiàn)出來了,可是不知道如何合并來實(shí)現(xiàn)這個(gè)功能

求大神解答 謝謝

《這是單片機(jī)通過按鍵向電腦發(fā)送數(shù)據(jù)》
#include <STC15Fxxxx.h>
unsigned char ad = -1;
bit Flag=1;
unsigned char code key_code[]={0x7e,0x7d,0x7b,0x77,0xbe,0xbd,0xbb,0xb7,0xde,0xdd,0xdb,0xd7,0xee,0xed,0xeb,0xe7};
void delay_ms(unsigned int xms)
{
u8 i,j;
for(i=xms;i>0;i--)
for(j=100;j>0;j++);
}
char keyscan()
{
char scan1,scan2,keycode,j,key;
key=-1;      
P0=0xf0;        
scan1=P0;      
if(scan1!= 0xf0)
{
  delay_ms(1200);
  scan1=P0;     
  if(scan1!=0xf0)
  {
   delay_ms(1200);
   P0=0x0f;      
   scan2=P0;        
   keycode=scan1|scan2;
   for(j=0;j<16;j++)   
   {
    if(keycode ==key_code[j])
    {
     key=j;
         while(P0!=0x0f);
     break;
    }
   }
  }
}
return (key);      
}
void init()
{
  SCON = 0x50;  
AUXR |= 0x40;  
AUXR &= 0xFE;  
TMOD &= 0x0F;  
TL1 = 0xE0;  
TH1 = 0xFE;  
ET1 = 0;  
TR1 = 1;
ES =1;
EA = 1;
REN=1;
}
void main (void)
{

P0M1 = 0; P0M0 = 0;
P1M1 = 0; P1M0 = 0;
P2M1 = 0; P2M0 = 0;
P3M1 = 0; P3M0 = 0;
P4M1 = 0; P4M0 = 0;
P5M1 = 0; P5M0 = 0;
P6M1 = 0; P6M0 = 0;
P7M1 = 0; P7M0 = 0;
init();  
while(1)
  {   
  ad = keyscan();   
    if(ad!=-1)
  {
   SBUF = ad;
  }
  
}
}
void ddd()  interrupt 4
{
    if(RI)
  {
    RI =0;
  }
  if(TI)
   TI =0;
}


《這是電腦控制單片機(jī)LED燈》
#include <STC15Fxxxx.h>
unsigned char a = 0x20;
void init()
{
  SCON = 0x50;  
AUXR |= 0x40;  
AUXR &= 0xFE;  
TMOD &= 0x0F;  
TL1 = 0xE0;  
TH1 = 0xFE;  
ET1 = 0;  
TR1 = 1;
ES =1;
EA = 1;
REN=1;
}
void main()
{
init();


    while(1)
  {
      if(a==0x00)
    P6 = 0x00;
    if(a==0x01)
     P6 = 0xff;
  }
}
void te() interrupt 4
{
  if(RI)
{
  a = SBUF;
  RI = 0;
}
if(TI)
{
   TI =0;
}
}

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

ID:149451 發(fā)表于 2017-5-4 20:28 | 顯示全部樓層
我想應(yīng)該在PC機(jī)上寫個(gè)管理程序(俗稱上位機(jī)程序),通過串口或PCI接口等,連接你的下位機(jī)。
回復(fù)

使用道具 舉報(bào)

ID:196662 發(fā)表于 2017-5-4 20:41 | 顯示全部樓層
一個(gè)MIAN()函數(shù),然后把兩個(gè)功能合并實(shí)現(xiàn)就可以
回復(fù)

使用道具 舉報(bào)

ID:123289 發(fā)表于 2017-5-5 11:16 | 顯示全部樓層
主程序:
初始化
START:
檢測(cè)是否有功能1的標(biāo)記,有則調(diào)功能1;
檢測(cè)是否有功能2的標(biāo)記,有則調(diào)功能2;
……
檢測(cè)是否有功能N的標(biāo)記,有則調(diào)功能N;
進(jìn)行入休眠(可不要此步)
返回到:START

子程序:
功能1;
功能2;
……
功能N;

事件發(fā)生(可在中斷發(fā)生):
事件1發(fā)生,置功能1標(biāo)記;
事件2發(fā)生,置功能2標(biāo)記;
……
事件N發(fā)生,置功能N標(biāo)記;
回復(fù)

使用道具 舉報(bào)

ID:189897 發(fā)表于 2017-5-7 15:12 | 顯示全部樓層
lidengjing 發(fā)表于 2017-5-4 20:41
一個(gè)MIAN()函數(shù),然后把兩個(gè)功能合并實(shí)現(xiàn)就可以

恩對(duì) 就是這樣 剛開始試了不行 后來又行了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表