嵌入式系统实验指导书.doc_第1页
嵌入式系统实验指导书.doc_第2页
嵌入式系统实验指导书.doc_第3页
嵌入式系统实验指导书.doc_第4页
嵌入式系统实验指导书.doc_第5页
免费预览已结束,剩余32页可下载查看

下载本文档

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

文档简介

嵌入式系统原理与设计实验指导书学院:班级:指导教师:9实验一 ARMSYS平台开发环境及工具熟悉一、实验目的1、掌握ARMSYS平台开发环境2、学习ARM 的端口配置方法3、掌握ARM STD2.51 开发平台的使用方法二、实验设备硬件:THUS-1 型嵌入式(ARM)实验/开发系统; ARM 仿真器套件(包括仿真器、25 针并口延长线、14 针(或20 针)排线);串口线(2、3 平行);PC 机(Pentumn100)软件:PC 机操作系统Windows 98/2000/NT/XP ;ARM STD2.51 集成开发环境;仿真器驱动程序三、实验内容熟习ARM SDT2.51 平台的开发环境。四、实验原理1、超级终端的建立点击“开始程序附件通讯超级终端”,进入图1,选择 COM1,点击确定;图1如图2,输入名称,选择图标(第一个),点击确定;图2对端口进行如下设置,并确定: 图3注意:当关闭超级终端时提示是否保存,选择“是”,下次不需要再建,直接打开“ARM”即可。 2、JTAG的设置将JTAG口与目标板连接好;双击桌面图标,打开ARM7调试代理,将其设置为如图4所示,然后点击Test按钮。如果JTAG口与目标板连接好,则在ARM7调试代理的左侧的空白处会出现“Detect ARM7TDMI”的字样。图4注意:在运行SDT的调试器ADW调试程序的过程中,始终不要关闭ARM7调试代理。3、ARM SDT的应用ARM SDT 是ARM 公司推出的一整套集成开发工具。SDT 经过逐年维护和更新,目前最新版本为2.5.2。新建一个项目的步骤如下: 运行ARMSDT2.5 集成开发环境(ARM Project Manager),点击开始菜单中的程序组的ARM SDT V2.51中的ARM Project Manager启动主程序或者点击桌面图标启动主程序。出现主程序界面,如图5所示。图5 若要新建一个项目,选择File|New 菜单,在对话框中选择PROJECT,新建一个工程文件(project1),如图6所示。备注:可以选择提供的模板。注意:新建前,在编译环境下关闭所有打开的工程图6在新建的工程中,如图7所示,选中工程树的“根部”。使用菜单Project|tool Configuration for work1.apj|=armasm|set,对整个工程的汇编进行设置。因为开发板上的嵌入式处理器ARM7TDMI 没有浮点处理器,所以在图8所示的对话框中设置Floating point processor 为NONE。其它保持不变。图7图8鼠标左键点击到DEBUG 子树的Sources 选项,通过点击菜单Project|add File to Sources 将(*.S 和*.C 文件)加入到DEBUG 子树的Sources 选项中,如图9所示。以简单的循环点亮LED的程序为例,把E:嵌入式实验资料THUS-1程序02.IOSRC文件夹中的44binit.s、44blib.c、main.c加入到工程中。图9选中工程树中debug 子树的includedfiles 选项。通过菜单Project|add File to includedfiles,把工程中包含的(*.H)文件都加入到工程中。以简单的循环点亮LED的程序为例,把F:嵌入式实验资料THUS-1程序02.IOINC文件夹中的44B.h、44BLIB.h、ADC.h、DEF.h、Option.h加入到工程中。注意:把E:嵌入式实验资料THUS-1程序02.IOINC文件夹中的memcfg.s拷贝到E:嵌入式实验资料THUS-1程序02.IOSRC目录下,否则会出现错误。选中工程树的“根部”,通过菜单Project|tool configuration for work1.apj|asmlink|set,对整个工程的连接方式进行设置,在弹出的对话框中,选中General 标签,根据需要选中一些复选框。Search path for libraries 一项,所填内容为SDT 的安装路径,这里填入的是“C:ARM251LIB”,若安装过程中修改了路径,则要做相应的修改,参考配置如图10所示。图10在对话框Linker configuration 中,选中Entry and Base 选项卡,设置连接的Read-Only( 只读)和Read-Write(读写)地址。只读地址是实验板上SDRAM 的真实地址,设置为0xc000000,由系统硬件决定用来存放代码段;读写地址是系统读写内存的地址,用来存放数据段,设置为0xc5f0000,如图11所示。图11选择对话框Linker configuration 的Imagelayout 选项卡,设置程序的入口模块(THUS-1 实验箱的程序是从44binit.s 中开始运行的)。如图12所示。图12此时工程建立完毕,下面对工程进行编译调试。现在选择菜单project下的build project1.apj“debug”或者点击快捷图标就可以编译代码。点击菜单project下的Force build project1.apj“debug”或者点击快捷图标之后就生成了二进制目标代码(*.bin),这可以在项目文件夹下面找到。在主程序窗口下面的信息框可以看到编译的情况,包括警告和错误信息,最终代码生成的情况等等。工程在经过调试没有错误之后,需要进行仿真,但还要进行一些设置才可以。如果点击project菜单下Debug命令或者快捷图标,没有出现图14,则设置仿真环境的过程如下:点击project菜单下Debug命令或者快捷图标,出现ARM Debugger程序窗口,如图13所示。图13 ARM Debugger程序窗口选择ARM Debugger程序窗口中菜单Option下面的Config Debugger,出现Debugger Configuration对话框如图14所示。图14在Target Environment中选择Remote_A,然后点击Configure按钮,出现对话框如图15所示。图15在Heartbeat前面打勾,在Ethernet后面输入ip地址127.0.0.1并确认即可。这样仿真设置就完成了,点击Debugger Configuration对话框中的确认按钮就可以了。等程序下载结束,在ARM Debugger调试窗口的菜单栏中点击Execute中的go命令就可以运行仿真程序了。注意:1、结束仿真必须先点击ARM Debugger调试窗口的菜单栏中点击Execute中的stop命令,否则会有引起一些严重的后果。2、在运行SDT的调试器ADW调试程序的过程中,始终不要关闭ARM7调试代理。五、实验步骤(以THUS-1 程序/02.IO / IO.apj为例熟悉实验环境)1.准备实验环境:用并口线正确连接电脑并口和配套仿真器(或THUFZ-1 型ARM 实时在线仿真器),用14 针(或20 针)的排线(THUFZ-1 型ARM 仿真器采用20 针排线)连接仿真器和实验箱的JTAG 口;用串口线连接实验箱上的串口1 单元与计算机的COM1。2.在PC 机上运行windows 自带的串口通信程序“超级终端”(波特率为57600、8 位数据位、无奇偶校验位、1 位停止位、无数据流控制)。3.打开系统电源,使用ARM STD2.51 集成开发环境按照实验原理中新建工程的方法新建一个工程,并添加源程序,设置好汇编环境和连接方式,编译无错误后,进行Debug,进入仿真阶段。(具体步骤见实验原理)。4.在PC 上观察“超级终端”主窗口,观察实验系统LED 单元LED3、LED4、LED5 点亮情况。5.关闭程序窗口,切断实验系统电源,整理好实验系统,本实验结束。实验二 数码管显示实验一、实验目的1、通过实验掌握数码管的显示控制方法。2、掌握片选地址的设计方法二、实验设备硬件:THUS-1 型嵌入式(ARM)实验/开发系统; ARM 仿真器套件(包括仿真器、25 针并口延长线、14 针(或20 针)排线);串口线(2、3 平行);PC 机(Pentumn100)软件:PC 机操作系统Windows 98/2000/NT/XP ;ARM STD2.51 集成开发环境;仿真器驱动程序三、实验内容编写程序使实验板上八段数码管顺序显示数字 09。四、实验原理1、八段数码管嵌入式系统中,经常使八段数码管来显示数字或符号,由于它具有显示清晰、高亮度、使用电压过低、寿命长的特点,因此使用非常广泛。结构八段数码管由八个发光二极管组成,其中七个长条形的发光管排成“日”字形,右下角一个点形的发光管作为显示小数点用,八段数码管能显示所有数字及部份英文字母。类型八段数码管有两种不同的形式:一种是八个发光二极管的阳极都连在一起的,称之为共阳极八段数码管:另一种是八个发光二极管的阴极都连在一起的,称之为共阴极八段数码管。工作原理以共阳极八段数码管为例,当控制某段发光二极管的信号为低电平时,对应的发光二极管点亮,当需要显示某字符时,就将该字符对应的所有二极管点亮;共阴极二极管则相反,控制信号为高电平时点亮。电平信号按照dp,g,ea 的顺序组合形成的数据字称为该字符对应的段码,常用字符的段码表如下说明:实际代码要根据本系统的硬件资源修改(参见例程)显示方式八段数码管的显示方式有两种,分别是静态显示和动态显示。静态显示是指当八段数码管显示的一个字符时,该字符对应段的发光二极管控制信号一直保持有效。动态显示是指当八段数码管显示一个字符时,该字符对应段的发光二极管是轮流点亮的,即控制信号按一定周期有效,在轮流点亮的过程中,点亮时间是极为短暂的(约1ms),由于人的视觉暂留现象及发光二极管的余辉效应,数码管的显示依然是非常稳定的。3、电路原理THUS-1 教学电路中,使用的是共阴极八段数码管,各段的控制信号是由处理器S3C44B0 的数据总线低8 位通过锁存器74LS573 进行控制的,数码管的亮度经由电阻R1 到R8 调整,锁存器的选通通过74LV138 译码得到。锁存器选通信号是由处理器S3C44B0 的存储区域2 对应的片选信号线NGCS2 和他址线的高位A18、A19、A20 经过译码器生成的,当选通信号有效时,数据线低八位的内容将在八段数码管上显示出来。八段数码控制电路:五、实验操作步骤1. 准备实验环境:用并口线正确连接电脑并口和配套仿真器(或THUFZ-1 型ARM 实时在线仿真器),用14 针(或20 针)的排线(THUFZ-1 型ARM 仿真器采用20 针排线)连接仿真器和实验箱的JTAG 口;用串口线连接实验箱上的串口1 单元与计算机的COM1(或COM2)。2. 在PC 机上运行windows 自带的串口通信程序“超级终端”(波特率为57600、8 位数据位、无奇偶校验位、1 位停止位、无数据流控制)(详细配置过程见附录)。3. 打开系统电源,运行仿真器驱动程序,使用ARM STD2.51 集成开发环境打开:THUS-1程序/03.0.shumaguan/ shumaguan.apj 例程(或03.1.shumaguan / shumaguan.apj),下载并运行。4. 在PC 上观察“超级终端”主窗口,观察实验系统数码管显示单元显示情况。5. 理解和掌握实验后,试着完成下列中显示AE 程序的编写。 for(i=0;i9;i+) D12Cmd = ;/E D12Cmd3= ; /D D12Cmd4= ;/C D12Cmd5= 0xC7;/B D12Cmd6= 0xF5; /A Delay(2000); 6.关闭程序窗口,切断实验系统电源,整理好实验系统,本实验结束。37实验三 通用I/O使用矩阵键盘一、实验目的1、通过实验掌握查询式键盘控制与设计方法。 2、掌握查询式键盘检测程序的设计思路。 3、熟练编写ARM处理器S3C44BOX键盘处理程序。二、实验设备硬件:THUS-1型嵌入式(ARM)实验/开发系统; ARM仿真器套件(包括仿真器、25针并口延长线、14针(或20针)排线);串口线(2、3平行);PC机(Pentumn100)软件:PC机操作系统Windows 98/2000/NT/XP ;ARM STD2.51集成开发环境;仿真器驱动程序 三、实验内容使用实验板上4*4个用户键盘,编写程序通过查询方式读入键值,并在实验板上的LED数码管上或者超级终端上显示读到的键值。四、实验原理1、I/O端口介绍S3C44B0X 芯片上共有71 个多功能的输入输出管脚,它们分为7 组I/O 端口。 两个9 位的输入/输出端口(端口E 和F) 两个8 位的输入/输出端口(端口D 和G) 一个16 位的输入/输出端口(端口C) 一个10 位的输出端口(端口A) 一个11 位的输出端口(端口B)每组端口都可以通过软件配置寄存器来满足不同系统和设计的需要。在运行主程序之前,必须先对每一个用到的管脚的功能进行设置,如果某些管脚的复用功能没有使用,可以先将管脚设置为I/O口。2、S3C44BOX 芯片和端口相关的寄存器端口配置寄存器(PCONA-G)在S3C44BOX 芯片中,大部分管脚是多路复用的,所以要确定每个管脚的功能。PCONn(端口控制寄存器存)能够定义管脚功能。如果PG0-PG7 作为掉电模式下的唤醒信号,则这些端口必须配置成中断模式。端口数据寄存器(PDATA-G)如果端口定义为输出口,则输出数据可以写入PDATn 中相应的位;如果端口定义为输入口,则输入的数据可以从PDATn 相应的位中读入。端口上拉寄存器(PUPC-G)通过配置端口上拉寄存器可以使该组端口和上拉电阻连接或断开。当寄存器中相应的位配置0时,该管脚接上拉电阻;当寄存器中相应的位配置1 时,该管脚不接上拉电阻。外部中断控制寄存器(EXTINT)通过不同的信号方式可以使用8 个外部中断请求,EXTINT 寄存器可以根据外部中断的需要将中断触发信号配置为低电平触发、高电平触发、下降沿触发、上升沿触发和上下沿触发几种方式。以下为THUA-1 嵌入式实验箱各个端口的管脚定义。在端口的表中可以看到,管脚PE0、PE4、PF4 被设置为输出口,并且分别和LED3、LED4、LED5 连接。端口A端口A 管脚功能 端口A 管脚功能 端口A 管脚功能PA0 ADDR0 PA4 ADDR19 PA8 ADDR23PA1 ADDR16 PA5 ADDR20 PA9 L3DATA(IIS)PA2 ADDR17 PA6 ADDR21PA3 ADDR18 PA7 ADDR22PCONA 寄存器地址:OX01D20000PDATA 寄存器地址:0X01D20004PCONA 复位默认值:0X1FF端口B端口B 管脚功能 端口B 管脚功能 端口B 管脚功能PB0 SCKE PB4 L3MO(IIS) PB8 NGCS3PB1 SCLK PB5 L3COLCK(IIS) PB9 NGCS4PB2 nSCAS PB6 nGCS1 PB10 CPLDPB3 nSrAS PB7 NGCS2PCONB 寄存器地址:0X01D20008PDATB 寄存器地址:0X01D2000CPCONB 复位默认值:0X7FF端口C端口C 管脚功能 端口C 管脚功能 端口C 管脚功能PC0 IISLRCK PC6 VD5 PC12 TXD1PC1 IISDO PC7 VD4 PC13 RXD1PC2 IISDI PC8 INPUT(串口) PC14 INPUT(串口)PC3 IISCLK PC9 INPUT(串口) PC15 INPUT(串口)PC4 VD7 PC10 RTS1PC5 VD6 PC11 CTS1PCONC 寄存器地址:0X01D20010PDATC 寄存器地址:0X01D20014PUPC 寄存器地址:0X01D20018PCONC 复位默认值:0X0FF0FFFF端口D端口D 管脚功能 端口D 管脚功能 端口D 管脚功能PD0 VD0 PD3 VD3 PD6 VMPD1 VD1 PD4 VCLK PD7 VFRAMEPD2 VD2 PD5 VLINEPCOND 寄存器地址:0X01D2001CPDATD 寄存器地址:0X01D20020PUPD 寄存器地址:0X01D20024PCOND 复位默认值:0XA端口 E端口E 管脚功能 端口E 管脚功能 端口E 管脚功能PE0 LED3 PE3 WP PE6 ALE(29F2808)PE1 TXDO PE4 L3DAT PE7 CLE(29F2808)PE2 RXDO PE5 PWMO PE8 ENDINPCONE 寄存器地址:0X01D20028PDATE 寄存器地址:0X01D2002CPUPE 寄存器地址:0X01D20030PCONE 复位默认值:0X25529端口 F端口F 管脚功能 端口F 管脚功能 端口F 管脚功能PF0 IICSCL PF3 RB(29F2808) PF6 PEN_CSPF1 IICSDA PF4 LED1 PF7 SPM_RXDPF2 KEY3 PF5 SPMTXD PF8 SPMCLKPCONF 寄存器地址:0X01D20034PDATF 寄存器地址:0X01D20038PUPF 寄存器地址:0X01D2003CPCONF 复位默认值:0X00252A端口 G端口G 管脚功能 端口G 管脚功能 端口G 管脚功能PG0 EXINT0 PG3 EXINT3 PG6 EXINT6PG1 EXINT1 PG4 EXINT4 PG7 EXINT7PG2 EXINT2 PG5 EXINT5PCONG 寄存器地址:0X01D20040PDATG 寄存器地址:0X01D20044PUPG 寄存器地址:0X01D20048PCONG 复位默认值:0XFFFF3、读取键值的方法用户设计行列键盘接口,一般常采用三种方法读取键值。一种是中断式,另两种是扫描法和反转法。 (1)中断式 在键盘按下时产生一个外部中断通知CPU,并由中断处理程序通过不同地址读数据线上的状态判断哪个按键被按下。本实验采用中断式实现用户键盘接口。 (2)扫描法 对键盘上的某一行送低电平,其他为高电平,然后读取列值,若列值中有一位是低,表明该行与低电平对应列的键被按下。否则扫描下一行。(3)反转法 先将所有行扫描线输出低电平,读列值,若列值有一位是低表明有键按下;接着所有列扫描线输出低电平,再读行值。根据读到的值组合就可以查表得到键码。 4、本系统中的硬件连接方式本系统中LED数码管为共阴极数码管,各段是由S3C44B0X的数据总线低8位通过锁存器74ls138译码得到的。锁存器选通由S3C44B0X的存储区域2 对应的片选信号线NGCS2和地址线的高位A18、A19、A20经过译码得到的。5、键盘扫描的工作过程THUS-1实验板上采用I/O口与键盘行列连接,即是编码方式,根据行值,读入I/O的状态即可判断相应的键值。 五、实验步骤1. 准备实验环境:用并口线正确连接电脑并口和配套仿真器(或THUFZ-1型ARM实时在线仿真器),用14针(或20针)的排线(THUFZ-1型ARM仿真器采用20针排线)连接仿真器和实验箱的JTAG口;用串口线连接实验箱上的串口1单元与计算机的COM1。 2. 在 PC机上运行 windows自带的串口通信程序“超级终端”(波特率为 57600、8位数据位、无奇偶校验位、1位停止位、无数据流控制)(详细配置过程见实验一)。3. 打开系统电源,运行仿真器驱动程序,使用ARM STD2.51集成开发环境打开:E:嵌入式实验资料THUS-1程序/04.Key/Key.apj,编译后无错误,下载并运行。 4. 按动实验系统键盘单元的小键盘,在PC上观察“超级终端”主窗口显示的键值,观察实验系统数码管显示单元最右侧数码管显示情况。5. 阅读实验程序,填写下列划线空白处。#defineD12Cmd*(volatile U8 *)(0x04080000) / 填写下表中各行值和列值的编码。 01 2 34 56789ABCDEF6. 阅读实验程序,分析并写出main程序的代码结构图。7、关闭程序窗口,切断实验系统电源,整理好实验系统,本实验结束。实验四 实时时钟(RTC)应用一、实验目的1.了解实时时钟的硬件控制原理及设计方法。2. 掌握S3C44BOX 处理器的RTC 模块程序设计方法。二、实验设备硬件:THUS-1 型嵌入式(ARM)实验/开发系统; ARM 仿真器套件(包括仿真器、25 针并口延长线、14 针(或20 针)排线);串口线(2、3 平行);PC 机(Pentumn100)软件:PC 机操作系统Windows 98/2000/NT/XP ;ARM STD2.51 集成开发环境;仿真器驱动程序三、实验内容学习和掌握S3C44B0X 处理器的RTC 模块的使用,并编写应用程序,修改时钟日期及时间的设置,并利用系统的串行口,在超级终端显示 。四、实验原理1. 实时时钟(RTC)介绍实时时钟(RTC)器件是一种能提供日历/时钟、数据存储等功能的专用集成电路,常用作各种计算机系统的时钟信号源和参数设置存储电路。RTC 具有计时准确、耗电低和体积小等特点,特别是在各种嵌入式系统中用于记录事件发生的时间和相关信息,如通信工程、电力自动化、工业控制等自动化程度高的领域的无人值守环境。随着集成电路技术的不断发展,RTC 器件的新品也不断推出,这些新品不仅具有准确的RTC,还有大容量的存储器、温度传感器是A/D 数据采集通道等,已成为集RTC、数据采集和存储于一体的综合功能器件,特别适用于以微控制器为核心的嵌入式系统。RTC 器件与微控制器之间的接口大都采用连线简单的串行接口,诸如I2C、SPI、MICROWIRE 和CAN 等串行总线接口。2. S3C44B0X 实时时钟(RTC)单元S3C44B0X 实时时钟(RTC)单元是处理器集成的片内外设。由开发板上的后备电池供电,可以在系统电源关闭的情况下运行。RTC 发送8 位BCD 码数据到CPU。传送的数据包括秒、分、小时、星期、日期、月份和年份。RTC 单元时钟源由外部32.768KHZ 晶振提供,可以实现闹钟(报警)功能。S3C44B0X 实时时钟(RTC)单元特性:BCD 数据:秒、分、小时、星期、日期、月份和年份 闹钟(报警)功能:产生定时中断或激活系统 自动计算闰年 无2000 年问题 独立的电源输入 支持毫秒级时间片中断,为RTOS 提供时间基准S3C44BOX 处理器RTC 功能框图 读/写寄存器访问RTC 模块的寄存器,首先要设RTCCON 的bit0 为1。CPU 通过读取RTC 模块中寄存器BCDSEC、BCDMIN、BCDHOUR、BCDDAY、BCDDATE、BCDMON 和BCDYEAR 的值,得到当前的相应时间值。然而,由于多个寄存器依次读出,所以有可能产生错误。比如:用户依次读取年(1989)、月(12)、日(31)、时 (23)、分 (59)、秒(59)。当秒数为1 到59 时,没有任何问题,但是,当秒数为0 时,当前时间和日期就变成了1990 年1 月1 日0 时0 分。这种情况下,(秒数为0),用户应该重新读取年份到分钟的值(参考程序设计)。 后备电池RTC 单元可以使用后备电池通过管脚RTCVDD 供电。当系统关闭电源以后,CPU 和RTC 的接口电路被阻断,后备电池只需要驱动晶振和BCD 计数器,从而达到最小的功耗。 闹钟功能RTC 在指定的时间产生报警信号,包括CPU 工作在正常模式和休眠(power down)模式下。在正常工作模式,报警中断信号(ALMINT)被激活。在休眠模式,报警中断信号和唤醒信号(PMWKUP)同时被激活。RTC 报警寄存器(RTCALM)决定报警功能的使能/屏蔽和完成报警时间检测。 时间片中断RTC 时间片中断用于中断请求。寄存器TICNT 有一个中断使能位,和中断计数。该中断计数自动递减,当达到0 时,则产生中断。中断周期按照下列公式计算:Period=(n+1)/128 second其中,n 为RTC 时钟中断计数,可取值为(1-127) 置零计数功能RTC 的置零计数功能可以实现30、40 和50 秒步长重新计数,供某些专用系统使用。当使用50 秒置零设置时,如果当前时间是11:59:49,则下一秒后时间将变为12:00:00。注意:所有的RTC 寄存器都是字节型的,必须使用字工访问指令(STRB、LDRB)或字符型指针访问。3、软件程序设计(1) 时钟设置时钟设置程序应实现时钟工作情况以及数据设置有效性检测功能。具体实现可以参考示例程序。(2) 时钟显示时钟参数通过实验系统串口0 输出到超级终端,显示内容包括年月日时分秒。参数以BCD 码形式传送,用户使用串口通信函数(参见串口通信实验)将能数取出显示。五、实验步骤1. 准备实验环境:用并口线正确连接电脑并口和配套仿真器(或THUFZ-1 型ARM 实时在线仿真器),用14 针(或20 针)的排线(THUFZ-1 型ARM 仿真器采用20 针排线)连接仿真器和实验箱的JTAG 口;用串口线连接实验箱上的串口1 单元与计算机的COM1(或COM2)。2. 在PC 机上运行windows 自带的串口通信程序“超级终端”(波特率为57600、8 位数据位、无奇偶校验位、1 位停止位、无数据流控制)(详细配置过程见附录)。3. 将JP1 用短路帽短接(接通蜂鸣器);打开系统电源,运行仿真器驱动程序,使用ARMSTD2.51 集成开发环境打开:E:嵌入式系统实验资料THUS-1 程序06.RTCRTC.apj 例程,下载并运行。数码管显示“BEGIN”;4. 在PC 上观察“超级终端”主窗口显示,在超级终端会有四个选项。*按键0:返回上级操作/停止秒表计时 按键1:日历显示/整点报时/闹钟按键2:秒表计时开始 按键3:定时报警开始其它按键:无效操作选项*按下小键盘0 键:数码管显示“SHI=0”;蜂鸣器发声;返回最上级目录;按下小键盘1 键:数码管显示“SHI=1”;超级终端显示从“1999 年,12 月,31 日,星期FRI,时间23:59:59”开始计时的系统时间,在此状态当到达整点时蜂鸣器会自动响起约两秒;按下小键盘2 键:数码管显示“SHI=2”;RTC 的秒表功能,会一秒一秒的计时,直到按下0 键停止计时;(按下2 键同时还会复位按键1 状态下的日历到1999, 12, 31,FRI, 23: 59: 59)103按下小键盘3 键:数码管显示“SHI=3”;开始计时,一分钟后蜂鸣器发出报警音。(没有结束报警前不能返回上级目录)注意:按键1、2、3 的操作必须在返回上级主目录即数码管显示“SHI=0”时有效。按下小键盘其它键:数码管显示“FALSE”;为无效操作。5. 阅读并理解实验程序,填写下列空白注释。void Rtc_Init(void) rRTCCON = ;/ rBCDYEAR = TESTYEAR; rBCDMON = TESTMONTH; rBCDDAY = TESTDAY;/ SUN:1 MON:2 TUE:3 WED:4 THU:5 FRI:6 SAT:7 rBCDDATE = TESTDATE; rBCDHOUR = TESTHOUR; rBCDMIN = TESTMIN; rBCDSEC = TESTSEC;6. 阅读实验程序,分析并写出main程序的代码结构图。7.关闭程序窗口,切断实验系统电源,整理好实验系统,本实验结束。实验五A/D转换实验一、实验目的1、熟悉ARM 本身自带的八路十六位A/D 控制器及相应寄存器。2、编程实现ARM 系统的A/D 功能。3、掌握带有A/D 的CPU 编程实现A/D 功能的主要方法。二、实验设备硬件:THUS-1 型嵌入式(ARM)实验/开发系统; ARM 仿真器套件(包括仿真器、25 针并口延长线、14 针(或20 针)排线);串口线(2、3 平行);PC 机(Pentumn100)软件:PC 机操作系统Windows 98/2000/NT/XP ;ARM STD2.51 集成开发环境;仿真器驱动程序。三、实验内容学习A/D 接口原理,了解实现A/D 系统对于系统的软件和硬件要求。阅读ARM 芯片文档,掌握ARM 的A/D 相关寄存器的功能,熟悉ARM 系统硬件的A/D 相关接口。利用外部模拟信号编程实现ARM 循环采集全部8 路通道,并且在超级终端上显示。(不带操作系统)四、实验原理1、A/D 转换器A/D 转换器是模拟信号源和CPU 之间联系的接口,它的任务是将连续变化的模拟信号转换为数字信号,以便计算机和数字系统进行处理、存储、控制和显示。在工业控制和数据采集及许多其他领域中,A/D 转换是不可缺少的。A/D 转换器有以下类型:逐位比较型、积分型、计数型、并行比较型、电压一频率型,主要应根据使用场合的具体要求,按照转换速度、精度、价格、功能以及接口等因素而决定选择何种类型。常用的有以下两种:(一)双积分型的A/D 转换器双积分式也称二重积分式,其实质是测量和比较两个积分的时间,一个是对模拟输入电压积分的时间T,此时间往往是固定的;另一个是以充电后的电压为初值,对参考电源Vncf 反向积分,积分电容被放电至零所需的时间T,(或T。等)。模拟输入电压Vi 与参考电压VRef 之比,等于上述两个时间之比。由于VRef,T。固定,而放电时间Ti 可以测出,因而可计算出模拟输入电压的大小(VRef 与Vi 符号相反)。由于TO、VRef 为已知的固定常数,因此反向积分时间T1 与输入模拟电压Vi 在T。时间内的平均值成正比。输入电压Vi 愈高,VA 愈大,T1 就愈长。在T1 开始时刻,控制逻辑同时打开计数器的控制门开始计数,直到积分器恢复到零电平时,计数停止。则计数器所计出的数字即正比于输入电压Vi在T时间内的平均值,于是完成了一次A/D 转换。由于双积分型A/D 转换是测量输入电压Vi 在T。时间内的平均值,所以对常态干扰(串模干扰)有很强的抑制作用,尤其对正负波形对称的干扰信号,抑制效果更好。双积分型的A/D 转换器电路简单,抗干扰能力强,精度高,这是突出的优点。但转换速度比较慢,常用的A/D 转换芯片的转换时间为毫秒级。例如12 位的积分型A/D 芯片ADCET12BC,其转换时间为1ms。因此适用于模拟信号变化缓慢,采样速率要求较低,而对精度要求较高,或现场干扰较严重的场合。例如在数字电压表中常被采用。(二)逐次逼近型的A/D 转换器逐次逼近型(也称逐位比较式)的A/D 转换器,应用比积分型更为广泛,主要由逐次逼近寄存器SAR、D/A 转换器、比较器以及时序和控制逻辑等部分组成。它的实质是逐次把设定的SAR 寄存器中的数字量经D/A 转换后得到电压Vc,与待转换模拟电压V。进行比较。比较时,先从SAR 的最高位开始,逐次确定各位的数码应是“1”还是“0”,其工作过程如下:转换前,先将SAR 寄存器各位清零。转换开始时,控制逻辑电路先设定SAR 寄存器的最高位为“1”,其余位为“0”,比试探值经D/A 转换成电压Vc,然后将Vc 与模拟输入电压Vx 比较。如果VxVc,说明SAR 最高的“1”应予以保留;如果VxVc,说明SAR 该位应予清零。然后再对SAR寄存器的次高位置“1”,依上述方法进行D/A 转换和比较。如此重复上述过程,直至确定SAR 寄存器的最低位为止。过程结束后,状态线改变状态,表明已完成一次转换。最后,逐次逼近寄存器SAR中的内容就是与输入模拟量V,相对应的二进制数字量。显然A/D 转换器的位数N 决定于SAR 中的位数和D/A 的位数。逐次逼近式的A/D 转换器的主要特点是:转换速度较快,在1-100/s 以内,分辨率可以达18 位,特别适用于工业控制系统。转换时间固定,不随输入信号的变化而变化。抗干扰能力相对积分型的差。例如,对模拟输入信号采样过程中,若在采样时刻有一个干扰脉冲迭加在模拟信号上,则采样时,包括干扰信号在内,都被采样和转换为数字量,这就会造成较大的误差,所以必要采取适当的滤波措施。2、A/D 转换的重要指标(1)分辨率(Resolution):分辨率反映A/D 转换器对输入微小变化响应的能力,通常用数字输出最低位(LSB)所对应的模拟输入电平值表示。n 位A/D 能反师1/2n 满量程的模入电平。则于分辨率直接与转换器的位数有关,所以一般也可简单地用数字量的位数来表示分辨率,即n 位二进制数,最低位所具有的权值,就是它的分辨率。值得注意的是,分辨率与精度是两个不同的概念,不要把两者相混淆。即使分辨率很高,也可能由于温度漂移、线性度等原因,而使其精度不够高。(2)精度(Accuracy)精度有绝对精度(Absolute Accuracy)和相对精度(Relative Accuracy)两种表示方法。 绝对误差在一个转换器中,对应于一个数字量的实际模拟输入电压和理想的模拟输入电压之差并非是一个常数。我们把它们之间的差的最大值,定义为“绝对误差”。通常以数字量的最小有效位(LSB)的分数值来表示绝对误差,例如:1LSB 等。绝对误差包括量化误差和其它所有误差。 相对误差是指整个转换范围内,任一数字量所对应的模拟输放量的实际值与理论值之差,用模拟电压满量程的百分比表示。例如,满量程为10V,10 位A/D 芯片,若其绝对精度为1/2LSB,则其最小有效位的量化单位:9.77mV,其绝对精度为=4.88mV,其相对精度为0.048%。(3) 转换时间(Conversion Time)转换时间是指完成一次A/D 转换所需的时间,即由发出启动转换命令信号到转换结束信号开始有效的时间间隔。(4) 电源灵敏度(power supply sensitivity)电源灵敏度是指A/D 转换芯片的供电电源的电压发生变化时,产生的转换误差。一般用电源电压变化1%时相当的模拟量变化的百分数来表示。(5) 量程量程是指所能转换的模拟输入电压范围,分单极性、双极性两种类型。例如,单极性 量程为0+5V,0+10V,0+20V;双极性 量程为-5V+5V,-10+10V。(6)输出逻辑电平多数A/D 转换器的输出逻辑电平与TTL 电平兼容。在考虑数字量输出与微处理的数据总线接口时,应注意是否要三态逻辑输出,是否要对数据进行锁存等。(7)工作温度范围由于温度会对比较器、运算放大器、电阻网络等产生影响,故只在一定的温度范围内才能保证客定精度指标。一般A/D 转换器的工作温度范围为(070),军用品的工作温度范围为(-55+125)3、ARM 自带的十位A/D 转换器ARM S3C440BX 芯片自带一个8 路10 位A/D 转换器,该转换器可以通过软件设置为Sleep 模式可以节电减少功率损失,最大转换率为500K,非线性度为正负1 位,其转换时间可以通过下式计算:如果系统时钟为66MHz 比例值为9,则为66MHz/2(9+1)/16(完成转换至少需要16 个时钟周期)=205.25KHz=4.85us。ARM 芯片与A/D 功能有关的引脚以下几个,其中AIN7:0为8 路模拟采集通道,AREFT 为参考正电压,AREFB 为参考负电压,AVCOM 为模拟共电压。与AD 相关的寄存器主要是如下三个:(1) ADCPSR,采样比率寄存器。通过设置该寄存器,可以设置采样率,最后得到的除数因子为=2(寄存器值+1)。(2) ADCCON,采样控制寄存器。其地址和意义参见下表。(3) ADCDAT,转换结果数据寄存器。该寄存器的十位表示转换后的结果,全为1 时为满量程2.5伏。五、实验步骤1. 准备实验环境:用并口线正确连接电脑并口和配套仿真器(或THUFZ-1 型ARM 实时在线仿真器),用14 针(或20 针)的排线(THUFZ-1 型ARM 仿真器采用20 针排线)连接仿真器和实验箱的JTAG 口;用串口线连接实验箱上的串口1 单元与计算机的COM1(或COM2)。2. 在PC 机上运行windows 自带的串口通信程序“超级终端”(波特率为57600、8 位数据位、无奇偶校验位、1 位停止位、无数据流控制)(详细配置过程见附录)。3. 打开系统电源,运行仿真器驱动程序,使用ARM STD2.51 集成开发环境打开:THUS-1 程序/07.ADC/ ADC.apj 例程,下载并运行。4. 在PC 上观察“超级终端”主窗口显示。根据超级终端提示旋转AN0,AN1,改变输入模拟量,观察超级终端显示的两路数字量分别与其对应变化情况(03.3V 之间)。5. 阅读并理解实验程序。6.关闭程序窗口,切断实验系统电源,整理好实验系统,本实验结束。实验六 LCD接口应用一、实验目的1、了解LCD 基本概念与原理2、理解LCD 的驱动控制3、熟悉用总线方式驱动LCD 模块。4、熟悉用ARM 内置的LCD 控制器驱动LCD。二、实验设备硬件:THUS-1 型嵌入式(ARM)实验/开发系统; ARM 仿真器套件(包括仿真器、25 针并口延长线、14 针(或20 针)排线);串口线(2、3 平行);PC 机(Pentumn100);软件:PC 机操作系统Windows 98/2000/NT/XP ;ARM STD2.51 集成开发环境;仿真器驱动程序三、实验内容1、学习LCD 显示器的基本原理,理解其驱动控制方法。掌握两种LCD 驱动方式的基本原理和方法。并用编程实现。2、用ARM 内置的LCD 控制器来驱动LCD。四、实验原理1、LCD(Liquid Crystal Display)原理液晶得名于其物理特性:它的分子晶体,不过以液态存在而非固态。这些晶体分子的液体特性使得它具有两种非常有用的特点:1、如果让电流通过液晶层,这些分子将会以电流的流向方向进行排列,如果没有电流,它们将会彼此平行排列。2、如果提供了带有细小沟槽的外层,将液晶倒入后,液晶分子会顺着槽排列,并且内层与外层

温馨提示

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

评论

0/150

提交评论