您好,欢迎访问三七文档
键盘中断实验1实验目的1.通过实验掌握中断式键盘控制与设计方法;2.熟练编写S3C2410中断服务程序。2实验内容编写中断处理程序,处理一个键盘中断,并在串口打印中断及按键显示信息。3预备知识1.了解键盘电路的构成以及原理;2.了解中断的作用以及处理过程。4实验设备硬件:S3C2410嵌入式实验箱一套,JTAG仿真器一个。软件:PC机操作系统Win98、Win2000或WinXP,ADS1.2集成开发环境,仿真器驱动程序,超级终端通讯程序。5实验原理及说明用户设计行列键盘接口,一般常采用3种方法读取键值。一种是中断式,另外两种是扫描法和反转法。�中断式:在键盘按下时产生一个外部中断通知CPU,并由中断处理程序通过不同的地址读取数据线上的状态,判断哪个按键被按下。本实验采用中断式实现用户键盘接口。中断方式的原理示意图如图24-1所示。图24-1中断处理示意图6实验步骤1.硬件连接:参照实验十三中硬件连接方法,进行电路的连接。2.参照“程序指令篇”中四个实验的工程创建过程,新建工程KeyPad.mcp,编辑并添加以下三类文件:(1).s文件:2410init.s,2410slib.s;(2).h文件:def.h,option.h,2410addr.h,2410lib.h,2410slib.h,mmu.h,2410keypad.h,spi.h;(3).c(C)文件:2410lib.c,mmu.c,2410test.c,2410keypad.C,Spi.c;4.编译keypad;5.运行超级终端,选择正确的串口号,并将串口设置为:波特率(115200)、奇偶校验(None)、数据位数(8)和停止位数(1),无流控,打开串口;6.下载程序并运行,按下任意键(S3C2410RP实验箱键盘),在超级终端中观察是否输出相应键值,结果如图24-8所示:串口通讯实验1实验目的1.掌握ARM的串行口工作原理;2.编程实现ARM的UART通讯;3.掌握S3C2410寄存器配置方法。2实验内容实现查询方式串口的收发功能。接收来自串口(通过超级终端)的字符并将接收到的字符发送到超级终端。3预备知识1.熟悉ADS集成开发环境的基本功能;2.了解串口通讯的基本知识;3.熟悉S3C2410串口有关寄存器。4实验设备1.S3C2410RP实验箱一套,JTAG仿真器一个。2.软件:PC机操作系统Win98、Win2000或WinXP,ADS1.2集成开发环境,仿真器驱动程序,超级终端通讯程序。3.实验说明串口在嵌入式系统中是一个重要的资源,常用来做输入输出设备,在后续的实验中也将使用串口的功能。串口的基本操作有三个:串口初始化、发送数据和接收数据,这些操作都是通过访问上节中描述的串口控制寄存器进行,下面将分别说明:(1)串口初始化程序MMU_Init();//初始化内存管理单元//设置系统时钟ChangeClockDivider(1,1);//1:2:4ChangeMPllValue(0xa1,0x3,0x1);//FCLK=202.8MHzPort_Init();//初始化I/O口Uart_Init(0,115200);//初始化串口Uart_Select(0);//选择串口0(2)发送数据while(!(rUTRSTAT0&0x2));//等待发送缓冲空rUTXH0=data;//将数据写到数据端口(3)接收数据while(rUTRSTAT0&0x1==0x0);//等待数据data=rURXH0;//读取数据5实验步骤1.硬件连接:参照实验十三中硬件连接方法,进行电路的连接。2.程序指令篇”中四个实验的工程创建过程,新建工程UART.mcp,编辑并添加以下三类文件:(1).s文件:2410init.s,2410slib.s;(2).h文件:def.h,option.h,2410addr.h,2410lib.h,2410slib.h,mmu.h;(3).c(C)文件:2410lib.c,Main.C,mmu.c;******************************************************************************文件说明:2410init.s—初始化cpu、内存等状态,完成后跳转到C语言入口;2410swis.s—软中断处理相关;2410slib.s—库中内存管理等函数的调用;def.h—宏定义;option.h—定义时钟、地址、总线宽度等;2410addr.h—寄存器地址状态定义;2410lib.h,2410lib.c—(C语言)前者声明函数库变量,后者定义库中常用函数(如串口函数);2410slib.h,2410slib.s—(汇编语言)前者声明函数库变量,后者定义库中常用函数(如内存管理等);mmu.h,mmu.c—内存管理单元的声明和函数定义;test.c,Main.c,*.c—定义系统运行方式(*.c表示以工程名命名的c文件以及其他可能用到的c文件);4.编译UART;5.运行超级终端,选择正确的串口号,并将串口设置为:波特率(115200)、奇偶校验(None)、数据位数(8)和停止位数(1),无流控,打开串口;6.运行程序,在超级终端中输入的数据将回显到超级终端上,如图14-6实时时钟实验1实验目的1.了解实时时钟在嵌入式系统中的作用;2.掌握实时时钟的使用。2实验内容1.编程实现实时时钟功能,每秒显示实时时钟;2.编程实现实时时钟告警功能。3预备知识1.熟悉ADS集成开发环境的基本功能;2.了解S3C2410的实时时钟模块的使用。4实验设备1.S3C2410RP实验箱一套,JTAG仿真器一个。2.软件:PC机操作系统Win98、Win2000或WinXP,ADS1.2集成开发环境,仿真器驱动程序,超级终端通讯程序。5实验原理及说明1.实时时钟在嵌入式系统中的作用在一个嵌入式系统中,实时时钟单元可以提供可靠的时钟,包括时分秒和年月日;即使在系统处于关机状态下,它也能正常工作(通常采用后备电池供电),它的外围也不需要太多的辅助电路,典型的就是只需要一个高精度的晶振。6实验步骤1.硬件连接:参照实验十三中硬件连接方法,进行电路的连接。2.参照“程序指令篇”中四个实验的工程创建过程,新建工程RTC.mcp,编辑并添加以下三类文件:(1).s文件:2410init.s,2410slib.s;(2).h文件:def.h,option.h,2410addr.h,2410lib.h,2410slib.h,mmu.h,2410RTC.h;(3).c(C)文件:2410lib.c,MAIN.C,mmu.c,2410RTC.c;******************************************************************************文件说明:2410init.s—初始化cpu、内存等状态,完成后跳转到C语言入口;2410swis.s—软中断处理相关;2410slib.s—库中内存管理等函数的调用;def.h—宏定义;option.h—定义时钟、地址、总线宽度等;2410addr.h—寄存器地址状态定义;2410lib.h,2410lib.c—(C语言)前者声明函数库变量,后者定义库中常用函数(如串口函数);2410slib.h,2410slib.s—(汇编语言)前者声明函数库变量,后者定义库中常用函数(如内存管理等);mmu.h,mmu.c—内存管理单元的声明和函数定义;test.c,Main.c,*.c—定义系统运行方式(*.c表示以工程名命名的c文件以及其他可能用到的c文件);4.编译RTC;5.运行超级终端,选择正确的串口号,并将串口设置为:波特率(115200)、奇偶校验(None)、数据位数(8)和停止位数(1),无流控,打开串口;6.装载程序并运行,如果运行正确,在超级终端中将会显示如图15-4所示内容。选择嵌入式系统教学平台实验教材162“y”进行设置,设置完成后,将会打印出实时时间信息:
本文标题:ARM实训指导书
链接地址:https://www.777doc.com/doc-2898546 .html