- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式系统实验实验报告
指导老师: 王子斌
学生姓名: 刘鹏鹏
学生学号
200920003029
课程学期: 第二学期 实验题目: ARM 体系结构及 GPIO
实验地点:主楼 C2-214
日 期: 2010 年 5 月 19 日
一、 实验目的
熟悉嵌入式系统设计和调试的基本技术,以 S3C44B0X 为例,了解并掌握 ARM7 芯片的体系结构,能熟练配置 GPIO 端口,掌握通用外设的使用方法。
二、 实验任务
1 熟悉和掌握 ADS1.2 软件的使用。
2 利用 ARM 实验开发平台, 了解系统启动流程、 端口控制程序, 实现 GPIO 、UART 的编程操作,完成 LED 计数器和串口通信程序。
三、 实验设备
1.装有 ADS1.2 和 H-JTAG ( ARM 调试代理软件)的 PC 机一台。
2.44B0 嵌入式实验板一套。
四、 实验程序
新建一个工程, 分别导入头文件 44b.h、44blib.h 、def.h、option.h 和库文件 44blib.c 、 44binit.s 到文件夹 include 和 app 中。再新建一个 main.c 函数。
设置 DebugRel settings 中的 ARM linker 选项中的 RO Base 为 0x0c000000 。
如果需要烧如 rom 中去,还需定义 release 中的设置,设置读写端口的地址以及生 成文件的类型,可以选择为 *.bin 等文件格式。
编写控制 LED 灯亮灭的子程序 void ledon(int cnt) 。在 ledon 中调用 rPDA TC 程序, 用十六进制数 0、2、4、6、8、a、c、e 代表灯的八种点亮格局。通过一个 switch 语句
就可以分别进行对应。
在 main 函数中,定义时钟频率 mclk 为 40M 和 baud=57600 ,以便在调用 Uart 初始 化函数 Uart_Init(mclk, baud) 时使用。再定义一个变量 cnt 用于计数值的储存。定义字符 型指针变量*ccn= ” sec\n” 同理可定义学号信息为 char *info = A little 3bit LED Timer -
200922070114\n
调用函数的申明:
setlocale(LC_ALL,C);
Port_Init();
Isr_Init();
Uart_Init(mclk, baud);
Uart_Select(ch);
Uart_SendString(info);
对 cnt 赋值为 0,然后利用函数 ledon 在 led 灯上面进行实时显示。显示过后执行延 迟一秒的操作,通过函数 Delay (time/100us )进行控制。在本实验中 time=1s。然后进
行一个判断,因为是一个八位的led计数器,因此,判断cnt7,若成立则cnt++、( *cnt) ++然后继续执行,若不成立,则分别将 0和0赋给cnt++和(*cnt)++。代码如下:
while(1)
{
ledon(cnt);
Uart_SendString(ccnt);
Delay(2000);
if(cnt 7)
{
cnt++;
(*ccnt)++;
}
else
{
cnt = 0;
*ccnt = 0;
}
}
五、 实验结论以及对本实验的改进意见
了解腊了 ARM7 芯片的体系结构, 并能对个端口进行操作, 熟悉了嵌入式系统设计 和调试的基本技术。当 main.c函数进行编译无误后进行 debug,然后我们可以通过
windows附件中提供的一个连接可以看到屏幕上输出: A little 3bit LED Timer -
200922070114,然后开始从 0~7 的八位计数,每秒计数一次,每计数一次显示相应的数 字,然后自动回车到下一行,在实验 PCB 板上,我们同样可以观察到 3 个 led 灯的实时 显示和屏幕上数值相同的二进制数。
由本实验可知,基于 44b0 的开发板实现计数和一些简单的字符输出是非常方便实 用的,可以根据用户的不同需求设置不同的计数等功能。
文档评论(0)