|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
C8051F系列单片机开发与C语言编程精讲
. z) R! `) i5 ~! q d" ~8 l内容简介+ q- W) b5 V0 P, H" n# Z3 h0 ^
在介绍C8051Fxxx单片机工作原理的基础上,对单片机外设ADC、DAC、比较器、定时器、PWM、方波输' }' E3 A/ [' h7 ~! ~4 e4 }
出和定时器捕捉等均给出调试代码;在总线方面,对CAN,SMBUSPC,SPI和UART均给出双机调试代码和
8 A1 W, t: d# h) A' k7 H一些高层应用,以帮助读者更好地理解单片机工作原理;还增加了LCD、红外编码解码、步进电机、直流电机、7 r8 B# b& K0 A
舵机超声测距、PCROM及串行时钟等方面的应用,以提高实用性。
3 Q' ]; {# j) B4 I4 @本书实例较多,而且采用C语言编程,程序代码可读性和移植性强,大部分代码稍加修改即可成为其他
7 @" H2 w$ Z4 c型号单片机的子程序;含光盘一张,内含各章节调试代码,以方便读者学习。
& R" B% f( ^7 \1 C5 V2 L本书可作为使用C8051F系列单片机进行产品开发的工程技术人员的硬件和软件设计参考书,部分内容
5 k, ^% ]# i2 @对其他类型单片机的开发也具有一定的参考价值。0 N7 I, u, j. r: c3 j
3 G) R% T) v9 R+ m前言
' x v) W* S8 ~$ t$ K% G! [Silicon Laboratories公司出品的C8051Fxx单片机”是完全集成的混合信号4 O4 X3 _7 k% ^5 u$ h
系统级芯片(SOC),具有与MCS-51完全兼容的指令内核。该系列单片机采用
# w( ? H0 V! R6 }* p流水线处理(pipe line)技术,不再区分时钟周期和机器周期,能在执行指令期间预
6 q% } @5 Q; E+ L, v9 V- g2 l处理下一条指令,提高了指令执行效率。而且大部分C8051F单片机具备控制系2 _3 o2 u+ c% I
豌所需的模拟和数字外设。包括看门狗、ADC、DAC、电压比较器、电压基准输出、 k3 U9 _0 _' v2 u8 k
定时器、PWM、定时器捕捉和方波输出等,并具备多种总线接口,包括UART、( p; @5 J& V/ O" e
SPI.SMBUS(与FC兼容)总线以及CAN总线。C8051F系列单片机采用Flash7 a1 W, h* Z/ |5 T
ROM技术,集成JTAG,支持在线编程。C8051F 系列单片机诸多特点和优越性,使:
. I* J4 w" U$ o5 o其广受单片机系统设计工程师青睐,威为很多测控系统设计的首选机型。3 Q" \( `8 ~8 C" Q
本书以C8051F040为讲述对象,是因为该单片机为C8051F系列单片机中功
8 P% d0 D% G0 K/ V2 k+ u( ^3 l能最全,最具有代表性的一款。熟悉了C8051F040单片机工作原理和编程方法
; u4 y! v4 C, z. E4 J后,可较快地对C8051F系列其他单片机上手编程。事实上模拟和数字外设以及3 V _+ @3 M: x, c
各种总线具有共性,因而本书也可作为其他厂商单片机的参考资料,很多调试程
3 s9 s9 `" `* ^0 C8 T3 g0 k序稍加修改,即可应用于其他单片机。而且本书全部代码采用C语言编程,增强
M4 Y& x( X* W7 ^" @/ A1 C了程序的可读性和可移植性.
0 T3 T) }- g, Y$ c; s: T5 X2 r, F作者对C8051F040绝大部分外设均开发了调试代码,并给出运行结果,以及." D8 K+ k) ` [3 I0 T* X
一些改进措施,以帮助读者更好地理解单片机的工作原理,并确保程序的可靠性* Q7 ~7 T$ G) S2 a- y: `
和实用性。本书大部分代码可作为用户开发代码的子程序,缩短了用户调试开发
, v. K* a a2 h5 E周期。为了增强实用性,作者在C8051F040基础上增加了两章 CD输入/输出: r& ]- l) N& c$ |' m% ^( H& X
子程序和单片机应用。此两章内容不局限于C8051F系列单片机,同样适用于其
u9 t1 f$ P$ F' t T1 O P7 ~他系列单片机和DSP.- ?2 j' d% @# f, [$ b& ^
本书含光盘一张,内含各章节调试代码以及相关贵料的网络资源,以方便读;. z8 [" m: j; Q) T; A. v3 W/ X2 S
者学习。. o- }( M; J8 y q% c! z
作者到正了Silicon Laboratories 公司C8051F040技术白皮书中的某些错误,3 z) s" v3 n# r5 @) o
以及C8051F040.h文件中的一处错误。
7 U1 y2 q% q, z! Y! y
; _* |" t3 c) C# Q7 X& _1 d( V- S; O8 c; |# ^
0 T4 U; N6 h9 I2 r; B+ ?$ U# y+ Q" O |
|