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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1387|回復: 0
收起左側

1602顯示AJ-SR04測距單片機代碼

[復制鏈接]
ID:519794 發表于 2019-4-29 11:04 | 顯示全部樓層 |閱讀模式
單片機源程序如下:
  1. //#include<reg51.h>
  2. #include "reg52.h"
  3. #include "1602.h"
  4. #include<intrins.h>

  5. typedef unsigned char uint8;
  6. typedef unsigned int uint16;


  7. sbit Trig=P3^3;//觸發引腳定義
  8. sbit Echo=P3^2;//測量引腳定義

  9. uint16 distance;//定義全局變量
  10. uint16 dat[10];
  11. /******************************************

  12. 延時讓Trig引腳產生大于10us的脈沖

  13. ********************************************/
  14. void show_1602(uint16 temp);

  15. void delay()
  16. {
  17.         uint8 i;
  18.         for(i=0;i<100;i++);
  19. }

  20. //初始化

  21. void init()

  22. {
  23.         EA=1;//開總中斷
  24.         IT0=0;//外部中斷0,低電平觸發
  25.         TMOD|=0x01;//定時器0 工作模式1
  26.         TH0=0;
  27.         TL0=0;
  28.         TR0=0;
  29. }

  30. //串口設置

  31. void UART_init()
  32. {
  33.         SCON=0x50;
  34.         TMOD=0x20;
  35.         TH1=0xFD;
  36.         TL1=0xFD;
  37.         TR1=1;
  38. }
  39. //發送一個字節
  40. void UART_send_byte(uint8 dat)

  41. {
  42.         SBUF=dat;
  43.         while(TI==0);
  44.         TI=0;
  45. }

  46. //發送一組測得的distance

  47. void UART_send_dat(uint16 temp)

  48. {

  49.         UART_send_byte((temp/10000)%10 + '0');
  50.         UART_send_byte((temp/1000)%10 + '0');
  51.         UART_send_byte((temp/100)%10 + '0');
  52.         UART_send_byte((temp/10)%10 + '0');
  53.   UART_send_byte('.');
  54.         UART_send_byte(temp%10 + '0');
  55.         UART_send_byte('c');
  56.         UART_send_byte('m');

  57. }

  58. //主函數

  59. main()

  60. {
  61.         UART_init();//初始化
  62.         init();        //初始化
  63.         lcd_init_1602(); //1206初始化
  64.         
  65.         Trig=0;//先把引腳拉低
  66.         while(1)//進入循環

  67.         {
  68.                 Trig=1;
  69.                 delay();//產生脈沖
  70.                 Trig=0;
  71.                 while(Echo==0);//等待引腳被拉高
  72.                 TR0=1;//打開定時器0
  73.                 EX0=1;//打開中斷
  74.                 while(TH0<250);//正在測量數據,需要等待
  75.                 TR0=0;
  76.           TL0=0;
  77.                 TH0=0;
  78.                
  79.                 UART_send_dat(distance); //向串口發送測得的distance        
  80.                 show_1602(distance);
  81.                
  82.                 UART_send_byte('\r');
  83.                 UART_send_byte('\n');
  84.         }
  85. }

  86. void extra_interrupt() interrupt 0        //外部中斷0
  87. {
  88.         distance=(256*TH0+TL0)*0.184;//測得最小精度位mm(晶振為11059200Hz)
  89.         //P0=Echo;
  90.         EX0=0;//關閉中斷
  91. }



  92. void show_1602(uint16 temp)
  93. {        
  94.         lcd_pos_1602(0,1);
  95.         dat[0]=(temp/10000)%10;
  96.         dat[1]=(temp/1000)%10;
  97.         dat[2]=(temp/100)%10;
  98.         dat[3]=(temp/10)%10;
  99.         lcd_wdat_1602(dat[0]+0x30);
  100.         lcd_wdat_1602(dat[1]+0x30);
  101.         
  102.         lcd_pos_1602(0,3);
  103.         lcd_wdat_1602('.');
  104.         
  105.         lcd_pos_1602(0,4);
  106.         lcd_wdat_1602(dat[2]+0x30);
  107.         lcd_wdat_1602(dat[3]+0x30);
  108.         
  109. //        lcd_pos_1602(0,5);
  110. //        lcd_wdat_1602('.');
  111.         
  112.         lcd_pos_1602(0,6);
  113.         dat[4]=temp%10;
  114.         lcd_wdat_1602(dat[4]+0x30);
  115.         
  116.         lcd_pos_1602(0,7);
  117. //        lcd_wdat_1602('c');
  118.   lcd_wdat_1602('m');
  119. }
復制代碼

所有資料51hei提供下載:
代碼.zip (51.03 KB, 下載次數: 8)


回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人在线视频免费观看 | 国产黄色大片在线观看 | 国产高清在线精品 | 成人一区在线观看 | 久久久久久国产精品 | 一级做a爰片性色毛片视频停止 | 日韩欧美精品 | 亚洲欧美日韩一区 | 国产高清精品一区二区三区 | 视频一区在线观看 | 欧美成人激情 | 91九色婷婷| 欧美综合在线视频 | 黄色片大全在线观看 | 三级国产三级在线 | 在线一区视频 | 欧美精品一二三区 | 91啪亚洲精品 | 欧美片网站免费 | 国产精品美女久久久久久久久久久 | 中文av网站 | 雨宫琴音一区二区在线 | 亚洲国产视频一区二区 | 亚洲 欧美 日韩在线 | 91香蕉| www.日韩 | 欧美日韩在线一区二区 | 久久激情五月丁香伊人 | 国产成人精品午夜视频免费 | 亚洲成人网在线播放 | 成人久久久久 | 97国产精品视频人人做人人爱 | 毛片网站在线观看视频 | 中文字幕 亚洲一区 | 国产精品久久久久久久久久久久午夜片 | 福利视频一二区 | 天天爽网站 | 在线观看日韩精品视频 | 81精品国产乱码久久久久久 | 午夜a v电影 | 国产在线高清 |