资源描述
Proteus - Keil嵌入式开发实验手册(附录)
作者:陈拓
2007年6月27日
最后修改日期:2007年7月22日
目录(附录)
一、 附录1:Proteus自带的范例
二、 附录2:Proteus 仿真库简介元件名称
三、 附录3:LPC2124存储器寻址
四、 附录4:GPIO
五、 附录5:各种ARM编译器比较
六、 附录6:Keil CARM 启动文件Startup.s
七、 附录7:Keil GCC 启动文件Startup.s
附录1:Proteus自带的范例
我们从第一组看起。
l Graph Based Simulation组。基于图表的模拟
这一组共有43个例子按照字母顺序排列如下:
1. 16l8.DSN PLD(Programmable Logic Device)Sample可编程逻辑器件例子
2. 22v10.DSN PLD Sample
可编程逻辑器件例子
3. 393_154.DSN Glith Handling Behaviour 短时脉冲波形干扰
4. 741.DSN 741 Op-Amp Model
741运算放大器
5. 741chain.DSN 741 Chain Sample
741运算放大器链
6. 741noise.DSN 741Noise Analysis
741运算放大器噪声分析
7. 7493.DSN Digital BASIC Model
数字基础模块
8. 74259.DSN Digital BASIC Model
数字基础模块
9. ADC0808.DSN Converter Model
A/D转换器模块
10. ADC0831.DSN Converter Model
A/D转换器模块
11. Cmosmono.DSN Monostable
单稳态电路
12. Counter5.DSN 5-Bit Counter
5位计数器
13. Crystal.DSN Oscillator Model
晶体振荡器
14. DAC0808.DSN Converter Model
D/A转换器模块
15. Diode.DSN Digital Diode Sample
数字二极管例子
16. Ff.DSN Analogue Flip Flop
模拟双稳态多谐振荡器
17. Fourier.DSN Fourier Graph Sample
傅立叶图象例子
18. Invosc.DSN Inverter Oscillator
变极振荡器
19. Lpf.DSN Low Pass Filter
低通滤波器
20. Mixed.DSN Mixed Mode Simulation
混合模式模拟
21. Mutual1.DSN Mutual Inductance
互感器 (例1)
22. Mutual2.DSN Mutual Inductance
互感器 (例2)
23. plltype1.DSN PLL Simulation
锁相换模拟(例1)
24. Plltype2.DSN PLL Simulation
锁相换模拟(例2)
25. Pots.DSN Active Components Sample
电位器例子
26. Poweramp.DSN Power Amplifier Design 功率放大器设计
27. Ra53.DSN Wien Bridge Oscillator
Wien桥振荡器
28. Rescap.DSN Simple RC Network
简单RC网络
29. Resistor.DSN 'Digital' Resistor Simulation 数字电阻器模拟
30. Rsff.DSN Digital RS Flip Flop
数字RS触发器
31. Spice1.DSN SPICE Example1
SPICE例1
32. Spice2.DSN SPICE Example2
SPICE例2
33. Sweep.DSN Sweep Analysis Example
扫描分析例子
34. Switches.DSN Active Switches Example 动态开关模拟
35. tlights.DSN 16V8 Traffic Lights Sample 16V8交通灯例子
36. Transfer.DSN Transfer Functions
传递函数
37. trformer.DSN Transformer Example
变压器例子
38. Triangle.DSN Triangle Wave
三角波
39. UJTcurve.DSN UJT Transfer Function
UJT传递函数
40. UJTosc.DSN UJT Relaxation Oscillator
松弛振荡器
41. Vco.DSN VCO Modelling
电压控制(压控)振荡器
42. Zin.DSN Input Impedance Analysis
输入阻抗分析
43. Zout.DSN Output Impedance Analysis输出阻抗分析
l Interactive Simulation/Animated Circuits组。交互模拟
1. AC01.DSN Alternating Current (1)
交流电 (1)
2. Ac02.dsn Alternating Current (2)
交流电 (2)
3. AC03.DSN Alternating Current (3)
交流电 (3)
4. Basic01.DSN Basic Electricity (1)
基本电路 (1)
5. Basic02.DSN Basic Electricity (2)
基本电路 (2)
6. Basic03.DSN Basic Electricity (3)
基本电路 (3)
7. Basic04.DSN Basic Electricity (4)
基本电路 (4)
8. Basic05.DSN Basic Electricity (5)
基本电路 (5)
9. Basic06.DSN Basic Electricity (6)
基本电路 (6)
10. Basic07.DSN Basic Electricity (7)
基本电路 (7)
11. Caps01.dsn Capacitors (1)
电容器 (1)
12. Caps02.DSN Capacitors (2)
电容器 (2)
13. Caps03.DSN Capacitors (3)
电容器 (3)
14. Comb01.DSN COMBINATIONAL LOGIC CIRCUITS AND GATE
组合逻辑电路“与门”
15. Comb02.DSN COMBINATIONAL LOGIC CIRCUITS OR GATE
组合逻辑电路“或门”
16. comb03.DSN COMBINATIONAL LOGIC CIRCUITS NOT GATE
组合逻辑电路“非门”
17. comb04.DSN COMBINATIONAL LOGIC CIRCUITS NAND GATE
组合逻辑电路“与非门”
18. Comb05.DSN COMBINATIONAL LOGIC CIRCUITS NOR GATE
组合逻辑电路“或非门”
19. Comb06.DSN COMBINATIONAL LOGIC CIRCUITS EXCLUSIVE OR GATE 组合逻辑电路“异或门”
20. Counter.DSN TTL DECADE COUNTER
十进制计数器
21. DIODE01.DSN Diodes and Rectification (1) 二极管和整流 (1)
22. Diode02.dsn Diodes and Rectification(2) 二极管和整流 (2)
23. Diode03.DSN Diodes and Rectification(3) 二极管和整流 (3)
24. Diode04.DSN Diodes and Rectification(4) 二极管和整流 (4)
25. Diode05.DSN Diodes and Rectification(5) 二极管和整流 (5)
26. Diode06.DSN Diodes and Rectification(6) 二极管和整流 (6)
27. Diode07.DSN Diodes and Rectification(7) 二极管和整流 (7)
28. Diode08.DSN Diodes and Rectification(8) 二极管和整流 (8)
29. DIODE09.DSN Diodes and Rectification (9) 二极管和整流 (9)
30. Diode10.DSN Diodes and Rectification(10) 二极管和整流 (10)
31. Indrel01.DSN Inductors and Relays(1) 电感器和继电器 (1)
32. Indrel02.DSN Inductors and Relays(2) 电感器和继电器 (2)
33. Indrel03.DSN Inductors and Relays(3) 电感器和继电器 (3)
34. Intres01.DSN Internal Resistance(1)
内部阻抗 (1)
35. Intres02.DSN Internal Resistance(2)
内部阻抗 (2)
36. Lissajous.DSN Lissajous Figures
李沙育图形
37. lm3914.DSN Bargraph Driver
直方图驱动器
38. Mvcr01.DSN Measuring Voltage, Current and Resistance(1)
测量电压,电流和电阻 (1)
39. Mvcr02.DSN Measuring Voltage, Current and Resistance(2)
测量电压,电流和电阻 (2)
40. Mvcr03.DSN Measuring Voltage, Current and Resistance(3)
测量电压,电流和电阻 (3)
41. Mvcr04.DSN Measuring Voltage, Current and Resistance(4)
测量电压,电流和电阻 (4)
42. Mvcr05.DSN Measuring Voltage, Current and Resistance(5)
测量电压,电流和电阻 (5)
43. Mvcr06.DSN Measuring Voltage, Current and Resistance(6)
测量电压,电流和电阻 (6)
44. Mvcr07.DSN Measuring Voltage, Current and Resistance(7)
测量电压,电流和电阻 (7)
45. Mvcr08.DSN Measuring Voltage, Current and Resistance(8)
测量电压,电流和电阻 (8)
46. Mvcr09.DSN Measuring Voltage, Current and Resistance(9)
测量电压,电流和电阻 (9)
47. Opamp01.DSN Operational Amplifiers(1) 运算放大器 (1)
48. Opamp02.DSN Operational Amplifiers(2) 运算放大器 (2)
49. Opamp03.DSN Operational Amplifiers(3) 运算放大器 (3)
50. Opamp04.DSN Operational Amplifiers(4) 运算放大器 (4)
51. Opamp05.DSN Operational Amplifiers(5) 运算放大器 (5)
52. Opamp06.DSN Operational Amplifiers(6) 运算放大器 (6)
53. Osc01.DSN Oscillators (1)
振荡器 (1)
54. Osc02.DSN Oscillators (2)
振荡器 (2)
55. Osc03.DSN Oscillators (3)
振荡器 (3)
56. Osc04.DSN Oscillators (4)
振荡器 (4)
57. Pcvc01.DSN Potentiometers and Current/Voltage Characteristics (1)
电位计和电流/电压特性 (1)
58. Pcvc02.DSN Potentiometers and Current/Voltage Characteristics (2)
电位计和电流/电压特性 (2)
59. Pcvc03.DSN Potentiometers and Current/Voltage Characteristics (3)
电位计和电流/电压特性 (3)
60. Pcvc04.DSN Potentiometers and Current/Voltage Characteristics (4)
电位计和电流/电压特性 (4)
61. Seq01.DSN SEQUENTIAL LOGIC CIRCUITS
连续逻辑电路 - RS触发器
62. Seq02.DSN SEQUENTIAL LOGIC CIRCUITS - D TYPE FLIP-FLOP
连续逻辑电路 - D触发器
63. Seq03.DSN SEQUENTIAL LOGIC CIRCUITS - J-K FLIP-FLOP
连续逻辑电路 – J-K触发器
64. Seq04.DSN SEQUENTIAL LOGIC CIRCUITS - SHIFT REGISTER
连续逻辑电路 - 移位寄存器
65. Seq05.DSN SEQUENTIAL LOGIC CIRCUITS - BINARY COUNTER
连续逻辑电路 -二进制计数器
66. Traffic.DSN Traffic Lights
红绿灯
67. Tran01.DSN Transistor Circuits (1)
晶体管电路 (1)
68. Tran02.DSN Transistor Circuits (2)
晶体管电路 (2)
69. Tran03.DSN Transistor Circuits (3)
晶体管电路 (3)
70. Tran04.DSN Transistor Circuits (4)
晶体管电路 (4)
71. Tran05.DSN Transistor Circuits (5)
晶体管电路 (5)
72. Tran06.DSN Transistor Circuits (6)
晶体管电路 (6)
73. Tran07.DSN Transistor Circuits (7)
晶体管电路 (7)
74. TTLClock.DSN TTL BASED DIGITAL CLOCK
TTL数字时钟
l Interactive Simulation/COMPIM Demo组。Proteus的串口COMPIM。
COMPIM是虚拟串口器件,用来仿真COM口,使用该串口器件,可直接和单片机相连,不需要另外加MAX232器件。
TERMECHO.DSN Simple COMPIM Demonstration 简单COMPIM示范
l Interactive Simulation/Counter Timer组。时间间隔计数测量器。
Frequency Meter.DSN Frequency Meter频率计
Timer Mode.DSN Counter Timer as Timer时间间隔计数测量器用做定时器
附录2:Proteus 仿真库简介元件名称
中文名 说明
7407 驱动门
1N914 二极管
74Ls00 与非门
74LS04 非门
74LS08 与门
74LS390 TTL 双十进制计数器
7SEG 4针BCD-LED 输出从0-9 对应于4根线的BCD码
7SEG 3-8译码器电路BCD-7SEG转换电路
ALTERNATOR 交流发电机
AMMETER-MILLI mA安培计
AND 与门
BATTERY 电池/电池组
BUS 总线
CAP 电容
CAPACITOR 电容器
CLOCK 时钟信号源
CRYSTAL 晶振
D-FLIPFLOP D触发器
FUSE 保险丝
GROUND 地
LAMP 灯
LED-RED 红色发光二极管
LM016L 2行16列液晶 可显示2行16列英文字符,有8位数据总线D0-D7,RS,R/W,EN三个控制端口(共14线),工作电压为5V。没背光,和常用的1602B功能和引脚一样(除了调背光的二个线脚)
LOGIC ANALYSER 逻辑分析器
LOGICPROBE 逻辑探针
LOGICPROBE[BIG] 逻辑探针 用来显示连接位置的逻辑状态
LOGICSTATE 逻辑状态 用鼠标点击,可改变该方框连接位置的逻辑状态
LOGICTOGGLE 逻辑触发
MASTERSWITCH 按钮 手动闭合,立即自动打开
MOTOR 马达
OR 或门
POT-LIN 三引线可变电阻器
POWER 电源
RES 电阻
RESISTOR 电阻器
SWITCH 按钮 手动按一下一个状态
SWITCH-SPDT 二选通一按钮
VOLTMETER 伏特计
VOLTMETER-MILLI mV伏特计
VTERM 串行口终端
Electromechanical 电机
Inductors 变压器
Laplace Primitives 拉普拉斯变换
Memory Ics 存储器
Microprocessor Ics 微处理器
Miscellaneous 各种器件 AERIAL-天线;ATAHDD;ATMEGA64;BATTERY;CELL;CRYSTAL-晶振;FUSE;METER-仪表;
Modelling Primitives 各种仿真器件 是典型的基本元器模拟,不表示具体型号,只用于仿真,没有PCB
Optoelectronics 各种发光器件 发光二极管,LED,液晶等等
PLDs & FPGAs
Resistors 各种电阻
Simulator Primitives 常用的器件
Speakers & Sounders
Switches & Relays 开关,继电器,键盘
Switching Devices 晶闸管
Transistors 晶体管(三极管,场效应管)
TTL 74 series
TTL 74ALS series
TTL 74AS series
TTL 74F series
TTL 74HC series
TTL 74HCT series
TTL 74LS series
TTL 74S series
Analog Ics 模拟电路集成芯片
Capacitors 电容集合
CMOS 4000 series
Connectors 排座,排插
Data Converters ADC,DAC
Debugging Tools 调试工具
ECL 10000 Series 各种常用集成电路
SOUNDER 发声器
附录3:LPC2124存储器寻址
存储器映射
LPC2124包含几个不同的存储器区域。
整个地址空间映射
下图为复位后从用户角度所看到的整个地址空间映射。
系统存储器映射
0 - 1G (0x0000,0000 - 0x3fff,ffff): 片内Flash。
1 - 2G (0x4000,0000 - 0x7fff,ffff): 片内RAM。
2 - 3.5G (0x8000,0000 - 0xbfff,ffff - 0xdfff,ffff): 片外存储器。
3.5G - 3.75G (0xe000,0000 - 0xefff,ffff): VPB外设。
3.75G - 4G (0xf000,0000 - 0xffff,ffff): AHB外设。
片内Flash存储器
LPC2124集成了256KB的存储器。该存储器可用于代码和数据存储。Flash的编程可以用几种方法来实现:
通过内置的串行JTAG接口
通过在系统编程(ISP)和UART0
通过在应用编程(IAP)。应用程序在运行时可以对Flash进行擦除/编程,这样就为数据的存储和现场固件升级带来了极大的灵活性。
片内静态RAM
LPC2124集成了16KB的静态RAM,可以用作代码和数据存储。SRAM支持8位、16位和32位访问。
Boot Block
LPC2124的BootBlock被固化在最高的Flash块中,运行时被映射到0x7FFF,E000 - 0x7FFFF,FFFF的区域。
外设存储器映射
AHB和VPB外设区均为2MB,可以各自分配最多128个外设。每个外设空间为16KB,这样可以简化每个外设的地址译吗。所有外设寄存器不管规格大小,都按照字地址进行
外设存储器映射
先进高性能总线AHB是Advanced High-performance Bus的缩写。AHB为外设提供统一的地址和数据总线。
连接片内外设功能的 VLSI 外设总线(VPB,ARM AMBA 总线的兼容超集)。
VPB只是ARM内部使用的总线,它通过桥与AHB总线连接,对用户透明。所以,不必考虑它的存在,只要知道0xe000 - 0xffff,ffff 是外设控制器的地址就可以了。
附录4:GPIO
GPIO是General Purpose Input Output-通用可编程输入输出口的缩写。输出可用于控制继电器、蜂鸣器、LED等 输入可以获取传感器状态、高低电平、低速信号等。也就是说你可以把这些引脚拿来用作任何一般用途的输入输出,例如用一根引脚连到led的一极来控制它的亮灭,也可以用一根(一些)引脚连到一个传感器上以获得该传感器的状态,这给cpu提供了一个方便的控制周边设备的途经。如果没有足够多的gpio管脚,在控制一些外围设备时就会力有不逮,这时可采取的方案是使用CPLD来帮助管理。
附录5:各种ARM编译器比较
附录6:Keil CARM编译器启动文件Startup.s
/***********************************************************************/
/* 该文件是 uVision/ARM 开发工具的一部分 */
/* Copyright KEIL ELEKTRONIK GmbH 2002-2005 */
/***********************************************************************/
/* STARTUP.S: Startup file for Philips LPC2000 device series */
/***********************************************************************/
/*
//*** <<< 在上下文菜单中使用配置向导>>> ***
*/
/*
* STARTUP.S 在CPU复位后执行。该文件可以用紧跟的 SET符号转换。在 uVision 中这些 SET
* 符号在选项 - ASM - Set 下输入。
*
* 重映射(REMAP): 当设置启动代码初始化寄存器 MEMMAP 时,重写 CPU 配置管脚的设置。
* 启动和中断向量被重映射:
* 0x00000000 默认设置(无重映射)
* 0x80000000 当EXTMEM_MODE模式被使用时
* 0x40000000 当RAM_MODE模式被使用时
*
* EXTMEM_MODE: 当设置该设备被配置为从外部存储器执行代码时,启动在地址0x80000000。
* 启动向量被定位到0x80000000。
*
* RAM_MODE: 当设置该设备被配置为从片上(on-chip)RAM执行代码时,启动在地址0x40000000。
* 启动向量被定位到0x40000000。
*/
// 下面是进入各种模式送给CPSR的值
// 在 PSRs 中模式位和中断(I & F 内部和快速中断)标志的标准定义
Mode_USR EQU 0x10
Mode_FIQ EQU 0x11
Mode_IRQ EQU 0x12
Mode_SVC EQU 0x13
Mode_ABT EQU 0x17
Mode_UND EQU 0x1B
Mode_SYS EQU 0x1F
// 下面使能外部中断与快速中断送给CPSR的值
I_Bit EQU 0x80 /* 当 I 位被设置时,中断请求 IRQ 被禁用 */
F_Bit EQU 0x40 /* 当 F位被设置时,快速中断请求 FRQ 被禁用 */
/*
// <h> 堆栈配置 (堆栈大小为字节)
// <o0> Undefined Mode <0x0-0xFFFFFFFF:4> /* 未定义模式 */
// <o1> Supervisor Mode <0x0-0xFFFFFFFF:4> /* 管理模式 */
// <o2> Abort Mode <0x0-0xFFFFFFFF:4> /* 终止模式 */
// <o3> Fast Interrupt Mode <0x0-0xFFFFFFFF:4> /* 快中断模式 */
// <o4> Interrupt Mode <0x0-0xFFFFFFFF:4> /* 中断模式 */
// <o5> User/System Mode <0x0-0xFFFFFFFF:4> /* 用户/系统模式 */
// </h>
*/
UND_Stack_Size EQU 0x00000004 /* 未定义模式堆栈大小 */
SVC_Stack_Size EQU 0x00000004 /* 管理模式堆栈大小 */
ABT_Stack_Size EQU 0x00000004 /* 终止模式堆栈大小 */
FIQ_Stack_Size EQU 0x00000004 /* 快中断模式堆栈大小 */
IRQ_Stack_Size EQU 0x00000080 /* 中断模式堆栈大小 */
USR_Stack_Size EQU 0x00000400 /* 用户/系统模式堆栈大小 */
// 下面是各种模式下堆栈空间的大小
AREA STACK, DATA, READWRITE, ALIGN=2
DS (USR_Stack_Size+3)&~3 ; Stack for User/System Mode
DS (SVC_Stack_Size+3)&~3 ; Stack for Supervisor Mode
DS (IRQ_Stack_Size+3)&~3 ; Stack for Interrupt Mode
DS (FIQ_Stack_Size+3)&~3 ; Stack for Fast Interrupt Mode
DS (ABT_Stack_Size+3)&~3 ; Stack for Abort Mode
DS (UND_Stack_Size+3)&~3 ; Stack for Undefined Mode
Top_Stack:
// (USR_Stack_Size+3)&~3 确保分配给各模式的堆栈大小是4的倍数(字节)
// VPB分频器 VPBDIV 定义
VPBDIV EQU 0xE01FC100 /* VPBDIV 地址 */
/*
// <e> VPBDIV 设置
// <i> 外围总线始终速率
// <o1.0..1> VPBDIV: VPB 时钟
// <0=> VPB Clock = CPU时钟 / 4
// <1=> VPB Clock = CPU时钟
// <2=> VPB Clock = CPU时钟 / 2
// <o1.4..5> XCLKDIV: XCLK 管脚
// <0=> XCLK Pin = CPU时钟 / 4
// <1=> XCLK Pin = CPU时钟
// <2=> XCLK Pin = CPU时钟 / 2
// </e>
*/
VPBDIV_SETUP EQU 0
VPBDIV_Val EQU 0x00000000
// Phase Locked Loop (PLL) 定义
PLL_BASE EQU 0xE01FC080 /* PLL 基地址 */
PLLCON_OFS EQU 0x00 /* PLL 控制偏移Control Offset*/
PLLCFG_OFS EQU 0x04 /* PLL 配置偏移Configuration Offset */
PLLSTAT_OFS EQU 0x08 /* PLL 状态偏移Status Offset */
PLLFEED_OFS EQU 0x0C /* PLL 给进偏移 Feed Offset */
PLLCON_PLLE EQU (1<<0) /* PLL 使能 Enable */
PLLCON_PLLC EQU (1<<1) /* PLL 连接 Connect */
PLLCFG_MSEL EQU (0x1F<<0) /* PLL 乘数 Multiplier */
PLLCFG_PSEL EQU (0x03<<5) /* PLL 除数 Divider */
PLLSTAT_PLOCK EQU (1<<10) /* PLL 锁状态 Lock Status */
/*
// <e> PLL Setup /* PLL设置 */
// <i> Phase Locked Loop /* 锁相环 */
// <i> CCLK - Processor Clock /* 处理器时钟 */
// <i> Fcco - PLL Oscillator /* PLL 震荡器 */
// <o1.0..4> MSEL: PLL Multiplier Selection /* PLL乘数选择 */
// <1-32><#-1>
// <i> PLL Multiplier "M" Value /* PLL乘数 "M" 值 */
// <i> CCLK = M * Fosc
// <o1.5..6> PSEL: PLL Divider Selection /* PLL除数选择 */
// <0=> 1 <1=> 2 <2=> 4 <3=> 8
// <i> PLL Divider "P" Value /* PLL除数 "P" 值 */
// <i> Fcco = CCLK * 2 * P
// <i> 156MHz <= Fcco <= 320MHz
// </e>
*/
PLL_SETUP EQU 1
PLLCFG_Val EQU 0x00000024
// 存储器加速器 (MAM) 定义 Memory Accelerator Module (MAM) definitions
MAM_BASE EQU 0xE01FC000 /* MAM 基地址 */
MAMCR_OFS EQU 0x00 /* MAM 控制偏移 Control Offset*/
MAMTIM_OFS EQU 0x04 /* MAM 定时偏移 Ti
展开阅读全文