找回密码
 立即注册

QQ登录

只需一步,快速开始

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

摇杆的两个扩展设备不会连接

[复制链接]
ID:227445 发表于 2017-11-14 18:18 | 显示全部楼层 |阅读模式

这个模块是干什么用的。

这个模块是干什么用的。
这个模块的杜邦线口是什么用的。和单片机怎么连接

摇杆不会连接

摇杆不会连接
摇杆不会连接

  1. #include "reg52.h"                                                        //52μ¥Ƭ»úí¨óüÄ′æÆ÷£¬è±T2MOD¶¨òå
  2. #include "intrins.h"                                                //×Ö·û¿ØÖÆ£¬×óòÆ/óòòÆ£¬¿ÕÖ¸áîμè
  3. #include "stdio.h"                                                        //êäèë¡¢êä3ö¿ØÖÆ
  4. #include "string.h"                                                        //×Ö·û′®′|àí
  5. #include "math.h"                                                                //êyѧoˉêy
  6. #include "absacc.h"                                                        //ROM/RAM′|àí
  7. #include "hardware.h"                                                //Ïμí3ó2¼tá¬Ïß
  8. #include "MACRO_AND_CONST.h"                //3£óñäá¿o궨òå
  9. #include "LCD1602.h"                                                //LCD1602í·Îļt
  10. #include "ADC12.h"
  11. #include "delay.h"


  12. uchar dis_buf[16]={0}
  13. uint sx=0,sy=0
  14. uint b[10]={0},c[10]={0}
  15. uint refx=0,refy=0
  16. uchar mode=0,i=0,j=0

  17. void scankey()
  18. {
  19.         if(key==0)
  20.         {
  21.                 delay_ms(10);
  22.                 if(key==0)
  23.                 {
  24.                         if(mode==1)
  25.                                 mode=0
  26.                         else if(mode==0)
  27.                                 mode=1
  28.                         while(key==0)
  29.                         {
  30.                                 if(key==1)
  31.                                 {
  32.                                         delay_ms(10);
  33.                                         if(key==1)
  34.                                                 break;
  35.                                 }
  36.                                 ;
  37.                         }
  38.                 }
  39.         }
  40. }

  41. //-----------------------------------------------------------------
  42. void ADC()
  43. {
  44.         ulong a=0;
  45.         a=GetADCResult(0)&0x03;
  46.         a=ADC_LOW8+a*256;//a=0-1023
  47.         b[i]=a;        
  48.         a=GetADCResult(1)&0x03;
  49.         a=ADC_LOW8+a*256;
  50.         c[j]=a;
  51.         i++;
  52.         if(i>9)
  53.                 i=0;
  54.         j++;
  55.         if(j>9)
  56.                 j=0;
  57. }

  58. //-----------------------------------------------------------------
  59. void display_LCD(
  60. {
  61.         sprintf(dis_buf,"X:%03d",sx);        
  62.         LCD_Show_String(0,0,dis_buf,1)
  63.         sprintf(dis_buf,"Y:%03d",sy);        
  64.         LCD_Show_String(1,0,dis_buf,1)
  65. }

  66. main()
  67. {
  68.         ulong x,y;
  69.         uchar n;
  70.         Initialize_LCD();
  71.         InitADC();        
  72.         delay_ms(100);
  73.         x=0;
  74.         y=0;
  75.         for(n=0;n<10;n++
  76.         {
  77.                 ADC();
  78.                 delay_ms(5);
  79.                 x=x+b[n];
  80.                 y=y+c[n];
  81.         }
  82.         refx=x/10;
  83.         refy=y/10;
  84.         mode=0;
  85.         while(1)
  86.         {
  87.                 scankey();
  88.                 ADC();
  89.                 x=0;
  90.                 y=0;
  91.                 for(n=0;n<10;n++)
  92.                 {
  93.                         x=x+b[n];
  94.                         y=y+c[n];
  95.                 }
  96.                 if(mode==0)
  97.                 {
  98.                         sx=(x*9/512);
  99.                         sy=(y*9/512);
  100.           }
  101.                 else if(mode==1)
  102.                 {
  103.                         if(x>=refx*10)
  104.                                 sx=(x-refx*10)*9/(1024-refx)+90;
  105.                         else if(x<refx*10)
  106.                                 sx=x*9/refx;
  107.                         if(y>=refy*10)
  108.                                 sy=(y-refy*10)*9/(1024-refy)+90;
  109.                         else if(y<refy*10)
  110.                                 sy=y*9/refy;
  111.                 }
  112.                 display_LCD();
  113.                 delay_ms(100);
  114.         }
  115. }




  116. MACRO_AND_CONST.h里找到的
  117. /TLC561硬件接口
  118. //-------------------------------------------------
  119. /*
  120. sbit      CS_5615 =     P1^2;   
  121. sbit     CLK_5615 =     P1^1;     
  122. sbit     DIN_5615 =     P1^0;     
  123. sbit    DOUT_5615 =     P1^3;      
  124. */
复制代码
回复

使用道具 举报

ID:96682 发表于 2017-11-14 22:11 | 显示全部楼层
看板上是否标有,不然找电商解决最快
回复

使用道具 举报

ID:227445 发表于 2017-11-15 18:29 | 显示全部楼层
wc86110 发表于 2017-11-14 22:11
看板上是否标有,不然找电商解决最快

板上只有TLC5615和MC1403PI这两个芯片上面的P1口和P3口不懂。。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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