久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11737|回復: 3
收起左側

智能小車光電測速和行駛距離測量 51單片機和arduino源程序及傳感器資料下載

[復制鏈接]
ID:184416 發(fā)表于 2017-4-4 16:40 | 顯示全部樓層 |閱讀模式
智能小車光電測速LCD1602顯示程序,內含SD測速傳感器說明書(中文版).pdf文件以及測量行駛距離和測量行駛速度的51單片機和arduino平臺程序都有.

SD測速傳感器使用說明:
0.png 0.png

測速傳感器原理圖:
0.png 0.png

源代碼:
0.png
0.png
  1. /******************************************************************************************
  2. 程序名:檢查小車行使距離-LCD1602
  3. 編寫人:Yayi                                                  
  4. /******************************************************************************************/

  5. #include <STC12C5A60S2.H>//頭文件
  6. #include <LCD1602.h>

  7. sbit IN1=P1^0;
  8. sbit IN2=P1^1;
  9. sbit IN3=P1^2;
  10. sbit IN4=P1^3;

  11. unsigned int motor1=0;         //計左電機碼盤脈沖值
  12. unsigned int motor2=0;         //計右電機碼盤脈沖值
  13. unsigned int speed1=0;         //計左電機碼盤脈沖值
  14. unsigned int speed2=0;         //計右電機碼盤脈沖值
  15. unsigned int k=0;

  16. void Forward(void)
  17. {
  18.         IN1=1;
  19.         IN2=0;
  20.         IN3=0;
  21.         IN4=1;
  22. }

  23. /********************************************************************************************
  24. 定時器0初始化
  25. /********************************************************************************************/
  26. void T0_init (void)
  27. {
  28.         TMOD = 0x01;         //高4位控制T1,低4位控制T0
  29.         EA = 1;                //中斷總開關
  30.         TH0 = 0;         //16位計數(shù)寄存器T0高8位
  31.         TL0 = 0;        //16位計數(shù)寄存器T0低8位
  32.         ET0 = 1;         //T0中斷開關
  33.         TR0 = 1;         //T0啟動開關
  34. }

  35. /*********************************************************************************************
  36. 外部中斷INT0、INT1初始化函數(shù)
  37. /********************************************************************************************/
  38. void INT_init (void)
  39. {
  40.         EA = 1;                        //中斷總開關  
  41.         EX0 = 1;                 //允許外部中斷0中斷
  42.         IT0 = 1;                 //1:下沿觸發(fā)  0:低電平觸發(fā)
  43.         EX1 = 1;
  44.         IT1        = 1;
  45. }

  46. /*********************************************************************************************
  47. 主程序
  48. /********************************************************************************************/
  49. void main(void)
  50. {               
  51.         LCD1602_Init();
  52.         LCD1602_Frist();
  53.         INT_init();
  54.         T0_init();
  55.         Forward();
  56.         while (1)
  57.         {
  58.                 print(line_one,0,'M');
  59.                 print(line_one,1,'o');
  60.                 print(line_one,2,'t');
  61.                 print(line_one,3,'o');
  62.                 print(line_one,4,'r');
  63.                 print(line_one,5,'1');
  64.                 print(line_one,6,':');
  65.                 print(line_one,7,speed1/1000+0x30);
  66.                 print(line_one,8,speed1/100%10+0x30);
  67.                 print(line_one,9,speed1/10%10+0x30);
  68.                 print(line_one,10,speed1%10+0x30);
  69.                 print(line_one,11,' ');
  70.                 print(line_one,12,'C');
  71.                 print(line_one,13,'M');
  72.                 print(line_one,14,'/');
  73.                 print(line_one,15,'S');

  74.                 print(line_two,0,'M');
  75.                 print(line_two,1,'o');
  76.                 print(line_two,2,'t');
  77.                 print(line_two,3,'o');
  78.                 print(line_two,4,'r');
  79.                 print(line_two,5,'2');
  80.                 print(line_two,6,':');
  81.                 print(line_two,7,speed2/1000+0x30);
  82.                 print(line_two,8,speed2/100%10+0x30);
  83.                 print(line_two,9,speed2/10%10+0x30);
  84.                 print(line_two,10,speed2%10+0x30);
  85.                 print(line_two,11,' ');
  86.                 print(line_two,12,'C');
  87.                 print(line_two,13,'M');
  88.                 print(line_two,14,'/');
  89.                 print(line_two,15,'S');
  90.                 DELAY_MS(250);
  91.                 LCD1602_WriteCMD(CMD_clear);
  92.                 }
  93. }

  94. /*********************************************************************************************
  95. 外部中斷INT0計算電機1的脈沖
  96. /********************************************************************************************/
  97. void intersvr1(void) interrupt 0 using 1
  98. {
  99.         motor1++;               
  100. }
  101. /*********************************************************************************************
  102. 外部中斷INT1計算電機2的脈沖
  103. /********************************************************************************************/
  104. void intersvr2(void) interrupt 2 using 3
  105. {
  106.         motor2++;
  107. }

  108. /********************************************************************************************
  109. 定時器0中斷函數(shù)
  110. 注意:這里的speed為簡單書寫,邏輯公式過程應該為
  111. speed2=小車輪子周長/碼盤格式*1秒的碼盤脈沖格數(shù)
  112. 定時器做出的效果為算出一秒內的距離
  113. /********************************************************************************************/
  114. void T0 (void) interrupt 1  using 2
  115. {
  116.         TH0=(65536-1000)/256;        //16位計數(shù)寄存器T0高8位,嘗試修改1000成其他值
  117.         TL0=(65536-1000)%256;        //16位計數(shù)寄存器T0低8位,嘗試修改1000成其他值
  118.         k++;                        //k自加1
  119.         if(k==1000)               
  120.         {
  121.                 k=0;                        //重新定義k的值
  122.                 speed1=motor1;
  123.                 speed2=motor2;
  124.                 motor1=0;                 //重新定義motor1的值
  125.                 motor2=0;                //重新定義motor1的值
  126.        

  127. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼


0.png
下載:
SD測速傳感器.rar (375.38 KB, 下載次數(shù): 149)
回復

使用道具 舉報

ID:150336 發(fā)表于 2017-4-22 17:35 | 顯示全部樓層
注釋為啥是亂碼  嚶嚶~~~
回復

使用道具 舉報

ID:241138 發(fā)表于 2017-10-20 00:04 | 顯示全部樓層
求代碼呀~
回復

使用道具 舉報

ID:280824 發(fā)表于 2018-2-6 14:29 | 顯示全部樓層
你有沒有SD模塊與單片機的仿真連接圖,
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本高清视频在线播放 | 亚洲精品视频久久 | 日本成人在线播放 | 亚洲精品乱码久久久久久按摩观 | 久久久久久国模大尺度人体 | 国产a级毛毛片 | 亚洲精品三级 | 久久大香| av三级| 国产精品久久国产精品久久 | 亚洲精品大全 | 久久男人天堂 | 在线色网 | www.国产91 | 欧美综合网 | 亚洲一区二区三区在线视频 | 成人免费网站视频 | 在线观看亚洲专区 | 成人精品一区二区三区 | 国产成人精品一区二三区在线观看 | av中文网 | 国产大学生情侣呻吟视频 | 日韩成人免费中文字幕 | 久久久免费电影 | 亚洲精品久久久蜜桃 | 91一区二区 | 爱爱视频在线观看 | 欧美日一区二区 | 国产高清一区二区三区 | 国产精品一区二区在线播放 | 操皮视频 | 欧美二区在线 | 在线免费观看黄色 | 一区二区中文 | 小草久久久久久久久爱六 | 久久国产精品-久久精品 | 亚洲第一成人av | 亚洲视频网 | 日韩免费一区 | 欧美日韩一区在线 | 中文字幕在线播放第一页 |