找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5596|回復: 2
打印 上一主題 下一主題
收起左側

如何把Arduino轉換為51單片機

[復制鏈接]
跳轉到指定樓層
樓主
ID:298693 發(fā)表于 2018-4-10 18:05 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題,樓主做的畢設是基于單片機的車廂節(jié)能燈系統(tǒng)的設計,然后我從t 寶店買了光敏電阻,店家給了我程序?墒俏也恢涝趺崔D換為單片機語言,這個是Arduino,店鋪給你程序如下

實現的內容是以51單片機為控制單元設計控制系統(tǒng),添加光敏電阻傳感器模塊,當列車車廂內亮度不足時,照明燈亮起,車廂內越暗,燈越亮,實現自動智能控制。光敏電阻采用模擬量輸出,亮度改變用4個發(fā)光二極管模擬表示,根據實驗實際檢測設定兩個閾值,分別實現控制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. }
復制代碼



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

使用道具 舉報

沙發(fā)
ID:305347 發(fā)表于 2018-4-10 18:34 | 只看該作者
void setup() 是IO口配置和串口波特率設置。
回復

使用道具 舉報

板凳
ID:305675 發(fā)表于 2018-4-11 10:17 | 只看該作者
main里初始化 然后while(1)執(zhí)行l(wèi)oop里的功能 print改成uartwrite
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

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