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

QQ登錄

只需一步,快速開始

搜索
查看: 3507|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)獨(dú)立按鍵控制雙機(jī)通信的輸入程序問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:423663 發(fā)表于 2018-11-22 11:56 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
/******************************************************************
串口通信:兩塊單片機(jī)之間的按鍵通信,輸入   
****************************************************************/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar i,z,x,c,v;
/***************************************************************
延時(shí)函數(shù)
**************************************************************/
void delayms(uint xms)
   {
    uint i,j;
        for(i=xms;i>0;i--)
        for(j=100;j>0;j--);
    }
/***************************************************************
初始化
*****************************************************************/
void inti()
{
  TMOD=0x20;                 //設(shè)置T1定時(shí)器工作方式
  TH1=0xfd;                          //給T1裝初值
  TL1=0xfd;                          //同上
  TR1=1;                                //啟動(dòng)T1定時(shí)器
// REN=1;          先設(shè)置串口模式,再允許串口接收
  SM0=0;                          //設(shè)定串口工作方式1
  SM1=1;                                //同上
  REN=1;                                //允許串口接收
  EA=1;                                         //開總中斷
  ES=1;                                          //開串口中斷
  }
/*************************************************************
主函數(shù)
***************************************************************/
void main()
{
   inti();
   key_scan();
}                        
/**************************************************************
按鍵掃描
****************************************************************/
void key_scan()
{
   if(key1==0)
     {
         delay(10);
         if(key1==0)
         {
                   Send("z");
                   delay(10);         
         }
         }
         if(key2==0)
     {
         delay(10);
         if(key2==0)
         {
                   Send("x");
                   delay(10);         
         }
         }
         if(key3==0)
     {
         delay(10);
         if(key3==0)
         {
                  Send("c");
                   delay(10);         
         }
         }
         if(key4==0)
     {
         delay(10);
         if(key4==0)
         {
                  Send("v");
                   delay(10);         
         }
         }
}        
/*****************************************************************
數(shù)據(jù)發(fā)送
****************************************************************/
void Send(unsigned char dat)
{
   SBUF=dat;
   while(TI==0);
   TI=0;
}
為什么用不了,,求指教
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:232524 發(fā)表于 2018-11-22 13:17 | 只看該作者
你這發(fā)送字符應(yīng)該是Send('x');
單引號(hào)
回復(fù)

使用道具 舉報(bào)

板凳
ID:423663 發(fā)表于 2018-11-22 14:59 | 只看該作者
謝謝了,已改正,但是錯(cuò)誤還有
1.C(39): warning C206: 'key_scan': missing function-prototype
1.C(55): error C231: 'key_scan': redefinition
1.C(56): error C202: 'key1': undefined identifier
回復(fù)

使用道具 舉報(bào)

地板
ID:232524 發(fā)表于 2018-11-22 20:48 | 只看該作者
qwertytyui 發(fā)表于 2018-11-22 14:59
謝謝了,已改正,但是錯(cuò)誤還有
1.C(39): warning C206: 'key_scan': missing function-prototype
1.C(55) ...

你這key沒有定義按鍵啊,要先位定義
回復(fù)

使用道具 舉報(bào)

5#
ID:213173 發(fā)表于 2018-11-22 20:56 | 只看該作者
void main()
{
   inti();
        while(1)
        {
          key_scan();
        }
}
回復(fù)

使用道具 舉報(bào)

6#
ID:213173 發(fā)表于 2018-11-22 21:08 | 只看該作者
/******************************************************************
串口通信:兩塊單片機(jī)之間的按鍵通信,輸入   
****************************************************************/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit key1=P1^0;
sbit key2=P1^1;
sbit key3=P1^2;
sbit key4=P1^3;

uchar i,z,x,c,v;
/***************************************************************
延時(shí)函數(shù)
**************************************************************/
void delayms(uint xms)
   {
    uint i,j;
        for(i=xms;i>0;i--)
        for(j=100;j>0;j--);
    }
/***************************************************************
初始化
*****************************************************************/
void inti()
{
  TMOD=0x20;                 //設(shè)置T1定時(shí)器工作方式
  TH1=0xfd;                          //給T1裝初值
  TL1=0xfd;                          //同上
  TR1=1;                                //啟動(dòng)T1定時(shí)器
// REN=1;          先設(shè)置串口模式,再允許串口接收
  SM0=0;                          //設(shè)定串口工作方式1
  SM1=1;                                //同上
  REN=1;                                //允許串口接收
  EA=1;                                         //開總中斷
  ES=1;                                          //開串口中斷
}
/*****************************************************************
數(shù)據(jù)發(fā)送
****************************************************************/
void Send(unsigned char dat)
{
   SBUF=dat;
   while(TI==0);
   TI=0;
}                        
/**************************************************************
按鍵掃描
****************************************************************/
void key_scan()
{
   if(key1==0)
     {
         delayms(10);
         if(key1==0)
         {
                   Send("z");
                   delayms(10);         
         }
         }
         if(key2==0)
     {
         delayms(10);
         if(key2==0)
         {
                   Send("x");
                   delayms(10);         
         }
         }
         if(key3==0)
     {
         delayms(10);
         if(key3==0)
         {
                  Send("c");
                   delayms(10);         
         }
         }
         if(key4==0)
     {
         delayms(10);
         if(key4==0)
         {
                  Send("v");
                   delayms(10);         
         }
         }
}        
/*************************************************************
主函數(shù)
***************************************************************/
void main()
{
   inti();
        while(1)
        {
          key_scan();
        }
}
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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