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

標(biāo)題: 基于單片機最小系統(tǒng)板的超聲波測距程序與PCB原理圖 [打印本頁]

作者: 1076658053    時間: 2020-10-3 22:26
標(biāo)題: 基于單片機最小系統(tǒng)板的超聲波測距程序與PCB原理圖
之前寫的超聲波波測距,超聲波模塊是HC-SR04,LCD1602顯示。
超聲波模塊HC-SR04簡介以及編程附帶PCB板,
程序有一點點小bug,測距時數(shù)據(jù)變化太快,不能穩(wěn)定,如果有高手的話希望能給改改!!

Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)


單片機源程序如下:
main.c
  1. #include "reg52.h"
  2. #include "lcd1602.h"
  3. #include "lcd1602.c"
  4. #include "intrins.h"
  5. #define uchar unsigned char
  6. #define uint unsigned int

  7. sbit trig=P2^0;
  8. sbit echo=P2^1;

  9. uint number,dist,numbtime,ii;
  10. uchar shia,fen,miao;
  11. uchar code lcd[]="0123456789";
  12. uchar code cm[]="cm";

  13. void init()                //定時器0初始化
  14. {
  15.         TMOD=0x01;        //定時器0,工作方式1
  16.         TH0=0;
  17.         TL0=0;
  18.         TF1=0;
  19.         EA=1;
  20.         ET0=1;
  21. }

  22. void time()
  23. {
  24.         trig=1;
  25.         delay(1);
  26.         trig=0;
  27.         while(!echo);        //接收到返回波
  28.         TR0=1;                //開定時器0
  29.         while(echo);
  30.         TR0=0;                //關(guān)定時器0

  31.         number=TH0*256+TL0;
  32.         for(ii=number;ii<=40000;ii++);
  33.         TH0=0;
  34.         TL0=0;
  35.         number=number*12/11.0592;        //us
  36.         dist=number*0.17;        // mm         0.017(cm)
  37. }

  38. void main()
  39. {
  40.         uchar i;
  41.         lcd_init();
  42.         init();
  43.         while(1)
  44.         {
  45.                 time();
  46.                 lcd_com(0x80);
  47.                 lcd_dat(lcd[dist/1000]);
  48.                 lcd_dat(lcd[dist%1000/100]);
  49.                 lcd_dat(lcd[dist%100/10]);
  50.                 lcd_dat('.');
  51.                 lcd_dat(lcd[dist%10]);
  52.                 for(i=0;i<2;i++)
  53.                 {
  54.                         lcd_dat(cm[i]);
  55.                 }
  56.         }
  57. }
復(fù)制代碼




lcd1602.c
  1. #include "reg52.h"
  2. #define uchar unsigned char

  3. sbit lcden=P2^7;        //定義lcd1602使能端口
  4. sbit lcdrs=P2^6;        //定義lcd1602數(shù)據(jù)/命令選擇端口(H/L)
  5. sbit lcdrw=P2^5;        //定義lcd1602讀/寫端口(H/L)

  6. //sbit lcden=P1^7;        //定義lcd1602使能端口
  7. //sbit lcdrs=P1^5;        //定義lcd1602數(shù)據(jù)/命令選擇端口(H/L)
  8. //sbit lcdrw=P1^6;        //定義lcd1602讀/寫端口(H/L)

  9. void delay(uchar z)
  10. {
  11.         uchar x,y;
  12.         for(x=z;x>0;x--)
  13.                 for(y=110;y>0;y--);
  14. }

  15. void lcd_com(uchar com)                //lcd1602命令發(fā)送函數(shù)(位)
  16. {
  17.         lcdrs=0;
  18.         lcdrw=0;
  19.         P0=com;
  20.         delay(5);
  21.         lcden=1;
  22.         delay(5);
  23.         lcden=0;
  24. }

  25. void lcd_dat(uchar dat)                //lcd1602數(shù)據(jù)發(fā)送函數(shù)
  26. {
  27.         lcdrs=1;
  28.         lcdrw=0;
  29.         P0=dat;
  30.         delay(5);
  31.         lcden=1;
  32.         delay(5);
  33.         lcden=0;
  34. }

  35. void lcd_init()                //lcd1602初始化
  36. {
  37.         lcden=0;
  38.         lcd_com(0x38);
  39.         lcd_com(0x0c);
  40.         lcd_com(0x06);
  41.         lcd_com(0x01);
  42. }
復(fù)制代碼


lcd1602.h
  1. #ifndef __LCD1602_H_
  2. #define __LCD1602_H_
  3. #define uchar unsigned char

  4. void delay(uchar z);
  5. void lcd_init();                //lcd1602初始化
  6. void lcd_com(uchar com);                //lcd1602命令發(fā)送函數(shù)(位)
  7. void lcd_dat(uchar dat);                //lcd1602數(shù)據(jù)發(fā)送函數(shù)

  8. #endif
復(fù)制代碼


全部資料51hei下載地址:
超聲波電路板.7z (573.81 KB, 下載次數(shù): 33)
超聲波測距.zip (29.07 KB, 下載次數(shù): 22)

作者: CcC超    時間: 2020-11-30 19:49

正好要做這個,謝謝大神




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 在线中文字幕 | 亚洲专区在线 | 青青草成人在线 | 午夜视频在线免费观看 | 欧美日韩免费在线观看 | 日韩精品三区 | 欧美精品99久久久 | av一级在线 | 欧美精品在线免费观看 | 簧片在线免费观看 | 亚洲视频免费观看 | 亚洲麻豆视频 | 91久久国产综合久久91精品网站 | 香蕉成人网 | 亚洲免费看片 | 特级特黄aaaa免费看 | 亚洲免费大片 | 人人干人人草 | 日韩精品视频免费在线观看 | 精品视频免费在线观看 | 欧美一区二区三区四区五区 | 欧美精品日韩少妇 | 91精品国产一区二区三区 | 国产一级片免费看 | 日韩中文字幕在线观看 | 欧美精品二区三区四区免费看视频 | 秋霞一区二区 | 欧美a级成人淫片免费看 | 国产成人精品一区二区三区福利 | 亚洲精品乱码久久久久 | 天天爽| 国产精品视频免费看 | 蜜桃视频一区二区三区 | 中文在线字幕观看 | 日韩成人精品一区二区 | 日韩 欧美| 久久精品视频免费看 | 在线观看免费av网站 | 亚洲视频在线看 | 亚洲国产成人精品女人久久久 | 欧美精品成人一区二区在线观看 |