久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

串口中斷問題

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:51482 發(fā)表于 2013-8-10 20:17 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
/************************甲機*******************************
名稱:甲機串口程序
說明:甲機向乙機發(fā)送控制命令字符,甲機同時還可以接收乙機發(fā)送
      的數(shù)字,所接收的數(shù)字顯示在數(shù)碼管上。
***********************************************************/
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit LED1=P1^0;
sbit LED2=P1^3;
sbit K1=P1^7;
uchar temp,num;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void delay(uint);
void put_to_serail(uchar c);
void init();
void keyscan();
//主程序
void main()
{
   init();
   while(1)
   {
      delay(10);
      keyscan();
      switch(temp)
      {
         case 0://put_to_serail('X');
                LED1=LED2=1;
                break;
         case 1://put_to_serail('A');
                LED1=0;LED2=1;
                break;
         case 2://put_to_serail('B');
                LED1=1;LED2=0;
                break;
         case 3://put_to_serail('C');
                LED1=0;LED2=0;
                break;
      }
   }
}
//初始化程序
void init()
{
   temp=0;
   LED1=LED2=1;
   P0=0x00;
   SCON=0x50;
   TMOD=0x02;
   PCON=0x00;
   TH1=0xfd;
   TL1=0xfd;
   TI=RI=0;
   TR1=1;
   EA=1;
   ES=1;
}
//延時程序
void delay(uint z)
{
   uint x,y;
   for(x=z;x>0;x--)
      for(y=110;y>0;y--);
}
//鍵盤掃描程序
void keyscan()
{
   if(K1==0)
   {
      delay(10);
      if(K1==0)
      {
         temp++;
         if(temp==4)
            temp=0;
      }
      while(!K1);
   }
   if(K1==0)
   {
      put_to_serail('X');
   }
   if(K1==1)
   {
      put_to_serail('A');
   }
   if(K1==2)
   {
      put_to_serail('B');
   }
   if(K1==3)
   {
      put_to_serail('C');
   }
}
//串口發(fā)送程序
void put_to_serail(uchar c)
{
   SBUF=c;
   while(TI==0);
   TI=0;
}
//串口接收程序
void Serial_INIT() interrupt 4
{
   if(RI)
   {
      RI=0;
      if(SBUF>=0&&SBUF<=9)
         P0=table[SBUF];
      else
         P0=0x00;
   }
}
   



/*********************************乙機*********************************
名稱:乙機程序接收甲機發(fā)送的字符并完成相應動作
說明:乙機接收到甲機發(fā)送的信號后,根據(jù)相應信號控制完成不同的LED點亮動作
**********************************************************************/
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit LED1=P1^0;
sbit LED2=P1^3;
sbit K2=P1^7;
uchar num;
void delay(uint);
void init();
void keyscan();
//主程序
void main()
{
   init();
   while(1)
   {
      delay(100);
      keyscan();
      
   }
   
}
//初始化程序
void init()
{
   num=0;
   SCON=0x50;
   TMOD=0x20;
   PCON=0x00;
   TH1=0xfd;
   TL1=0xfd;
   TI=RI=0;
   TR1=1;
   EA=1;
   ES=1;
}
//延時子程序
void delay(uint z)
{
   uint x,y;
   for(x=z;x>0;x--)
      for(y=110;y>0;y--);
}
//按鍵掃描程序
void keyscan()
{
   if(K2==0)
   {
      delay(5);
      if(K2==0)
      {
         SBUF=num;
         num++;
         if(num==10)
            num=0;
         while(TI==0);
         TI=0;
      }
   }
}
//乙機串口中斷程序
void serial_0() interrupt 4
{
   if(RI==1)
   {
      RI=0;
      switch(SBUF)
      {
         case  'X':LED1=1;LED2=1;break;
         case  'A':LED1=0;LED2=1;break;
         case  'B':LED1=1;LED2=0;break;
         case  'C':LED1=0;LED2=0;break;
      }
   }
}

為什么甲機發(fā)送的字節(jié)乙機收不到,乙機發(fā)送的甲機也沒收到。

1.jpg (241.36 KB, 下載次數(shù): 141)

1.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:7485 發(fā)表于 2013-8-11 06:51 | 只看該作者
甲機或乙機任何一個有不正常的地方,都會使通訊失敗。

這里面牽涉的方面很多,兩個單片機都要能正常工作,這是最起碼的。串口部分的硬件連接、波特率設(shè)置、程序等等等等。。。。。
回復

使用道具 舉報

板凳
ID:52928 發(fā)表于 2013-8-11 10:42 | 只看該作者
兩個單片機要共地
回復

使用道具 舉報

地板
ID:52999 發(fā)表于 2013-8-14 13:10 | 只看該作者
你proteus仿真中,雙機并沒有連通吧!!串口那線被你忽略了
回復

使用道具 舉報

5#
ID:52999 發(fā)表于 2013-8-14 13:13 | 只看該作者
其實,不用MAX232和串口,,直接甲機的TXD連到乙機的RXD,乙機的TXD連到甲機的RXD就可以通信了,實際電路這樣也可以實現(xiàn)的
回復

使用道具 舉報

6#
ID:76287 發(fā)表于 2015-4-10 09:11 | 只看該作者
雖然不懂,但還是要頂,畢竟每一位老手都是從新手蛻變而來的,贊一個。。。。。。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 婷婷亚洲综合 | 久久亚洲国产精品 | 国产1区2区3区 | 国产午夜视频 | 成人片在线看 | 欧美一区二区三区在线观看 | 亚洲成人精品久久 | 亚洲精品色 | 亚洲欧美日韩一区二区 | 国产aⅴ爽av久久久久久久 | 天堂中文资源在线 | 精品福利在线视频 | 中国美女一级黄色片 | 狠狠操在线 | 日韩欧美国产精品一区二区 | 在线啊v | 日韩视频在线一区 | av中文字幕在线 | 精品久久久久久久人人人人传媒 | 欧美精品91爱爱 | 蜜臀av日日欢夜夜爽一区 | 欧美三级视频 | 亚洲欧洲日本国产 | 久久综合99 | 欧美久久精品一级黑人c片 91免费在线视频 | 国产一区二区久久 | 日本人爽p大片免费看 | 91精品国产高清一区二区三区 | 一区二区三区欧美在线 | 拍真实国产伦偷精品 | 亚洲成av人影片在线观看 | 在线免费黄色 | 亚洲三级在线观看 | 欧美一区二区三区视频 | 日本综合在线观看 | 亚洲成av人影片在线观看 | 欧美精品成人一区二区三区四区 | 九九热在线免费视频 | 国产精品久久午夜夜伦鲁鲁 | 亚洲综合在线一区二区 | 亚洲国产精品久久 |