会员注册 | 登录 | 微信快捷登录 支付宝快捷登录 QQ登录 微博登录 | 帮助中心 人人文库renrendoc.com美如初恋!
站内搜索 百度文库

热门搜索: 直缝焊接机 矿井提升机 循环球式转向器图纸 机器人手爪发展史 管道机器人dwg 动平衡试验台设计

C51入门【绝版好资料,看到就别错过】 .pdfC51入门【绝版好资料,看到就别错过】 .pdf -- 8 元

宽屏显示 收藏 分享

资源预览需要最新版本的Flash Player支持。
您尚未安装或版本过低,建议您

广州周立功单片机发展有限公司Tel02038730916387309173873097638730977Fax387309251第一章介绍这是一本关于Intel80C51以及广大的51系列单片机的书这本书介绍给读者一些新的技术使你的8051工程和开发过程变得简单请注意这本书的目的可不是教你各种8051嵌入式系统的解决方法为使问题讨论更加清晰在适当的地方给出了程序代码我们以讨论项目的方法来说明每章碰到的问题所有的代码都可在附带的光盘上找到你必须熟系C和8051汇编因为本书不是一本C和汇编的指导书你可以买到不少关于ANSIC的书最佳选择当然是Intel的数据书可从你的芯片供应商处免费索取和随编译工具附送的手册附送光盘中有我为这本书编写和收集的程序这些程序已经通过测试这并不意味着你可以随时把这些程序加到你的应用系统或工程中有些地方必须首先经过修改才能结合到你的程序中这本书将教你充分使用你的工具如果你只有8051的汇编程序你也可以学习该书和使用这些例子但是你必须把C语言的程序装入你的汇编程序中这对懂得C语言和8051汇编程序指令的人来说并不是一件困难的事如果你有C编译器的话那恭喜你使用C语言进行开发是一个好的决定你会发现使用C进行开发将使你的工程开发和维护的时间大大减少如果你已经拥有KeilC51那你已经选择了一个非常好的开发工具我发现Keil软件包能够提供最好的支持本书支持KeilC的扩展如果你有其它的开发工具像Archimedes和Avocet这本书也能很好地为你服务但你必须根据你所用的开发工具改变一些Keil的特殊指令在书的一些地方有硬件图实例程序在这些硬件上运行这些图绘制地不是很详细主要是方框图但足以使读者明白软件和硬件之间的接口读者应该把这本书看成工具书而不是用来学习各种系统设计通过本书你可以了解给定一定的硬件和软件设计之后8051的各种性能希望你能从本书中获取灵感并有助于你的设计使你豁然开朗当然我希望你也能够从本书中学到有用的知识使之能够提升你的设计综合维修网WWW.ZHFIX.COM广州周立功单片机发展有限公司Tel02038730916387309173873097638730977Fax387309252第二章硬件1概述8051系列微处理器基于简化的嵌入式控制系统结构被广泛应用于从军事到自动控制再到PC机上的键盘上的各种应用系统上仅次于Motorola68HC11在8位微控制器市场上的销量很多制造商都可提供8051系列单片机像IntelPhilipsSiemens等这些制造商给51系列单片机加入了大量的性能和外部功能像I2C总线接口模拟量到数字量的转换看门狗PWM输出等不少芯片的工作频率达到40M工作电压下降到1.5V基于一个内核的这些功能使得8051单片机很适合作为厂家产品的基本构架它能够运行各种程序而且开发者只需要学习这一个平台8051系列的基本结构如下1一个8位算术逻辑单元232个I/O口4组8位端口可单独寻址3两个16位定时计数器4全双工串行通信56个中断源两个中断优先级6128字节内置RAM7独立的64K字节可寻址数据和代码区每个8051处理周期包括12个振荡周期每12个振荡周期用来完成一项操作如取指令和计算指令执行时间可把时钟频率除以12取倒数然后指令执行所须的周期数因此如果你的系统时钟是11.059MHz除以12后就得到了每秒执行的指令个数为921583条指令取倒数将得到每条指令所须的时间1.085ms综合维修网WWW.ZHFIX.COM广州周立功单片机发展有限公司Tel02038730916387309173873097638730977Fax3873092532存储区结构8051结构提供给用户3个不同的存储空间如图A1每个存储空间包括从0到最大存储范围的连续的字节地址空间通过利用特定地址的寻址指令解决了地址重叠的问题三个地址空间的功能如图所示图A18051存储结构2.1CODE区第一个存储空间是代码段用来存放可执行代码被16位寻址空间可达64K代码段是只读的当要对外接存储器件如EPROM进行寻址时处理器会产生一个信号但这并不意味着代码区一定要用一个EPROM目前一般使用EEPROM作为外接存储器可以被外围器件或8051进行改写这使系统更新更加容易新的软件可以下载到EEPROM中而不用拆开它然后装入一个新的EEPROM另外带电池的SRAMs也可用来代替EPROM他可以像EEPROM一样进行程序的更新并且没有像EEPROM那样读写周期的限制但是当电源耗尽时存储在SRAMs中的程序也随之丢失使用SRAMs来代替EPROM时允许快速下载新程序到目标系统中这避免了编程/调试/擦写这样一个循环过程不再需要使用昂贵的在线仿真器除了可执行代码还可在代码段中存储查寻表为达此目的8051提供了通过数据指针DPTR或程序计数器加上由累加器提供的偏移量进行寻址的指令这样就可以把表头地址装入DPTR中把表中要寻址的元素的偏移量装入累加器中8051在执行指令时的过程中把这两者相加由此可节省不少指令周期在以后的例子中我们会看到这点综合维修网WWW.ZHFIX.COM广州周立功单片机发展有限公司Tel02038730916387309173873097638730977Fax3873092542.2DATA区第二个存储区是8051内128字节的内部RAM或8052的前128字节内部RAM这部分主要是作为数据段称为DATA区指令用一个或两个周期来访问数据段访问DATA区比访问XDATA区要快因为它采用直接寻址方式而访问XDATA须采用间接寻址必须先初始化DPTR通常我们把使用比较频繁的变量或局部变量存储在DATA段中但是必须节省使用DATA段因为它的空间毕竟有限在数据段中也可通过R0和R1采用间接寻址R0和R1被作为数据区的指针将要恢复或改变字节的地址放入R0或R1中根据源操作数和目的操作数的不同执行指令需要一个或两个周期数据段中有两个小段第一个子段包含四组寄存器组每组寄存器组包含八个寄存器共32个寄存器可在任何时候通过修改PSW寄存器的RS1和RS0这两位来选择四组寄存器的任意一组作为工作寄存器组8051也可默认任意一组作为工作寄存器组工作寄存器组的快速切换不仅使参数传递更为方便而且可在8051中进行快速任务转换另外一个子段叫做位寻址段BDATA包括16个字节共128位每一位都可单独寻址8051有好几条位操作指令这使得程序控制非常方便并且可帮助软件代替外部组合逻辑这样就减少了系统中的模块数位寻址段的这16个字节也可像数据段中其它字节一样进行字节寻址2.3特殊功能寄存器中断系统和外部功能控制寄存器位于从地址80H开始的内部RAM中这些寄存器被称做特殊功能寄存器简称SFR其中很多寄存器都可位寻址可通过名字进行引用如果要对中断使能寄存器中的EA位进行寻址可使用EA或IE.7或0AFHSFRs控制定时/计数器串行口中断源及中断优先级等这些寄存器的寻址方式和DATA取中的其它字节和位一样可位寻址SFR如表A1所示可进行位寻址的SFR表A1综合维修网WWW.ZHFIX.COM广州周立功单片机发展有限公司Tel02038730916387309173873097638730977Fax3873092552.4IDATA区8051系列的一些单片机如8052有附加的128字节的内部RAM位于从80H开始的地址空间中被称为IDATA因为IDATA区的地址和SFRs的地址是重叠的通过区分所访问的存储区来解决地址重叠问题因为IDATA区只能通过间接寻址来访问2.5XDATA区8051的最后一个存储空间为64K和CODE区一样采用16位地址寻址称作外部数据区简称XDATA区这个区通常包括一些RAM如SRAM或一些需要通过总线接口的外围器件对XDATA的读写操作需要至少两个处理周期使用DPTRR0或DPTRR1对DPTR来说至少需要两个处理周期来装入地址而读写又需要两个处理周期同样对于R0或R1装入需要一个以上的处理周期而读写又需两个周期由此可见处理XDATA中的数据至少要花3个指令周期因此使用频繁的数据应尽量保存在DATA区中如果不需要和外部器件进行I/O操作或者希望在和外部器件进行I/O操作时开关RAM则XDATA可全部使用64KRAM关于这方面的应用将在以后介绍综合维修网WWW.ZHFIX.COM广州周立功单片机发展有限公司Tel02038730916387309173873097638730977Fax3873092563位操作和布尔逻辑8051可分别对BDATA和SFRs中128个可寻址位32个I/O口进行位逻辑操作可对这些位进行与或异或求补置位清零等操作并可像转移字节那样转移位列表A1MOVC22H把位地址22H中的数移入进位位中ORLC23H把位地址23H中的数和进位位中的数相或MOV24HC把进位位中的数移入位地址24H中可寻址位也可作为条件转移的条件一条很有用的指令就是JBC通过判断可寻址位是否置位来决定是否进行转移如果该位置位则转移并清零该位这条指令能够在两个处理周期中完成比在两个代码段中分别使用跳转和清零指令要节省一到两个处理周期比如说你要编写一个过程等待P0.0置位然后跳转但是等待有时间限制这样就需要设置一个时间时间到达后跳出查询检测到P0.0置位后跳出并清零P0.0一般的逻辑流程如下例A2MOVtimeoutTO_VALUE设置查询时间L2JBP0.0L1P0.0置位则跳转DJNZtimeoutL2查询时间计数L1CLRP0.0P0.0清零RET退出当使用JBC时程序如下例A3MOVtimeoutTO_VALUE设置查询时间L2JBCP0.0L1P0.0置位则跳转并清零DJNZtimeoutL2查询时间计数L1RET退出利用JBC不但节省了代码长度而且使程序更加简洁美观以后在编制代码时要习惯使用这条指令综合维修网WWW.ZHFIX.COM广州周立功单片机发展有限公司Tel02038730916387309173873097638730977Fax3873092574寻址方式8051可对存储区直接或间接寻址这些是典型的寻址方式直接寻址是在指令中直接包含所须寻址的字节地址直接寻址只能在DATA区和SFR中进行如下例列表A4MOVA03H把地址03H中的数移入累加器MOV43H22H把地址22H中的数移入地址43H中MOV02HC把C中的数移入位地址02H中MOV42H18把立即数18移入地址42H中MOV09HSBUF把串行缓冲区中的数移入地址09H中间接寻址要使用DPTRPCR0R1寄存器用来存放所要访问数据的地址指令使用指针寄存器而不是直接使用地址用间接寻址方式可访问CODEIDATAXDATA存储区对DATA存储区也可进行间接寻址只能用直接寻址方式对位地址进行寻址在进行块移动时用间接寻址十分方便能用最少的代码完成操作可以利用循环过程使指针递增对CODE区进行寻址时将基址存入DPTR或PC中把变址存入累加器中这种方法在查表时十分有用举例如下例A5DATA和IDATA区寻址MOVR122H设置R1为指向DATA区内的地址22H的指针MOVR00A9H设置R0为指向IDATA区内的地址0A9H的指针MOVAR1读入地址22H的数据MOVR0A将累加器中的数据写入地址A9HINCR0RO中的地址变为AAHINCR1R1中的地址变为23HMOV34HR0将地址AAH中的数据写入34HMOVR167H把立即数写入地址23HXDATA区寻址MOVDPTR3048HDPTR指向外部存储区MOVXADPTR读入外部存储区地址3048H中的数INCDPTR指针加一MOVA26H立即数26H写入A中MOVXDPTRA将26H写入外部存储区地址3049H中MOVR087HR0指向外部存储区地址87HMOVXAR0将外部存储区地址87H中的数读入累加器中代码区寻址MOVDPTRTABLE_BASEDPTR指向表首地址MOVAindex把偏移量装入累加器中MOVCAADPTR从表中读入数据到累加器中综合维修网WWW.ZHFIX.COM
编号:201311221433542492    大小:1.33MB    格式:PDF    上传时间:2013-11-22
  【编辑】
8
关 键 词:
应用文书 项目管理 精品文档 C51入门?
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

当前资源信息

4.0
 
(2人评价)
浏览:17次
淘宝运营上传于2013-11-22

官方联系方式

客服手机:13961746681   
2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   

相关资源

相关资源

相关搜索

应用文书   项目管理   精品文档   C51入门?  
关于我们 - 网站声明 - 网站地图 - 友情链接 - 网站客服客服 - 联系我们
copyright@ 2015-2017 人人文库网网站版权所有
苏ICP备12009002号-5