单片机C语言应用程序设计针对目前最通用的单片机8051和最流行的程序设计语言——C语言,以KEII。公司8051单片机开发套件讲解单片机的C语言应用程序设计。该套件的编译器有支持经典8051及8051派生产品的版本,统称为Cx51。Windows集成开发环境μVision2把μVisionl用的模拟调试器dScope与集成环境无缝结合起来,使用更方便,支持的单片机品种更多。 本书的特点是取材于原文资料,总结实际教学和应用经验,实例较多,实用性强。本书中C语言是针对8051特有结构描述的,这样,即使无编程基础的人,也可通过本书学习单片机的c编程。单片机C语言应用程序设计目录第1章 单片机基础知识 1.1 8051单片机的特点 1.2 8051的内部知识 1.3 8051的系统扩展 习题一第2章 C与8051 2.1 8051的编程语言 2.2 Cx51编译器 2.3 KEIL 8051开发工具 2.4 KEIL Cx51编程实例 2.5 Cx51程序结构 习题二第3章 Cx51 数据与运算 3.1 数据与数据类型 3.2 常量与变量 3.3 Cx51数据存储类型与8051存储器结构 3.4 8051特殊功能寄存器(SFR)及其Cx51定义 3.5 8051并行接口及其Cx51定义 3.6 位变量(BIT)及其Cx51定义 3.7 Cx51运算符、表达式及其规则 习题三第4章 Cx51 流程控制语句 4.1 C语言程序的基本结构及其流程图 4.2 选择语句 4.3 循环语句 习题四第5章 Cx51 构造数据类型 5.1 数组 5.2 指针 5.3 结构 5.4 共用体 5.5 枚举 习题五第6章 Cx51 函数第7章 模块化程序设计第8章 8051内部资源的C编辑第9章 8051扩展资源的C编辑第10章 8051输出控制的C编程第11章 8051数据采集的C编程第12章 8051机间通信的C编程第13章 8051人机交互的C编程附录A μVision2集成开发环境使用附录B KEIL Cx51 上机制南
上传时间: 2013-10-21
上传用户:行者Xin
MSP430系列flash型超低功耗16位单片机MSP430系列单片机在超低功耗和功能集成等方面有明显的特点。该系列单片机自问世以来,颇受用户关注。在2000年该系列单片机又出现了几个FLASH型的成员,它们除了仍然具备适合应用在自动信号采集系统、电池供电便携式装置、超长时间连续工作的设备等领域的特点外,更具有开发方便、可以现场编程等优点。这些技术特点正是应用工程师特别感兴趣的。《MSP430系列FLASH型超低功耗16位单片机》对该系列单片机的FLASH型成员的原理、结构、内部各功能模块及开发方法与工具作详细介绍。MSP430系列FLASH型超低功耗16位单片机 目录 第1章 引 论1.1 MSP430系列单片机1.2 MSP430F11x系列1.3 MSP430F11x1系列1.4 MSP430F13x系列1.5 MSP430F14x系列第2章 结构概述2.1 引 言2.2 CPU2.3 程序存储器2.4 数据存储器2.5 运行控制2.6 外围模块2.7 振荡器与时钟发生器第3章 系统复位、中断及工作模式3.1 系统复位和初始化3.1.1 引 言3.1.2 系统复位后的设备初始化3.2 中断系统结构3.3 MSP430 中断优先级3.3.1 中断操作--复位/NMI3.3.2 中断操作--振荡器失效控制3.4 中断处理 3.4.1 SFR中的中断控制位3.4.2 中断向量地址3.4.3 外部中断3.5 工作模式3.5.1 低功耗模式0、1(LPM0和LPM1)3.5.2 低功耗模式2、3(LPM2和LPM3)3.5.3 低功耗模式4(LPM4)22 3.6 低功耗应用的要点23第4章 存储空间4.1 引 言4.2 存储器中的数据4.3 片内ROM组织4.3.1 ROM 表的处理4.3.2 计算分支跳转和子程序调用4.4 RAM 和外围模块组织4.4.1 RAM4.4.2 外围模块--地址定位4.4.3 外围模块--SFR4.5 FLASH存储器4.5.1 FLASH存储器的组织4.5.2 FALSH存储器的数据结构4.5.3 FLASH存储器的控制寄存器4.5.4 FLASH存储器的安全键值与中断4.5.5 经JTAG接口访问FLASH存储器39第5章 16位CPU5.1 CPU寄存器5.1.1 程序计数器PC5.1.2 系统堆栈指针SP5.1.3 状态寄存器SR5.1.4 常数发生寄存器CG1和CG25.2 寻址模式5.2.1 寄存器模式5.2.2 变址模式5.2.3 符号模式5.2.4 绝对模式5.2.5 间接模式5.2.6 间接增量模式5.2.7 立即模式5.2.8 指令的时钟周期与长度5.3 指令组概述5.3.1 双操作数指令5.3.2 单操作数指令5.3.3 条件跳转5.3.4 模拟指令的简短格式5.3.5 其他指令第6章 硬件乘法器6.1 硬件乘法器6.2 硬件乘法器操作6.2.1 无符号数相乘(16位×16位、16位×8位、8位×16位、8位×8位)6.2.2 有符号数相乘(16位×16位、16位×8位、8位×16位、8位×8位)6.2.3 无符号数乘加(16位×16位、16位×8位、8位×16位、8位×8位)6.2.4 有符号数乘加(16位×16位、16位×8位、8位×16位、8位×8位)6.3 硬件乘法器寄存器6.4 硬件乘法器的软件限制6.4.1 寻址模式6.4.2 中断程序6.4.3 MACS第7章 基础时钟模块7.1 基础时钟模块7.2 LFXT1与XT27.2.1 LFXT1振荡器7.2.2 XT2振荡器7.2.3 振荡器失效检测7.2.4 XT振荡器失效时的DCO7.3 DCO振荡器7.3.1 DCO振荡器的特性7.3.2 DCO调整器7.4 时钟与运行模式7.4.1 由PUC启动7.4.2 基础时钟调整7.4.3 用于低功耗的基础时钟特性7.4.4 选择晶振产生MCLK7.4.5 时钟信号的同步7.5 基础时钟模块控制寄存器7.5.1 DCO时钟频率控制7.5.2 振荡器与时钟控制寄存器7.5.3 SFR控制位第8章 输入输出端口8.1 引 言8.2 端口P1、P28.2.1 P1、P2的控制寄存器8.2.2 P1、P2的原理8.2.3 P1、P2的中断控制功能8.3 端口P3、P4、P5和P68.3.1 端口P3、P4、P5和P6的控制寄存器8.3.2 端口P3、P4、P5和P6的端口逻辑第9章 看门狗定时器WDT9.1 看门狗定时器9.2 WDT寄存器9.3 WDT中断控制功能9.4 WDT操作第10章 16位定时器Timer_A10.1 引 言10.2 Timer_A的操作10.2.1 定时器模式控制10.2.2 时钟源选择和分频10.2.3 定时器启动10.3 定时器模式10.3.1 停止模式10.3.2 增计数模式10.3.3 连续模式10.3.4 增/减计数模式10.4 捕获/比较模块10.4.1 捕获模式10.4.2 比较模式10.5 输出单元10.5.1 输出模式10.5.2 输出控制模块10.5.3 输出举例10.6 Timer_A的寄存器10.6.1 Timer_A控制寄存器TACTL10.6.2 Timer_A寄存器TAR10.6.3 捕获/比较控制寄存器CCTLx10.6.4 Timer_A中断向量寄存器10.7 Timer_A的UART应用 第11章 16位定时器Timer_B11.1 引 言11.2 Timer_B的操作11.2.1 定时器长度11.2.2 定时器模式控制11.2.3 时钟源选择和分频11.2.4 定时器启动11.3 定时器模式11.3.1 停止模式11.3.2 增计数模式11.3.3 连续模式11.3.4 增/减计数模式11.4 捕获/比较模块11.4.1 捕获模式11.4.2 比较模式11.5 输出单元11.5.1 输出模式11.5.2 输出控制模块11.5.3 输出举例11.6 Timer_B的寄存器11.6.1 Timer_B控制寄存器TBCTL11.6.2 Timer_B寄存器TBR11.6.3 捕获/比较控制寄存器CCTLx11.6.4 Timer_B中断向量寄存器第12章 USART通信模块的UART功能12.1 异步模式12.1.1 异步帧格式12.1.2 异步通信的波特率发生器12.1.3 异步通信格式12.1.4 线路空闲多机模式12.1.5 地址位多机通信格式12.2 中断和中断允许12.2.1 USART接收允许12.2.2 USART发送允许12.2.3 USART接收中断操作12.2.4 USART发送中断操作12.3 控制和状态寄存器12.3.1 USART控制寄存器UCTL12.3.2 发送控制寄存器UTCTL12.3.3 接收控制寄存器URCTL12.3.4 波特率选择和调整控制寄存器12.3.5 USART接收数据缓存URXBUF12.3.6 USART发送数据缓存UTXBUF12.4 UART模式,低功耗模式应用特性12.4.1 由UART帧启动接收操作12.4.2 时钟频率的充分利用与UART的波特率12.4.3 多处理机模式对节约MSP430资源的支持12.5 波特率计算 第13章 USART通信模块的SPI功能13.1 USART同步操作13.1.1 SPI模式中的主模式13.1.2 SPI模式中的从模式13.2 中断与控制功能 13.2.1 USART接收/发送允许位及接收操作13.2.2 USART接收/发送允许位及发送操作13.2.3 USART接收中断操作13.2.4 USART发送中断操作13.3 控制与状态寄存器13.3.1 USART控制寄存器13.3.2 发送控制寄存器UTCTL13.3.3 接收控制寄存器URCTL13.3.4 波特率选择和调制控制寄存器13.3.5 USART接收数据缓存URXBUF13.3.6 USART发送数据缓存UTXBUF第14章 比较器Comparator_A14.1 概 述14.2 比较器A原理14.2.1 输入模拟开关14.2.2 输入多路切换14.2.3 比较器14.2.4 输出滤波器14.2.5 参考电平发生器14.2.6 比较器A中断电路14.3 比较器A控制寄存器14.3.1 控制寄存器CACTL114.3.2 控制寄存器CACTL214.3.3 端口禁止寄存器CAPD14.4 比较器A应用14.4.1 模拟信号在数字端口的输入14.4.2 比较器A测量电阻元件14.4.3 两个独立电阻元件的测量系统14.4.4 比较器A检测电流或电压14.4.5 比较器A测量电流或电压14.4.6 测量比较器A的偏压14.4.7 比较器A的偏压补偿14.4.8 增加比较器A的回差第15章 模数转换器ADC1215.1 概 述15.2 ADC12的工作原理及操作15.2.1 ADC内核15.2.2 参考电平15.3 模拟输入与多路切换15.3.1 模拟多路切换15.3.2 输入信号15.3.3 热敏二极管的使用15.4 转换存储15.5 转换模式15.5.1 单通道单次转换模式15.5.2 序列通道单次转换模式15.5.3 单通道重复转换模式15.5.4 序列通道重复转换模式15.5.5 转换模式之间的切换15.5.6 低功耗15.6 转换时钟与转换速度15.7 采 样15.7.1 采样操作15.7.2 采样信号输入选择15.7.3 采样模式15.7.4 MSC位的使用15.7.5 采样时序15.8 ADC12控制寄存器15.8.1 控制寄存器ADC12CTL0和ADC12CTL115.8.2 转换存储寄存器ADC12MEMx15.8.3 控制寄存器ADC12MCTLx15.8.4 中断标志寄存器ADC12IFG.x和中断允许寄存器ADC12IEN.x15.8.5 中断向量寄存器ADC12IV15.9 ADC12接地与降噪第16章 FLASH型芯片的开发16.1 开发系统概述16.1.1 开发技术16.1.2 MSP430系列的开发16.1.3 MSP430F系列的开发16.2 FLASH型的FET开发方法16.2.1 MSP430芯片的JTAG接口16.2.2 FLASH型仿真工具16.3 FLASH型的BOOT ROM16.3.1 标准复位过程和进入BSL过程16.3.2 BSL的UART协议16.3.3 数据格式16.3.4 退出BSL16.3.5 保护口令16.3.6 BSL的内部设置和资源附录A 寻址空间附录B 指令说明B.1 指令汇总B.2 指令格式B.3 不增加ROM开销的模拟指令B.4 指令说明(字母顺序)B.5 用几条指令模拟的宏指令附录C MSP430系列单片机参数表附录D MSP430系列单片机封装形式附录E MSP430系列器件命名
上传时间: 2014-04-28
上传用户:sssnaxie
单片机音乐中音调和节拍的确定方法:调号-音乐上指用以确定乐曲主音高度的符号。很明显一个八度就有12个半音。A、B、C、D、E、F、G。经过声学家的研究,全世界都用这些字母来表示固定的音高。比如,A这个音,标准的音高为每秒钟振动440周。 升C调:1=#C,也就是降D调:1=BD;277(频率)升D调:1=#D,也就是降E调:1=BE;311升F调:1=#F,也就是降G调:1=BG;369升G调:1=#G,也就是降A调:1=BA;415升A调:1=#A,也就是降B调:1=BB。466,C 262 #C277 D 294 #D(bE)311 E 330 F 349 #F369 G 392 #G415A 440. #A466 B 494 所谓1=A,就是说,这首歌曲的“导”要唱得同A一样高,人们也把这首歌曲叫做A调歌曲,或叫“唱A调”。1=C,就是说,这首歌曲的“导”要唱得同C一样高,或者说“这歌曲唱C调”。同样是“导”,不同的调唱起来的高低是不一样的。各调的对应的标准频率为: 单片机演奏音乐时音调和节拍的确定方法 经常看到一些刚学单片机的朋友对单片机演奏音乐比较有兴趣,本人也曾是这样。在此,本人将就这方面的知识做一些简介,但愿能对单片机演奏音乐比较有兴趣而又不知其解的朋友能有所启迪。 一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音。因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和“节拍”。音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。 在音乐中所谓“音调”,其实就是我们常说的“音高”。在音乐中常把中央C上方的A音定为标准音高,其频率f=440Hz。当两个声音信号的频率相差一倍时,也即f2=2f1时,则称f2比f1高一个倍频程, 在音乐中1(do)与 ,2(来)与 ……正好相差一个倍频程,在音乐学中称它相差一个八度音。在一个八度音内,有12个半音。以1—i八音区为例, 12个半音是:1—#1、#1—2、2—#2、#2—3、3—4、4—#4,#4—5、5一#5、#5—6、6—#6、#6—7、7—i。这12个音阶的分度基本上是以对数关系来划分的。如果我们只要知道了这十二个音符的音高,也就是其基本音调的频率,我们就可根据倍频程的关系得到其他音符基本音调的频率。 知道了一个音符的频率后,怎样让单片机发出相应频率的声音呢?一般说来,常采用的方法就是通过单片机的定时器定时中断,将单片机上对应蜂鸣器的I/O口来回取反,或者说来回清零,置位,从而让蜂鸣器发出声音,为了让单片机发出不同频率的声音,我们只需将定时器予置不同的定时值就可实现。那么怎样确定一个频率所对应的定时器的定时值呢?以标准音高A为例: A的频率f = 440 Hz,其对应的周期为:T = 1/ f = 1/440 =2272μs 由上图可知,单片机上对应蜂鸣器的I/O口来回取反的时间应为:t = T/2 = 2272/2 = 1136μs这个时间t也就是单片机上定时器应有的中断触发时间。一般情况下,单片机奏乐时,其定时器为工作方式1,它以振荡器的十二分频信号为计数脉冲。设振荡器频率为f0,则定时器的予置初值由下式来确定: t = 12 *(TALL – THL)/ f0 式中TALL = 216 = 65536,THL为定时器待确定的计数初值。因此定时器的高低计数器的初值为: TH = THL / 256 = ( TALL – t* f0/12) / 256 TL = THL % 256 = ( TALL – t* f0/12) %256 将t=1136μs代入上面两式(注意:计算时应将时间和频率的单位换算一致),即可求出标准音高A在单片机晶振频率f0=12Mhz,定时器在工作方式1下的定时器高低计数器的予置初值为 : TH440Hz = (65536 – 1136 * 12/12) /256 = FBH TL440Hz = (65536 – 1136 * 12/12)%256 = 90H根据上面的求解方法,我们就可求出其他音调相应的计数器的予置初值。 音符的节拍我们可以举例来说明。在一张乐谱中,我们经常会看到这样的表达式,如1=C 、1=G …… 等等,这里1=C,1=G表示乐谱的曲调,和我们前面所谈的音调有很大的关联, 、 就是用来表示节拍的。以 为例加以说明,它表示乐谱中以四分音符为节拍,每一小结有三拍。比如: 其中1 、2 为一拍,3、4、5为一拍,6为一拍共三拍。1 、2的时长为四分音符的一半,即为八分音符长,3、4的时长为八分音符的一半,即为十六分音符长,5的时长为四分音符的一半,即为八分音符长,6的时长为四分音符长。那么一拍到底该唱多长呢?一般说来,如果乐曲没有特殊说明,一拍的时长大约为400—500ms 。我们以一拍的时长为400ms为例,则当以四分音符为节拍时,四分音符的时长就为400ms,八分音符的时长就为200ms,十六分音符的时长就为100ms。可见,在单片机上控制一个音符唱多长可采用循环延时的方法来实现。首先,我们确定一个基本时长的延时程序,比如说以十六分音符的时长为基本延时时间,那么,对于一个音符,如果它为十六分音符,则只需调用一次延时程序,如果它为八分音符,则只需调用二次延时程序,如果它为四分音符,则只需调用四次延时程序,依次类推。通过上面关于一个音符音调和节拍的确定方法,我们就可以在单片机上实现演奏音乐了。具体的实现方法为:将乐谱中的每个音符的音调及节拍变换成相应的音调参数和节拍参数,将他们做成数据表格,存放在存储器中,通过程序取出一个音符的相关参数,播放该音符,该音符唱完后,接着取出下一个音符的相关参数……,如此直到播放完毕最后一个音符,根据需要也可循环不停地播放整个乐曲。另外,对于乐曲中的休止符,一般将其音调参数设为FFH,FFH,其节拍参数与其他音符的节拍参数确定方法一致,乐曲结束用节拍参数为00H来表示。下面给出部分音符(三个八度音)的频率以及以单片机晶振频率f0=12Mhz,定时器在工作方式1下的定时器高低计数器的予置初值 : C调音符 频率Hz 262 277 293 311 329 349 370 392 415 440 466 494TH/TL F88B F8F2 F95B F9B7 FA14 FA66 FAB9 FB03 FB4A FB8F FBCF FC0BC调音符 1 1# 2 2# 3 4 4# 5 5# 6 6# 7频率Hz 523 553 586 621 658 697 739 783 830 879 931 987TH/TL FC43 FC78 FCAB FCDB FD08 FD33 FD5B FD81 FDA5 FDC7 FDE7 FE05C调音符 频率Hz 1045 1106 1171 1241 1316 1393 1476 1563 1658 1755 1860 1971TH/TL FB21 FE3C FE55 FE6D FE84 FE99 FEAD FEC0 FE02 FEE3 FEF3 FF02
上传时间: 2013-10-20
上传用户:哈哈haha
pic单片机实用教程(提高篇)以介绍PIC16F87X型号单片机为主,并适当兼顾PIC全系列,共分9章,内容包括:存储器;I/O端口的复位功能;定时器/计数器TMR1;定时器TMR2;输入捕捉/输出比较/脉宽调制CCP;模/数转换器ADC;通用同步/异步收发器USART;主控同步串行端口MSSP:SPI模式和I2C模式。突出特点:通俗易懂、可读性强、系统全面、学练结合、学用并重、实例丰富、习题齐全。<br>本书作为Microchip公司大学计划选择用书,可广泛适用于初步具备电子技术基础和计算机知识基础的学生、教师、单片机爱好者、电子制作爱好者、电器维修人员、电子产品开发设计者、工程技术人员阅读。本教程全书共分2篇,即基础篇和提高篇,分2册出版,以适应不同课时和不同专业的需要,也为教师和读者增加了一种可选方案。 第1章 EEPROM数据存储器和FIASH程序存储器1.1 背景知识1.1.1 通用型半导体存储器的种类和特点1.1.2 PIC单片机内部的程序存储器1.1.3 PIC单片机内部的EEPROM数据存储器1.1.4 PIC16F87X内部EEPROM和FIASH操作方法1.2 与EEPROM相关的寄存器1.3 片内EEPROM数据存储器结构和操作原理1.3.1 从EEPROM中读取数据1.3.2 向EEPROM中烧写数据1.4 与FLASH相关的寄存器1.5 片内FLASH程序存储器结构和操作原理1.5.1 读取FLASH程序存储器1.5.2 烧写FLASH程序存储器1.6 写操作的安全保障措施1.6.1 写入校验方法1.6.2 预防意外写操作的保障措施1.7 EEPROM和FLASH应用举例1.7.1 EEPROM的应用1.7.2 FIASH的应用思考题与练习题第2章 输入/输出端口的复合功能2.1 RA端口2.1.1 与RA端口相关的寄存器2.1.2 电路结构和工作原理2.1.3 编程方法2.2 RB端口2.2.1 与RB端口相关的寄存器2.2.2 电路结构和工作原理2.2.3 编程方法2.3 RC端口2.3.1 与RC端口相关的寄存器2.3.2 电路结构和工作原理2.3.3 编程方法2.4 RD端口2.4.1 与RD端口相关的寄存器2.4.2 电路结构和工作原理2.4.3 编程方法2.5 RE端口2.5.1 与RE端口相关的寄存器2.5.2 电路结构和工作原理2.5.3 编程方法2.6 PSP并行从动端口2.6.1 与PSP端口相关的寄存器2.6.2 电路结构和工作原理2.7 应用举例思考题与练习题第3章 定时器/计数器TMR13.1 定时器/计数器TMR1模块的特性3.2 定时器/计数器TMR1模块相关的寄存器3.3 定时器/计数器TMR1模块的电路结构3.4 定时器/计数器TMR1模块的工作原理3.4.1 禁止TMR1工作3.4.2 定时器工作方式3.4.3 计数器工作方式3.4.4 TMR1寄存器的赋值与复位3.5 定时器/计数器TMR1模块的应用举例思考题与练习题第4章 定时器TMR24.1 定时器TMR2模块的特性4.2 定时器TMR2模块相关的寄存器4.3 定时器TMR2模块的电路结构4.4 定时器TMR2模块的工作原理4.4.1 禁止TMR2工作4.4.2 定时器工作方式4.4.3 寄存器TMR2和PR2以及分频器的复位4.4.4 TMR2模块的初始化编程4.5 定时器TMR2模块的应用举例思考题与练习题第5章 输入捕捉/输出比较/脉宽调制CCP5.1 输入捕捉工作模式5.1.1 输入捕捉摸式相关的寄存器5.1.2 输入捕捉模式的电路结构5.1.3 输入捕捉摸式的工作原理5.1.4 输入捕捉摸式的应用举例5.2 输出比较工作模式5.2.1 输出比较模式相关的寄存器5.2.2 输出比较模式的电路结构5.2.3 输出比较模式的工作原理5.2.4 输出比较模式的应用举例5.3 脉宽调制输出工作模式5.3.1 脉宽调制模式相关的寄存器5.3.2 脉宽调制模式的电路结构5.3.3 脉宽调制模式的工作原理5.3.4 脉定调制模式的应用举例5.4 两个CCP模块之间相互关系思考题与练习题第6章 模/数转换器ADC6.1 背景知识6.1.1 ADC种类与特点6.1.2 ADC器件的工作原理6.2 PIC16F87X片内ADC模块6.2.1 ADC模块相关的寄存器6.2.2 ADC模块结构和操作原理6.2.3 ADC模块操作时间要求6.2.4 特殊情况下的A/D转换6.2.5 ADC模块的转换精度和分辨率6.2.6 ADC模块的内部动作流程和传递函数6.2.7 ADC模块的操作编程6.3 PIC16F87X片内ADC模块的应用举例思考题与练习题第7章 通用同步/异步收发器USART7.1 串行通信的基本概念7.1.1 串行通信的两种基本方式7.1.2 串行通信中数据传送方向7.1.3 串行通信中的控制方式7.1.4 串行通信中的码型、编码方式和帧结构7.1.5 串行通信中的检错和纠错方式7.1.6 串行通信组网方式7.1.7 串行通信接口电路和参数7.1.8 串行通信的传输速率7.2 PIC16F87X片内通用同步/异步收发器USART模块7.2.1 与USART模块相关的寄存器7.2.2 USART波特率发生器BRG7.2.3 USART模块的异步工作方式7.2.4 USART模块的同步主控工作方式7.2.5 USART模块的同步从动工作方式7.3 通用同步/异步收发器USART的应用举例思考题与练习题第8章 主控同步串行端口MSSP——SPI模式8.1 SPI接口的背景知识8.1.1 SPI接口信号描述8.1.2 基于SPI的系统构成方式8.1.3 SPI接口工作原理8.1.4 兼容的MicroWire接口8.2 PIC16F87X的SPI接口8.2.1 SPI接口相关的寄存器8.2.2 SPI接口的结构和操作原理8.2.3 SPI接口的主控方式8.2.4 SPI接口的从动方式8.3 SPI接口的应用举例思考题与练习题第9章 主控同步串行端口MSSP——I(平方)C模式9.1 I(平方)C总线的背景知识9.1.1 名词术语9.1.2 I(平方)C总线的技术特点9.1.3 I(平方)C总线的基本工作原理9.1.4 I(平方)C总线信号时序分析9.1.5 信号传送格式9.1.6 寻址约定9.1.7 技术参数9.1.8 I(平方)C器件与I(平方)C总线的接线方式9.1.9 相兼容的SMBus总线9.2 与I(平方)C总线相关的寄存器9.3 典型信号时序的产生方法9.3.1 波特率发生器9.3.2 启动信号9.3.3 重启动信号9.3.4 应答信号9.3.5 停止信号9.4 被控器通信方式9.4.1 硬件结构9.4.2 被主控器寻址9.4.3 被控器接收——被控接收器9.4.4 被控器发送——被控发送器9.4.5 广播式寻址9.5 主控器通信方式9.5.1 硬件结构9.5.2 主控器发送——主控发送器9.5.3 主控器接收——主控接收器9.6 多主通信方式下的总线冲突和总线仲裁9.6.1 发送和应答过程中的总线冲突9.6.2 启动过程中的总线冲突9.6.3 重启动过程中的总线冲突9.6.4 停止过程中的总线冲突9.7 I(平方)C总线的应用举例思考题与练习题附录A 包含文件P16F877.INC附录B 新版宏汇编器MPASM伪指令总表参考文献
上传时间: 2013-12-14
上传用户:xiaoyuer
附件有51单片机加上sl811读写U盘的源程序和原理图 /*--------------------------------------------------------------------------AT89X52.H Header file for the low voltage Flash Atmel AT89C52 and AT89LV52.Copyright (c) 1995-1996 Keil Software, Inc. All rights reserved.--------------------------------------------------------------------------*/ #ifndef AT89X52_HEADER_FILE#define AT89X52_HEADER_FILE 1 /*------------------------------------------------Byte Registers------------------------------------------------*/sfr P0 = 0x80;sfr SP = 0x81;sfr DPL = 0x82;sfr DPH = 0x83;sfr PCON = 0x87;sfr TCON = 0x88;sfr TMOD = 0x89;sfr TL0 = 0x8A;sfr TL1 = 0x8B;sfr TH0 = 0x8C;sfr TH1 = 0x8D;sfr P1 = 0x90;sfr SCON = 0x98;sfr SBUF = 0x99;sfr P2 = 0xA0;sfr IE = 0xA8;sfr P3 = 0xB0;sfr IP = 0xB8;sfr T2CON = 0xC8;sfr T2MOD = 0xC9;sfr RCAP2L = 0xCA;sfr RCAP2H = 0xCB;sfr TL2 = 0xCC;sfr TH2 = 0xCD;sfr PSW = 0xD0;sfr ACC = 0xE0;sfr B = 0xF0;
上传时间: 2014-01-05
上传用户:lnnn30
新茂单片机资料包20050225
上传时间: 2013-11-24
上传用户:jisiwole
TKS仿真器B系列快速入门
上传时间: 2013-10-31
上传用户:aix008
电子发烧友网:本资料是关于单片机及接口技术这门课程的期末考试试卷及答案的详解。 8.当需要从MCS-51单片机程序存储器取数据时,采用的指令为( )。 a)MOV A, @R1 b)MOVC A, @A + DPTR c)MOVX A, @ R0 d)MOVX A, @ DPTR 二、填空题(每空1分,共30分) 1.一个完整的微机系统由 和 两大部分组成。 2.8051 的引脚RST是____(IN脚还是OUT脚),当其端出现____电平时,8051进入复位状态。8051一直维持这个值,直到RST脚收到____电平,8051才脱离复位状态,进入程序运行状态,从ROM H单元开始取指令并翻译和执行。 3.半导体存储器分成两大类 和 ,其中 具有易失性,常用于存储 。
上传时间: 2015-01-03
上传用户:wfl_yy
一个简单好用的B+树算法实现
上传时间: 2015-01-04
上传用户:缥缈
一个用Basic实现的B-Tree算法
上传时间: 2013-12-30
上传用户:ccclll