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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2728|回復: 2
收起左側

發個TFT串口屏控制LED

[復制鏈接]
ID:279114 發表于 2018-3-18 23:17 | 顯示全部樓層 |閱讀模式
TFT串口屏控制LED
回復

使用道具 舉報

ID:279114 發表于 2018-3-19 10:51 | 顯示全部樓層
付件 串口屏控制.zip (25.97 KB, 下載次數: 28)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:1 發表于 2018-3-20 00:45 | 顯示全部樓層
樓主的源碼:
  1. #include<reg51.h>          
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. unsigned char flag,i,j;
  5. unsigned char temp[14];         // [EE B1 11 00 02 00 03 10 01 00 FF FC FF FF] 對應串口屏指令14位

  6. sbit led1=P1^7;
  7. sbit led2=P1^6;
  8. sbit led3=P1^5;
  9. sbit led4=P1^4;
  10. sbit led5=P1^3;
  11. sbit led6=P1^2;
  12. sbit led7=P1^1;
  13. sbit led8=P1^0;

  14. void init()
  15. {
  16.         SCON=0X50;                        //設置為工作方式1
  17.         TMOD=0x20;                //設定定時器T1工作方式2,8位自動重裝
  18.         PCON=0x00;                //波特率加倍
  19.         TH1=0xfd;
  20.         TL1=0xfd;                //定時器初值
  21.         TR1=1;                        //允許啟動定時器
  22.         REN=1;                        //允許串行接收
  23.         SM0=0;                       
  24.         SM1=1;                        //設定串行工作方式1
  25.         EA=1;                        //開總中斷
  26.         ES=1;                        //開串行中斷
  27. }
  28. void main()
  29. {
  30.         init();

  31.         P1=0;
  32.         while(1)
  33.         {
  34.           if(temp[4]==2)                 //查詢畫面ID號,ID=1          EE B1 11 00 01 00 00 10 01 00 FF FC FF FF 對應串口屏指令
  35.                 {
  36.           if(temp[6]==2)                 //查詢按鍵ID號,ID=3          EE B1 11 00 01 00 24 10 01 00 FF FC FF FF 對應串口屏指令
  37.                 {
  38.                  switch (temp[9]==1)          //查詢按鍵狀態          EE B1 11 00 01 00 24 10 01 01 FF FC FF FF
  39.                     {case 0x01:led1=1;          //如果按鍵=1,則打開輸出
  40.                          break;
  41.                          case 0x00:led1=0;   //如果按鍵=0,則關閉輸出,。EE B1 11 00 01 00 24 10 01 00 FF FC FF FF
  42.                          break;
  43.                          }
  44.                    }
  45.                 }
  46.           if(temp[4]==2)                     //查詢畫面ID號,ID=2                EE B1 11 00 01 00 25 10 01 00 FF FC FF FF
  47.                 {
  48.           if(temp[6]==3)                     //查詢按鍵ID號,ID=4                EE B1 11 00 01 00 25 10 01 00 FF FC FF FF
  49.                 {
  50.                  switch (temp[9]==1)         //查詢按鍵狀態                            EE B1 11 00 01 00 25 10 01 01 FF FC FF FF
  51.                     {case 0x01:led2=1;         // 如果按鍵=1,則打開輸出。
  52.                          break;
  53.                          case 0x00:led2=0;          //如果按鍵=0,則關閉輸出, EE B1 11 00 01 00 25 10 01 00 FF FC FF FF
  54.                          break;
  55.                          }
  56.                  }
  57.             }
  58.        if(temp[4]==2)                 //查詢畫面ID號,ID=1          EE B1 11 00 01 00 00 10 01 00 FF FC FF FF 對應串口屏指令
  59.                 {
  60.           if(temp[6]==4)                 //查詢按鍵ID號,ID=3          EE B1 11 00 01 00 24 10 01 00 FF FC FF FF 對應串口屏指令
  61.                 {
  62.                  switch (temp[9]==1)          //查詢按鍵狀態          EE B1 11 00 01 00 24 10 01 01 FF FC FF FF
  63.                     {case 0x01:led3=1;          //如果按鍵=1,則打開輸出
  64.                          break;
  65.                          case 0x00:led3=0;   //如果按鍵=0,則關閉輸出,。EE B1 11 00 01 00 24 10 01 00 FF FC FF FF
  66.                          break;
  67.                          }
  68.                    }
  69.                 }
  70.           if(temp[4]==2)                     //查詢畫面ID號,ID=2                EE B1 11 00 01 00 25 10 01 00 FF FC FF FF
  71.                 {
  72.           if(temp[6]==5)                     //查詢按鍵ID號,ID=4                EE B1 11 00 01 00 25 10 01 00 FF FC FF FF
  73.                 {
  74.                  switch (temp[9]==1)         //查詢按鍵狀態                            EE B1 11 00 01 00 25 10 01 01 FF FC FF FF
  75.                     {case 0x01:led4=1;         // 如果按鍵=1,則打開輸出。
  76.                          break;
  77.                          case 0x00:led4=0;          //如果按鍵=0,則關閉輸出, EE B1 11 00 01 00 25 10 01 00 FF FC FF FF
  78.                          break;
  79.                          }
  80.                  }
  81.             }
  82.            if(temp[4]==2)                 //查詢畫面ID號,ID=1          EE B1 11 00 01 00 00 10 01 00 FF FC FF FF 對應串口屏指令
  83.                 {
  84.           if(temp[6]==6)                 //查詢按鍵ID號,ID=3          EE B1 11 00 01 00 24 10 01 00 FF FC FF FF 對應串口屏指令
  85.                 {
  86.                  switch (temp[9]==1)          //查詢按鍵狀態          EE B1 11 00 01 00 24 10 01 01 FF FC FF FF
  87.                     {case 0x01:led5=1;          //如果按鍵=1,則打開輸出
  88.                          break;
  89.                          case 0x00:led5=0;   //如果按鍵=0,則關閉輸出,。EE B1 11 00 01 00 24 10 01 00 FF FC FF FF
  90.                          break;
  91.                          }
  92.                    }
  93.                 }
  94.           if(temp[4]==2)                     //查詢畫面ID號,ID=2                EE B1 11 00 01 00 25 10 01 00 FF FC FF FF
  95.                 {
  96.           if(temp[6]==7)                     //查詢按鍵ID號,ID=4                EE B1 11 00 01 00 25 10 01 00 FF FC FF FF
  97.                 {
  98.                  switch (temp[9]==1)         //查詢按鍵狀態                            EE B1 11 00 01 00 25 10 01 01 FF FC FF FF
  99.                     {case 0x01:led6=1;         // 如果按鍵=1,則打開輸出。
  100.                          break;
  101.                          case 0x00:led6=0;          //如果按鍵=0,則關閉輸出, EE B1 11 00 01 00 25 10 01 00 FF FC FF FF
  102.                          break;
  103.                          }
  104.                  }
  105.             }
  106.        if(temp[4]==2)                 //查詢畫面ID號,ID=1          EE B1 11 00 01 00 00 10 01 00 FF FC FF FF 對應串口屏指令
  107.                 {
  108.           if(temp[6]==8)                 //查詢按鍵ID號,ID=3          EE B1 11 00 01 00 24 10 01 00 FF FC FF FF 對應串口屏指令
  109.                 {
  110.                  switch (temp[9]==1)          //查詢按鍵狀態          EE B1 11 00 01 00 24 10 01 01 FF FC FF FF
  111.                     {case 0x01:led7=1;          //如果按鍵=1,則打開輸出
  112.                          break;
  113.                          case 0x00:led7=0;   //如果按鍵=0,則關閉輸出,。EE B1 11 00 01 00 24 10 01 00 FF FC FF FF
  114.                          break;
  115.                          }
  116.                    }
  117.                 }
  118.           if(temp[4]==2)                     //查詢畫面ID號,ID=2                EE B1 11 00 01 00 25 10 01 00 FF FC FF FF
  119.                 {
  120.           if(temp[6]==9)                     //查詢按鍵ID號,ID=4                EE B1 11 00 01 00 25 10 01 00 FF FC FF FF
  121.                 {
  122.                  switch (temp[9]==1)         //查詢按鍵狀態                            EE B1 11 00 01 00 25 10 01 01 FF FC FF FF
  123.                     {case 0x01:led8=1;         // 如果按鍵=1,則打開輸出。
  124.                          break;
  125.                          case 0x00:led8=0;          //如果按鍵=0,則關閉輸出, EE B1 11 00 01 00 25 10 01 00 FF FC FF FF
  126.                          break;
  127.                          }
  128.                  }
  129.             }

  130.        

  131.           flag=0;                   //復位接收完畢標志位
  132.         }
  133. }

  134. void ser() interrupt 4
  135. {
  136.         RI=0;                        //關閉串口接收1字節完畢中斷申請
  137.         temp[j]=SBUF;
  138.         j++;
  139.         if(j==14)                 //判斷是否14字節接收完畢
  140.         {
  141.         j=0;
  142.         flag=1;                          //置數據接收完畢標志位。
  143.         }
  144. }

復制代碼
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表