標題: 如何把Arduino轉換為51單片機 [打印本頁]

作者: 282768158    時間: 2018-4-10 18:05
標題: 如何把Arduino轉換為51單片機
如題,樓主做的畢設是基于單片機的車廂節(jié)能燈系統(tǒng)的設計,然后我從t 寶店買了光敏電阻,店家給了我程序。可是我不知道怎么轉換為單片機語言,這個是Arduino,店鋪給你程序如下

實現(xiàn)的內容是以51單片機為控制單元設計控制系統(tǒng),添加光敏電阻傳感器模塊,當列車車廂內亮度不足時,照明燈亮起,車廂內越暗,燈越亮,實現(xiàn)自動智能控制。光敏電阻采用模擬量輸出,亮度改變用4個發(fā)光二極管模擬表示,根據實驗實際檢測設定兩個閾值,分別實現(xiàn)控制1個發(fā)光二極管亮,2個發(fā)光二極管亮或4個發(fā)光二極管全亮,以此原理設計并制作樣機。

  1. int potpin = A0; //指定模擬端口A0


  2. int val = 0; //聲明臨時變量
  3. int g_Light = 0;




  4. /*printf格式化字符串初始化*/
  5. int serial_putc( char c, struct __file * )
  6. {
  7.   Serial.write( c );
  8.   return c;
  9. }
  10. void printf_begin(void)
  11. {
  12.   fdevopen( &serial_putc, 0 );
  13. }


  14. void setup()
  15. {
  16.   Serial.begin(9600);//設置串口波特率為9600
  17.   printf_begin();
  18. }
  19. /* AD: x: 0~1024   Lux: y: 10000~0
  20.    y = -(10000/1024) x + 10000;
  21.    y = -9.76x + 10000; 約等于y = -10x+10000   */




  22. void loop()
  23. {
  24.   val = analogRead(potpin); //讀取A0口的電壓值并賦值到val
  25.   g_Light = -10 * val + 10000;
  26.   printf("$AR,GMS%d,%d#\n", val, g_Light);
  27.   delay(1000);
  28. }
復制代碼




作者: jjflu123    時間: 2018-4-10 18:34
void setup() 是IO口配置和串口波特率設置。
作者: jtx1900    時間: 2018-4-11 10:17
main里初始化 然后while(1)執(zhí)行l(wèi)oop里的功能 print改成uartwrite




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1