嵌入式系统基础实验.doc

上传人:doc321 文档编号:14937967 上传时间:2022-02-25 格式:DOC 页数:6 大小:80KB
返回 下载 相关 举报
嵌入式系统基础实验.doc_第1页
第1页 / 共6页
嵌入式系统基础实验.doc_第2页
第2页 / 共6页
嵌入式系统基础实验.doc_第3页
第3页 / 共6页
嵌入式系统基础实验.doc_第4页
第4页 / 共6页
嵌入式系统基础实验.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《嵌入式系统基础实验.doc》由会员分享,可在线阅读,更多相关《嵌入式系统基础实验.doc(6页珍藏版)》请在三一文库上搜索。

1、实验3 S3C2440 GPIO应用及编程 班级 B12511 姓名 李沛 学号 B12511 日期 10.27 成绩评定 1实验目的(1)掌握简单电路图与DataSheet的阅读方法;(2)掌握GPIO硬件,寄存器的功能及访问方法;(3)能够编写简单的GPIO控制LED灯、扫描式键盘的程序。2实验环境普通PC机,Windows系统下安装ADS1.2集成开发环境,ARM实验设备,串口线,USB线,网线。3实验原理LED灯与4按键键盘硬件电路如下: LED灯连接的引脚为GPB5(nLED1)、GPB6(nLED2)、GPB7(nLED3)、GPB8(nLED4),当引脚输出低电平时,相应LED发

2、光;输出低电平时,相应LED灭。键盘按键引脚为GPF1(EINT1)、GPF4(EINT4)、GPF2(EINT2)、GPF0(EINT0),当按键按下时,相应引脚为低电平。每组GPIO都包含了数据寄存器,控制寄存器,上拉使能寄存器,可查阅S3C2440 Datasheet。4实验步骤与内容4.1 熟悉ADS1.2及开发板使用的步骤(简单几行描述步骤描述,自己添加,如何生成二进制文件及下载到实验箱)2 / 64.2 编写程序,实现按键控制LED灯亮灭,K1控制LED1亮灭,K2控制LED2亮灭,K3控制LED3亮灭,K4控制LED4亮灭,即按键按下将改变当前灯状态(由灭变亮、由亮变灭),在ma

3、in.c文件中补充完整C代码部分;main.c文件#include 2440addr.hvoid delay_short(void)int i;for(i=0; i100000; i+);void led_init(void) rGPBCON &=(310)|(312)|(314)|(316); rGPBCON |=(110)|(112)|(114)|(116); rGPBUP &=0x61F; rGPBDAT |=0x7FF;void key_init(void) rGPFCON &=(30)|(32)|(34)|(38); rGPFCON |=(02)|(08)|(04)|(00); rG

4、PFDAT |=(10)|(11)|(12)|(14);void led1_on(void)rGPBDAT &=(15);void led1_off(void)rGPBDAT |=(15);void led2_on(void)rGPBDAT &=(16);void led2_off(void)rGPBDAT |=(16);void led3_on(void)rGPBDAT &=(17);void led3_off(void)rGPBDAT |=(17);void led4_on(void)rGPBDAT &=(18);void led4_off(void)rGPBDAT |=(18);int

5、key_scan(void) int keynum=0; if(rGPFDAT &(11)=0) delay_short(); if(rGPFDAT &(11)=0) keynum=1; if(rGPFDAT &(14)=0) delay_short(); if(rGPFDAT &(14)=0) keynum=2; if(rGPFDAT &(12)=0) delay_short(); if(rGPFDAT &(12)=0) keynum=3; if(rGPFDAT &(10)=0) delay_short(); if(rGPFDAT &(10)=0) keynum=4; return keyn

6、um;int Main(void)int buf=0; led_init(); key_init(); while(1) if(key_scan()=1) buf=rGPBDAT &(15); if(buf=0) led1_off(); else led1_on(); if(key_scan()=2) buf=rGPBDAT &(16); if(buf=0) led2_off(); else led2_on(); if(key_scan()=3) buf=rGPBDAT &(17); if(buf=0) led3_off(); else led3_on(); if(key_scan()=4)

7、buf=rGPBDAT &(18); if(buf=0) led4_off(); else led4_on(); /*switch(key_scan() case 1: buf=rGPBDAT &=(15; if(buf=0) led1_off(); else led1_on();break; case 2: buf=rGPBDAT &=(16; if(buf=0) led2_off(); else led2_on();break; case 3: buf=rGPBDAT &=(17; if(buf=0) led3_off(); else led3_on();break; case 4: buf=rGPBDAT &=(18; if(buf=0) led4_off(); else led4_on();break; default: break; */ return 0; 程序简要说明:参考课本例题改编的程序5实验总结初次接触开发板遇到了很多问题(操作,写入程序),还有很多要学的地方 友情提示:方案范本是经验性极强的领域,本范文无法思考和涵盖全面,供参考!最好找专业人士起草或审核后使用。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1