找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2735|回复: 0
打印 上一主题 下一主题
收起左侧

红外测障 测角小车设计报告 带仿真单片机源码

[复制链接]
跳转到指定楼层
楼主
分享个测障小车制作,带有完整的设计报告,proteus仿真及源代码
具有红外测障,角度测量功能




     避障部分采用红外线发射和接受原理。铁片检测采用电感式接近开关LJ18A3-8-Z/BX检测,产生的高低电平信号经过处理后,完成相应的记录数目,驱动蜂鸣器发声。黑带寻迹依*安装在车底部左右两个光敏二极管对管来对地面反射光感应。寻光设计在小车前端安装3路(左、中、右)光敏电阻对光源信号采集,模拟信号经过ADC0809转化为数字信号送到MCU处理。记程通过在车轮上安装小磁块,再用霍尔管感应产生计数脉冲。记时由软件实现,显示采用普通七段LED。此系统比较灵活,采用软件方法来解决复杂的硬件电路部分,使系统硬件简洁化,各类功能易于实现。



单片机部分源码:
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint  unsigned int

  4. //uchar code LED[4]={0xdc,0xe3,0x9c,0xce};
  5.                        
  6. uchar jianhao _at_ 0x40;
  7. uchar code LCD[]={0x20,0x5e,0x76,0x54,0x42};
  8. sbit  SH_CP=P2^2;        //595
  9. sbit  ST_CP=P2^3;
  10. sbit  DS=P2^4;
  11. sbit  ACC7=ACC^7;

  12. sbit  RS=P2^5;                //Lcd
  13. sbit  RW=P2^6;
  14. sbit  E =P2^7;
  15. sbit p31=P3^1;
  16. sbit p32=P3^2;                       
  17. //中断接收
  18. void inter0(void) interrupt 0
  19. {
  20. #pragma  asm
  21.              PUSH ACC
  22.                  PUSH PSW
  23.                  CLR   EX0
  24.          JNB   P3.1, READ1
  25. READOUT0:SETB  EX0
  26.                  SETB  EA
  27.                  POP PSW
  28.                  POP ACC
  29.          RETI
  30. READ1:   CLR    A
  31.          MOV    DPH, A
  32.              MOV    DPL, A
  33. HARD1:  JB     P3.1,HARD11
  34.         INC    DPTR
  35.             NOP
  36.             NOP
  37.             AJMP   HARD1
  38. HARD11:  MOV    A,DPH      
  39.                   JZ     READOUT0
  40.                  CLR    A
  41. READ11:  INC   A
  42. READ12:  JNB   P3.1,READ12
  43.          MOV   R1,#06H
  44. READ13:  JNB   P3.1,READ11
  45.          MOV   R5,#255
  46.          DJNZ  R5,$
  47.              DJNZ   R1,READ13
  48.         //         DEC   A
  49.                  MOV   40H,A
  50.                 LJMP READOUT0
  51. #pragma  endasm
  52. }
  53. void Delay_1ms(uint j)
  54. { uchar i=0;
  55.     for(;j>0;j--)
  56.       for(i=0;i<125;i++);
  57. }
  58. void delay(uchar t, uchar i)
  59. {        for(;t>0;t--)
  60.                 { for(;i>0;i--); }                                        
  61. }

  62. void sent(unsigned char dat)
  63. {        uchar i;
  64.            ACC=dat;
  65.            for(i=8;i>0;i--)
  66.                    {         ST_CP=0;       
  67.                         DS=ACC7;
  68.                         SH_CP=0;
  69.                     ACC=ACC<<1;
  70.                         SH_CP=1;
  71.                    }  
  72.            delay(1,3);
  73.     ST_CP=1;
  74. }

  75. void lcdwd(uchar da)
  76. {        RS=1;
  77.         RW=0;
  78.         E=1;
  79.         sent(da);
  80.         delay(1,100);
  81.         E=0;
  82. }

  83. void lcdwc(uchar c)
  84. {        RS=0;
  85.         RW=0;
  86.         E=1;
  87.         sent(c);
  88.         delay(1,100);
  89.         E=0;
  90. }

  91. void lcdinit()
  92. {        delay(15,125);
  93.         lcdwc(0x38);
  94.         delay(5,125);
  95.         lcdwc(0x38);
  96.         delay(5,125);
  97.         lcdwc(0x38);
  98.         delay(5,125);
  99.         lcdwc(0x08);
  100.         lcdwc(0x01);
  101.         lcdwc(0x06);
  102.         lcdwc(0x0c);
  103. }

  104. void WriteString(uchar *s,uchar a,uchar b)//字符串由N个单字字符组成
  105. {        for(;*s!=0;s++)
  106.                 {        lcdwc(0x80+(a++)+0x40*b);//地址
  107.                         lcdwd(*s);                                 //数据
  108.                  }                       
  109. }

  110. void display()
  111. {uchar s1[4],*ps;
  112. s1[0]='y';
  113. s1[1]='k';
  114. s1[2]=' ';
  115. s1[3]=LCD[jianhao];
  116. ps=&s1;
  117. WriteString(ps,0,0);}
  118. //主程序
  119. void main()
  120. {
  121.   IE=0;EX0=1;EA=1; lcdinit();//jianhao=0;
  122.    for(;;)
  123.    {
  124.     display();
  125.         }
  126. }

复制代码



完整的设计报告和其他资料下载:
测障测角小车.rar (126.75 KB, 下载次数: 21)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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