ARM技术william hill官网
直播中

cy

10年用户 22经验值
擅长:可编程逻辑
私信 关注
[资料]

四位流水灯的循环闪烁方法

四位流水灯一:实验名称
      四位流水灯

二:实验内容
实现四位流水灯的循环闪烁

三:实验目的
1:掌握LED硬件威廉希尔官方网站
2:掌握KL25 GPIO模块输出的寄存器配置方法
3: 掌握四位流水灯循环闪烁的编程方法

四:实验方法
      1:查阅该部分的威廉希尔官方网站 图
           发现KL25的PTB8、PTB9、PTB10、PTB11引脚分别控制着D6、D7、D8、D9四个LED发光二极管。
     2:对GPIO模块的相应寄存器进行配置
(1) 查阅KL25 Reference Manual 122页发现GPIO由Platform clock提供时钟。

(2) 将Platform clock时钟和POTRB模块接通,编程如下:  
            SIM_SCGC5=SIM_SCGC5_PORTB_MASK;//可查阅SIM_SCGC5寄存器

(3) 设置复用引脚属性,将PTB8、PTB9、PTB10、PTB11配置为GPIO功能,编程如下:
PORTB_PCR8=PORT_PCR_MUX(1);
PORTB_PCR9=PORT_PCR_MUX(1);
PORTB_PCR10=PORT_PCR_MUX(1);
PORTB_PCR11=PORT_PCR_MUX(1);
// 可查阅PORTx_PCRn寄存器和KL25 Data Sheet 46页进行相关的了解

      (4)设置引脚输入输出方向,将PTB8、PTB9、PTB10、PTB11设置成输出,编程如下:
          GPIOB_PDDR=GPIO_PDDR_PDD(0x00000f00u);//可查阅GPIOx_PDDR寄存器

(5)设置引脚输出逻辑电平,将PTB8、PTB9、PTB10、PTB11设置输出高电平,编程如下:
GPIOB_PDOR=GPIO_PDOR_PDO(0x00000f00u); //可查阅GPIOx_PDOR寄存器

3:实现四位流水灯的循环闪烁
       查阅例程主函数里面的相应程序/*
***********************************************************
*  file name : main.c
*  function  : function for main
*  
***********************************************************
*/

#include "derivative.h"
#include "config.h"
#include "crg.h"
#include "gpio.h"



/******************************主函数*************************************/
int main(void)
{
  asm(" CPSID i");  //关总中断
         
  crg_default_init();  //系统默认时钟
  //crg_configuration_init();  //配置之后的时钟
  MCGIRCLK_outenable();  //使能MCGIRCLK输出2M
  clock_test(4);  //相应时钟的测试

  gpio_init();  //GPIO初始化

  asm(" CPSIE i");  //开总中断

  for(;;)
  {         
    GPIOB_PDOR=GPIO_PDOR_PDO(0x00000100u);  //PTB8输出高电平 ,D6LED灯亮
        delayms(15000);  //延时
        GPIOB_PDOR=GPIO_PDOR_PDO(0x00000200u);  //PTB9输出高电平 ,D7LED灯亮
        delayms(15000);  //延时
        GPIOB_PDOR=GPIO_PDOR_PDO(0x00000400u);  //PTB10输出高电平 ,D8LED灯亮
        delayms(15000);  //延时
        GPIOB_PDOR=GPIO_PDOR_PDO(0x00000800u);  //PTB11输出高电平 ,D9LED灯亮
        delayms(15000);  //延时
  }
               
}

回帖(1)

Y专业潜水Y

2014-11-24 15:42:44
KL25,飞思卡尔单片机?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分