找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5281|回复: 2
收起左侧

如何把Arduino转换为51单片机

[复制链接]
ID:298693 发表于 2018-4-10 18:05 | 显示全部楼层 |阅读模式
如题,楼主做的毕设是基于单片机的车厢节能灯系统的设计,然后我从t 宝店买了光敏电阻,店家给了我程序。可是我不知道怎么转换为单片机语言,这个是Arduino,店铺给你程序如下

实现的内容是以51单片机为控制单元设计控制系统,添加光敏电阻传感器模块,当列车车厢内亮度不足时,照明灯亮起,车厢内越暗,灯越亮,实现自动智能控制。光敏电阻采用模拟量输出,亮度改变用4个发光二极管模拟表示,根据实验实际检测设定两个阈值,分别实现控制1个发光二极管亮,2个发光二极管亮或4个发光二极管全亮,以此原理设计并制作样机。

  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. }
复制代码



回复

使用道具 举报

ID:305347 发表于 2018-4-10 18:34 | 显示全部楼层
void setup() 是IO口配置和串口波特率设置。
回复

使用道具 举报

ID:305675 发表于 2018-4-11 10:17 | 显示全部楼层
main里初始化 然后while(1)执行loop里的功能 print改成uartwrite
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表