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

QQ登錄

只需一步,快速開(kāi)始

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

單片機(jī)+TC35 GSM模塊的手機(jī)制作與設(shè)計(jì)全套資料下載 含仿真 PCB 原理圖 程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
借助系統(tǒng)模型,闡明基于西門(mén)子公司的TC35型GSM手機(jī)模塊收發(fā)短信、打電話的基本概念以及串口控制 SMS 的基本原理。詳細(xì)介紹C51單片機(jī)STC12C5A32S2控制GSM 模塊工作的軟件實(shí)現(xiàn)過(guò)程,對(duì)怎樣用單片機(jī)控制GSM 模塊收發(fā)短信、打電話進(jìn)行探討,也對(duì)程序設(shè)計(jì)的主體思想作了較為細(xì)致的分析。

文章重點(diǎn)闡述了STC12C5A32S2單片機(jī)和TC35模塊的接口、TC35的特點(diǎn)和主要功能、AT指令的應(yīng)用等。該系統(tǒng)單片機(jī)STC12C5A32S2的TXD/RXD分別接TC35模塊的TXD/RXD,完成對(duì)TC35模塊的初始化和短消息的數(shù)據(jù)收發(fā)以及打電話的功能。

這個(gè)是制作成功的實(shí)物圖:


壓縮包里面含完整的PCB圖 proteus仿真原理圖和源程序程序等


