首页 嵌入式系统设计实验二

嵌入式系统设计实验二

举报
开通vip

嵌入式系统设计实验二 “嵌入式系统”实验教案 实验二 数码管显示实验 一、实验目的 1.通过实验了解点亮数码管的方法 2. 了解数码管应用的方法 3. 修改原代码,实现其它的应用 二、 实验设备 1.PC 微机一台; 2.Super ARM 实验箱一台; 3.U-Link2 仿真器一只。 三、实验原理 1. 数码管及其显示方式 (1)静态显示 静态显示是指当 8 段数码管显示一个字符时,该字符对应段的发光二极管控制信号一直保 持有效。即显示的笔段始终保持发光,字不会出现闪烁;显示 N...

嵌入式系统设计实验二
“嵌入式系统”实验教案 实验二 数码管显示实验 一、实验目的 1.通过实验了解点亮数码管的方法 2. 了解数码管应用的方法 3. 修改原代码,实现其它的应用 二、 实验设备 1.PC 微机一台; 2.Super ARM 实验箱一台; 3.U-Link2 仿真器一只。 三、实验原理 1. 数码管及其显示方式 (1)静态显示 静态显示是指当 8 段数码管显示一个字符时,该字符对应段的发光二极管控制信号一直保 持有效。即显示的笔段始终保持发光,字不会出现闪烁;显示 N 个字需要 N 倍连线,因而需要 的 I/O 较多。 (2)动态显示 动态显示是指当 8 段数码管显示一个字符时,该字符对应段的发光二极管是轮流点亮的, 即控制信号按一定周期有效。在轮流点亮的过程中,点亮时间是极为短暂的(约 1ms)。但由于 人的视觉暂留现象及发光二极管的余辉效应,数码管的显示依然是非常稳定的。 四、 实验步骤 1、建立工程文件夹、启动RealView MDK、工程创建和启动代码配置 z 在E:盘目录下建立工程文件夹(e:\exp2)。并将“嵌入式系统实验二”文 件夹内的“2410addr.h”;“option.h”;“SDRAM.ini”三个文件拷贝至工 程文件夹(e:\exp2)内。 z 启动RealView MDK,选择菜单Project->New uVision Project,指定工程的保存路径 (e:\exp2),并给新工程命名为digitLED.uvproj,单击“保存”按钮。 z 在自动弹出的器件选择窗口(Select Device for Target ‘Target 1’)中选择该工 程所对应的处理器型号(实验箱中处理器为Samsung 公司的S3C2410A),并单击“确 定”按钮,。在弹出启动代码生成对话框时,选择 “是”按钮,此时将在LED 工程中 自动生成S3C2410A 的启动代码。 z 对启动代码进行配置,全部除去勾选项(否则可能导致调试时不稳定) 2、 编辑代码,将其另存为 digitLED.c 文件,并添加到工程中 选择菜单 File->New…创建新文件(缺省为 text1*,保存时应修改文件名及文件类型), 编辑代码: /* -----digitLED.c begin------ */ #include "2410addr.h" void LedShow( int key,int i); lchzeng 高亮 lchzeng 高亮 lchzeng 高亮 Administrator 高亮 int led[]={4,3,2,1}; int main(void){ unsigned int i,j,k; while (1){ for (k=0; k<5; k++) { for (j=0; j<50; j++) for (i=0; i<4; i++) LedShow(8, i); // 全亮 for (j=0; j<50; j++) for (i=0; i<4; i++) LedShow(15, i); // 全灭 } // 顺序亮 for (k=0; k<10; k++) for (j=0; j<200; j++) for (i=0; i<4; i++) LedShow(k, i); // 循环亮 for (k=0; k<10; k++) for (i=0; i<4; i++) for (j=0; j<100; j++) LedShow(k, i); // 1,2,3,4 for (j=0; j<600; j++) for(i=0; i<4; i++) LedShow(led[i], i); } } void LedShow(int key,int i) { int j; rGPHCON = (rGPHCON & ~(3<<16)) | (1<<16); // 设置点,不亮(GPH8 = OUTPUT) rGPHUP |= 1<<8; rGPHDAT = (rGPHDAT & ~(1<<8)) | (0<<8); rGPECON = (rGPECON & ~(0xFFC0000)) | (0x5540000); // 设置 GPE[9 ~ 13] = OUTPUT rGPEUP |= (1<<9) | (1<<10) | (1<<11) | (1<<12); rGPGCON = (rGPGCON & ~(3<<4)) | (1<<4); // 设置 GPG2 = OUTPUT rGPGUP |= 1<<2; switch(i) { case 0: // 选择第一个数码管(从右到左) rGPGDAT |= (1<<2); // 设置数码管的位选 GPG2 = 1 rGPEDAT |= (1<<9); // 设置数码管的位选 GPE9 = 1 break; case 1: // 选择第二个数码管(从右到左) rGPGDAT &= ~(1<<2); // 设置数码管的位选 GPG2 = 0 rGPEDAT |= (1<<9); // 设置数码管的位选 GPE9 = 1 break; case 2: // 选择第三个数码管(从右到左) rGPGDAT |= (1<<2); // 设置数码管的位选 GPG2 = 1 rGPEDAT &= ~(1<<9); // 设置数码管的位选 GPE9 = 0 break; case 3: // 选择第四个数码管(从右到左) rGPGDAT &= ~(1<<2); // 设置数码管的位选 GPG2 = 0 rGPEDAT &= ~(1<<9); // 设置数码管的位选 GPE9 = 0 break; } rGPEDAT = (rGPEDAT & ~(0x3C00)) | (key<<10); // 对应数字(0 ~ 9) for(j=0; j<=1000; j++); } /* -----digitLED.c end------ */ 将代码另存为 digitLED.c 文件;并将 digitLED.c 添加到工程中 (4)对工程属性进行设置(必须在编译 Build Project 之前配置,否则报错!) 选择菜单Project->Options for target ‘target 1’或单击工程属性快捷键,打 开工程属性设置窗口, z 设置 Target 项: lchzeng 线条 SDRAM 起始地址为 0x3000 0000,大小 64MByte(0x400 0000) 设置 ROM1: Start=0x3000000;Size=0x1000000; 并选中 Startup 设置 RAM1: Start=0x3100000;Size=0x1000000; z 设置工程属性的Debug 项 设置仿真调试等控制和指定装载调试脚本文件。Use:ULink ARM Debugger (注: Initialization File 项的SDRAM.ini 文件为调试脚本,最好将其置于该工程目录下)。 工程属性的其它选项为默认设置。 lchzeng 高亮 lchzeng 高亮 lchzeng 高亮 lchzeng 矩形 选择菜单 Project->Build all target file 或快捷键,对整个工程进行编译链接 (6)仿真调试 选择菜单Debug->Start/Stop Debug Session,或者点击快捷键,如果顺利将进入如下图所 示的调试窗口。切换到混合模式查看时,将出现如图所示的汇编模式窗口,此时应特别关注PC 指 向的地址(0x30000xxx)在SDRAM 内存区域 (7)观察运行结果 单步 step 、运行 run 和停止 stop 观察 LED 灯的亮灭情况(先亮红灯,后亮绿 灯)。 (8) 修改代码实验 看懂 void LedShow(int key,int i)函数,并应用它修改 main()函数,使数码管显现不同的 显示效果。 提示:LedShow 的参数 key 代 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 数码管显示的数字,参数 i 代表自左至右第 i 个数码管显 示数字。 (a)使左边第一个数码管依次显示 0~9: 修改 main()函数: int main(void){ unsigned int i,j,k; lchzeng 矩形 lchzeng 矩形 while (1){ i=1; for(k=0; k<=9; k++) for (j=0; j<600; j++) LedShow(k, i); } } (b)使数码管循环自左向右在 0~9 之间依次增加 digitLED_add.c int main(void){ unsigned int i,j,k; while (1){ for (i=0;i<4;i++){ k++; if (k>9) k=0; for (j=0; j<600; j++) LedShow(k, i); } } } (c)自行设计数码管循环及显示方式,如变速闪亮、方向轮换等 五、 实验结果与分析 1、写出参考代码运行的现象 (1)运行成功与否,出现问题原因(如语法错误,配置不当)? (2)运行成功后实验现象,并解释 2、自行设计的程序,描述其功能?运行现象,并写出其关键代码(加以注释) (1)自行设计的程序原理及其分析。ǎ2?运行成功后实验现象,并解释! Administrator 线条 Administrator 线条 Administrator 高亮
本文档为【嵌入式系统设计实验二】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_591844
暂无简介~
格式:pdf
大小:444KB
软件:PDF阅读器
页数:7
分类:工学
上传时间:2012-03-13
浏览量:31