六、实验操作步骤
1.启动ADS1.2,使用ARM Execuatable Image 工程模板新建一个工程; 2.添加两个组INC 和SRC;
3.将INC 文件夹下所有文件添加到组INC 中; 4.将SRC 文件夹下所有文件添加到组SRC 中; 5.建立源文件test5.C,编写实验程序,添加到工程中; 6.编译链接选项的设置同前面实验;
7.编译链接工程,点击Debug 按钮,启动AXD 进行调试;
8.连续点击step in 按钮,单步运行程序,主板上的四个LED 灯循环点亮。 9.理解并掌握本实验原理及程序,完成练习题 七、实验参考程序
#include \#include \#include \#include \
/****************************************************************************** 【功能说明】GPIO 输出控制实验
#define inport32(port) *((unsigned long int*)port)
#define outport32(port,data) *((unsigned long int*)port)=data #define PORT_C_CON 0x01d20010 #define PORT_C_DAT 0x01d20014 #define PORT_C_PUL 0x01d20018
void Init_PORT_C(void)
{
//LED D0 D1 D2 //PC1 PC2 PC3 outport32(PORT_C_DAT, 0xffff); //All I/O Is High
outport32(PORT_C_CON, 0x0f05ff55); outport32(PORT_C_PUL ,0x30f0); //PULL UP RESISTOR enabled to I/O }
/************************* ledblink *****************************/
void Led_On_Off(int LedStatus) //1/2/4 { //PC1,PC2,PC3 High available
unsigned long temp;
temp=inport32(PORT_C_DAT) & 0x1f1 ; temp |= ( (LedStatus & 0x7)<<1 ) outport32(PORT_C_DAT,temp); }
void Main(void) {
rSYSCFG=CACHECFG; // Using 8KB Cache// Port_Init(); //初始化其他端口 Init_PORT_C();//初始化端口C while(1) {
Led_On_Off(0x01); Delay(2000);
Led_On_Off(0x02); Delay(2000);
Led_On_Off(0x04); Delay(2000); Led_On_Off(0x00); Delay(2000); Led_On_Off(0x04); Delay(2000); Led_On_Off(0x02); Delay(2000);
Led_On_Off(0x01);
Delay(2000);
Led_On_Off(0x00); Delay(2000); } }
八、练习题
1.为什么这个实验的工程不需要设置链接地址?
2.在实验参考程序中,改变显示方式,使三个led灯有从左到右、从右到左两动感方向输出?
3.设计一个灯光报警器,以1S 亮,2S暗,由led2向两边发散输出。
实验八 GPIO 输入实验
一、实验目的
通过实验掌握GPIO 的输入模式。
学会键盘的使用方法
二、实验设备
硬件:嵌入式实验平台一套、仿真器一个、PC机一台。
软件:Windows 98/2000/NT/XP 操作系统、仿真器驱动程序、ADS开发软件一套。
三、实验内容
等待键盘按键,如果有键按下,则LED 灯亮。
四、实验原理
S3C44B0X 具有71 个多功能输入输出脚。它们包含在7 组端口中。
2 个9 位输入输出端口(端口E 和F); 2 个8 位输入输出端口(端口D 和G); 1 个16 位输入输出端口(端口C); 1 个10 位输出端口(端口B); 1 个11 位输出端口(端口A);
每组端口都可以通过软件配置寄存器来满足不同系统和设计的需要,在运行程序之前必 须先对每一个用到的引脚的功能进行设置,如果某些引脚的复用功能没有使用,那么可以将 该引脚设置成I/O 口。
端口配置寄存器(PCONA-G)用来设置每个引工作在哪一个工作模式下。 端口数据寄存器(PDATA-G),当端口被设置为输出脚时,输出数据的方法就是将数据写入到PDATn 的相应位中;当端口被设置为输入脚时,读入数据的方法就是将PDATn 中相应位读出。
端口上拉设置寄存器(PUPC-G)用来设定PC-PG 这几组端口是否具有内部上拉。当PUPn 的对应位为)时,该引脚上的上拉使能,当为1 时,该引脚上的上拉禁止。 外部中断控制寄存器(EXTINT)是为PG 的第3 功能(外部中断输入口)设置的,该 寄存器可用秋设置EXINT(外部中断)请求输入模式:低电平触发、高电平触发、上升沿 触发、下降沿触发或是边沿触发。
五、PORT_G功能描述
六、实验操作步骤
1.启动ADS1.2,使用ARM Execuatable Image 工程模板新建一个工程;
2.添加两个组INC 和SRC;
3.将INC 文件夹下所有文件添加到组INC 中; 4.将SRC 文件夹下所有文件添加到组SRC 中;