这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » jobs ARM DIY进程帖(TFT显示)

共53条 4/6 |‹ 1 2 3 4 5 6 跳转至
院士
2012-05-23 14:17:41     打赏
31楼
谢谢了~~

确实是这样的。
我的写错了控制符,因此没有换行,我还以为是上位机软件不支持呢~~

院士
2012-06-13 19:58:35     打赏
32楼
分压电路——用AD采样来证明
      还有不到一周的时间就要交作业,按照正常来说,现在正是赶作业的时候,我也不例外。做为一名物理系的学生,我想起来了高中物理电路实验:分压电路:两个电阻串联分压——两个电阻的电压值之和等于加在两端电压。
      今天,就用一个滑动变阻器来证明这个定理吧!
 
     这是从AD采样出来的数据,可以看到随着变阻器的滑动,其两端的电压呈现线性变化。
     操作原理也是非常简单的,但是与论坛大多数人不同,我没有使用DMA方式,那个太复杂了。做这样的简单实验,甭费那个劲了。
      当然,只需要添加一条语句:
      Voltage = ADC_GetConversionValue(ADC1);
      就可以了。
      嘿嘿,大家放弃官方那个例程吧!

感谢 hanshuyujifen2  指明换行控制字

院士
2012-06-16 12:54:47     打赏
33楼
什么叫占空比——PWM波输出

      占空比(Duty Ratio)在电信领域中有如下含义:
       在一串理想的脉冲周期序列中(如方波),正脉冲的持续时间与脉冲总周期的比值。例如:脉冲宽度1μs,信号周期4μs的脉冲序列占空比为0.25。占空比控制应该称为电控脉宽调制技术,它是通过电子控制装置对加在工作执行元件上一定频率的电压信号进行脉冲宽度的调制,以实现对所控制的执行元件工作状态精确,连续的控制。例如,控制步进电机的前进距离等等。
      可见,PWM波的脉宽调制技术还是非常有应用前景的。下面,我们就使用stm32f103zet的tim3_ch1来输出PWM波,通过串口发送相应指令,来控制PWM波的占空比。
      PC机发送“+x”为增加脉宽指令,其中,“+”为增加指令;“x”为指令结束符。将PA6引脚连接示波器,通过其观察占空比的变化。
      视频在文章附1。
      对TIM3进行配置如下:
  GPIO_InitTypeDef GPIO_InitStructure;
  TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE);
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
 
  TIM_TimeBaseStructure.TIM_Period = 665;
  TIM_TimeBaseStructure.TIM_Prescaler = 719;
  TIM_TimeBaseStructure.TIM_ClockDivision = 0;
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
  TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
      在main()函数里,做如下判断:
while(1)
  {
    while(TRUE == gRcvOverFlag)
    {
      tmp = gRxBuffer[0];
      switch(tmp)
      {
      case '+' :
        CCR1Val += 10;
        break;
      case '-':
        CCR1Val -= 10;
        break;
      case 0:
        CCR1Val = 0;
        break;
      case 0x35:
        CCR1Val = 50;
        break;
      case 9:
        CCR1Val = 90;
        break;
      default :
        break;       
      }    
      TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
      TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
     
      TIM_OCInitStructure.TIM_Pulse = CCR1Val;                 /* 调节占空比 */
     
      TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;     
      TIM_OC1Init(TIM3, &TIM_OCInitStructure);     
      TIM_OC1PreloadConfig(TIM3, TIM_OCPreload_Enable);     
      TIM_ARRPreloadConfig(TIM3, ENABLE);     
      TIM_Cmd(TIM3, ENABLE);     
      gRcvOverFlag = FALSE;
      gRcvCnt = 0;
     
    }
      这样只要发送相应的指令,“+x”“-x”即可控制PWM波了。

附1:PWM波脉宽调制视频

菜鸟
2012-06-16 14:48:23     打赏
34楼
自己约定的结束符。

要是挂一个电机就好了

院士
2012-06-17 15:13:37     打赏
35楼
谢谢EEPW——TFT显示
      今天是此次DIY活动的最后一天了,照样,今天也没有闲着,SD卡读写实验极可能是由于SD卡座的问题,导致通讯不能正常完成。也就将TFT的实验做了。
生成了EEPW网站的logo图。整个实验的难度在于将所有的杜邦线都按照原理图正确插到相应的引脚上。——说实话,真的挺费劲的。
      刚刚开始的时间,LCD就是不亮,突然想起来PCB板的PD4与PD5两个引脚要互换,赶紧断电将两个引脚重新插上,这回TFT按照自己的意图成功显示了。
 
 

    嘿嘿,谢谢EEPW,谢谢版主~~

菜鸟
2012-11-21 08:59:32     打赏
36楼
PCB板从哪买的?我怎么搜不到,有剩的吗?

院士
2012-11-21 09:36:45     打赏
37楼
pcb是半年前网站组织活动时提供的,估计现在已经木有了! 不过现在有新的瑞萨开发板可以免费申请!

院士
2012-11-21 09:37:43     打赏
38楼
pcb是半年前网站组织活动时提供的,估计现在已经木有了! 不过现在有新的瑞萨开发板可以免费申请!

助工
2012-11-23 13:47:11     打赏
39楼
你的触摸屏显示程序能不能,给我一份,我买的屏,商家给的是51单片机的,改起来比较困难。邮箱:1244810996@qq.com。多谢你了!

院士
2012-11-23 14:46:50     打赏
40楼
那个触屏挺不好用的。我也没有现成的实例。参考一下别的网友吧

共53条 4/6 |‹ 1 2 3 4 5 6 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]