GPIO实验
一、 实验目的
1. 掌握GPIO 口基本寄存器的使用,掌握如何将GPIO 作为输出口。
2. 初步了解如何使用C 语言编写飞思卡尔单片机程序。
二、 实验器材
1. MC9S12XSMAA开发板
2. USBDM下载器
3. 计算机一台
三、 实验
电路
模拟电路李宁答案12数字电路仿真实验电路与电子学第1章单片机复位电路图组合逻辑电路课后答案
开发板LED实验电路
四、 实验原理
开发板上有8个发光二极管,每个发光二极管串联一个限流电阻,用单片机的PB口控制发光二极管的两灭状态,PB口的管脚置1时,发光二极管熄灭,PB口清零时,发光二极管点亮。
五、 程序代码
#include
/* common defines and macros */
#include "derivative.h" /* derivative-specific definitions */
#define LED PORTB //定义LED为PB端口
#define LED_dir DDRB //定义LED_dir为DDRB寄存器,控制输入/输出
unsigned char data=0x01;
void delay(void) //延时函数
{
unsigned int i,j;
for(j=0;j<2;j++)
for(i=0;i<60000;i++) ;
}
void main(void)
{
DisableInterrupts; //关闭中断
LED_dir=0xff; //设置为输出,0xff即为11111111,设定为输出
LED=~data; //点亮LED1
EnableInterrupts; //打开中断
for(;;) //主循环
{
delay(); //延迟
data=data<<1; //左移一位
if(data==0) //向左移动16位之后,重置data
data=0x01;
LED = ~data; //点亮LED
}
}
六、 实验步骤
1. 将BDM下载器链接到开发板上。
2. 打开代码程序“LED”。
3. 点击Debug按钮,将源代码下载到单片机中,进入调试窗口。
4. 点击窗口的Start按钮,程序开始执行。
5. 观察实验现象。
七、 实验结果
开发板中发光二极管从D1,D2,D3,D4,D5,D6,D7,D8依次闪烁,和预期实验现象相符。