Blazar β-Board体验之让单片机实验底板上的两个 LED 与某两个按键的状态相一致

作者:
上传时间为: 2018-05-16 08:59 AM
2018-05-16
阅读:

       上次点亮led交替闪烁之后,又根据指导书进行了两个 LED 与某两个按键的状态相一致的调试。依然使用OPENSDA 调试器,查阅单片机核心板的电路原理图,任意选择两个按键。PTC6,PTC7,然后具体主函数参考实验指导书如下。具体效果如图

#include "derivative.h" /* include peripheral declarations */
void delay()
{
	unsigned short i,j;
	for(i=0;i<3000;i++)
	    for(j=0;j<200;j++)
	    asm("nop");	    	
}
int main()
{
SIM_SCGC5|=0x0800;	//使能 PORTC 时钟
PORTC_PCR0=0x0100;	//PTC0 设置为 GPIO
PORTC_PCR4=0x0100;	//PTC4 设置为 GPIO
PORTC_PCR6=0x0103;	//RIGHT 键对应引脚 PTC6 设为 GPIO,上拉
PORTC_PCR7=0x0103;	//DOWN 键对应引脚 PTC7 设为 GPIO,上拉
GPIOC_PDDR|=0x0011;	//两 LED 对应端口都设置为输出
GPIOC_PDDR&= ~0x00C0;	//两按键 PTC6 和 PTC7 设置为输入
GPIOC_PDOR&=~0x0011;	// PTC0 和 PTC4 赋 0,两个小灯全灭
for(;;)

{
//RIGHT 键按下之后为 0(低电平),亦即
if(!(GPIOC_PDIR&0x8000))
if((GPIOC_PDIR&0x0040)==0) 
	GPIOC_PDOR|=0x0010;
else
GPIOC_PDOR&=~0x0010;
//DOWN 按键按下之后为 0(低电平) 
if((GPIOC_PDIR&0x0080)==0) 
GPIOC_PDOR|=0x0001;
else
GPIOC_PDOR&=~0x0001;
}
}

文章分页: 1 2 > 

全部评论 ()
条评论
写评论

创建讨论帖子

登录 后参与评论
系统提示