智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 4159|回复: 21
打印 上一主题 下一主题

想了解关于拨码开关的一些知识?时间有些紧迫,不能自己细搞,急需,望大神理解。

  [复制链接]

10

主题

151

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1678
威望
837
贡献
545
兑换币
496
注册时间
2012-11-22
在线时间
148 小时
跳转到指定楼层
1#
发表于 2013-7-6 15:21:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
K60硬件上拉电阻的位置,和程序关于IO的编程是如何控制速度的?在此谢过!

4

主题

61

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1180
威望
548
贡献
334
兑换币
269
注册时间
2012-11-13
在线时间
149 小时
2#
发表于 2013-7-6 22:38:28 | 只看该作者

回帖奖励 +1

回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

高级会员

Rank: 4

积分
659
威望
320
贡献
189
兑换币
199
注册时间
2012-12-9
在线时间
75 小时
3#
发表于 2013-7-7 13:56:55 | 只看该作者

回帖奖励 +1

假如你懂怎么读取IO口的状态
回复 支持 反对

使用道具 举报

17

主题

950

帖子

1

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4892

活跃会员奖章优秀会员奖章论坛元老奖章在线王奖章

威望
3047
贡献
817
兑换币
1947
注册时间
2013-1-28
在线时间
514 小时
4#
发表于 2013-8-27 17:30:21 | 只看该作者

回帖奖励 +1

回复 支持 反对

使用道具 举报

8

主题

324

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1209

活跃会员奖章优秀会员奖章

威望
528
贡献
373
兑换币
291
注册时间
2013-7-24
在线时间
154 小时
5#
发表于 2013-8-28 08:33:32 | 只看该作者

回帖奖励 +1

回复 支持 反对

使用道具 举报

8

主题

324

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1209

活跃会员奖章优秀会员奖章

威望
528
贡献
373
兑换币
291
注册时间
2013-7-24
在线时间
154 小时
6#
发表于 2013-8-28 08:35:15 | 只看该作者
拨码开关就是你连接到I/O口 如果一端全部给低电平,另一端检测连接到I/O口上就可以了  还是很简单的。。。
回复 支持 反对

使用道具 举报

8

主题

324

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1209

活跃会员奖章优秀会员奖章

威望
528
贡献
373
兑换币
291
注册时间
2013-7-24
在线时间
154 小时
7#
发表于 2013-8-28 08:35:41 | 只看该作者
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
void PLL_Init(void)   //PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1)
{                     //锁相环时钟=2*16*(2+1)/(1+1)=48MHz
  REFDV=1;            //总线时钟=48/2=24MHz
  SYNR=2;
  while(!(CRGFLG&0x08));
  CLKSEL=0x80;        //选定锁相环时钟
}
void PWM3_Init()  
{
  PWME_PWME3=0x00;  // Disable  PWM            禁止              
  PWMPRCLK=0x33;    // 0011 0011 A=B=24M/8=3M  时钟预分频寄存器设置 //T/2^n  n=0011
  PWMSCLA=150;      // SA=A/2/150=10k          时钟设置
  PWMSCLB=15;       // SB=B/2/15 =100k         时钟设置                     
  PWMCLK_PCLK3=1;   // PWM3-----SB             时钟源的选择  
  PWMPOL_PPOL3=1;   // Duty=High Time          极性设置
  PWMCAE_CAE3=1;    // Left-aligned            对齐方式设置
  PWMCTL=0x00;      // no concatenation        控制寄存器设置  
  PWMPER3=100;      // Frequency=SB/100=1K     周期寄存器设置
  PWMDTY3=10;       // Duty cycle = 50%        占空比寄存器设置  
  PWME_PWME3=1;     // Enable  PWM             使能
}
void delayms(byte b)
{
  byte i;
  int delayms;
  for(i=0;i<b;i++)
  for(delayms=0;delayms<1000;delayms++)
  asm("nop");
}
void main ()
{  uchar a,b,c,d,e;
   DDRP_DDRP2=0; DDRP_DDRP4=0;DDRP_DDRP0=0;DDRP_DDRP7=0;
   PWM3_Init();
  while(1)
  {    a=PTIP_PTIP0;b=PTIP_PTIP2;c=PTIP_PTIP4;d=PTIP_PTIP7;
       delayms(5);  delayms(5); delayms(5);
       e=8*d+c*4+b*2+a;
       switch(e)
       {
        case 14: PWMDTY3=30;break;
        case 13: PWMDTY3=40;break;
        case 11: PWMDTY3=50;break;
        case 10: PWMDTY3=53;break;
        case 9: PWMDTY3=56;break;
        case 3: PWMDTY3=59;break;
        case 7: PWMDTY3=65;break;
        case 15: PWMDTY3=20;break;
        default:break;
       }
  }
}
回复 支持 反对

