拨码开关

//红色字体是本次主要添加或者修改的内容
//本程序主要是演示计数器的基本功能
//用键盘产生脉冲信号,接到TPM1的计数器引脚
//每按键一次,计数器加1,把计数器的结果TPM1CNT显示在数码管上


//-------------------------------------------------------------------------*
// 工 程 名: KeyCtrlLight *
// 硬件连接: 见工程说明 *
// 程序描述: 用开关通过芯片控制小灯闪烁 *
// 目 的: 第一个Freescale AW系列MCU C语言程序框架 *
// 说 明: 提供Freescale MCU的编程框架,供教学入门使用 *
//----------------苏州大学飞思卡尔嵌入式系统实验室2010年-------------------*

#include "Includes.h"


void main(void)
{

//1 关总中断
DisableInterrupt(); //禁止总中断
//2 芯片初始化
MCUInit();



//上面是单片机总体功能的初始化,不要删除
//以后的程序主要在这个文件里面写





//GPIO的功能,就是通用输入、输出功能的含义
//每个端口的引脚都能够设置为输入和输出,但是同一时刻只能够为输入或者输出
//端口的输入或者输出功能是根据数据方向寄存器的设置而确定的
//如果对应的位置1,则设置为输出;
//如果对应的位置0,则设置为输入;
//根据数码管和单片机的连线,数码管显示的内容由B端口确定
//也就是B端口输出的内容决定数码管显示的数字或者字符
//所以B端口的8个引脚都设置为输出
//B端口对应的数据方向寄存器(8位寄存器对应8个引脚)要设置为都是1
// PTBDD:PT代表port端口的意思
//B 代表B端口的意思,DD代表data direction,也就是数据方向

//用到几个定义的宏
//1 BGET(n,REG),获得寄存器REG的n位的值(结果为0或者1);0≤n≤7;
//比如 BGET(0,PTFD) 获得寄存器PTFD的0位数值
//BGET---其中B代表bit的意思,GET就是获得的意思

//2 BSET(n,REG),设置寄存器REG的n位的值为1;0≤n≤7?
//比如 BSET(0,PTFD) 设置寄存器PTFD的0位数值为1
//BSET---其中B代表bit的意思,SET就是设置的意思

//3 BCLR(n,REG),设置寄存器REG的n位的值为0;0≤n≤7;
//比如 BCLR(0,PTFD) 设置寄存器PTFD的0位数值为0
//BCLR---其中B代表bit的意思,CLR就是clear的缩写,汉语经常翻译成清除的意思,清除了就没有,所以是0


//各个模块初始化的程序一般在下面写,写在while (1) 之前


BSET(3,PTEDD);// 设置为输出
BSET(2,PTEDD);


//4 主循环
while (1) //检测是高电平还是低电平,自行赋予小灯亮或者灭?
{
if(BGET(2,PTFD)==1) //检测如果是

高电平。
{
BCLR(3,PTED); //点亮小灯
} else
BSET(3,PTED); //反正则熄灭小灯。

if(BGET(5,PTFD)==1)
{
BCLR(2,PTED);
} else
BSET(2,PTED);

}
}

相关文档
最新文档