ARM嵌入式系统复习题2 下载本文

内容发布更新时间 : 2024/11/5 12:47:35星期一 下面是文章的全部内容请认真阅读。

ARM嵌入式系统设计复习补充(2017-12-1)

总体复习要求:以复习资料为主线看教材和实验资料的有关内容,教材前3章要多看细看,需投入足够

的时间做到尽量熟悉和理解课程知识,范围还包括平时作业和课堂练习。

名词解释:

(1) CPSR 当前程序状态寄存器(Current Programs Status Register ) (2) BSP 板级支持包(Broad Support Package )

(3) RISC 精简指令集计算机(Reduce Instruct Set Computer) (4) MMU 内存管理单元(Memory Manage Unit)

(5) GPIO 通用输入输出端口(General Purpose Input/Output ports) (6) SOC 片上系统(System on Chip)

(7) PWM 脉宽调制(Pulse Width Modulation) (8) JTAG 联合调试动作组(Joint Test Action Group)

(9) ICE 在线仿真(In Circuit Emulator )

(10) ISR 中断服务程序(Interrupt Service Routine) (11) ADC 模-数转换器(Analog to Digit Converter) (12) RTOS 实时操作系统(Real Time Operating System)

有关实验要点:

实验报告应有完成的实验题目内容和实验过程和小结(含提交实验程序与说明)

实验一:ARM开发平台使用入门

了解掌握用Eclipse 和JlinkServer 编写和调试ARM汇编程序与C语言源程序。 程序结构例子:

文件名(EX1.s) 程序功能是什么?

.equ num, 5 .text

.globe _start _start:

MOV R0,#0x500000 MOV R1,#0 MOV R7,#200 LP: LDR R2,[R0],#4 CMP R2,#num BNE NEXT

MOV ADD R1,R1,#1 NEXT: SUBS R7,R7,#1

BNE LP

MOV R0,#0x600000 STR R0,[R0] stop: B stop .end

实验二:GPIO LED接口控制实验

* 掌握GPIO接口编程,用GPIO端口控制LED灯闪烁

GPIO接口的数据端口的每位功用(如GPH2DAT 8位)可由其控制端口(GPH2CON 的32位)8组*4位 的状态来设定,0000 指定为输出,0001指定为输入,0011指定为功能用途。如对用接口的数据端口的最高位和最低位来实现用按键来控制LED灯闪亮。 设控制端口为GPJ2CON , 则 GPJ2CON = 0x00000001 可完成上述设定。 数据端口 GPJ2DAT的最高位设为输入,最低位位输出。

可用 GPH2DAT&(0x1<<8); 读入按键的状态(0 为 按下, 1为 松开) 用 GPJ2DAT &=~(0x1<<0); 点亮LED灯

用 GPJ2DAT |=(0x1<<0);或者 GPJ2DAT&=0xFE; 熄灭LED灯 实验三:LED数码管综合实验 (含KeyPAD键盘实验)

* 熟悉LED数码管和键盘控制,实现用键盘控制LED灯的数码显示。 1. 七段码表的含义(共阴极和共阳极是反码关系)

用数字对应的下标i 可取出七段码表 seg7Table[i]中的段码

2. 数码管在那位显示有数位控制寄存器指定(低电位 0 有效),显示什么数字 由写入数码显示寄存器的段码决定。

实验四:A/D转换控制实验 (含 PWM定时器实验)

* 了解和掌握PWM脉宽定时器和A/D转换的工作原理,设计和实现用电位调节器控制蜂鸣器的鸣叫声。

1. ADC 基本实验完成了将电位调节旋钮的电压模拟量转换成指定精度(10位或12位) 的数字量,若是12位转换精度 则输出量的范围是 0 - 4095 ;

启动转换:对ADC控制寄存器的最低位AD使能开启 ,该启动使能位会自动清零,并在转换完成时将ADC控制寄存器的对话结束标志位(D15位)置1;

如 TSAADCCON0 |=(1<<0); 检查转换是否开始和完成:

TSAADCCON0&(1<<0)== 0 ;逻辑真为转换开始

TSAADCCON0&(1<<15) == 1;逻辑真是检测AD转换是否结束 获取转换结果:读取A_D数据寄存器的值

表达式 (TSDATX0&0x3ff)是获取转换结果数据(10位精度)。

2. PWM定时器基本实验完成了设定指定频率的脉冲输出来鸣响蜂鸣器。

PWM定时器的计数缓冲寄存器(TCNTBn)设定了减数计时周期的初始值,可决定输出脉冲波形的周期长度,比较缓冲寄存器(TCMPBn)可设定输出波形在减数周期何时翻转的比较值,可决定输出方波的占空比。

3. 两个实验的融合设计:

将ADC转换程序得到的调节电压的数字量作为改变PWM定时器的定时时钟脉冲或计数缓冲和比较寄存器的参数,从而改变PWM输出脉冲的频率和占空比,使得蜂鸣器的鸣响发生改变。

部分程序改进如下(参考):

jn=adc_test();

jn1 = jn/1000;

GPD0.GPD0CON = (GPD0.GPD0CON & (~0xF000) | (0x2 << 12));//设置Tout3输出

TIMER3.TCNTB3 = jn; switch(jn1){

//设置基数缓冲器的值

case 1:TIMER.TCFG1 = (TIMER.TCFG1 & ~0xF000) | 1 <<12;TIMER3.TCMPB3 = jn /1; break;

case 2:TIMER.TCFG1 = (TIMER.TCFG1 & ~0xF000) | 2 <<12;TIMER3.TCMPB3 = jn /3; break;

case 3:TIMER.TCFG1 = (TIMER.TCFG1 & ~0xF000) | 3<<12;TIMER3.TCMPB3 = jn /6; break;

case 4:TIMER.TCFG1 = (TIMER.TCFG1 & ~0xF000) | 4 <<12;TIMER3.TCMPB3 = jn /8; break;

}

实验五:LCD触摸屏显示控制实验

* 熟悉LCD液晶触摸屏的显示和控制方法,编程实现在触摸点画圆。

屏幕矩阵800*480(分辨率)则 ROW =480 ;COL=800 水平扫描值 HOZVAL=COL-1 垂直扫描值 LINEVAL=ROW-1 左上角坐标为(0,0)右下角为(799,479) 彩色显示模式 16M(24bpp)色,用24位的前3个字节表示红,绿,蓝的配比 64K(16bpp)色,用16位表示一个像素点,三原色配比 5/6/5。

将LCD显示实验程序和LCD触摸屏实验程序功能融合在一起,实现在触摸点(可以同时获取多点)处画圆形图案。获取点集的坐标在结构数组Touch_MSG.Touch_xy[n]中,程