欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    电子科技大学微机实验报告实验(共7页).docx

    • 资源ID:15004522       资源大小:33.09KB        全文页数:7页
    • 资源格式: DOCX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    电子科技大学微机实验报告实验(共7页).docx

    精选优质文档-倾情为你奉上实验二 ARM 汇编控制 LED 实验【实验目的】1、理解掌握通过 ARM 汇编控制硬件操作;2、熟练使用 ARM 调试软件 RVDS 进行硬件调试。【实验内容】1、掌握 ARM 处理器 GPIO 相关寄存器的使用;2、用 ARM 汇编实现控制开发 LED 按照一定方式点亮。【预备知识】1、ARM 汇编基础2、ARM 处理器通用 IO 口的操作【实验设备和工具】软件:Windows 操作系统,RVDS 软件硬件:ARM 嵌入式开发板,PC 机 Pentium100 以上,并口线,JTAG 板,JTAG 连接线【实验原理】1、 S3C2440 处理器相关寄存器介绍nPORT G 控制寄存器( GPGCON )nPORT G 数据寄存器(GPGDAT)nPORT G 禁止上拉寄存器(GPGUP)注:以上寄存器详细描述见实验指导书或者 S3C2440 芯片手册。2、开发板 LED 部分原理图说明nGPG5 接 LED4,串联上拉电阻nGPG6 接 LED5,串联上拉电阻nGPG7 接 LED6,串联上拉电阻nGPG8 接 LED7,串联上拉电阻所以,当 IO 口输出低电平时,相应的 LED 才能点亮。【实验步骤】(一)LED 汇编实验1、通过查看 S3C2440 处理器 G 口控制寄存器,在ledtest.s 文件中添加汇编代码,设置专心-专注-专业GPG5GPG8 为 output。2、在 ledtest.s 文件中添加汇编代码,禁止 GPG5GPG8 端口的上拉电阻。3、在 ledtest.s 文件中添加汇编代码,点亮 LED6,熄灭 LED5,LED7,LED8,并调用延时。4、 在 ledtest.s 文件中添加汇编代码,点亮 LED7,熄灭 LED5,LED6,LED8,并调用延时。5、在 ledtest.s 文件中添加汇编代码,点亮 LED8,熄灭 LED5,LED6,LED7,并调用延时。6、在 ledtest.s 文件中添加汇编代码,实现 LED5-LED8 依次点亮。7连接好 JTAG 仿真板,一口与 PC 的并口相连,另一口与开发板的 JTAG 口相连,打开开 发板电源。打开 H-jtag 程序,检测 CPU,点击 RVDS 中的“Debug”,打开 RVD 进行硬件调 试(二)LED C 语言实验(选做)【实验结果和程序】(一)LED 汇编实验;GPIO 寄存器宏定义GPGCON EQU 0xGPGDAT EQU 0xGPGUP EQU 0xEXPORT LEDTESTAREA LEDTESTASM,CODE,READONLY ; 该 伪 指 令 定 义 了 一 个 代 码 段 , 段 名 为LEDTESTASM,属性只读ENTRY LEDTEST;设置 GPG5GPG8(即 LED4-LED7)为 outputldr r0,=GPGCONldr r1,r0mov r1,#0x str r1,r0;禁止 GPG5GPG8(即 LED4-LED7)端口的上拉电阻ldr r0,=GPGUPldr r1,r0mov r1,#0x01e0 str r1,r0looptest;将数据端口 G 的数据寄存器的地址附给寄存器 r2 ldr r2,=GPGDAT; 点亮 LED5,熄灭 LED6-LED8,并调用延时ldr r3,r2orr r3,r3,#0x01e0 bic r3,r3,#0x0020str r3,r2 ;GPG5(即 LED5) output 0ldr r0,=0xffffff ;初始计数值bl delay ;调用延迟子程序;-点亮 LED6,熄灭 LED5,LED7,LED8,并调用延时- ldr r3,r2orr r3,r3,#0x01e0 bic r3,r3,#0x0040str r3,r2 ;GPG6(即 LED6) output 0ldr r0,=0xffffff ;初始计数值bl delay;-点亮 LED7,熄灭 LED5,LED6,LED8,并调用延时- ldr r3,r2orr r3,r3,#0x01e0 bic r3,r3,#0x0080str r3,r2 ;GPG7(即 LED7) output 0ldr r0,=0xffffff ;初始计数值bl delay;-点亮 LED8,熄灭 LED5,LED6,LED7,并调用延时- ldr r3,r2orr r3,r3,#0x01e0 bic r3,r3,#0x0100str r3,r2 ;GPG8(即 LED8) output 0ldr r0,=0xffffff ;初始计数值bl delay;-实现 LED5-LED8 依次点亮-b looptestdelaysub r0,r0,#1 ;r0=r0-1cmp r0,#0x0 ;将 r0 的值与 0 相比较bne delay ;比较的结果不为 0(r0 不为 0),继续调用 delay,否则执行下一条语句mov pc,lr ;返回END ;程序结束符(二)LED C 语言实验(选做)arm 汇编部分:AREA |DATA|,CODE,READONLY ENTRY;ldr r13,=0x1000IMPORT main b mainENDC 语言部分:/-Serial Experiment-/-This is coded by UESTCHQ -/*串口通信 C 程序,按e退出通信*/#define ULCON0 (*(volatile unsigned *)0x) /UART 线控制寄存器#define UCON0(*(volatile unsigned *)0x) /UART 控制寄存器#define UFCON0 (*(volatile unsigned *)0x) /FIFO 控制寄存器#define UMCON0 (*(volatile unsigned *)0xC) /AFC disable#define UTRSTAT0 (*(volatile unsigned*)0x) /UART 状态寄存器#define UBRDIV0 (*(volatile unsigned *)0x) /波特率#define UTXH0(*(volatile unsigned *)0x)#define URXH0(*(volatile unsigned *)0x)#define CAMDIV0(*(volatile unsigned *)0x4C)#define GPHCON(*(volatile unsigned *)0x)#define GPHDAT(*(volatile unsigned *)0x)#define GPHUP(*(volatile unsigned *)0x)#define MPLLCON(*(volatile unsigned *)0x4C)#define UPLLCON(*(volatile unsigned *)0x4C)#define CLKDIVN(*(volatile unsigned *)0x4C)#define WTCON(*(volatile unsigned *)0x)void initpll()MPLLCON=0x76022;/Fin=16.9344MHz,Fout=266.72MHzCLKDIVN=0x07;/0000 0111void inituart()ULCON0=0x03;/1 位起始位,8 位数据位 UCON0=0x0805;/串口时钟 PCLK,查询方式 UFCON0 =0x0;UMCON0 =0x0;UBRDIV0 =0x17;/ 波 特 率 UBRDIV0 =/(*16)-1=24-1=23void initgpio()GPHCON |=0xa0;/ set to rxd and txdGPHUP |=0x0f;/ pull upWTCON &=0xdb;void uart_send(char * c)for (; *c != '0' c+)URXH0 = *c ;unsigned char uart_get()int main()UTXH0=URXH0;return UTXH0;char key = ' 'initpll();/初始化锁相环 PLLinitgpio();/初始化 IO 口inituart();/初始化串口uart_send("If you want to quit ,please press 'e'rn");while(1)key = uart_get();if (key = 'e')elseuart_send ("rnyou pressed 'e' and you'll quit!rn");break;uart_send(&key);uart_send("the program exited by user!rn");return 0;【思考题】1 、如何实现 LED0-LED7 的循环点亮。答:将 GPGCON 端口的值改为 0x,GPGUP 的值改为 0x01ff。再仿照 led4-led7的程序写出 led0-led3 的点亮代码,最后循环执行即可2 、一般情况下,配置通用 IO 口的需要哪些步骤。答:读入 IO 口控制寄存器地址,配置 IO 口的状态(读或写等)。3 、 ledtest.s 文件的汇编程序中代码 ldr r0,=0x f fffff 的作用是什么。 答:设置延迟的时间。【实验结论】本实验通过 arm 对 Led 灯的控制,了解了 S3C2440 处理器端口的配置

    注意事项

    本文(电子科技大学微机实验报告实验(共7页).docx)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开