|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
第1章 嵌入式C语言导论
: G! X+ X. @ i) K, ~- I- J; ^& ^2 }+ d8 g' @+ v1 Y
1.1 本章目标; t/ {% m. j" q/ ]7 q
1.2 引言
0 c1 h, Q( a* j/ x7 X6 V" w8 x1.3 基本概念
. G. n6 Q T |0 S" J1.4 变量和常量1 M3 x! E* n1 g$ D
1.4.1 变量类型
0 ^. i3 \( W2 Q! Y' w1.4.2 变量的作用域
' I; [0 R% K# l( E5 }. K( b! s Q1.4.3 常量
- V: e8 J! `: x) g d3 u1.4.4 枚举和定义: a& v+ Q* S/ G8 E. {0 I2 o
1.4.5 存储类型
8 k, n& o" c5 V# o W/ u% @3 f1.4.6 类型转换, }2 x; G- ^& j( _* {7 p
1.5 输入/输出操作& H5 w; F9 F9 e8 R9 K6 P$ w% z0 _
1.6 运算符和表达式* j& _$ a' u' o0 d5 m# p( E
1.6.1 赋值运算符和算术运算符
! M5 M8 }. y! F {! G/ K1.6.2 逻辑运算符与关系运算符1 J% V- M9 W/ B* o6 D& ]
1.6.3 自增运算符、自减运算符和复合赋值运算符. _0 L6 U2 l' o+ P% d
1.6.4 条件表达式
2 k3 g; q! O9 J! [0 u* J; O1.6.5 运算符优先级
5 e" Q7 d' o P1.7 控制语句
9 s. V! ^7 V0 n1.7.1 while循环
* b) }3 m* U4 u% d, ^1.7.2 do/while循环
: K& H' w8 E# [+ D9 d3 m% H- a1.7.3 for循环- n2 w% }% M. d2 y
1.7.4 if/else语句
) g- {; D$ S0 c& U( B$ ]& @1.7.5 switch/case语句4 I `1 [* R6 y2 u9 n% V5 ?/ t/ h
1.7.6 break、continue和goto语句3 S; R0 F V. d1 }$ O! T2 b7 [
1.8 函数- C4 W2 p2 _5 q, e5 I! N; d: `4 `' H
1.8.1 原型和函数组织/ k$ i: R' R1 a* E
1.8.2 函数返回值1 z# j0 X4 i7 a0 t
1.8.3 递归函数
- ?. ]8 D% o4 J5 u- K1.9 指针和数组
/ o9 F n f* E9 B1.9.1 指针
, {9 p' i& N2 K& Z0 z( |$ }/ a1.9.2 数组& s5 H. f0 \, R) l- z6 s* |- H1 D
1.9.3 多维数组
$ B3 h+ u0 c+ {* ^& z1.9.4 指向函数的指针
3 o! e, K0 F' h" w0 q5 `1.10 结构与共用体: L: n3 {' P$ Q# ]
1.10.1 结构
' b& Z' ~* w9 A) `1.10.2 结构数组
7 `6 w& i+ E" e! v# K$ _& N1 U4 p1.10.3 指向结构的指针
6 [4 [$ I. q: x1 J1.10.4 共用体# ^2 A+ P: Q+ @* |6 D* J+ |- ]
1.10.5 typedef运算! @$ U2 u; P0 U! {- W' N; W
1.10.6 位和位域
& \1 k L& S! t$ u# o1.10.7 sizeof运算符
% v, j3 M3 Q* W; N% D. R0 r1.11 存储器类型- e$ T7 L$ W$ @% u2 K% ~$ w
1.11.1 常量和变量* Z! S/ f' ^3 K( g1 \
1.11.2 指针
! L" u' w% X7 i6 G h1.11.3 寄存器变量) c& B9 @; U# v" E) I6 t
1.12 实时方法% k- s( V" \' ~( J" K# r" c
1.12.1 使用中断8 u; R3 ~" U+ D# }* U8 a |
1.12.2 状态机
% F, i; U% |5 d, t9 w7 f" m1.13 本章小结% e! J6 o; D/ L- C
1.14 练习2 D3 f d* F9 Z$ k {& }% D4 ^
1.15 上机实习/ y9 J+ Q- q" L/ Z4 P% C1 u! N
# j8 N9 {1 ?( |$ U* ?' w! L- A( k第2章 Atmel Risc处理器
% m( K# k9 V( R: G1 a$ S5 R/ g l* o3 ^' {$ K( C
2.1 本章目标) i5 V6 U. E; r0 w1 d
2.2 引言! r2 q5 |/ J& P# @1 H
2.3 体系结构概述
- L I. S' A! C2.4 存储器% K" j3 b8 V; |
2.4.1 FLASH代码存储器3 ?4 d, x0 y0 _ w5 S
2.4.2 数据存储器1 g9 Z* Q8 L4 E/ r) O
2.4.3 EEPROM存储器$ G8 T6 Y; A9 P$ A
2.5 复位和中断功能
" F0 s4 E/ M |$ V6 l+ {3 u2.5.1 中断
$ F+ g% M6 B2 ? p7 K2.5.2 复位
% Z4 N# I J" y+ J3 W( ?2.6 并行I/O端口: |6 {3 U3 U, J% s5 A4 A$ p) K
2.7 计时器/计数器
1 X6 o$ L; V8 ]/ O; K2.7.1 计时器/计数器预定标器输入选择器6 u# ]- v. o4 u- K4 E3 b& _
2.7.2 Timer0+ H0 r+ t4 R. N U
2.7.3 Timer1
@5 Z/ U- j' d) h/ j0 c5 b2.7.4 Timer2. q1 P9 i& M7 u, U6 d. ~; J
2.8 使用UART进行串行通信5 R7 n2 { y' V
2.9 模拟接口 K5 `' H9 _- f1 N' ~6 ]
2.9.1 模数转换背景知识8 O' o4 Z9 {& K1 y3 T% c" [/ B
2.9.2 模数转换外设
. `$ S( ~9 Q! R( k2 V* Y4 O) _. u2.9.3 模拟比较器' c1 s; H2 w$ j5 n* z8 O
2.10 利用SPI进行串行通信
; T1 t4 l X9 G* y" P2.11 AVR RISC汇编语言指令集( p) z* _& S8 y7 J0 t
2.12 本章小结
/ @6 s8 |0 P4 I+ k8 g3 t* C2.13 练习- Y4 I9 h, g4 x, ?4 Z1 v* l/ H
2.14 上机实习3 w1 \6 g. y0 P8 u7 A
5 p9 @+ M- w0 D" }: _0 Q9 [
第3章 标准I/O和预处理函数
: V- S% d4 J5 J! \
& d: d6 p8 Z# O0 a+ W& M3.1 本章目标
5 E6 N: s9 S; ^+ O5 o% u* J/ ~) S3.2 引言
( q4 p6 p( m: M) h3.3 字符输入/输出函数getchar()和putchar()
4 x0 l3 `& W; q0 n& L4 z3.4 标准输出函数! R( K: _; N! H2 z4 y
3.4.1 输出字符串函数puts()
% e% e2 m% G1 d1 ~3.4.2 从FLASH输出字符串函数PUTSF()
! | d: {3 \, j8 d9 r3.4.3 格式打印函数Printf()/ k2 P" I* m, M# j
3.4.4 字符串格式打印函数sprintf()1 l; @6 i8 _0 r6 L* N
3.5 标准输入函数6 u' r7 }6 x9 p3 J
3.5.1 获得字符串函数gets()
: ?0 C" F* L, y0 e* R3.5.2 格式扫描函数scanf()
@; f2 n6 W/ v$ M' Q# |( `. |3.5.3 字符串格式扫描函数sscanf()4 _5 s) q% ]$ G2 S9 o; D
3.6 预处理指令, i: G, @8 |; w! D& Q$ @/ }) A
3.6.1 #include指令
2 c; E u* r; k. i4 i5 W: O3.6.2 #define指令
! L. v$ t; m* I3.6.3 #ifdef,#ifinef,#else和#endif指令
& [/ V3 u$ a: N# C' _) a5 G3.6.4 #pragma指令
1 w. \9 ]; l- `1 v3 ^3.6.5 其他宏和指令
9 @1 k1 V" C, V4 ?3.7 本章小结
7 |+ S$ z2 C7 ~, ^3.8 练习- R/ X8 J) f0 o: e6 i7 ~2 R' z
3.9 上机实习7 C' y0 v j# J
: s K0 Y4 `3 q9 G+ _
第4章 CodeVisionAVR C编译器和集成开发环境
& @7 I4 l, L0 R( e$ F
' ?/ j( o, h" X( `7 A4.1 本章目标$ ~2 ~+ } j' o/ U9 ^2 x4 [/ U/ O# Y) d
4.2 引言
, a+ E5 f0 Z: O4.3 集成开发(IDE)环境操作
& C, }* [6 ?/ [7 U4.3.1 项目) D9 F0 n! G2 G6 r
4.3.2 源文件6 B9 x5 P$ b" q7 X- A/ r
4.3.3 编辑文件
8 [4 s, N0 T3 P5 I4.3.4 打印文件( ?8 ^* U, ^5 W) W- \; K
4.3.5 文件导航器
) t' b2 D$ R9 y; W4.4 C编译器选项; _7 h; T% X7 h
4.4.1 UART
' Z- |/ G* b L4 G4.4.2 存储器模式# h6 g9 {2 X9 @5 {8 `( ]
4.4.3 优化
- G- G" z3 n9 v" ^' o. n0 j4.4.4 程序类型
! I1 r" l9 G u! [5 M4.4.5 SRAM* k/ f% C. M4 `3 q7 u9 R
4.4.6 编译
" w- Z+ O) i3 S c9 ?# \4.5 编译和生成项目
- r; }" N5 a) q" y9 k/ Z8 Q9 X& A4.5.1 编译项目
8 y, R6 l& d: V4.5.2 生成项目1 |3 i3 U( I0 Z- f% L. E1 y# ?
4.6 对目标设备编程
3 L9 U% p9 L$ n4.6.1 芯片" _ K1 E6 y0 _# t, ^
4.6.2 FLASH和EEPROM
3 _9 B8 I8 ~: _4.6.3 FLASH锁定位5 V! k& A3 N; Z' K+ [5 l4 x
4.6.4 保险位) U2 l: M5 }2 @1 ~; T
4.6.5 Boot Lock Bit 0和Boot Lock Bit 18 Q# |- M9 [- c' e+ n0 i
4.6.6 签名
2 h6 k. |4 F* E8 G4.6.7 芯片擦除
, { ^0 d& B. \4 {4.6.8 编程速度) ^& A( d; w9 s
4.6.9 Program|All# T: F1 a+ k, {! b% h& [/ @, [
4.6.10 其他编程器
; |) _: ]0 W) q4.7 CodeWizard AVR代码生成器" V; [7 f8 g7 [ t
4.7.1 Chip选项卡- y2 P/ H3 a. f% p# ]5 ]$ q
4.7.2 Ports选项卡
; n- _2 C" w% X- f* x4.7.3 External IRQ选项卡! k2 |0 L. X8 \# A2 T. B
4.7.4 Timers选项卡
9 y5 v6 L! _8 e" x4.7.5 UART选项卡
8 w _2 E9 V7 R4.7.6 ADC选项卡3 q, W: Q2 [. c3 x/ [+ I% E, `
4.7.7 Project Information选项卡" q/ ?# y7 t/ |
4.7.8 生成源代码
& D% ` `) |+ S& F4 k$ o s4.8 终端工具
0 Y/ |* g% R' K; s0 `4 w Y. r4.9 Atmel AVR Studio调试器
0 T$ o3 C+ ^/ w* F( v' W$ I5 K4.9.1 为AVR Studio新建一个COFF文件
( c: T; M$ i; |# s$ c* G4.9.2 从Code Vision AVR启动AVR Studio( t7 y5 s9 \% h- O8 L m+ g
4.9.3 打开文件进行调试6 L$ ?4 f1 _' h/ w9 J; z* ^0 F
4.9.4 开始、中断和跟踪
0 u# U- G. o9 g$ L$ d4.9.5 设置和清除断点+ |% y9 D; E6 G6 | k8 a+ q5 f
4.9.6 查看和修改寄存器和变量的值
8 S' F. ]3 E; E) `2 D* m4.9.7 查看和修改机器状态7 t& z0 j0 ^+ N
4.10 本章小结' t) G, g) b; p, n
4.11 练习
2 h" [% p) Y. D( E/ p4.12 上机实习6 w$ Y; |1 v6 D* F- x2 r
I6 b, v, W# e2 ?+ L2 U第5章 项目开发 \. V0 R) q1 _# T
# s$ |3 L) l/ w7 l, ^( i; X1 t
5.1 本章目标1 Y. z3 n- h% W) z$ t' V* C: Z" M
5.2 引言
$ F% K2 [ J Q' A: }) w: q2 g5.3 概念开发阶段: w) d2 w7 F' v- R; X
5.4 项目开发过程的步骤2 I0 {" M& c) K6 h) J5 ]
5.4.1 定义阶段
K9 V' `6 v+ _: U5.4.2 设计阶段
2 ]% S% F& D6 Q& P E6 c, R5.4.3 测试定义阶段- }& o! k. ]8 i- ?2 z' T/ w
5.4.4 建立和测试硬件原型阶段
, \, e2 q. }7 H. _+ w5.4.5 系统集成和开发阶段, q0 Z, [4 e0 h. \
5.4.6 系统测试阶段
" ]# {7 L" i, L6 a6 d& m5.4.7 庆祝阶段1 N# Y2 m: _6 O! s, @( |+ x
5.5 项目开发过程总结
: j, C @2 f5 f6 J, F' r5.6 示例项目:一个气象监测器
) K% L1 O' j# [9 t5.6.1 构思阶段% i& k; ~- `2 X: n) Z4 r
5.6.2 定义阶段6 ?! f' x0 @( J ?7 Y9 z& z
5.6.3 测量方法在设计方面的考虑
0 O: a1 v j0 O3 ~, w) R5.6.4 室外装置的硬件设计 U: r! i6 S2 }
5.6.5 室外装置的软件设计8 A# B) X: d0 k6 | `& {5 {: z! |7 ^+ ]
5.6.6 室内装置的硬件设计1 L5 `. J( S- z- f- p
5.6.7 室内装置的软件设计$ W. J- v9 x& k
5.6.8 测试定义阶段
6 s4 {3 J/ X$ P/ ]4 u y5 L$ {4 q5.6.9 建立和测试原型硬件阶段' M& P! t* |7 r. D+ s) r2 W# m
5.6.10 系统集成和软件开发阶段——室外装置2 s" j- N% J) N
5.6.11 系统集成和软件开发阶段——室内装置% k7 F7 _- V. H8 f- N9 S- M
5.6.12 系统测试阶段
2 Z9 ~9 |. @2 x4 }6 E5.7 挑战
# E0 a s: q; C6 @" ]/ i5.8 本章小结
4 w6 v; o, z/ f9 t% s5.9 练习
' D7 C' [9 b1 g# s7 I5.10 上机实习
3 Q3 X/ ^% U, e$ R$ h9 D7 `' u/ W) a9 }9 \8 E, ~; F# {
附录A 库函数参考% J& @) c7 H$ X
附录B CodeVisionAVR和STK500入门( J, u1 ?* N4 {
附录C AVR微控制器编程
% C) f, U& }8 F9 s+ Y. ]附录D 安装并使用TheCableAVR
- W: C- Y+ R5 h% J附录E MegAVR-DEV开发板
& M$ w+ E" x/ g7 C4 I附录F ASCII字符表
9 j5 F' V- [* }0 n附录G AVR指令集汇总; K3 a* _* l' w3 W8 T; n' q- A
附录H 部分练习答案/ j+ W& S5 o9 a! f5 H/ M8 z$ i
|
|