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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7126|回復: 4
收起左側

51單片機二維碼掃碼控制程序 二維碼識別程序

[復制鏈接]
ID:284341 發表于 2019-10-4 16:27 | 顯示全部樓層 |閱讀模式
  1. #include<STC15W408AS.h>
  2. #include<math.h>                  //計算小數點的頭文件
  3. #include <intrins.h>          //用nop函數延時的頭文件
  4. #define uchar unsigned char//宏定義無符號字符型
  5. #define uint unsigned int  //宏定義無符號整型
  6. /*數據類型定義*/
  7. typedef signed char        int8;
  8. typedef signed int        int16;
  9. typedef signed long        int32;
  10. typedef unsigned char        uint8;
  11. typedef unsigned int        uint16;
  12. typedef unsigned long        uint32;

  13. #define ENABLE_IAP 0x83 //系統工作時鐘<12MHz 時,對IAP_CONTR 寄存器設置此值
  14. #define CMD_IDLE 0
  15. #define CMD_READ 1
  16. #define CMD_PROGRAM 2
  17. #define CMD_ERASE 3
  18. #define ENABLE_IAP 0x83//SYSCLK<12MH
  19. #define IAP_ADDRESS 0x0000        //存儲地址
  20. #define FOSC 11059200L  
  21. #define BAUD 9600   

  22.   sbit IN1 = P1^2;                        /*單片機1.2引腳檢測IN1是否動作*/
  23.   sbit IN2 = P1^3;                        /*單片機1.3引腳檢測IN2是否動作*/
  24.   sbit IN3 = P1^4;                        /*單片機1.4引腳檢測IN3是否動作*/
  25.   sbit IN4 = P1^5;                        /*單片機1.5引腳檢測IN4是否動作*/
  26.            
  27.   sbit OUT1 = P3^7;                  /*單片機3.7引腳控制繼電器COM1*/
  28.   sbit OUT2 = P3^6;                  /*單片機3.6引腳控制繼電器COM2*/


  29. uchar dat=0x00;
  30. bit  bz1=0;
  31. bit  bz2=0;
  32. bit  bz3=0;
  33. bit  bz4=0;


  34. bit write=0;
  35. uint sec=0;
  36. uint tcnt=0;
  37. uchar r=0;
  38. uchar sj1;
  39. uchar sj2;
  40. uint8 sendBuf[10];          //發送緩沖區
  41. uint8 receBuf[10];    //接收緩沖區
  42. bit flag_zx=0;
  43. uchar k=1;
  44. uchar j=100;
  45. uchar xdata tmz1[32];//接收緩沖區
  46. bit qcbz=0;
  47. uchar y=0;
  48. /********************************************************************
  49.                             定義 ISP/IAP/EEPROM 命令
  50. *********************************************************************/

  51. void IapIdle();//禁用 ISP/IAP/EEPROM functionmake 單片機 在 一 安全 狀態
  52. uint8 IapReadByte(uint16 addr);//讀數據
  53. void IapProgramByte(uint16 addr, uint8 dat);//寫數據
  54. void IapEraseSector(uint16 addr);//擦除數據
  55. /********************************************************************
  56.                             延時函數
  57. *********************************************************************/
  58. void delay(uchar date)//延時程序
  59. {
  60. uchar m,n,s;
  61. for(m=date;m>0;m--)
  62. for(n=200 ;n>0;n--)
  63. for(s=248;s>0;s--);
  64. }
  65. /*****************清空發送緩沖區*************************/
  66. void clear_receBuf()
  67. {
  68.     uchar i;
  69.         for(i=0;i<8;i++)
  70.         {
  71.         receBuf[i]=0;
  72.         }
  73. }

  74. /********************************************************************
  75.                             主函數
  76. *********************************************************************/
  77. void main()                                   
  78. {

  79.     SCON = 0x50;
  80.     T2L = (65536 - (FOSC/4/BAUD));
  81.     T2H = (65536 - (FOSC/4/BAUD))>>8;
  82.     AUXR = 0x14;               
  83.     AUXR |= 0x01;              
  84.     ES = 1;                  
  85.     EA = 1;
  86.         ET0=1;
  87.         EA=1;
  88.         sec=0;
  89.         P3=0XFF;
  90.    while(1)
  91.    {                  
  92.    if((r!=0)&&(qcbz==0)){delay(j);clear_receBuf();r=0;}
  93.    }               
  94. }
  95. void Uart() interrupt 4 using 1
  96. {
  97.     if (RI)
  98.            {
  99.              RI=0; //接收標志清零
  100.              receBuf[r++&0x0F]=SBUF;     //把接受的數據存儲到BUT數組中
  101.                  if(r>=8)
  102.                  {
  103.                  r=0;
  104.              flag_zx=1;
  105.                  }
  106.            }
  107.       if(flag_zx==1)
  108.            {                     
  109. //                                                                                                                BF AA B5 DA D2 BB C2 B7 0D
  110. //                                                                                                                B9 D8 B5 DA D2 BB C2 B7 0D
  111.                 flag_zx=0;
  112.            if((receBuf[0]==0xBF)&&(receBuf[1]==0xAA)&&(receBuf[2]==0xB5)&&(receBuf[3]==0xDA)&&(receBuf[4]==0xD2)&&(receBuf[5]==0xBB)&&(receBuf[6]==0xC2)&&(receBuf[7]==0xB7))
  113.                         {
  114.                         OUT1=0;clear_receBuf();r=0;
  115.                         }
  116.                    else if((receBuf[0]==0xB9)&&(receBuf[1]==0xD8)&&(receBuf[2]==0xB5)&&(receBuf[3]==0xDA)&&(receBuf[4]==0xD2)&&(receBuf[5]==0xBB)&&(receBuf[6]==0xC2)&&(receBuf[7]==0xB7))
  117.                         {
  118.                         OUT1=1;clear_receBuf();r=0;
  119.                         }
  120.           else if((receBuf[0]=='A')&&(receBuf[1]=='B')&&(receBuf[2]=='C')&&(receBuf[3]=='D')&&(receBuf[4]=='E')&&(receBuf[5]=='F')&&(receBuf[6]=='G')&&(receBuf[7]=='H'))
  121.                         {
  122.                         OUT2=0;clear_receBuf();r=0;
  123.                         }
  124.           else if((receBuf[0]=='1')&&(receBuf[1]=='2')&&(receBuf[2]=='3')&&(receBuf[3]=='4')&&(receBuf[4]=='5')&&(receBuf[5]=='6')&&(receBuf[6]=='7')&&(receBuf[7]=='8'))
  125.                         {
  126.                         OUT2=1;clear_receBuf();r=0;
  127.                         }
  128. }
  129. }

  130. /********************************************************************
  131.                               結束
  132. *********************************************************************/
復制代碼



控制板原理圖.jpg
二維碼識別電路連接圖.jpg
打開繼電器的二維碼.jpg
二維碼模塊接線圖.jpg
關閉繼電器的二維碼.jpg
0.png

keil _二維碼學習控制模塊 -開關控制.rar

357.3 KB, 下載次數: 71, 下載積分: 黑幣 -5

回復

使用道具 舉報

ID:149799 發表于 2019-10-8 13:05 | 顯示全部樓層
留個記號,向你學習。
回復

使用道具 舉報

無效樓層,該帖已經被刪除
無效樓層,該帖已經被刪除
ID:622578 發表于 2019-10-11 21:52 | 顯示全部樓層
你好!你有做好的成品嗎?我想要一個
回復

使用道具 舉報

ID:622578 發表于 2019-10-11 21:56 | 顯示全部樓層
你好!你有做好的成品嗎?我想要一個
回復

使用道具 舉報

7#
無效樓層,該帖已經被刪除
8#
無效樓層,該帖已經被刪除
ID:564452 發表于 2019-11-7 23:27 來自觸屏版 | 顯示全部樓層
你好,我想請教掃碼了怎么控制單片機
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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