实验一非操作系统下的实验_第1页
实验一非操作系统下的实验_第2页
实验一非操作系统下的实验_第3页
实验一非操作系统下的实验_第4页
免费预览已结束,剩余5页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验一非操作系统下的实验1.1实验准备工作本实验主要是熟悉在非操作系统下,对ARM的硬件资源的使用方法。在实验板断电状态下,连接好并口线,串口线,接通实验板电源,实验板电源指示灯亮后,打开桌面上的 H-JTAG软件,如图 1所示。若检测到 ARM920T则说明硬件连接正常。图 1 检测到 ARM920T 核若没有检测到 ARM芯片,则如 图 2 所示,可能是电源没有连接上,连接好电源,在 H-JTAG Server的菜单中选择 Operations->Detect Target,重新检测芯片。图2 没有检测到芯片注意:重新下载程序的时候,如果下载不成功,可以按实验板上的 RESET键复位

2、,然后重新下载。1.2 GPIO 接口实验实验目的1. 熟悉 ADS软件的使用2. 熟悉程序的下载和调试流程3. 熟悉 GPIO的操作实验内容1. 单步调试 LED控制程序,熟悉 ADS的使用,熟悉 GPIO的操作过程2. 修改 LED工程,实现流水灯的功能3. 修改 LED工程,控制蜂鸣器的开关4. 修改 LED工程,采用查询的方法检测那个按键按下,并改变相应的LED的开关状态实验原理1. LED硬件接口图 3 LED硬件接口2. 蜂鸣器硬件接口图 4 蜂鸣器硬件接口3. 按键的硬件接口图 5 按键硬件接口实验步骤单步运行 led_test 工程1. 双击打开 led_test.mcp 工程

3、文件。2. 双击 Main.c 文件,阅读其中的关于 LED控制的程序3. 点击 MAKE,对工程进行编译。4. 编译没有 error 后,开始把程序下载到实验板的 RAM中调试。 点击 Debug按钮,系统自动打开AXD软件,并把程序下载到实验板 RAM中,同时程序停在程序入口处。5. 点击工具栏中的 Debug按钮或者按下快捷键 F5,全速执行程序, 则程序会停在 main函数的入口处。6. 此时可以采用工具栏中的单步调试按钮进行单步调试, 也可以双击程序中的某一行添加断点,则全速运行后程序会停在断点处。并且在调试过程中观察变化。LED的实现流水灯的功能1. 关闭 AXD软件,在 ADS中

4、修改 LED工程,实现流水灯操作。2. 点击 MAKE,对工程进行编译。3. 安装中的步骤,进行单步调试和全速调试同时观察实验板上LED的亮暗变化。实现流水灯的程序如下。因为控制 LED的是 rGPBDAT中的 5到 8位,所以将程序改为如下便可实现流水灯:rGPBDAT=rGPBDAT&(1<<8); /PORTB8为低电平delay(1);rGPBDAT=rGPBDAT|(1<<8); /PORTB8为高电平delay(1);rGPBDAT=rGPBDAT&(1<<7); /PORTB7为低电平delay(1);rGPBDAT=rGPBD

5、AT|(1<<7); /PORTB7为高电平delay(1);rGPBDAT=rGPBDAT&(1<<6); /PORTB6为低电平delay(1);rGPBDAT=rGPBDAT|(1<<6); /PORTB6为高电平delay(1);rGPBDAT=rGPBDAT&(1<<5); /PORTB5为低电平delay(1);rGPBDAT=rGPBDAT|(1<<5); /PORTB5为高电平delay(1);(无需对上拉电阻进行额外配置即可)。按键控制 LED实验1. 修改程序1) 按键 IO对应的配置寄存器 CPF