使用道具 举报

8

主题

324

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1209

活跃会员奖章优秀会员奖章

威望
528
贡献
373
兑换币
291
注册时间
2013-7-24
在线时间
154 小时
8#
发表于 2013-8-28 08:36:00 | 只看该作者
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
void PLL_Init(void)   //PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1)
{                     //锁相环时钟=2*16*(2+1)/(1+1)=48MHz
  REFDV=1;            //总线时钟=48/2=24MHz
  SYNR=2;
  while(!(CRGFLG&0x08));
  CLKSEL=0x80;        //选定锁相环时钟
}
void PWM3_Init()  
{
  PWME_PWME3=0x00;  // Disable  PWM            禁止              
  PWMPRCLK=0x33;    // 0011 0011 A=B=24M/8=3M  时钟预分频寄存器设置 //T/2^n  n=0011
  PWMSCLA=150;      // SA=A/2/150=10k          时钟设置
  PWMSCLB=15;       // SB=B/2/15 =100k         时钟设置                     
  PWMCLK_PCLK3=1;   // PWM3-----SB             时钟源的选择  
  PWMPOL_PPOL3=1;   // Duty=High Time          极性设置
  PWMCAE_CAE3=1;    // Left-aligned            对齐方式设置
  PWMCTL=0x00;      // no concatenation        控制寄存器设置  
  PWMPER3=100;      // Frequency=SB/100=1K     周期寄存器设置
  PWMDTY3=10;       // Duty cycle = 50%        占空比寄存器设置  
  PWME_PWME3=1;     // Enable  PWM             使能
}
void delayms(byte b)
{
  byte i;
  int delayms;
  for(i=0;i<b;i++)
  for(delayms=0;delayms<1000;delayms++)
  asm("nop");
}
void main ()
{  uchar a,b,c,d,e;
   DDRP_DDRP2=0; DDRP_DDRP4=0;DDRP_DDRP0=0;DDRP_DDRP7=0;
   PWM3_Init();
  while(1)
  {    a=PTIP_PTIP0;b=PTIP_PTIP2;c=PTIP_PTIP4;d=PTIP_PTIP7;
       delayms(5);  delayms(5); delayms(5);
       e=8*d+c*4+b*2+a;
       switch(e)
       {
        case 14: PWMDTY3=30;break;
        case 13: PWMDTY3=40;break;
        case 11: PWMDTY3=50;break;
        case 10: PWMDTY3=53;break;
        case 9: PWMDTY3=56;break;
        case 3: PWMDTY3=59;break;
        case 7: PWMDTY3=65;break;
        case 15: PWMDTY3=20;break;
        default:break;
       }
  }
}
回复 支持 反对

使用道具 举报

4

主题

111

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2409
威望
1190
贡献
687
兑换币
673
注册时间
2012-11-1
在线时间
266 小时
9#
发表于 2013-8-28 08:40:44 | 只看该作者

回帖奖励 +1

回复 支持 反对

使用道具 举报

0

主题

60

帖子

0

精华

高级会员

Rank: 4

积分
622
威望
322
贡献
220
兑换币
169
注册时间
2012-9-2
在线时间
40 小时
毕业学校
厦门大学
10#
发表于 2013-8-29 22:12:07 | 只看该作者
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-29 01:57 , Processed in 0.060076 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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