1 / 16

I /O 接口实验 ( 1 )

I /O 接口实验 ( 1 ). 实 验 目 的 熟悉 ARM 芯片 I/O 口编程配置方法。 通过实验掌握 ARM 芯片的 I/O 口控制 LED 显示的方法。. I /O 接口实验 ( 2 ). 实 验 内 容 编程 使实验板上的发光二极管 LED1 和 LED2 轮流点亮和熄灭。 学习目标 熟悉 S3C44B0X 芯片的 I/O 口配置寄存器 熟悉 ARM 芯片 I/O 口的编程配置方法. I /O 接口实验 ( 3 ). 基 本 原 理 S3C44B0X 芯片上有 7 组 I/O 端口 ( A ~ G ), 71 个多功能的输入输出管脚。

maxima
Télécharger la présentation

I /O 接口实验 ( 1 )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. I/O 接口实验(1) 实 验 目 的 • 熟悉ARM芯片I/O口编程配置方法。 • 通过实验掌握ARM芯片的I/O口控制LED显示的方法。

  2. I/O 接口实验(2) 实 验 内 容 • 编程 使实验板上的发光二极管LED1和LED2轮流点亮和熄灭。 • 学习目标 • 熟悉S3C44B0X芯片的I/O口配置寄存器 • 熟悉ARM芯片I/O口的编程配置方法

  3. I/O 接口实验(3) 基 本 原 理 S3C44B0X芯片上有7组I/O端口(A~G ),71个多功能的输入输出管脚。 可在这些管脚上连接不同的设备。 要使端口上所接的设备正常工作,则: • 前提:在运行程序之前,应先对每一个将要用到的管脚功能进行设置。否则,这些管脚将无法正常使用 • 方法:对相应的PCON寄存器来满足不同系统和设计的需要

  4. I/O 接口实验(4) 实 验 电 路

  5. I/O 接口实验(5) 实 验 分 析 先向PCONB中写入相应的值,使PB9、PB10为输出口,然后再向PDATB中写入相应的位写入0或1,从而使LED1和LED2点亮或熄灭。 亮灭规则:0(低电平)使LED亮;1(高电平)使LED灭。 Led_Display()函数的参数: LED2 LED1 LedStatus值  0x00   0x01   0x10  0x11

  6. I/O 接口实验(6) 程 序 分 析 void Led_Display(int LedStatus) { led_state = LedStatus; if( (LedStatus&0x01)==0x01 ) rPDATB=rPDATB&0x5ff; else rPDATB=rPDATB|0x200; if( (LedStatus&0x02)==0x02 ) rPDATB=rPDATB&0x3ff; else rPDATB=rPDATB|0x400; } 程序基本思路: 对传来的参数“LedStatus”逐位进行判断,从而决定PB9、PB10应该是“0”还是“1”。

  7. I/O 接口实验(7) 操 作 步 骤 • 通过Embest仿真器连接PC机与实验箱,用串口线连接实验箱上的UART0和PC机的串口。 • 运行PC机上超级终端串口通信程序(参数:波特率115200、1位停止位、无校验位、无硬件流控制)。 • 启动Embest IDE应用程序,打开实验例程目录LED_test子目录下工程LED_Test.ews • 编译链接通过后连接目标板,下载并运行它。

  8. Embest 44B0X Evaluation Board(S3CEV40) LED Test Example I/O 接口实验(8) 操 作 步 骤 • 观察超级终端输出如下内容: • 实验系统LED1和LED2进行以下循环: LED1亮 → LED2亮 → LED1和LED2全亮 → LED2关闭 → LED1关闭 • 理解和掌握实验后,修改程序调整亮灭规则。 • 编写一个直接写端口使LED亮灭的程序。

  9. 中断实验(1) 实 验 目 的 • 通过实验了解ARM的中断方式和原理。 • 熟悉ARM中断的编程方法。

  10. 中断实验(2) 实 验 内 容 • 编写一个中断服务程序 • 按钮SB2触发EINT6,LED1亮,同时8段数码管由0到F显示1次,8段数码管显示完后,LED2熄灭。 • 按钮SB3触发EINT7,LED2亮,同时8段数码管由F到0显示1次,8段数码管显示完后,LED1熄灭。 • 学习目标 • 熟悉S3C44B0X芯片的I/O口配置寄存器 • 熟悉ARM芯片I/O口的编程配置方法

  11. 中断实验(3) 实 验 电 路

  12. 中断实验(4) • 实 验 分 析(1) • EINT6和EINT7共用一个向量,如何区分? • 答案:在中断服务程序里通过判断EXTINTPND • 外部中断 的初始化程序要做哪些操作? • 答案:开放中断屏蔽位(CPSR、INTCON、INTMSK) • 设置中断模式(INTMOD、 CPSR、INTCON ) • 设置外部中断触发模式(EXTINT ) • 设置PG口(PCONG、PUPG) • 设置中断服务程序入口地址(pISR_中断类型) • 清除对应的挂起位(INTPND、EXTINTPND)

  13. 中断实验(5) • 实 验 分 析(2) • 注意初始化程序中的一致性问题 • 答案:CPSR与INTCON • INTCON与INTMOD(V、I、F位的一致性) • 中断服务程序的内容要求? • 答案:完成中断请求的具体动作(核心部分!) • 返回被中断程序(一般不存在问题) • 清除再次请求的障碍(I_ISPC、EXTINTPND) • 与中断源有关的名字 • BIT_功能名

  14. 中断实验(6) • 实验操作步骤 • 将实验箱和PC机相连,打开电源; • 在PC机上运行超级终端串口通信程序; • 打开目录下的INT_Test.ews例程,编译链接通过后连接目标板,下载并运行它 • 观察超级终端上的提示信息 • 用户可以按下实验系统的SB2和SB3按钮,观察实验箱上LED1、LED2结果。

  15. 中断实验(7) • 总结与提高 • 设置断点后运行程序,观察寄存器的值; • 修改中断服务程序,改变LED1、LED2的显示规律; • 精简中断服务程序,使其只包含SB2和SB3的处理内容

  16. 中断实验(8) • 思 考 题 • 人机交互的实现方法? • EXINT6和EXINT7(SB2、SB3)的优先级是如何安排的? • 中断服务程序与被中断程序(主程序)间的信息事如何传递的? • 中断服务程序可以再调用函数吗?这些函数与中断服务程序、主程序的位置关系如何?

More Related