6、CON应该配置为输入的模式2) 在一个循环中不断读取按键 IO对应的数据寄存器 GPFDAT,从而判断按键有无按下3) 按下 K1, LED1的状态会改变,其他 3个按键和 LED以此类推。2. 编译程序3. 下载调试程序程序修改如下:rGPBCON = 0x055555;While(1)k = key_scan();rGPBDAT=rGPBDAT&(1<<(k+4);delay(1);rGPBDAT=rGPBDAT|(1<<(k+4);delay(1);1.3 中断实验实验目的熟悉 ARM的中断操作实验内容单步调试按键中断的ADS工程,熟悉中断函数的写法实验原

7、理1. LED硬件接口图 6 LED硬件接口2. 按键的硬件接口图 7 按键硬件接口实验步骤1. 打开实验代码文件夹中的irq_test 子文件夹中的工程irq_test.mcp 工程2. 阅读代码, 单步执行, 体会 void KeyScan_Test(void)函数里面对中断相关寄存器的设置方法和意义,了解中断服务函数 static void _irq Key_ISR(void)中对相关寄存器的设置方法3. 注意:要进入中断服务函数,必须全速执行程序,不能单步执行。因此,可以在中断服务函数 static void _irq Key_ISR(void)添加一个断点, 然后点击全速执行程序。

8、当按下按键后,程序就会停在断点处1.4 定时器和 PWM 实验实验目的1. 熟悉 ARM的定时器操作2. 熟悉 ARM的PWM 操作实验内容单步调试按键中断的ADS工程,熟悉定时器的操作。实验原理蜂鸣器硬件接口图 8 蜂鸣器硬件接口实验步骤1. 打开实验代码文件夹中的 Song_test子文件夹中的工程 song_test.mcp 工程2. 阅读代码, 单步执行, 体会 void Buzzer_Freq_Set0(U32 freq ) 函数里面对相关寄存器的设置方法和意义3. 全速运行程序,观察实验现象1.5 串口实验实验目的熟悉 ARM的串口操作实验内容1. 单步调试串口的 ADS工程,熟悉

9、中断函数的写法2. 修改工程,改变发送的数据,观察实验结果3. 修改工程, 通过串口控制 led, 要求当输入 1的时候 led1的状态发生改变,输入 2则 led2改变,其他依次类推实验原理串口硬件电路图 9 串口硬件电路实验步骤1. 超级终端的配置1) 点击开始 ->程序 ->附件 ->通讯 ->超级终端,打开超级终端软件。2) 选择 COM口。3) 属性设置,每秒位数 115200 ,数据位 8,奇偶校验无,停止位 1,数据流控制无。2. 打开实验代码文件夹中的uart_test 子文件夹中的工程uart_test.mcp 工程3. 阅读代码,单步执行,体会 Ua

10、rt0_Init 、 Uart0_SendByte 和 Uart0_SendByte函数里面对相关寄存器的设置方法和意义5. 修改代码,实现串口控制 LED,修改如下:Char a;Char str="qwertyu"Init();Uart0_Init(115200);Uart0_SendByte('1');a = Uart0_Getch();rGPBDAT=rGPBDA T&(1<<6); delay(1);rGPBDAT=rGPBDA T|(1<<6); delay(1);Uart0_SendByte(a);Uart0_S

11、endString(str);1.6实时时钟实验实验目的熟悉 ARM的实时时钟的操作实验内容1. 单步调试串口的 ADS工程,熟悉时间的设置和读取函数的写法2. 修改工程,改变时间设置值,观察实验结果实验原理实时时钟的结构图 10 实时时钟结构图实验步骤1. 打开实验代码文件夹中的rtc_test 子文件夹中的工程rtc_test.mcp 工程2. 阅读代码,单步执行,体会 void RTC_Time_Set( void ) 和 void RTC_Display(void)函数里面对相关寄存器的设置方法和意义,通过超级终端观察到的结果如图所示。图11 RTC显示3. 修改工程,改变时间设置值,观察实验结果图 12 RTC显示1.7看门狗实验实验目的熟悉 ARM的看门狗的操作实验内容1. 单步调试看门狗的 ADS工程,熟悉看门狗的操作方法2. 修改工程,比较有喂狗和没有喂狗的实验结果实验原理看门狗的结构如图所示图 13 看门狗模块实验步骤

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论