|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
第1章 嵌入式C语言导论9 E3 a+ W c9 o2 p
6 [% U* _5 d0 U) g v4 a. t- ~
1.1 本章目标/ y" ?2 s1 I8 u% p3 S
1.2 引言
. e, n6 A) y$ j, }1.3 基本概念
! Q1 Q! L3 e W1 A& Q1.4 变量和常量
0 C$ S; G: m: Y9 V3 n1.4.1 变量类型
, P6 Q, v: ^. I& p, ? m1.4.2 变量的作用域
5 T& I! d, _# K; _5 }/ Y% S& L1.4.3 常量
5 s2 l' i, c; T. h2 _1.4.4 枚举和定义* y) t, R6 X9 x* Q
1.4.5 存储类型, f; b; N, H# A+ X0 z$ j, r7 h5 M
1.4.6 类型转换
. ]; j0 V/ N* v% T! t1.5 输入/输出操作
' v2 g" D8 U( y; F' g1 W1.6 运算符和表达式( {! U6 Y& \* c' v/ r/ L! e! n2 X4 f
1.6.1 赋值运算符和算术运算符
7 p' }5 ^& {1 A, c) a# G& D3 t& D1.6.2 逻辑运算符与关系运算符; I2 [8 n2 E0 L3 K
1.6.3 自增运算符、自减运算符和复合赋值运算符% Y8 f! i$ B" I, `9 r) ]
1.6.4 条件表达式
5 A& o! j* g6 c Z7 |% z1 x, N1.6.5 运算符优先级
- M3 p, m1 X6 v! u1 N+ x1.7 控制语句
7 k6 R6 c! C- {% i8 U1.7.1 while循环7 |% D! W0 ]- Z1 t$ J/ J
1.7.2 do/while循环
& r! h4 q4 ?# H: f+ O2 q0 J1.7.3 for循环$ v- p9 y" Y7 ?3 t# Z! G5 {( Z( O, j
1.7.4 if/else语句' A& U+ |+ U- a- \
1.7.5 switch/case语句
+ }1 ]3 T" X3 |1.7.6 break、continue和goto语句% E! t7 Q$ U3 ^5 R1 a6 R
1.8 函数
" j, ^$ R) S" o3 G9 O1.8.1 原型和函数组织
3 w' s& ^& V' G2 z1.8.2 函数返回值
5 S/ @/ J. p# `$ B8 {1.8.3 递归函数
5 {- r3 l- f. ]8 s1 R1.9 指针和数组
2 y2 w" c" N2 _3 S" R1.9.1 指针
' l6 G- N& @" U7 o1.9.2 数组5 D& N( W( ~+ X9 W
1.9.3 多维数组
5 u* t6 W1 N2 ?5 k& A; I) _+ M1.9.4 指向函数的指针
* O% O" q/ c0 w: @, L1.10 结构与共用体
& T1 l1 ?! f* e1 K1.10.1 结构
: _! f% L) r1 c) p" T( }1.10.2 结构数组) |8 ?( M- [% n: H7 ^
1.10.3 指向结构的指针% @" u" Z( y4 ^3 @
1.10.4 共用体 a- o: M: r. r8 G+ f
1.10.5 typedef运算6 o% D) b$ }6 x( ^4 T
1.10.6 位和位域
8 x; p, @3 u, {0 C% V1.10.7 sizeof运算符
5 |' ~! D" t# |# F$ h2 E- M1.11 存储器类型
/ H" F: u) h7 O b) A( ?; V1.11.1 常量和变量; \* @2 {" Q4 R6 m" G
1.11.2 指针
4 r l0 y: _ w L; I( O1.11.3 寄存器变量
' i+ A# Z+ r' u1.12 实时方法
' a b+ m! R2 I$ H1.12.1 使用中断$ I3 {" b U* C# @
1.12.2 状态机
. N/ w2 y3 l' N1.13 本章小结; m. L% s w1 q! F3 D, R/ c
1.14 练习6 Q4 D' B0 L8 v
1.15 上机实习
( V# v, i/ U# w/ Y; l' W. U8 G% N) U# T0 k$ ^2 ]1 g2 O2 R
第2章 Atmel Risc处理器0 K, k! Z* s- c! \
# G4 f* |7 N7 q2 i5 c8 Q$ ~2.1 本章目标
, D9 d# h9 a; Q) O3 L- d2.2 引言) ?% ?' L- L- c" X' q+ h
2.3 体系结构概述
2 a6 `) m# O. u/ d0 p, d2.4 存储器" f1 N' D. Y& R" f
2.4.1 FLASH代码存储器
& n9 V& l, d: `4 M5 H2.4.2 数据存储器8 N9 }& ^3 ?! j
2.4.3 EEPROM存储器
2 j5 D( V9 c3 P% L8 t2.5 复位和中断功能
8 h5 l/ Q7 y- b; |' o! P2.5.1 中断8 f- N, D2 m, [
2.5.2 复位
' c% K- `% _. H& x: \8 v$ I2.6 并行I/O端口
; X9 G, W2 Q4 h( `( j" {1 w$ [4 Z) t2.7 计时器/计数器; D& j' y% s3 D+ r, M( L
2.7.1 计时器/计数器预定标器输入选择器
: c- _& L1 _4 B4 Y6 e# r& k: ~2.7.2 Timer07 v' u- X# K7 O% s0 T
2.7.3 Timer1 b- X. n* C7 u$ a# T
2.7.4 Timer2" h' O- B" N1 _; z
2.8 使用UART进行串行通信5 v! J4 Q0 i3 ^5 c' Y6 b+ b
2.9 模拟接口
* H( G5 a' F9 z7 }! K5 r" q2.9.1 模数转换背景知识
4 n1 G2 e) J1 W9 v2.9.2 模数转换外设7 c& r& |; n$ c( ]3 n8 O4 ~
2.9.3 模拟比较器
: o5 f' |/ `( B* [2.10 利用SPI进行串行通信8 q% T3 T: x" I1 z
2.11 AVR RISC汇编语言指令集
; o4 |* X) f0 a; E/ H5 ~ x2.12 本章小结0 ~% S+ C0 V+ ~ z! v7 f3 h
2.13 练习0 u, s b/ j( g9 {* R9 i
2.14 上机实习
& Y0 X8 P& X) h
9 s0 m$ @) K# h1 o第3章 标准I/O和预处理函数
; g+ k7 H; V. i# i8 R6 C' Z; l
5 E H \" w1 m' |3.1 本章目标
- V" `. e* f" Y/ {( R3.2 引言7 _: @) j- V2 I8 D
3.3 字符输入/输出函数getchar()和putchar()
5 P; i: M$ r% q" X3.4 标准输出函数
2 D9 r9 m# O. Y3.4.1 输出字符串函数puts()5 w+ {( a2 F" |: g5 M6 q; |
3.4.2 从FLASH输出字符串函数PUTSF()
. C6 ?( c# J6 R; x% q8 c' | |! N3.4.3 格式打印函数Printf()
) O! z0 y4 l# h, ~: }5 j3.4.4 字符串格式打印函数sprintf()5 X/ f |2 p6 g& _% y/ `7 w
3.5 标准输入函数, L+ d9 B7 G( j, p& Z; s! b+ @# Z
3.5.1 获得字符串函数gets()
+ G- L, |9 y0 @9 o3 u3 b3.5.2 格式扫描函数scanf()) ~7 m& h2 w/ t: r* `
3.5.3 字符串格式扫描函数sscanf()8 m! y; x; H" O# _( K' d
3.6 预处理指令
& y. G+ ?2 G6 Y) Z# @3.6.1 #include指令
- h0 v" |! }8 o8 X7 a3.6.2 #define指令
8 i6 e- D* q$ @% }# x' j. y! Z/ X. X3.6.3 #ifdef,#ifinef,#else和#endif指令
- ~, P8 J" g$ F8 R$ X5 l7 s3.6.4 #pragma指令
$ w. K( m( S G! Y2 [$ O$ t1 X$ K3.6.5 其他宏和指令
" F( G$ ]# ~6 k. g% k2 i& h3.7 本章小结4 \. e4 X, I+ j/ ?8 z, ^* U
3.8 练习, }0 A& Y# _/ _; `$ e/ \( ~! w# [
3.9 上机实习( H5 k' E. Z/ P+ P" i8 m) H
; @" u8 l" C& Y8 Q3 `' v
第4章 CodeVisionAVR C编译器和集成开发环境+ u. c5 G' f0 N9 ] {# S
$ W4 Y/ S/ `( K1 }- n% L4.1 本章目标
; l) {8 J1 d: \: E6 ~, g4.2 引言7 N9 _/ Y4 J# c8 k6 P( f
4.3 集成开发(IDE)环境操作1 F C2 G3 A$ P# D# Y! E* I
4.3.1 项目
2 I7 T5 m0 N$ { k. z4.3.2 源文件5 K$ D+ j: e# r7 x+ U: a
4.3.3 编辑文件 S# g; @9 a! F. q6 m/ q
4.3.4 打印文件. z$ |# _" w0 \4 Q6 v
4.3.5 文件导航器
+ J0 k- [. z' F! a4.4 C编译器选项
, p6 Q* s: @" D' R$ ?4.4.1 UART
* z* h' ^1 p T* ]; h: {6 Z4.4.2 存储器模式
/ s ~# s" z# t$ Y2 G$ \0 W! ]4.4.3 优化' g, R# d9 A# A$ ?9 G' l6 q" @
4.4.4 程序类型
T4 N, @6 u3 B* w* ?) l! {! n2 K1 r4.4.5 SRAM
, x. t8 w9 A9 M$ d7 ^1 Y4.4.6 编译
' z" E1 w* P, P9 n9 x2 j0 x4.5 编译和生成项目
5 ]1 o% M! h$ W8 A6 {" M$ D$ Q, `3 O4.5.1 编译项目
. a# H# O+ F0 @4.5.2 生成项目
) J$ |& m2 x/ j# T+ {4.6 对目标设备编程2 K. |0 N* L% Q* H- S1 \
4.6.1 芯片; Q- r S3 K" z% f( `
4.6.2 FLASH和EEPROM
7 l; r$ X% j4 S3 ^1 a) X0 u4.6.3 FLASH锁定位" _6 `1 [* ?1 ^8 ]4 s
4.6.4 保险位
0 h5 X- d7 F* D4.6.5 Boot Lock Bit 0和Boot Lock Bit 1
+ e, _( ] G5 c d+ @# G4.6.6 签名
7 b. \$ C' d8 A4 H: Y4.6.7 芯片擦除
" b: P$ L3 X* w' d' l4 |4.6.8 编程速度) e( x+ i4 U* M7 d
4.6.9 Program|All
, y& V! F3 q" L4.6.10 其他编程器
$ N# o1 Z/ x- i: T! ?0 ^( A1 n' w h4.7 CodeWizard AVR代码生成器9 s' }% A$ C K" Z
4.7.1 Chip选项卡- j) T+ s8 V4 L$ F
4.7.2 Ports选项卡$ \3 Y3 ?9 z5 K9 d
4.7.3 External IRQ选项卡
. {' ?! _! X' X, \: ]6 B2 r4.7.4 Timers选项卡
" B0 z0 ]/ Y8 K- P: M* `4.7.5 UART选项卡
4 {7 A4 u8 B( X2 i3 M* _ Z4.7.6 ADC选项卡
( A+ ` q4 {. @) L4.7.7 Project Information选项卡
: u9 X! k% d, R6 x; y6 z' W, u4.7.8 生成源代码
+ V# q* X( `5 ]4.8 终端工具
0 j/ k) f' W1 v' _ [) a7 u4.9 Atmel AVR Studio调试器
: Y0 i. ?7 K6 D( d+ g4.9.1 为AVR Studio新建一个COFF文件
9 R# }! A# s8 {3 G' |4.9.2 从Code Vision AVR启动AVR Studio: u, s4 |8 W2 E3 [
4.9.3 打开文件进行调试
" y) \' |! e" N3 V1 ?: E9 @1 |. Z4.9.4 开始、中断和跟踪
3 c6 m0 h" W4 \' ?& G4.9.5 设置和清除断点
7 [( ]" D" E: V: M" [: j, U4.9.6 查看和修改寄存器和变量的值
& n, @; Z |% C" p# J: D4.9.7 查看和修改机器状态' h% E) ` T) `# F- B' p+ H1 R: R
4.10 本章小结0 L; \8 T. D1 Z' j u
4.11 练习+ A* n. V1 e( L" a1 j" P
4.12 上机实习
. b m# _% h* _% \- A3 B6 }: n: U% I* _8 w3 e. N- L& @
第5章 项目开发* t0 M3 u5 U6 S% j8 y) B, V
! h/ q$ B3 x% k
5.1 本章目标
6 a. Y! G* m( p% y5 ~; G* \5.2 引言
' u) w' W g4 r# I5.3 概念开发阶段3 V) ?8 B& ?- b* l7 l6 u
5.4 项目开发过程的步骤
$ i: u4 [& M3 f2 ^3 B5.4.1 定义阶段
6 R9 d- _- ~0 p6 g$ K5.4.2 设计阶段" j& X8 ^$ d: S* @
5.4.3 测试定义阶段+ s" Z/ ?: \* _" l. T/ L3 ~# ^. Q
5.4.4 建立和测试硬件原型阶段
& r- _+ g8 J* |9 k" ^5.4.5 系统集成和开发阶段' Z: u& Y8 M8 d, c2 l0 t9 ?( i/ \
5.4.6 系统测试阶段
+ E" P% p+ b' A5 `# K2 j0 \, @5.4.7 庆祝阶段
2 [/ w* u, j, D- W4 x. u7 ~ [0 x5.5 项目开发过程总结4 t6 n; e; r+ g j3 w. u8 h
5.6 示例项目:一个气象监测器" A! G, ?, |4 h: G6 C; D
5.6.1 构思阶段9 c4 }, H7 u! c$ d7 ]# Y
5.6.2 定义阶段( n, \* e ?3 p" N: B$ s. r# Z
5.6.3 测量方法在设计方面的考虑6 y3 F# S% }5 f0 }. R
5.6.4 室外装置的硬件设计$ F3 M' H9 s m7 R, R* ?) J$ k/ X
5.6.5 室外装置的软件设计
! y; u* S/ Q0 U; e& k5.6.6 室内装置的硬件设计3 D, g, X, m0 p% Q3 Z: r6 f: E% e( c
5.6.7 室内装置的软件设计
; c4 P: j; g' A. X0 b5.6.8 测试定义阶段6 i5 @( c! e/ ^5 B7 Y- }& l
5.6.9 建立和测试原型硬件阶段. J. o1 v' u4 V0 J! f
5.6.10 系统集成和软件开发阶段——室外装置8 B5 L# r1 Y8 X5 \
5.6.11 系统集成和软件开发阶段——室内装置
4 P) [$ i+ E$ c5.6.12 系统测试阶段5 h0 p+ P, A& W9 h: }
5.7 挑战
: o1 d$ U G! V0 v- ~5.8 本章小结" U0 F$ u: ~+ \) s3 t3 Y
5.9 练习
$ v8 E5 n; A4 O5.10 上机实习
- {+ M: R" M& c3 T5 D" M7 d% y: l: ?2 K+ @' K- ^5 Q
附录A 库函数参考- _" f0 b* V) a0 \. Z/ P5 y1 P
附录B CodeVisionAVR和STK500入门
6 k2 _5 T, T, x$ Y0 _! {( T1 E附录C AVR微控制器编程
. @! J8 f+ j; X( y, B) M, U7 [) _, ?附录D 安装并使用TheCableAVR% e$ X- i4 z Y: C5 E4 n4 o7 i
附录E MegAVR-DEV开发板
* Q9 k% ]9 t6 F附录F ASCII字符表# V6 ?' M! }0 h; j% o* j4 w3 z
附录G AVR指令集汇总
; s8 y4 y. f) l附录H 部分练习答案
. w3 f7 R' K O( t |
|