單片機(jī)源程序如下:
  1. #include <reg52.h>
  2. #include <absacc.h>
  3. #include <stdio.h>
  4. #include <string.h>
  5. #include <math.h>
  6. #include <stdlib.h>
  7. #include <intrins.h>
  8. #define uint unsigned int
  9. #define uchar unsigned char

  10. #define lcd_data_port P0   //定義與1602LCD的數(shù)據(jù)口的單片機(jī)口線
  11. sbit lcden=P2^5;        // lcd使能
  12. sbit lcdrs=P2^3;        // lcd讀
  13. sbit lcdrw=P2^4;        // lcd寫(xiě)
  14. sbit beep=P2^2;//蜂鳴器

  15. void delayms(uint x);
  16. void lcd_write_com(uchar lcd_com);   //送命令數(shù)據(jù)到LCD的子函數(shù)聲明
  17. void lcd_write_data(uchar lcd_data); //送顯示數(shù)據(jù)到LCD的子函數(shù)聲明
  18. void lcd_int();                      //LCD初始化子函數(shù)聲明

  19. void write_sfm(uchar wz,uchar date);//在第一行寫(xiě)一個(gè)數(shù)函數(shù)
  20. #define key_4x4_port P1             //定義4x4鍵盤(pán)使用的單片機(jī)端口
  21. uchar key;                        //4x4鍵盤(pán)掃描所得的鍵值保存到這里
  22. void key_4x4_scan();    //聲明4x4鍵盤(pán)掃描子函數(shù),得到的鍵值送至全局變量key

  23. #define Phone_connection  1    //正在打電話狀態(tài)標(biāo)志
  24. #define Clear_Connect     0    //電話已掛斷狀態(tài)標(biāo)志
  25. char Calls_State_Flag=Clear_Connect;   //電話狀態(tài)  
  26. void ScanMessage(void);
  27. void clr_rsbuf(void);

  28. uchar code AT[]="AT\r" ;                             //握手信號(hào)   
  29. uchar code AT_CMGF[]= "AT+CMGF=1\r";//發(fā)送數(shù)據(jù)為T(mén)XET格式
  30. uchar code AT_CMGS[]= "AT+CMGS=15994473659\r";  
  31. uchar code AT_CMGR[]= "AT+CMGR=2\r";
  32. uchar code AT_CSCA[]="AT+CSCA=\"+8613800771500\""; //設(shè)置服務(wù)中心號(hào)碼     
  33. uchar code AT_CNMI[]= "AT+CNMI=2,1,0,0\r";//新消息提示:設(shè)置為mode=2,mt=1
  34. uchar code AT_CLIP[]= "AT+CLIP=1,1\r";//顯示來(lái)電號(hào)碼                  
  35. uchar Sms[]="hello!";
  36. uchar Phone_call[]="15994473659";
  37. uchar Phone_num[12];
  38. uchar RsPoint=0;
  39. uchar RsBuf[100];
  40. uchar j=0;
  41. uint i, k,ii;
  42. void di()
  43. {
  44.     beep=0;
  45.     delayms(250);
  46.         beep=1;
  47. }
  48. /*-------------------------------------------------------------------------------------------*/

  49. void delayms(uint x)//延時(shí)
  50. {
  51.         uint i,j;
  52.         for(i=x;i>0;i--)
  53.                 for(j=110;j>0;j--);
  54. }
  55. /***********************************************************
  56. 函數(shù)名稱:Print_Char
  57. 函數(shù)功能:發(fā)送單個(gè)字符     
  58.           入口參數(shù):ch      出口參數(shù):無(wú)
  59. ***********************************************************/
  60. void Print_Char(uchar ch)//發(fā)送單個(gè)字符
  61. {
  62. SBUF=ch; //送入緩沖區(qū)
  63. while(TI==0); //等待發(fā)送完畢
  64. TI=0; //軟件清零
  65. }
  66. /***********************************************************
  67. 函數(shù)名稱:Print_Str
  68. 函數(shù)功能:發(fā)送字符串     
  69.           入口參數(shù):*str    出口參數(shù):無(wú)
  70. ***********************************************************/
  71. void Print_Str(uchar *str)//發(fā)送字符串   
  72. {

  73. while(*str!='\0')
  74. {
  75. Print_Char(*str++);
  76.     }
  77. }
  78. void clr_rsbuf(void)//清空接收緩存   
  79. {
  80. for(RsPoint=0;RsPoint<100;RsPoint++)
  81. {
  82. RsBuf[RsPoint]=0x00;
  83. }
  84. RsPoint=0;
  85. }
  86. void ser()interrupt 4
  87. {
  88.          if(RI==1)
  89.   {
  90.     RI=0;
  91.     RsBuf[RsPoint++]=SBUF;
  92.     if (RsPoint>=sizeof(RsBuf))
  93.     {
  94.     RsPoint=0;//FlagRs485=0;
  95.     }  //????
  96.   }
  97. }
  98. /***********************************************************
  99. 函數(shù)名稱:Ini_UART
  100. 函數(shù)功能:串口初始化、定時(shí)器初始化     
  101.           入口參數(shù):無(wú)     出口參數(shù):無(wú)
  102. ***********************************************************/
  103. Ini_UART(void)//串口初始化、定時(shí)器初始化
  104. {
  105. TMOD = 0x20;      //T1方式2,用于UART波特率     
  106. TH1 = 0xFD;       //UART波特率設(shè)置:9600     
  107. TL1 = 0xFD;
  108. SCON = 0x50;  ////UART方式1:8位UART;   REN=1:允許接收   
  109. PCON = 0x00;

  110. TF1 = 1;     // 中斷標(biāo)志位
  111. TR1 = 1;    // 啟動(dòng)定時(shí)器1   
  112. ES=1;       //啟動(dòng)串行口中斷
  113. ET0=1;      //啟動(dòng)中斷功能
  114. EA=1;
  115. }
  116. /***********************************************************
  117. 函數(shù)名稱:main
  118. 函數(shù)功能:主函數(shù)
  119. ***********************************************************/
  120. void main()
  121. {      
  122.        di();
  123.        Ini_UART();
  124.        lcd_int();
  125.            k=0;
  126.        Print_Str(AT);  
  127.        delayms(100);
  128.        Print_Str(AT_CMGF);
  129.        delayms(100);
  130.        Print_Str(AT_CNMI);
  131.        delayms(200);
  132.        Print_Str(AT_CLIP);
  133.        delayms(250);
  134.            clr_rsbuf();
  135.        P1=0xff;  //P0開(kāi)機(jī)初始化   
  136.        key=0xff; //鍵盤(pán)值開(kāi)機(jī)初始化為ff(檢測(cè)到的鍵值應(yīng)為0----15)   
  137.        while(1)
  138.            {  
  139.            ScanMessage();
  140.                key_4x4_scan();//不停調(diào)用鍵盤(pán)掃描程序            
  141.             };//原地循環(huán)     
  142. }
  143. void ScanMessage(void)
  144. {
  145.         for(ii=0;ii<32;ii++)  
  146.                 if(RsBuf[ii-3]=='C'&&RsBuf[ii-2]=='M'&&RsBuf[ii-1]=='T'&&RsBuf[ii]=='I')
  147.             {
  148.                  di();
  149.              delayms(50);
  150.              di();
  151.              delayms(50);
  152.              di();
  153.              delayms(50);
  154.              lcd_write_com(0x80);   //將要顯示的位置定位在LCD的第一行第0個(gè)字符處
  155.              clr_rsbuf();
  156.              Print_Str(AT_CMGR);  
  157.              delayms(250);delayms(250);delayms(250);delayms(250);
  158.              lcd_write_com(0x80);   //將要顯示的位置定位在LCD的第一行第0個(gè)字符處
  159.              for(i=0;i<15;i++)
  160.              {
  161.                       lcd_write_data(RsBuf[i+20]);    //顯示
  162.               delayms(100);
  163.              }
  164.              lcd_write_com(0x80+0x40);   //將要顯示的位置定位在LCD的第一行第0個(gè)字符處
  165.              for(i=15;i<32;i++)
  166.              {
  167.                       lcd_write_data(RsBuf[i+20]);    //顯示
  168.               delayms(100);
  169.              }
  170.                 }
  171.                  else if(RsBuf[ii-3]=='C'&&RsBuf[ii-2]=='L'&&RsBuf[ii-1]=='I'&&RsBuf[ii]=='P')
  172.          {
  173.                  beep=0;
  174.              delayms(250);
  175.              delayms(250);
  176.              lcd_write_com(0x80);   //將要顯示的位置定位在LCD的第一行第0個(gè)字符處
  177.              for(i=(ii+3);i<15+(ii+3);i++)
  178.              {
  179.                         lcd_write_data(RsBuf[i]);    //來(lái)電顯示
  180.                 delayms(5);
  181.               }
  182.              lcd_write_com(0x80+0x40);   //將要顯示的位置定位在LCD的第一行第0個(gè)字符處
  183.              for(i=(ii+3)+15;i<32+(ii+3);i++)
  184.              {
  185.                         lcd_write_data(RsBuf[i]);    //顯示"ATH"
  186.                 delayms(5);
  187.               }
  188.                          while(!beep)
  189.                          {
  190.                          key_4x4_scan();//不停調(diào)用鍵盤(pán)掃描程序
  191.                        }                        
  192.                          clr_rsbuf();
  193.                  }
  194. }
  195. /***********************************************************
  196. 函數(shù)名稱:phone
  197. 函數(shù)功能:撥打目標(biāo)電話      
  198.           入口參數(shù):無(wú)     出口參數(shù):無(wú)
  199. ***********************************************************/
  200. void phone()    //打電話函數(shù)   
  201. {  
  202.          uchar ATD1[]="ATD"; //撥
  203.      uchar ATD3[]=";\r";
  204.      uchar ATDINTOL[25];
  205.      strcpy(ATDINTOL,ATD1);
  206.      strcat(ATDINTOL,Phone_num); //EEE   
  207.      strcat(ATDINTOL,ATD3);
  208.      Print_Str(ATDINTOL);
  209.      delayms(250);   delayms(250);   
  210. }
  211. /***********************************************************
  212. 函數(shù)名稱:GSM_ATH
  213. 函數(shù)功能:掛電話      
  214.           入口參數(shù):無(wú)     出口參數(shù):無(wú)
  215. ***********************************************************/
  216. void GSM_ATH()   
  217. {   
  218.      Print_Str("ATH"); //發(fā)送掛電話指令  
  219.      Print_Str("\r");   //發(fā)送回車   
  220.      delayms(250);delayms(250);delayms(250);delayms(250);
  221. }         
  222. /***********************************************************
  223. 函數(shù)名稱:Rphone
  224. 函數(shù)功能:接聽(tīng)目標(biāo)電話      
  225.           入口參數(shù):無(wú)     出口參數(shù):無(wú)
  226. ***********************************************************/
  227. void Rphone()    //接聽(tīng)電話函數(shù)
  228. {  
  229.          Print_Str("ATA");
  230.      Print_Str("\r");   //發(fā)送回車
  231.      delayms(250);delayms(250);delayms(250);delayms(250);     
  232. }
  233. /***********************************************************
  234. 函數(shù)名稱:GSM_TEXT
  235. 函數(shù)功能:設(shè)置發(fā)送數(shù)據(jù)為T(mén)XET格式      
  236.           入口參數(shù):無(wú)     出口參數(shù):無(wú)
  237. ***********************************************************/
  238. //void GSM_TEXT()   //設(shè)置GSM為T(mén)EXT格式
  239. //{   
  240. //     Print_Str(AT_CMGF);   //發(fā)送設(shè)置指令
  241. //     ES=1;
  242. //         delayms(250);delayms(250);
  243. //}
  244. /***********************************************************
  245. 函數(shù)名稱:GSM_TEXT_SMS
  246. 函數(shù)功能:發(fā)送數(shù)據(jù)為T(mén)XET格式的短信內(nèi)容      
  247.           入口參數(shù):無(wú)     出口參數(shù):無(wú)
  248. ***********************************************************/
  249. void GSM_TEXT_SMS()  //發(fā)送TEXT格式內(nèi)容   
  250. {      
  251.      Print_Str(AT_CMGS);
  252.          Print_Str(Phone_call);
  253.      Print_Str("\r");
  254.      delayms(200);
  255.      Print_Str(Sms);
  256.      Print_Char(0x1A);  //發(fā)送短息內(nèi)容結(jié)束符對(duì)應(yīng)的ASCII為0x1a
  257.          ES=1;
  258.      delayms(250);delayms(250);
  259. }
  260. /***********************************************************
  261. LCD相關(guān)函數(shù)定義
  262. ***********************************************************/
  263. //-----------------------------------------
  264. void lcd_write_com(uchar lcd_com)   //LCD送命令子函數(shù)
  265. {
  266.   lcdrs=0;
  267.   lcd_data_port=lcd_com;
  268.   delayms(5);
  269.   lcden=1;
  270.   delayms(5);
  271.   lcden=0;
  272. }
  273. //-----------------------------------------
  274. void lcd_write_data(uchar lcd_data)  //LCD送顯示數(shù)據(jù)子函數(shù)
  275. {
  276.   lcdrs=1;
  277.   lcd_data_port=lcd_data;
  278.   delayms(5);
  279.   lcden=1;
  280.   delayms(5);
  281.   lcden=0;
  282. }
  283. //-----------------------------------------
  284. void lcd_int()                 //LCD初始化子函數(shù)
  285. {
  286.   lcdrw=0;
  287.   lcden=0;
  288.   lcd_write_com(0x38);  //設(shè)置LCD工作于16x2、5x7點(diǎn)陣、8位數(shù)據(jù)接口模式
  289.   lcd_write_com(0x0c);  //開(kāi)顯示,不顯示光標(biāo)
  290.   lcd_write_com(0x06);  //寫(xiě)一個(gè)字符后地址指針自動(dòng)加1
  291.   lcd_write_com(0x01);  //清屏
  292. }
  293. //----------------------------------------------------------------
  294. //-----------------------------------------
  295. void write_sfm(uchar wz,uchar date)             //在第一行寫(xiě)一個(gè)數(shù)函數(shù)
  296. {
  297.              lcd_write_com(0x80+wz);                  //設(shè)置顯示位置
  298.                 lcd_write_data(0x30+date);  
  299. }
  300. /*-------------------------------------------------------------------------------------------*/
  301. //-----------------------------------------
  302. void key_4x4_scan()                    //4x4鍵盤(pán)掃描子函數(shù),得到的鍵值送至全局變量key
  303. {      
  304.     uchar temp ;
  305.     key_4x4_port=0xfe;           //送出最低位0電平去掃描
  306.     temp=key_4x4_port;           //讀出整個(gè)口的得到的值
  307.     temp=temp&0xf0;                   //屏蔽低4位
  308.     if(temp!=0xf0)                   //假如高4位不是全1
  309.     {
  310.           delayms(10);                   //延時(shí)消抖再讀
  311.           temp=key_4x4_port;
  312.           temp=temp&0xf0;
  313.          if(temp!=0xf0)           //消抖后如果再次確定高4位不是全1
  314.         {
  315.           temp=key_4x4_port; //讀出此次按鍵的值
  316.           switch(temp)
  317.            {
  318.          ///////////////撥打電話按鍵////////////////////////////   
  319.                      case 0xee:  key=0;
  320.                          lcd_write_com(0x01);  //清屏
  321.              clr_rsbuf();
  322.              phone();  //撥打電話
  323.              lcd_write_com(0x80);   //將要顯示的位置定位在LCD的第一行第0個(gè)字符處
  324.              for(i=0;i<32;i++)
  325.              {
  326.                       lcd_write_data(RsBuf[i]);    //顯示
  327.               delayms(50);
  328.              }
  329.              delayms(250);
  330.              Calls_State_Flag=Clear_Connect;   
  331.                          break;   //11101110
  332.                  ///////////////掛電話按鍵//////////////////////////
  333.              case 0xde:  key=1;
  334.                          lcd_write_com(0x01);  //清屏
  335.              clr_rsbuf();
  336.              GSM_ATH(); //發(fā)送掛電話指令
  337.              beep=1;
  338.                          lcd_write_com(0x80);   //將要顯示的位置定位在LCD的第一行第0個(gè)字符處
  339.              for(i=0;i<32;i++)
  340.              {
  341.                       lcd_write_data(RsBuf[i]);    //
  342.               delayms(50);
  343.              }
  344.              delayms(250);
  345.              Calls_State_Flag=Phone_connection;
  346.                          break;   //11011110
  347.         ////////////////TEXT格式及TEXT格式內(nèi)容///////////////////////////////
  348.              case 0xbe:  key=2;
  349.                          lcd_write_com(0x01);  //清屏
  350.                          clr_rsbuf();
  351.              //GSM_TEXT();//設(shè)置GSM為T(mén)EXT格式
  352.                      GSM_TEXT_SMS();//發(fā)送TEXT格式內(nèi)容
  353.              lcd_write_com(0x80);   //將要顯示的位置定位在LCD的第一行第0個(gè)字符處
  354.              for(i=0;i<15;i++)
  355.              {
  356.                       lcd_write_data(RsBuf[i]);    //顯示
  357.               delayms(100);
  358.              }
  359.              for(i=15;i<32;i++)
  360.              {
  361.                       lcd_write_data(RsBuf[i]);    //顯示
  362.               delayms(100);
  363.              }
  364.              delayms(250);
  365.              delayms(250);
  366.              break;   //10111110
  367.            ///////////////0號(hào)鍵////////////////////////////////
  368.              case 0x7e:  key=3;
  369.                       lcd_write_com(0x80);   //將要顯示的位置定位在LCD的第一行第0個(gè)字符處
  370.              Phone_num[k++]=0x30;
  371.                          write_sfm((j+1),0);
  372.                          j=j+1;
  373.              break;   //01111110
  374.             }
  375.          while(temp!=0xf0)          //等待按鍵放開(kāi)
  376.          { temp=key_4x4_port;
  377.            temp=temp&0xf0;
  378.          }
  379.       }
  380.     }
  381.     key_4x4_port=0xfd;  //11111101
  382.     temp=key_4x4_port;
  383.     temp=temp&0xf0;
  384.     if(temp!=0xf0)
  385.     { delayms(10);
  386.       temp=key_4x4_port;
  387.       temp=temp&0xf0;
  388.       if(temp!=0xf0)
  389.       {        temp=key_4x4_port;
  390.         switch(temp)
  391.         {
  392.                ///////////////接聽(tīng)電話按鍵////////////////////////////////   
  393.                      case 0xed:   key=4;
  394.              lcd_write_com(0x01);  //清屏
  395.              clr_rsbuf();
  396.              Rphone();  //接聽(tīng)電話            
  397.              beep=1;
  398.              lcd_write_com(0x80);   //將要顯示的位置定位在LCD的第一行第0個(gè)字符處
  399.              for(i=0;i<32;i++)
  400.              {
  401.                       lcd_write_data(RsBuf[i]);    //顯示
  402.               delayms(50);
  403.              }
  404.                          delayms(250);delayms(250);
  405.                          break;   //11101101
  406.         ////////////////7號(hào)鍵////////////////////////////////
  407.              case 0xdd:   key=5;
  408.                          Phone_num[k++]=0x37;
  409.                          write_sfm((j+1),7);
  410.                          j=j+1;
  411.                          break;   //11011101
  412.             /////////////////4號(hào)鍵///////////////////////////////
  413.              case 0xbd:   key=0x36;
  414.                         Phone_num[k++]=0x34;
  415.                          write_sfm((j+1),4);
  416.                          j=j+1;break;   //10111101
  417.             ////////////////1號(hào)鍵////////////////////////////////
  418.                         Phone_num[k++]=0x31;
  419.              case 0x7d:   key=7;
  420.                          write_sfm((j+1),1);
  421.                      j=j+1; break;   //01111101
  422.          }
  423.          while(temp!=0xf0)
  424.          { temp=key_4x4_port;
  425.            temp=temp&0xf0;
  426.          }
  427.       }
  428.       }
  429.     key_4x4_port=0xfb;  //11111011
  430.     temp=key_4x4_port;
  431.     temp=temp&0xf0;
  432.     if(temp!=0xf0)
  433.     { delayms(250);delayms(250);delayms(250);delayms(250);
  434.              temp=key_4x4_port;
  435.       temp=temp&0xf0;
  436.       if(temp!=0xf0)
  437.       { temp=key_4x4_port;
  438.         switch(temp)
  439.         {
  440.            //////////////清屏按鍵//////////////////////////
  441.                      case 0xeb:  key=8;
  442.              lcd_write_com(0x01);  //清屏
  443.              j=0;k=0;
  444.                          break;  //11101011
  445.           ///////////////8號(hào)鍵//////////////////////////
  446.              case 0xdb:  key=9;
  447.                          Phone_num[k++]=0x38;
  448.                          write_sfm((j+1),8);
  449.                      j=j+1;break;  //11011011
  450. ……………………

  451. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

文檔預(yù)覽:http://www.torrancerestoration.com/bbs/dpj-85499-1.html

全部資料打包下載地址:
基于GSM的手機(jī)設(shè)計(jì).7z (1.55 MB, 下載次數(shù): 547)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏18 分享淘帖 頂3 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1 發(fā)表于 2017-5-21 17:33 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

板凳
ID:185367 發(fā)表于 2017-5-21 17:41 | 只看該作者
看看這個(gè),換一下思路,很有幫助。
回復(fù)

使用道具 舉報(bào)

地板
ID:157057 發(fā)表于 2017-5-21 23:19 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

5#
ID:94068 發(fā)表于 2017-6-8 11:03 | 只看該作者
很好的設(shè)計(jì)資料,贊一個(gè)!
回復(fù)

使用道具 舉報(bào)

6#
ID:297505 發(fā)表于 2018-3-26 22:07 | 只看該作者
好資料啊  正想用單片機(jī)做個(gè)手機(jī)玩玩
回復(fù)

使用道具 舉報(bào)

7#
ID:96011 發(fā)表于 2018-4-22 16:07 | 只看該作者
666厲害,謝謝大神
回復(fù)

使用道具 舉報(bào)

8#
ID:295874 發(fā)表于 2018-5-23 09:19 | 只看該作者
實(shí)際仿真無(wú)法進(jìn)行,進(jìn)行時(shí)LCD顯示數(shù)據(jù)不正常。
回復(fù)

使用道具 舉報(bào)

9#
ID:336367 發(fā)表于 2018-5-23 11:41 | 只看該作者
厲害了
回復(fù)

使用道具 舉報(bào)

10#
ID:336367 發(fā)表于 2018-5-23 11:42 | 只看該作者
這是個(gè)簡(jiǎn)易版手機(jī)嗎
回復(fù)

使用道具 舉報(bào)

11#
ID:294865 發(fā)表于 2018-5-23 16:05 | 只看該作者
學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

12#
ID:363261 發(fā)表于 2018-7-2 16:00 | 只看該作者
非常感謝,下載學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

13#
ID:202314 發(fā)表于 2018-7-24 06:14 | 只看該作者
好資料 謝謝分享
回復(fù)

使用道具 舉報(bào)

14#
ID:390236 發(fā)表于 2018-8-26 22:03 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

15#
ID:468297 發(fā)表于 2019-1-19 18:19 | 只看該作者
好資料,謝謝分享。
回復(fù)

使用道具 舉報(bào)

16#
ID:412558 發(fā)表于 2019-3-22 22:14 | 只看該作者
好東西啊,點(diǎn)贊
回復(fù)

使用道具 舉報(bào)

17#
ID:696981 發(fā)表于 2020-2-23 15:47 | 只看該作者
好棒好棒
回復(fù)

使用道具 舉報(bào)

18#
ID:654774 發(fā)表于 2020-3-22 10:07 來(lái)自手機(jī) | 只看該作者
怎么下載呀?
回復(fù)

使用道具 舉報(bào)

19#
ID:630491 發(fā)表于 2020-4-1 13:44 | 只看該作者
大神!膜拜了
回復(fù)

使用道具 舉報(bào)

20#
ID:630491 發(fā)表于 2020-4-1 14:42 | 只看該作者
liyongan_1985 發(fā)表于 2018-5-23 09:19
實(shí)際仿真無(wú)法進(jìn)行,進(jìn)行時(shí)LCD顯示數(shù)據(jù)不正常。

我推薦不要用仿真!任何業(yè)內(nèi)人士都不推薦!我覺(jué)得你要是喜歡它,你就可以做一個(gè)出來(lái),這樣你才會(huì)真正學(xué)會(huì)mcu
回復(fù)

使用道具 舉報(bào)

21#
ID:630491 發(fā)表于 2020-4-16 13:14 | 只看該作者
加一個(gè)麥克風(fēng)就可以真的用來(lái)通話了,還可以改成用arm單片機(jī),那樣就可以和市面上的手機(jī)媲美了
回復(fù)

使用道具 舉報(bào)

22#
ID:730707 發(fā)表于 2020-4-16 16:45 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

23#
ID:247907 發(fā)表于 2020-5-26 23:43 來(lái)自手機(jī) | 只看該作者
真是厲害,不錯(cuò)
回復(fù)

使用道具 舉報(bào)

24#
ID:727538 發(fā)表于 2020-5-30 10:00 | 只看該作者
哇哇哇,這個(gè)資料太棒了,感謝大神
回復(fù)

使用道具 舉報(bào)

25#
ID:517951 發(fā)表于 2020-11-15 17:45 | 只看該作者
不錯(cuò),值得學(xué)習(xí)。51hei有你更精彩!
回復(fù)

使用道具 舉報(bào)

26#
ID:647404 發(fā)表于 2020-12-7 09:07 | 只看該作者
好東西以后用來(lái)參考
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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