首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

基础实验1GPIO(流水灯)

2012-08-09 
基础实验一GPIO(流水灯)硬件连接比较简单,只需将Nu-Link和M0转换板对应接口(VCC DAT CLK RST GND)用杜邦线

基础实验一GPIO(流水灯)

硬件连接比较简单,只需将Nu-Link和M0转换板对应接口(VCC DAT CLK RST GND)用杜邦线连接,再连接PC-USB端口即可。平台搭建也跳过,直接上图;

基础实验1GPIO(流水灯)

just  code  it :

/* ------------------------ *作    者:小AX *官    网:www.smartmcu.com *淘    宝:http://smartmcu.taobao.com/ * Q  Q   :1771744839 *功 能 描 述:通过软件延时函数实现LED灯实现顺流逆流等变化效果. ------------------------ */#include "SmartM_M0.h"/*****************************************函数名称:main*输    入:无*输    出:无*功    能:函数主体******************************************/INT32 main(VOID){    UINT32 i; UINT32 rand(); PROTECT_REG ( PWRCON |= XTL12M_EN; //默认时钟源为外部晶振,PWRCON为系统掉电控制寄存器 while((CLKSTATUS & XTL12M_STB) == 0); //等待12MHz时钟稳定(CLKSTATUS时钟状态监控寄存器) CLKSEL0 = (CLKSEL0 & (~HCLK)) | HCLK_12M; //设置外部晶振为系统时钟(CLKSEL0 时钟源选择控制寄存器0)  P2_PMD=0x5555;  //GPIO设置为输出模式 ) while(1) {     for(i=0; i<8; i++)   {      P2_DOUT = ~(1UL<<i);   //移位操作,顺流   Delayms(100);                      //延时100ms   }     for(i=1; i<8; i++)   {      P2_DOUT = ~(128UL>>i);   //移位操作,逆流   Delayms(100);                      //延时100ms   }         for(i=0;i<4;i++)   {      P2_DOUT = ~((8UL>>i)|(16UL<<i));   //移位操作,中间望向两端跑   Delayms(100);                      //延时100ms   }    for(i=0;i<4;i++)   {      P2_DOUT = ~((64UL>>i)|(2UL<<i));   //移位操作,两端向中间跑   Delayms(100);                      //延时100ms           }             P2_DOUT=0xff;   Delayms(1000);   //全体灭灯                      //延时1000ms      for(i=0; i<24; i++)   {       P2_DOUT = rand();   //移位操作,随机闪烁   Delayms(100);      }   //延时100ms    }}


 

 

热点排行