单片机指令系统原理 51单片机的寻址方式 学习汇编程序设计,要先了解CPU的各种寻址法,才能有效的掌握各个命令的用途,寻址法是命令运算码找操作数的方法。在我们学习的8051单片机中,有6种寻址方法,下面我们将逐一进行分析。 立即寻址 在这种寻址方式中,指令多是双字节的,一般第一个字节是操作码,第二个字节是操作数。该操作数直接参与操作,所以又称立即数,有“#”号表示。立即数就是存放在程序存储器中的常数,换句话说就是操作数(立即数)是包含在指令字节中的。 例如:MOV A,#3AH这条指令的指令代码为74H、3AH,是双字节指令,这条指令的功能是把立即数3AH送入累加器A中。MOV DPTR,#8200H在前面学单片机的专用寄存器时,我们已学过,DPTR是一个16位的寄存器,它由DPH及DPL两个8位的寄存器组成。这条指令的意思就是把立即数的高8位(即82H)送入DPH寄存器,把立即数的低8位(即00H)送入DPL寄存器。这里也特别说明一下:在80C51单片机的指令系统中,仅有一条指令的操作数是16位的立即数,其功能是向地址指针DPTR传送16位的地址,即把立即数的高8位送入DPH,低8位送入DPL。 直接寻址 直接寻址方式是指在指令中操作数直接以单元地址的形式给出,也就是在这种寻址方式中,操作数项给出的是参加运算的操作数的地址,而不是操作数。例如:MOV A,30H 这条指令中操作数就在30H单元中,也就是30H是操作数的地址,并非操作数。 在80C51单片机中,直接地址只能用来表示特殊功能寄存器、内部数据存储器以及位地址空间,具体的说就是:1、内部数据存储器RAM低128单元。在指令中是以直接单元地址形式给出。我们知道低128单元的地址是00H-7FH。在指令中直接以单元地址形式给出这句话的意思就是这0-127共128位的任何一位,例如0位是以00H这个单元地址形式给出、1位就是以01H单元地址给出、127位就是以7FH形式给出。2、位寻址区。20H-2FH地址单元。3、特殊功能寄存器。专用寄存器除以单元地址形式给出外,还可以以寄存器符号形式给出。例如下面我们分析的一条指令 MOV IE,#85H 前面的学习我们已知道,中断允许寄存器IE的地址是80H,那么也就是这条指令可以以MOV IE,#85H 的形式表述,也可以MOV 80H,#85H的形式表述。 关于数据存储器RAM的内部情况,请查看我们课程的第十二课。 直接寻址是唯一能访问特殊功能寄存器的寻址方式! 大家来分析下面几条指令:MOV 65H,A ;将A的内容送入内部RAM的65H单元地址中MOV A,direct ;将直接地址单元的内容送入A中MOV direct,direct;将直接地址单元的内容送直接地址单元MOV IE,#85H ;将立即数85H送入中断允许寄存器IE 前面我们已学过,数据前面加了“#”的,表示后面的数是立即数(如#85H,就表示85H就是一个立即数),数据前面没有加“#”号的,就表示后面的是一个地址地址(如,MOV 65H,A这条指令的65H就是一个单元地址)。 寄存器寻址 寄存器寻址的寻址范围是:1、4个工作寄存器组共有32个通用寄存器,但在指令中只能使用当前寄存器组(工作寄存器组的选择在前面专用寄存器的学习中,我们已知道,是由程序状态字PSW中的RS1和RS0来确定的),因此在使用前常需要通过对PSW中的RS1、RS0位的状态设置,来进行对当前工作寄存器组的选择。2、部份专用寄存器。例如,累加器A、通用寄存器B、地址寄存器DPTR和进位位CY。 寄存器寻址方式是指操作数在寄存器中,因此指定了寄存器名称就能得到操作数。例如:MOV A,R0这条指令的意思是把寄存器R0的内容传送到累加器A中,操作数就在R0中。INC R3这条指令的意思是把寄存器R3中的内容加1 从前面的学习中我产应可以理解到,其实寄存器寻址方式就是对由PSW程序状态字确定的工作寄存器组的R0-R7进行读/写操作。 寄存器间接寻址 寄存间接寻址方式是指寄存器中存放的是操作数的地址,即操作数是通过寄存器间接得到的,因此称为寄存器间接寻址。 MCS-51单片机规定工作寄存器的R0、R1做为间接寻址寄存器。用于寻址内部或外部数据存储器的256个单元。为什么会是256个单元呢?我们知道,R0或者R1都是一个8位的寄存器,所以它的寻址空间就是2的八次方=256。例:MOV R0,#30H ;将值30H加载到R0中 MOV A,@R0 ;把内部RAM地址30H内的值放到累加器A中 MOVX A,@R0 ;把外部RAM地址30H内的值放到累加器A中 大家想想,如果用DPTR做为间址寄存器,那么它的寻址范围是多少呢?DPTR是一个16位的寄存器,所以它的寻址范围就是2的十六次方=65536=64K。因用DPTR做为间址寄存器的寻址空间是64K,所以访问片外数据存储器时,我们通常就用DPTR做为间址寄存器。例:MOV DPTR,#1234H ;将DPTR值设为1234H(16位) MOVX A,@DPTR ;将外部RAM或I/O地址1234H内的值放到累加器A中 在执行PUSH(压栈)和POP(出栈)指令时,采用堆栈指针SP作寄存器间接寻址。例:PUSH 30H ;把内部RAM地址30H内的值放到堆栈区中堆栈区是由SP寄存器指定的,如果执行上面这条命令前,SP为60H,命令执行后会把内部RAM地址30H内的值放到RAM的61H内。 那么做为寄存器间接寻址用的寄存器主要有哪些呢?我们前面提到的有四个,R0、R1、DPTR、SP 寄存器间接寻址范围总结:1、内部RAM低128单元。对内部RAM低128单元的间接寻址,应使用R0或R1作间址寄存器,其通用形式为@Ri(i=0或1)。 2、外部RAM 64KB。对外部RAM64KB的间接寻址,应使用@DPTR作间址寻址寄存器,其形式为:@DPTR。例如MOVX A,@DPTR;其功能是把DPTR指定的外部RAM的单元的内容送入累加器A中。外部RAM的低256单元是一个特殊的寻址区,除可以用DPTR作间址寄存器寻址外,还可以用R0或R1作间址寄存器寻址。例如MOVX A,@R0;这条指令的意思是,把R0指定的外部RAM单元的内容送入累加器A。 堆栈操作指令(PUSH和POP)也应算作是寄存器间接寻址,即以堆栈指针SP作间址寄存器的间接寻址方式。 寄存器间接寻址方式不可以访问特殊功能寄存器!! 寄存器间接寻址也须以寄存器符号的形式表示,为了区别寄存器寻址我寄存器间接寻址的区别,在寄存器间接寻址方式式中,寄存器的名称前面加前缀标志“@”。 基址寄存器加变址寄存器的变址寻址 这种寻址方式以程序计数器PC或DPTR为基址寄存器,累加器A为变址寄存器,变址寻址时,把两者的内容相加,所得到的结果作为操作数的地址。这种方式常用于访问程序存储器ROM中的数据表格,即查表操作。变址寻址只能读出程序内存入的值,而不能写入,也就是说变址寻址这种方式只能对程序存储器进行寻址,或者说它是专门针对程序存储器的寻址方式。例:MOVC A,@A+DPTR这条指令的功能是把DPTR和A的内容相加,再把所得到的程序存储器地址单元的内容送A假若指令执行前A=54H,DPTR=3F21H,则这条指令变址寻址形成的操作数地址就是54H+3F21H=3F75H。如果3F75H单元中的内容是7FH,则执行这条指令后,累加器A中的内容就是7FH。 变址寻址的指令只有三条,分别如下:JMP @A+DPTRMOVC A,@A+DPTRMOVC A,@A+PC 第一条指令JMP @A+DPTR这是一条无条件转移指令,这条指令的意思就是DPTR加上累加器A的内容做为一个16位的地址,执行JMP这条指令是,程序就转移到A+DPTR指定的地址去执行。 第二、三条指令MOVC A,@A+DPTR和MOVC A,@A+PC指令这两条指令的通常用于查表操作,功能完全一样,但使用起来却有一定的差别,现详细说明如下。我们知道,PC是程序指针,是十六位的。DPTR是一个16位的数据指针寄存器,按理,它们的寻址范围都应是64K。我们在学习特殊功能寄存器时已知道,程序计数器PC是始终跟踪着程序的执行的。也就是说,PC的值是随程序的执行情况自动改变的,我们不可以随便的给PC赋值。而DPTR是一个数据指针,我们就可以给空上数据指针DPTR进行赋值。我们再看指令MOVC A,@A+PC这条指令的意思是将PC的值与累加器A的值相加作为一个地址,而PC是固定的,累加器A是一个8位的寄存器,它的寻址范围是256个地址单元。讲到这里,大家应可明白,MOVC A,@A+PC这条指令的寻址范围其实就是只能在当前指令下256个地址单元。所在,这在我们实际应用中,可能就会有一个问题,如果我们需要查询的数据表在256个地址单元之内,则可以用MOVC A,@A+PC这条指令进行查表操作,如果超过了256个单元,则不能用这条指令进行查表操作。刚才我们已说到,DPTR是一个数据指针,这个数据指针我们可以给它赋值操作的。通过赋值操作。我们可以使MOVC A,@A+DPTR这条指令的寻址范围达到64K。这就是这两条指令在实际应用当中要注意的问题。 变址寻址方式是MCS-51单片机所独有的一种寻址方式。 位寻址 80C51单片机有位处理功能,可以对数据位进行操作,因此就有相应的位寻址方式。所谓位寻址,就是对内部RAM或可位寻址的特殊功能寄存器SFR内的某个位,直接加以置位为1或复位为0。 位寻址的范围,也就是哪些部份可以进行位寻址: 1、我们在第十二课学习51单片机的存储器结构时,我们已知道在单片机的内部数据存储器RAM的低128单元中有一个区域叫位寻址区。它的单元地址是20H-2FH。共有16个单元,一个单元是8位,所以位寻址区共有128位。这128位都单独有一个位地址,其位地址的名字就是00H-7FH。这里就有一个比较麻烦的问题需要大家理解清楚了。我们在前面的学习中00H、01H。。。。7FH等等,所表示的都是一个字节(或者叫单元地址),而在这里,这些数据都变成了位地址。我们在指令中,或者在程序中如何来区分它是一个单元地址还是一个位地址呢?这个问题,也就是我们现在正在研究的位寻址的一个重要问题。其实,区分这些数据是位地址还是单元地址,我们都有相应的指令形式的。这个问题我们在后面的指令系统学习中再加以论述。 2、对专用寄存器位寻址。这里要说明一下,不是所有的专用寄存器都可以位寻址的。具体哪些专用寄存器可以哪些专用寄存器不可以,请大家回头去看看我们前面关于专用寄存器的相关文章。一般来说,地址单元可以被8整除的专用寄存器,通常都可以进行位寻址,当然并不是全部,大家在应用当中应引起注意。 专用寄存器的位寻址表示方法: 下面我们以程序状态字PSW来进行说明 D7 D6 D5 D4 D3 D2 D1 D0 CY AC F0 RS1 RS0 OV P 1、直接使用位地址表示:看上表,PSW的第五位地址是D5,所以可以表示为D5H MOV C,D5H 2、位名称表示:表示该位的名称,例如PSW的位5是F0,所以可以用F0表示 MOV C,F0 3、单元(字节)地址加位表示:D0H单元位5,表示为DOH.5 MOV C,D0H.5 4、专用寄存器符号加位表示:例如PSW.5 MOV C,PSW.5 这四种方法实现的功能都是相同的,只是表述的方式不同而已。 例题: 1. 说明下列指令中源操作数采用的寻址方式。 MOV R5,R7 答案:寄存器寻址方式 MOV A,55H 直接寻址方式 MOV A,#55H 立即寻址方式 JMP @A+DPTR 变址寻址方式 MOV 30H,C 位寻址方式 MOV A,@R0 间接寻址方式 MOVX A,@R0 间接寻址方式 改错题 请判断下列的MCS-51单片机指令的书写格式是否有错,若有,请说明错误原因。 MOV R0,@R3 答案:间址寄存器不能使用R2~R7。 MOVC A,@R0+DPTR 变址寻址方式中的间址寄存器不可使用R0,只可使用A。 ADD R0,R1 运算指令中目的操作数必须为累加器A,不可为R0。 MUL AR0 乘法指令中的乘数应在B寄存器中,即乘法指令只可使用AB寄存器组合。
上传时间: 2013-11-11
上传用户:caozhizhi
单片机串行通信发射机 我所做的单片机串行通信发射机主要在实验室完成,参考有关的书籍和资料,个人完成电路的设计、焊接、检查、调试,再根据自己的硬件和通信协议用汇编语言编写发射和显示程序,然后加电调试,最终达到准确无误的发射和显示。在这过程中需要选择适当的元件,合理的电路图扎实的焊接技术,基本的故障排除和纠正能力,会使用基本的仪器对硬件进行调试,会熟练的运用汇编语言编写程序,会用相关的软件对自己的程序进行翻译,并烧进芯片中,要与对方接收机统一通信协议,要耐心的反复检查、修改和调试,直到达到预期目的。单片机串行通信发射机采用串行工作方式,发射并显示两位数字信息,既显示00-99,使数据能够在不同地方传递。硬件部分主要分两大块,由AT89C51和多个按键组成的控制模块,包括时钟电路、控制信号电路,时钟采用6MHZ晶振和30pF的电容来组成内部时钟方式,控制信号用手动开关来控制,P1口来控制,P2、P3口产生信号并通过共阳极数码管来显示,软件采用汇编语言来编写,发射程序在通信协议一致的情况下完成数据的发射,同时显示程序对发射的数据加以显示。毕业设计的目的是了解基本电路设计的流程,丰富自己的知识和理论,巩固所学的知识,提高自己的动手能力和实验能力,从而具备一定的设计能力。我做得的毕业设计注重于对单片机串行发射的理论的理解,明白发射机的工作原理,以便以后单片机领域的开发和研制打下基础,提高自己的设计能力,培养创新能力,丰富自己的知识理论,做到理论和实际结合。本课题的重要意义还在于能在进一步层次了解单片机的工作原理,内部结构和工作状态。理解单片机的接口技术,中断技术,存储方式,时钟方式和控制方式,这样才能更好的利用单片机来做有效的设计。我的毕业设计分为两个部分,硬件部分和软件部分。硬件部分介绍:单片机串行通信发射机电路的设计,单片机AT89C51的功能和其在电路的作用。介绍了AT89C51的管脚结构和每个管脚的作用及各自的连接方法。AT89C51 与MCS-51 兼容,4K字节可编程闪烁存储器,寿命:1000次可擦,数据保存10年,全静态工作:0HZ-24HZ,三级程序存储器锁定,128*8 位内部RAM,32 跟可编程I/O 线,两个16 位定时/计数器,5 个中断源,5 个可编程串行通道,低功耗的闲置和掉电模式,片内震荡和时钟电路,P0和P1 可作为串行输入口,P3口因为其管脚有特殊功能,可连接其他电路。例如P3.0RXD 作为串行输出口,其中时钟电路采用内时钟工作方式,控制信号采用手动控制。数据的传输方式分为单工、半双工、全双工和多工工作方式;串行通信有两种形式,异步和同步通信。介绍了串行串行口控制寄存器,电源管理寄存器PCON,中断允许寄存器IE,还介绍了数码显示管的工作方式、组成,共阳极和共阴极数码显示管的电路组成,有动态和静态显示两种方式,说明了不同显示方法与单片机的连接。再后来还介绍了硬件的焊接过程,及在焊接时遇到的问题和应该注意的方面。硬件焊接好后的检查电路、不装芯片上电检查及上电装芯片检查。软件部分:在了解电路设计原理后,根据原理和目的画出电路流程图,列出数码显示的断码表,计算波特率,设置串行口,在与接受机设置相同的通信协议的基础上编写显示和发射程序。编写完程序还要进行编译,这就必须会使用编译软件。介绍了编译软件的使用和使用过程中遇到的问题,及在编译后烧入芯片使用的软件PLDA,后来的加电调试,及遇到的问题,在没问题后与接受机连接,发射数据,直到对方准确接收到。在软件调试过程中将详细介绍调试遇到的问题,例如:通信协议是否相同,数码管是否与芯片连接对应,计数器是否开始计数等。
上传时间: 2013-10-19
上传用户:uuuuuuu
基于HT46R46E/HT46C46E经济A/D型八位单片机 HT46R46E/HT46C46E 是8 位高性能精简指令集单片机,专门为需要A/D 转换的产品而设计,例如传感器信号输入。掩膜版本HT46C46E 与OTP 版本HT46R46E 引脚和功能完全相同。在HT46R46E/HT46C46E 封装片里包含两颗芯片:一颗是HT46R46E/HT46C46E 单片机,另一颗是作为通用数据存储器的128×8 位的EEPROM。这两颗芯片邦定在一起封装为HT46R46E/HT46C46E。
上传时间: 2013-10-31
上传用户:fdfadfs
单片机常用芯片和器件手册 地址锁存器由于MCS-51单片机的P0口是分时复用的地址/数据总线,因此在进行程序存储器扩展时,必须利用地址锁存器将信号从地址/数据总线中分离开来。 常用的地址锁存器是: 74LS373828274LS273 存储器扩展MCS-51的程序存储器寻址空间为64k字节(0000H--FFFFH),其中8051、8751片内涵有4K字节的ROM或EPROM,8031片内部不带ROM。当片内ROM不够用或采用8031芯片时,需扩展程序存储器。MCS-51单片机访问外部程序存储器所使用的控制信号有: ALE:低8位地址锁存控制; PSEN:外部程序存储器“读取”控制。 常用的程序存储器有: EPROM: 2716 2732 2764 27128 27256 EEPROM:2817 2864 MCS-51的数据存储器寻址空间为64k字节(0000H--FFFFH)。而8031单片机内部只有128个字节的RAM存储器。数据存储器只使用WR、RD控制线。 常用的数据存储器有: 静态RAM:6116 6264 动态RAM:2186
上传时间: 2013-11-15
上传用户:xiaowei314
MCS-51单片机数据存储器的扩展:3 数据存储器的扩展MCS-51单片机内部有128或256个字节的数据存储器,这些存储器通常被用作工作寄存器、堆栈、临时变量等等,一般已经够用,但是如果系统要存储大量的数据,比如数据采集系统,那么片内的数据存储器就不够用了,需要进行扩展。3.1 常用的数据存储器单片机中常用的数据存储器是静态RAM存储器(SRAM),图7是几种常用的数据存储器的引脚图,以62256为例介绍,其中:A0~A14:地址输入线;D0~D7:数据线; CE:选片信号输入线,低电平有效; OE:读选通信号输入线,低电平有效; WE:写选通信号输入线,低电平有效;CE2:6264芯片的高有效选通端;VCC:工作电源,一般接+5V;GND:工作地.
上传时间: 2013-10-28
上传用户:jkhjkh1982
AT89C2051是一个低电压,高性能CMOS 8位单片机,片内含2k bytes的可反复擦写的只读Flash程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大AT89C2051单片机可为您提供许多高性价比的应用场合。AT89C2051是一个功能强大的单片机,但它只有20个引脚,15个双向输入/输出(I/O)端口,其中P1是一个完整的8位双向I/O口,两个外中断口,两个16位可编程定时计数器,两个全双向串行通信口,一个模拟比较放大器。
上传时间: 2014-04-16
上传用户:ippler8
51单片机工程师实例设计程序集-(20种常见应用整编) \7290\ ;ZLG7290例程*\7290a\ ;ZLG7290汇编例程*\bell\ ;蜂鸣器音乐例程*\buzz\ ;蜂鸣器响例程*\eeprom\ ;读EEPROM并显示例程*\ex26a_lcd\ ;16×2LCD模块例程*\ex36a_lcm\ ;128×64点阵LCD模块例程*\KEY_IO\ ;直连KEY和LED例程\led_light\ ;直连LED例程*\lin_park\ ;lin模块的原码及例程。\lin\ ;LIN总线例程\rs232\ ;RS232例程(包括PC端和书上了串口例程)\USB1.1\ ;USB1.1例程(包括PC端)\RS485\ ;RS485例程\USB2.0\ ;USB2.0例程(有3个,包括PC端)\TCPIP\ ;基于ETHERNET的TCPIP例程\RTC\ ;时钟显示例程\CAN_SELF\ ;CAN自发自收例程 外中断1\CAN\ ;CAN例程\USBPACK 2.0\ ;USB2.0PC例程 注意:带*程序为MON51调试程序。在MON时程序下载后停不下来,可以按一下RSE按钮复位一下。
上传时间: 2013-10-13
上传用户:雨出惊人love
AVR高速嵌入式单片机原理与应用(修订版)详细介绍ATMEL公司开发的AVR高速嵌入式单片机的结构;讲述AVR单片机的开发工具和集成开发环境(IDE),包括Studio调试工具、AVR单片机汇编器和单片机串行下载编程;学习指令系统时,每条指令均有实例,边学习边调试,使学习者看得见指令流向及操作结果,真正理解每条指令的功能及使用注意事项;介绍AVR系列多种单片机功能特点、实用程序设计及应用实例;作为提高篇,讲述简单易学、适用AVR单片机的高级语言BASCOMAVR及ICC AVR C编译器。 AVR高速嵌入式单片机原理与应用(修订版) 目录 第一章ATMEL单片机简介1.1ATMEL公司产品的特点11.2AT90系列单片机简介21.3AT91M系列单片机简介2第二章AVR单片机系统结构2.1AVR单片机总体结构42.2AVR单片机中央处理器CPU62.2.1结构概述72.2.2通用寄存器堆92.2.3X、Y、Z寄存器92.2.4ALU运算逻辑单元92.3AVR单片机存储器组织102.3.1可下载的Flash程序存储器102.3.2内部和外部的SRAM数据存储器102.3.3EEPROM数据存储器112.3.4存储器访问和指令执行时序112.3.5I/O存储器132.4AVR单片机系统复位162.4.1复位源172.4.2加电复位182.4.3外部复位192.4.4看门狗复位192.5AVR单片机中断系统202.5.1中断处理202.5.2外部中断232.5.3中断应答时间232.5.4MCU控制寄存器 MCUCR232.6AVR单片机的省电方式242.6.1休眠状态242.6.2空闲模式242.6.3掉电模式252.7AVR单片机定时器/计数器252.7.1定时器/计数器预定比例器252.7.28位定时器/计数器0252.7.316位定时器/计数器1272.7.4看门狗定时器332.8AVR单片机EEPROM读/写访问342.9AVR单片机串行接口352.9.1同步串行接口 SPI352.9.2通用串行接口 UART402.10AVR单片机模拟比较器452.10.1模拟比较器452.10.2模拟比较器控制和状态寄存器ACSR462.11AVR单片机I/O端口472.11.1端口A472.11.2端口 B482.11.3端口 C542.11.4端口 D552.12AVR单片机存储器编程612.12.1编程存储器锁定位612.12.2熔断位612.12.3芯片代码612.12.4编程 Flash和 EEPROM612.12.5并行编程622.12.6串行下载662.12.7可编程特性67第三章AVR单片机开发工具3.1AVR实时在线仿真器ICE200693.2JTAG ICE仿真器693.3AVR嵌入式单片机开发下载实验器SL?AVR703.4AVR集成开发环境(IDE)753.4.1AVR Assembler编译器753.4.2AVR Studio773.4.3AVR Prog783.5SL?AVR系列组态开发实验系统793.6SL?AVR*.ASM源文件说明81第四章AVR单片机指令系统4.1指令格式844.1.1汇编指令844.1.2汇编器伪指令844.1.3表达式874.2寻址方式894.3数据操作和指令类型924.3.1数据操作924.3.2指令类型924.3.3指令集名词924.4算术和逻辑指令934.4.1加法指令934.4.2减法指令974.4.3乘法指令1014.4.4取反码指令1014.4.5取补指令1024.4.6比较指令1034.4.7逻辑与指令1054.4.8逻辑或指令1074.4.9逻辑异或指令1104.5转移指令1114.5.1无条件转移指令1114.5.2条件转移指令1144.6数据传送指令1354.6.1直接数据传送指令1354.6.2间接数据传送指令1374.6.3从程序存储器直接取数据指令1444.6.4I/O口数据传送指令1454.6.5堆栈操作指令1464.7位指令和位测试指令1474.7.1带进位逻辑操作指令1474.7.2位变量传送指令1514.7.3位变量修改指令1524.7.4其它指令1614.8新增指令(新器件)1624.8.1EICALL-- 延长间接调用子程序1624.8.2EIJMP--扩展间接跳转1634.8.3ELPM--扩展装载程序存储器1644.8.4ESPM--扩展存储程序存储器1644.8.5FMUL--小数乘法1664.8.6FMULS--有符号数乘法1664.8.7FMULSU--有符号小数和无符号小数乘法1674.8.8MOVW--拷贝寄存器字1684.8.9MULS--有符号数乘法1694.8.10MULSU--有符号数与无符号数乘法1694.8.11SPM--存储程序存储器170 第五章AVR单片机AT90系列5.1AT90S12001725.1.1特点1725.1.2描述1735.1.3引脚配置1745.1.4结构纵览1755.2AT90S23131835.2.1特点1835.2.2描述1845.2.3引脚配置1855.3ATmega8/8L1855.3.1特点1865.3.2描述1875.3.3引脚配置1895.3.4开发实验工具1905.4AT90S2333/44331915.4.1特点1915.4.2描述1925.4.3引脚配置1945.5AT90S4414/85151955.5.1特点1955.5.2AT90S4414和AT90S8515的比较1965.5.3引脚配置1965.6AT90S4434/85351975.6.1特点1975.6.2描述1985.6.3AT90S4434和AT90S8535的比较1985.6.4引脚配置2005.6.5AVR RISC结构2015.6.6定时器/计数器2125.6.7看门狗定时器 2175.6.8EEPROM读/写2175.6.9串行外设接口SPI2175.6.10通用串行接口UART2175.6.11模拟比较器 2175.6.12模数转换器2185.6.13I/O端口2235.7ATmega83/1632285.7.1特点2285.7.2描述2295.7.3ATmega83与ATmega163的比较2315.7.4引脚配置2315.8ATtiny10/11/122325.8.1特点2325.8.2描述2335.8.3引脚配置2355.9ATtiny15/L2375.9.1特点2375.9.2描述2375.9.3引脚配置2395 .10ATmega128/128L2395.10.1特点2405.10.2描述2415.10.3引脚配置2435.10.4开发实验工具2455.11ATmega1612465.11.1特点2465.11.2描述2475.11.3引脚配置2475.12AVR单片机替代MCS51单片机249第六章实用程序设计6.1程序设计方法2506.1.1程序设计步骤2506.1.2程序设计技术2506.2应用程序举例2516.2.1内部寄存器和位定义文件2516.2.2访问内部 EEPROM2546.2.3数据块传送2546.2.4乘法和除法运算应用一2556.2.5乘法和除法运算应用二2556.2.616位运算2556.2.7BCD运算2556.2.8冒泡分类算法2556.2.9设置和使用模拟比较器2556.2.10半双工中断方式UART应用一2556.2.11半双工中断方式UART应用二2566.2.128位精度A/D转换器2566.2.13装载程序存储器2566.2.14安装和使用相同模拟比较器2566.2.15CRC程序存储的检查2566.2.164×4键区休眠触发方式2576.2.17多工法驱动LED和4×4键区扫描2576.2.18I2C总线2576.2.19I2C工作2586.2.20SPI软件2586.2.21验证SLAVR实验器及AT90S1200的口功能12596.2.22验证SLAVR实验器及AT90S1200的口功能22596.2.23验证SLAVR实验器及具有DIP40封装的口功能第七章AVR单片机的应用7.1通用延时子程序2607.2简单I/O口输出实验2667.2.1SLAVR721.ASM 2667.2.2SLAVR722.ASM2677.2.3SLAVR723.ASM2687.2.4SLAVR724.ASM2707.2.5SLAVR725.ASM2717.2.6SLAVR726.ASM2727.2.7SLAVR727.ASM2737.3综合程序2747.3.1LED/LCD/键盘扫描综合程序2747.3.2LED键盘扫描综合程序2757.3.3在LED上实现字符8的循环移位显示程序2757.3.4电脑放音机2777.3.5键盘扫描程序2857.3.6十进制计数显示2867.3.7廉价的A/D转换器2897.3.8高精度廉价的A/D转换器2947.3.9星星灯2977.3.10按钮猜数程序2987.3.11汉字的输入3047.4复杂实用程序3067.4.110位A/D转换3067.4.2步进电机控制程序3097.4.3测脉冲宽度3127.4.4LCD显示8字循环3187.4.5LED电脑时钟3247.4.6测频率3307.4.7测转速3327.4.8AT90S8535的A/D转换334第八章BASCOMAVR的应用8.1基于高级语言BASCOMAVR的单片机开发平台3408.2BASCOMAVR软件平台的安装与使用3418.3AVR I/O口的应用3458.3.1LED发光二极管的控制3458.3.2简易手控广告灯3468.3.3简易电脑音乐放音机3478.4LCD显示器3498.4.1标准LCD显示器的应用3498.4.2简单游戏机--按钮猜数3518.5串口通信UART3528.5.1AVR系统与PC的简易通信3538.5.2PC控制的简易广告灯3548.6单总线接口和温度计3568.7I2C总线接口和简易IC卡读写器359第九章ICC AVR C编译器的使用9.1ICC AVR的概述3659.1.1介绍ImageCraft的ICC AVR3659.1.2ICC AVR中的文件类型及其扩展名3659.1.3附注和扩充3669.2ImageCraft的ICC AVR编译器安装3679.2.1安装SETUP.EXE程序3679.2.2对安装完成的软件进行注册3679.3ICC AVR导游3689.3.1起步3689.3.2C程序的剖析3699.4ICC AVR的IDE环境3709.4.1编译一个单独的文件3709.4.2创建一个新的工程3709.4.3工程管理3719.4.4编辑窗口3719.4.5应用构筑向导3719.4.6状态窗口3719.4.7终端仿真3719.5C库函数与启动文件3729.5.1启动文件3729.5.2常用库函数3729.5.3字符类型库3739.5.4浮点运算库3749.5.5标准输入/输出库3759.5.6标准库和内存分配函数3769.5.7字符串函数3779.5.8变量参数函数3799.5.9堆栈检查函数3799.6AVR硬件访问的编程3809.6.1访问AVR的底层硬件3809.6.2位操作3809.6.3程序存储器和常量数据3819.6.4字符串3829.6.5堆栈3839.6.6在线汇编3839.6.7I/O寄存器3849.6.8绝对内存地址3849.6.9C任务3859.6.10中断操作3869.6.11访问UART3879.6.12访问EEPROM3879.6.13访问SPI3889.6.14相对转移/调用的地址范围3889.6.15C的运行结构3889.6.16汇编界面和调用规则3899.6.17函数返回非整型值3909.6.18程序和数据区的使用3909.6.19编程区域3919.6.20调试3919.7应用举例*3929.7.1读/写口3929.7.2延时函数3929.7.3读/写EEPROM3929.7.4AVR的PB口变速移位3939.7.5音符声程序3939.7.68字循环移位显示程序3949.7.7锯齿波程序3959.7.8正三角波程序3969.7.9梯形波程序396附录1AT89系列单片机简介398附录2AT94K系列现场可编程系统标准集成电路401附录3指令集综合404附录4AVR单片机选型表408参 考 文 献412
上传时间: 2013-11-08
上传用户:xcy122677
单片机应用技术选编10 目录 第一章 专题论述1.1 嵌入式系统的技术发展和我们的机遇(2)1.2 一种新的电路设计和实现方法——进化硬件(8)1.3 从8/16位机到32位机的系统设计(13)1.4 混合SoC设计(18)1.5 AT24系列存储器数据串并转换接口的IP核设计(23)1.6 低能耗嵌入式系统的设计(28)1.7 嵌入式应用中的零功耗系统设计(31)1.8 数字指纹协议的研究与发展(37)1.9 指纹识别控制系统设计(45)1.10 条形码的计算机编码与识别(48)1.11 蓝牙技术综述(54)1.12 蓝牙通信过程解析与研究(60)1.13 蓝牙模块基带电路的接口技术(65)1.14 蓝牙HCI层数据通信的实现(72)1.15 蓝牙技术硬件实现模式分析(77)1.16 Bluetooth技术与相关器件(83)1.17 基于蓝牙技术的无线收发芯片nRF401(88)1.18 蓝牙收发芯片RF2968的原理及应用(93)1.19 nRFTM系列单片机无线收发器的应用设计(99)1.20 基于蓝牙技术的家庭网络(106) 第二章 综合应用2.1 嵌入式系统的超时控制及其应用(114)2.2 多路读写的SDRAM接口设计(118)2.3 SDRAM视频存储控制器的设计与实现(123)2.4 集成多路模拟开关的应用技巧(129)2.5 合理选择DCDC转换器(133)2.6 单片机定时器中断时间误差的分析及补偿(137)2.7 单片机无线串行接口电路设计(140)2.8 单片机控制Modem的两种硬件接口方法(143)2.9 使用PWM得到精密的输出电压(147)2.10 测控系统前向通道的误差分析及标定(150)2.11 如何认识和提高ADC的精度(155)2.12 提高ADC分辨率的硬件和软件措施(160)2.13 智能温度传感器的发展趋势(165)2.14 温度传感器的选择策略(169)2.15 单线数字温度传感器DS18B20数据校验与纠错(174)2.16 TMP03/04型数字温度传感器的工作原理(180)2.17 TMP03/04型数字温度传感器的应用(184)2.18 谐振式水晶温度传感器的现状和发展预测(189)2.19 石英晶体温度传感器的应用(194)2.20 无线数字温度传感器的设计(199)2.21 液晶屏温度响应特性及其温度控制(203)2.22 CPU卡的接口特性、传输协议与读写程序设计(209)2.23 一种基于铁电存储器的双机串行通信技术(215) 第三章 软件技术3.1 面向应用的嵌入式操作系统(222)3.2 嵌入式实时操作系统及其应用(228)3.3 Windows CE在嵌入式工业控制系统中的应用思考(234)3.4 简易非抢先式实时多任务操作系统的设计与应用(239)3.5 单片机程序设计中运用事件驱动机制(248)3.6 实时操作系统RTLINUX的原理及应用(253)3.7 RTLinux的实时机制分析(256)3.8 基于RTLinux系统的设备驱动程序开发与应用(261)3.9 嵌入式实时操作系统μC/OSⅡ及其应用(265)3.10 在MOTOROLA 568XX系列DSP上运行μC/OSⅡ(267)3.11 Franklin C51浮点数与A51浮点数的相互转换、传递及其在混合编程中的应用(272) 第四章 网络、通信与数据传输4.1 嵌入式系统以太网接口的设计(280)4.2 以太网在网络控制系统中的应用与发展趋势(285)4.3 IPv4向IPv6的过渡(291)4.4 在嵌入式网络应用中实现TCP/IP协议(295)4.5 一种以太网与8位单片机的连接方法(300)4.6 RS485总线通信避障及其多主发送的研究(305)4.7 RS422/RS485网络的无极性接线设计(310)4.8 RS485与USB接口转换卡的设计与实现(315)4.9 低压电力线载波数据通信及其应用前景(320)4.10 基于LM1893的电力线载波通信系统设计(327)4.11 家庭无线信息网络解决方案(331)4.12 基于GSM短消息接口的MC3一体化遥测系统(334)4.13 基于短消息的自动抄表系统(337) 第五章 新器件与新技术5.1 ARM核嵌入式系统的开发平台ADS(344)5.2 大容量Flash型AT91系列ARM核微控制器(350)5.3 内嵌UHF ASK/FSK发射器的8位微控制器(357)5.4 专用单片机C5042E在SPWM技术中的编程技巧(361)5.5 新型高精度时钟芯片RTC4553(367)5.6 A/D芯片TLC2543与Neuron芯片的接口应用(372)5.7 一种新型传感器接口IC(376)5.8 新型CMOS图像传感器及其应用(380)5.9 GMS97C2051与ISD2560组成的小型语音系统(385)5.10 73M2901芯片在嵌入式Modem中的应用(389)5.11 电能计量芯片组AT73C500和AT73C501及其应用(395) 第六章 总线技术6.1 PCI总线及其接口芯片的应用(406)6.2 实现RS485/RS422和CAN转换——总线网桥的构建(409)6.3 工控系统应用CAN总线的几种改进方法(413)6.4 快速和高可靠性的CAN网络模块ADAM?500/CAN(418)6.5 SJA1000在CAN总线系统节点的应用(422)6.6 用C167CR实现CAN总线通信(430)6.7 1?WIRE网络的特性与应用(436)6.8 基于TINI的一线制网络互连技术(441)6.9 单总线数字温度传感器的自动识别技术(445)6.10 TM卡信息纽扣在预付费水表中的应用(450)6.11 USB 2.0性能特点及其应用(455)6.12 USB总线协议信息包分析(459)6.13 USB设备的开发(463)6.14 嵌入式系统中USB总线驱动的开发及应用(467)6.15 USB接口单片机SL11R的特点及应用(475)6.16 USB接口器件PDIUSBD12的接口应用设计(479)6.17 USB 2.0控制器CY7C68013特点与应用(486)6.18 基于EZ?USB的数据采集与控制(491)6.19 基于USB接口的IC卡读写器的设计(498)6.20 IEEE 1394总线技术与应用(501) 第七章 可靠性及安全性技术7.1 单片机复位电路的可靠性分析(508)7.2 提高移位寄存器接口电路可靠性的措施(515)7.3 单片机嵌入式系统软件容错设计(518)7.4 键盘信息泄漏与防泄漏键盘设计(526)7.5 USB安全钥功能扩展与优化设计(532)7.6 单片机多机冗余设计及控制模块的VHDL语言描述(540)7.7 一种快速可靠的串行flash容错系统的设计与实现(545)7.8 射频电路印刷电路板的电磁兼容性设计(550)7.9 去耦电容在PCB板设计中的应用(553)7.10 密码访问器件X76F100在单片机系统中的应用(560)7.11 计算机的电磁干扰研究(566)7.12 EMI和屏蔽(一)(573)7.13 EMI和屏蔽(二)(579)7.14 微机接口设计中的静电冲击(ESD)防护措施(585)7.15 单片机应用系统中去除工频干扰的快速实现(589)7.16 传输线路引起的数字信号畸变与抑制(593) 第八章 DSP及其应用技术8.1 TMS320VC5402电路设计中应注意的几个问题(600)8.2 DSP系统中的外部存储器设计(604)8.3 TMS320C24x的C语言与汇编语言的接口技术(610)8.4 DSP环境下C语言编程的优化实现(615)8.5 基于TMS320C6000高速算法的实现(619)8.6 TMS320F240串行外设接口及其应用(624)8.7 基于DSP的Modem及其驱动程序的设计与实现(631)8.8 W3100在DSP系统以太网接口中的应用(637)8.9 CAN总线控制器与DSP的接口(643)8.10 基于DSP的USB传输系统的实现(648) 第九章 HDL与可编程器件技术9.1 谈谈EDA的硬件描述语言(654)9.2 基于VHDL语言的FPGA设计(657)9.3 VHDL的设计特点与应用研究(662)9.4 单片机应用系统的CPLD应用设计(668)9.5 用CPLD实现单片机与ISA总线接口的并行通信(674)9.6 FPGA实现PCI总线接口技术(679)9.7 用FPGS实现DES算法的密钥简化算法(685)9.8 可编程模拟器件原理与开发(690)9.9 数字/模拟ISP技术及其EDA工具(695)9.10 可编程模拟器件ispPAC20在电路设计中的应用(698)9.11 基于FPGA的I2C总线接口实现方法(701)9.12 基于CPLD的串并转换和高速USB通信设计(705)9.13 用HDL语言实现循环冗余校验(712)9.14 利用单片机和CPLD实现直接数字频率合成(DDS)(717)9.15 基于Verilog?HDL的轴承振动噪声电压峰值检测(722) 第十章 综合应用10.1 AVR高速单片机LED显示系统(728)10.2 基于ADμC812与SJA1000数据采集系统的设计(732)10.3 用AT89C2051设计的PC/AT键盘(736)10.4 利用89C2051实现POCSAG编码的方法(739)10.5 加载感应DAC的应用(741)10.6 利用MAX7219设计LED大屏幕基本显示模块(745)10.7 单片机用作通用红外遥控接收器的设计(751)10.8 红外遥控器软件解码及其应用(754) 第十一章 文章摘要 一、专题论述(758)1.1 与8051兼容的单片机的新发展(758)1.2 正在崛起的低功耗微处理器技术(758)1.3 低功耗电子系统设计的综合考虑(758)1.4 数字电路设计方案的比较与选择(758)1.5 单片机应用系统中数学协处理器的开发(758)1.6 实现基于IP核技术的SoC设计(758)1.7 基于知识产权的SoC关键技术与设计(759)1.8 基于IP核复用技术的SoC设计(759)1.9 将IP集成进SoC(759)1.10 模拟/混合电路SoC的设计难题(759)1.11 系统级可编程芯片(SOPC)设计思想与开发策略(759)1.12 基于SoC的PAGER控制芯片设计(759)1.13 一种高性能CMOS带隙电路的设计(759)1.14 基于结构的指纹分类技术(760)1.15 指纹识别的预处理组合算法(760)1.16 一种指纹识别的细节特征匹配的方法(760)1.17 指纹IC卡及其应用(760)1.18 人脸照片的特征提取与查询(760)1.19 一种快速、鲁棒的人脸检测方法(760)1.20 128条码的编码分析和识别算法(761)1.21 身份证号码快速识别系统(761)1.22 汉字识别技术的新方法及发展趋势(761)1.23 蓝牙技术及其应用展望(761)1.24 蓝牙技术浅析(761)1.25 蓝牙HCI USB传输层规范(761)1.26 蓝牙服务发现协议(SDP)的实现(761)1.27 蓝牙技术安全性解析(762)1.28 蓝牙技术及其应用(762)1.29 BluetoothASIC接口技术(762)1.30 RF CMOS蓝牙收发器的设计(一)(762)1.31 RF CMOS蓝牙收发器的设计(二)(762)1.32 单片蓝牙控制器AT76C551(762)1.33 设计RF CMOS蓝牙收发器(762)1.34 ROK 101 007/1蓝牙模块的特性与应用(763)1.35基于nRF401的PC机无线收发模块的设计(763)1.36 无线收发芯片nRF401在监测系统中的应用(763)1.37 基于射频收发芯片nRF401的计算机接口电路设计(763)1.38 采用nRF401实现单片机与PC机无线数据通信(763)1.39 基于射频收发芯片nRF403的无线接口电路设计(763)1.40 蓝牙局域网无线接入网关的研制(763)1.41 基于蓝牙的无线数据采集系统(764)1.42 安立蓝牙无线测试解决方案(764)1.43 嵌入式系统中的蓝牙电话应用规范的实现(764)1.44 蓝牙“三合一电话”的解决方案(764)1.45 用Bluetooth技术构建分布式污水处理控制系统(764)1.46 MPEG的发展动态及其未来预测(764)1.47 软件无线电的关键技术与未来展望(764)1.48 软件无线电与虚拟无线电(765)1.49 射频无线测控系统及其应用(765)1.50 一种新的感知工具——电子标记笔(765)1.51 智能住宅用户控制器设计(765)1.52 利用GPS对计算机实现精确授时(765)1.53 IP代理远程测控系统(765)1.54 曼彻斯特码编码与解码硬件实现(765)1.55 便携式设备中电源软开关设计的一种方法(766)1.56 便携式设备的电源方案设计(766)1.57 StrongARM及其嵌入式应用平台(766)1.58 嵌入式系统在光传输设备中的应用(766)1.59 光纤无源器件技术的发展方向(766) 二、 综合应用(767)2.1 数据存储技术的应用(767)2.2 SL11R单片机外部存储器扩展(767)2.3 构成大容量非易失性SRAM方法分析(767)2.4 一种专用高速硬盘存储设备的设计与实现(767)2.5 基于CDROM的嵌入式系统设计(767)2.6 串行E2PROM的应用设计与编程(767)2.7 利用UART扩展大容量具有SPI接口的快速串行E2PROM的方法(767)2.8 用单片机实现异步串行数据再生(768)2.9 非易失性数字性电位器与单片机的接口设计(768)2.10 数控电位器在频率可调信号源中的应用(768)2.11 单片机上一种新颖实用的ex函数计算方法(768)2.12 单片机系统设计的误区与对策(768)2.13 基于SystemC的嵌入式系统软硬件协同设计(768)2.14 一种基于JTAG TAP的嵌入式调试接口设计(769)2.15 工作频率可动态调整的单片机系统设计(769)2.16 嵌入式系统高效多串口中断源的实现(769)2.17 AVR单片机计时器的优化使用(769)2.18 可编程定时/计数器提高输出频率准确度方法(769)2.19 用插值调整法设计单片机串行口波特率(769)2.20 “频率准确度”自动校准(770)2.21 双时基频率校准电路(770)2.22 电压频率转换电路的动态特性分析及求解(770)2.23 单片机测控系统的低功耗设计(770)2.24 MCS96/196三字节浮点库(770)2.25 循环冗余校验方法研究(770)2.26 32位微处理器下伪SPI技术的研究与实现(770)2.27 智能仪表LED点阵显示模块的设计(771)2.28 点阵式图形VFD与单片机的硬件接口及编程技术(771)2.29 内置汉字字模的EPROM制作技术(771)2.30 利用VC++实现汉字字模的提取与小汉字库的生成(771)2.31 高分辨率电压与电流快速数据采集方法(771)2.32 单片机与数字温度传感器DS18B20的接口设计(771)2.33 新型温度传感器DS18B20高精度测温的实现(772)2.34 MAX6576/6577集成温度传感器(772)2.35 AD22105型低功耗可编程集成温度控制器(772)2.36 基于IEEE 1451.1的网络化智能传感器设计(772)2.37 数字式温度传感器与仪表的智能化设计(772)2.38 用单片机软件实现传感器温度误差补偿(772)2.39 Σ?Δ A/D转换器的原理及分析(772)2.40 一种提高A/D分辨率的信号调理电路设计(773)2.41 高精度数据转换器接口技术(773)2.42 高精度双积分A/D转换器与单片机接口的新方法(773)2.43 一种高速A/D与MCS51单片机的接口方法(773)2.44 基于串行FIFO双口RAM的高速A/D转换采集系统的设计(773)2.45 超高速数据采集系统的设计与实现(773)2.46 廉价隔离型高精度D/A转换器(774)2.47 智能卡及其应用技术研究(774)2.48 Jupiter GPS接收机数据的提取(774)2.49 基于单片机的脉冲频率的宽范围高精度测量(774)2.50 电源模块输入软启动电路的设计(774)2.51 不停车电子收费系统关键技术(774)2.52 一种直接采用计算机串行口控制步进电机的新方法(774)2.53 8051系列单片机通用鼠标接口程序设计(775)2.54 可编程ASIC与MCS51单片机接口设计及实现(775) 三、软件技术(776)3.1 无线信息设备的理想操作系统Symbian OS(776)3.2 TMS320C55x嵌入式实时多任务系统DSP/BIOS II(776)3.3 两种嵌入式操作系统的比较(776)3.4 用自由软件开发嵌入式应用(776)3.5 开放源代码软件的应用研究(776)3.6 清华嵌入式软件系统的解决方案(776)3.7 单片机应用程序的高级语言设计(777)3.8 基于RTX51的单片机软件设计(777)3.9 多网口通信在VXWORKS中的实现(777)3.10 嵌入式实时操作系统中实现MBUF(777)3.11 硬实时操作系统——RTLinux(777)3.12 Linux嵌入式系统的上层应用开发研究(777)3.13 嵌入式Linux内核下串行驱动程序的实现(777)3.14 嵌入式Linux的中断处理与实时调度的实现机制(778)3.15 基于Linux平台的应用研究(778)3.16 基于Linux的嵌入式系统开发(778)3.17 基于Linux的嵌入式系统设计与实现(778)3.18 基于RTLinux的实时控制系统(778)3.19 基于RTLinux的实时机器人控制器研究(778)3.20 嵌入式Linux系统在温室计算机控制中的应用(778)3.21 基于Linux的USB驱动程序实现(779)3.22 Linux环境下实现串口通信(779)3.23 Linux系统下RS485串行通信程序设计(779)3.24 Linux系统下蓝牙设备驱动程序研究和实现 (779)3.25 基于μCLinux和GPRS的无线数据通信系统(779)3.26 嵌入式Linux开发平台的USB主机接口设计(779)3.27 CAN通信卡的Linux设备驱动程序设计实现(779)3.28 μC/OSII实时操作系统内存管理的改进(780)3.29 μC/OSII在总线式数据采集系统中的应用(780)3.30 实时操作系统μC/OSII在MCF5272上的移植(780)3.31 μC/OSII在51XA上的移植应用(780)3.32 实时嵌入式内核在DSP上的移植实现(780)3.33 利用全局及外部变量实现C51无参数化调用A51函数(780)3.34 基于状态分析的键盘管理软件设计(780)3.35 PS/2接口C语言通信函数库设计(781)3.36 DS18B20接口的C语言程序设计(781)3.37 基于KeilC51的SLE4428 IC卡驱动程序设计(781)3.38 智能型并口用软件加密狗的设计(781)3.39 啤酒发酵控制器中的多任务分析与实现(781)3.40 CAN网络应用软件的设计与研究(781)3.41 USB软件系统的开发(782) 四、网络、通信与数据传输(783)4.1 网际协议过渡——从IPv4到IPv6(783)4.2 IPv6简介(783)4.3 传输控制协议(TCP)介绍(783)4.4 TCP/IP协议的ASIC设计与实现(783)4.5 IP电话的TCP/IP协议的实现方法(783)4.6 基于嵌入式TCP/IP协议栈的信息家电连接Internet单芯片解决方案(783)4.7 基于以太网的家庭网络平台(784)4.8 单芯片家庭网关平台CX821xx(784)4.9 用于单片机的以太网网关——网络通(784)4.10 基于“网络通”的单片机以太网CAN网关的应用(784)4.11 第三代快速以太网控制器及其应用(784)4.12 工业以太网在控制系统中的应用前景(784)4.13 工业以太网控制模块的研究与研制(785)4.14 以太网、控制网与设备网的性能比较与分析(785)4.15 嵌入式系统以太网控制器驱动程序的设计与实现(785)4.16 WIN9X下微机与单片机的串行通信(785)4.17 利用VB6.0实现PC机与单片机的串口通信(785)4.18 基于VB6的PC机与多台单片机通信的应用(785)4.19 用C++Builder6.0实现80C51与PC串行通信(785)4.20 VC++中实现基于多线程的串行通信(786)4.21 RS232串行通信线路的连接方法设计分析(786)4.22 高效率串行通信协议的设计(786)4.23 利用增强并口协议传输数据(786)4.24 应用于RS485网络的多信道串行通信接口的设计(786)4.25 以Visual C++实现PC与89C51之间的串行通信(786)4.26 智能多路RS422串行通信卡的设计(786)4.27 RS232接口转换为通用串行接口的设计原理(787)4.28 基于智能模块的RS485通信协议转换路由器(787)4.29 RS232接口转USB接口的通信方法(787)4.30 用VB实现PC与PDA的串行通信(787)4.31 利用WindowsAPI实现与GPS的串口通信(787)4.32 VB6.0在无线通信中的应用(787)4.33 用PTR2000实现单片机与PC机之间的无线数据通信(787)4.34 基于光纤RS232/RS485传输系统(788)4.35 利用串口实现PC与PDA的同步通信(788)4.36 实现32位单片机MC68332与PC机串行通信的底层程序设计(788)4.37 基于VB的USB设备检测通信研究(788)4.38 USB设备与PC机之间的通信机制的实现技术研究(788)4.39 利用MODEM实现单片机与PC机远程通信(788)4.40 谈谈电力线通信(788)4.41 低压电力线载波高速数据通信设计(789)4.42 PL2000在低压电力线载波通信中的应用(789)4.43 一种电力线扩频载波通信节点的具体实现(789)4.44 一种基于电力线的家庭以太网络实现方法(789)4.45 基于电力线载波的家庭智能化局域网研究(789)4.46 低压电力线扩频家庭自动化系统(789)4.47 智能家庭网络研究与开发(790)4.48 蓝牙在家庭网络中的实现(790)4.49 参照CEBus标准的家庭网络系统研究与实现(790)4.50 采用蓝牙技术构建智能家庭网络(790)4.51 家庭网络中的设备集成研究(790)4.52 一种嵌入式通信协议系统及在智能住宅网络中的应用(790)4.53 基于手机短消息(SMS)的远程无线监控系统的研制(791)4.54 基于GSM短信息方式的远程自来水厂地下水位自动监控系统(791)4.55 TC35及其在短消息自动抄表系统中的应用(791)4.56 计算机不同通信接口下的数据采集技术问题研究(791)4.57 80C152单片机在HDLC通信规程中的应用(791)4.58 内置MODEM通信模块在远程监测系统中的应用(791)4.59 用单片机普通I/O口实现多机通信的一种新方法(792)4.60 利用串行通信实现实时状态监控(792)4.61 基于FIFO芯片的单片机并行通信(792) 五、新器件与新技术(793)5.1 CYGNAL的C8051F02x系列高速SoC单片机(793)5.2 AduC812单片机控制系统的开发(793)5.3 可编程外围芯片PSD5xx与单片机68CHC11的接口(793)5.4 模糊单片机NLX230及其接口软硬件设计(793)5.5 低功耗MSP430单片机在3V与5V混合系统中的逻辑接口技术(793)5.6 MSP430F149单片机在便携式智能仪器中的应用(793)5.7 用MSP430F149单片机实现步进电机通用控制器(793)5.8 PIC和DS18B20温度传感器的接口设计(794)5.9 用P87LPC764单片机的I2C总线扩展“米”字形LED显示器(794)5.10 铁电存储器FM24C04原理及应用(794)5.11 CAT24C021在天文望远镜控制器中的应用(794)5.12 串行时钟芯片在智能传感器中的应用(794)5.13 RTC器件X1228及其在不间断供电系统中的应用(794)5.14 新型A/D转换技术——流水线ADC(794)5.15 集成芯片AD558及其应用(795)5.16 14位3MHz单片模数转换器AD9243的应用(795)5.17 16位模数转换器MAX195在单片机系统中的应用(795)5.18 24位模/数转换器CS5532及其应用(795)5.19 ADS7825模数转换芯片及其在高速数据采集系统中的应用(795)5.20 新型D/A变换器AD9755及其应用(795)5.21 单片机与串口D/A转换器MAX525的接口设计(795)5.22 几种PWN控制器(796)5.23 一种新型的可编程的4~20mA二线制变送器XTR108及其应用(796)5.24 可编程温度监控器ADT14及其应用(796)5.25 一种适用于51系列单片机的R/F转换电路(796)5.26 通用集成滤波器的特点及应用(796)5.27 串行显示驱动器PS7219及单片机的SPI接口设计(796)5.28 新型的键盘显示芯片——SK5279A的应用(797)5.29 高效语音压缩芯片AMBE—2000TM及其在语音压缩中的应用(797)5.30 适于语音处理的SDA80D51芯片及其数字录放音系统(797)5.31 基于ISD2560语音芯片的小型实用语音系统(797)5.32 发射信号处理器AD6622在软件无线电中的应用(797)5.33 基于UM3758108A芯片远距多路参数监测系统(797)5.34 单片频率计ICM7216D及应用(797)5.35 X25045芯片在微机测控系统中的应用(798)5.36 MC14562B在多CPU系统串行通信中的应用(798)5.37 高级串行通信控制器SAB82525及其应用(798)5.38 MAX121芯片在高速串行接口电路中的应用(798)5.39 应用DS2480实现RS232与单总线的串行接口(798)5.40 介绍一种真正的单芯片MODEM73M2901C/5V(798)5.41 HART调制解调器SYM20C15应用设计(799)5.42 TM1300同步串行接口与Modem模拟前端之间的通信(799)5.43 TEMIC系列射频卡及其应用(799)5.44 用Philips PCD600x实现多线电话并机(799)5.45 SDH专用集成电路套片DTT1C08A和DTT1C20A及其应用(799)5.46 GAL16V8用于步进电动机驱动器(799)5.47 UC3717步进电机驱动电路与89C2051单片机的接口技术(799)5.48 TinySwitch单片开关电源的设计方法(800)5.49 基于MAX883的动态供电设计(800)5.50 高压PWM电源控制器MAX5003及其应用(800)5.51 单片机与大功率负载的开关接口(800)5.52 迟滞开关功率转换器LM3485在电源系统中的应用(800)5.53 功率逻辑器件在嵌入式系统中的应用(800)5.54 TPS60101用于低功耗系统的电源解决方案(800)5.55 新型电能表芯片AT73C550及其应用(801)5.56 运动控制芯片MCX314及其应用(801) 六、总线技术(802)6.1 PCItoPCI桥及其应用设计(802)6.2 基于PCI总线的数据采集系统(802)6.3 VXI和PXI总线技术的应用及其发展前景(802)6.4 基于PC104总线的嵌入式以太网卡设计(802)6.5 基于RS485总线的传感器网络化技术研究(802)6.6 RS232总线转CAN总线装置的设计与实现(802)6.7 现场总线技术的发展与工业以太网综述(803)6.8 广义现场总线标准与工业以太网(803)6.9 用单片机设计现场总线转换网桥(803)6.10 基于LonWorks的在系统编程技术(803)6.11 Neuron芯片与MCS51系列单片机串行通信的实现(803)6.12 Neuron芯片多总线I/O对象的应用(803)6.13 CAN总线及其应用技术(804)6.14 CAN总线协议分析(804)6.15 CAN总线智能节点的设计和实现(804)6.16 CAN总线控制器SJA1000的原理及应用(804)6.17 CAN总线与PC机通信卡接口电路设计(804)6.18 CAN总线及其在测控系统中的实现(804)6.19 基于CAN总线的温度、压力控制系统(804)6.20 基于CAN总线的新型网络数控系统(805)6.21 CAN总线在混和动力汽车电机控制系统中的应用(805)6.22 CAN总线技术在石油钻井监控系统中的应用(805)6.23 一种电动阀的DeviceNet总线接口设计(805)6.24 单总线技术及其应用(805)6.25 美国DALLAS公司单线可编程数字温度传感器技术(805)6.26 基于单总线技术的农业温室控制系统设计(805)6.27 单总线协议转换器在分布式测控系统中的应用(806)6.28 单总线技术在电子信息识别系统中的应用(806)6.29 信息纽扣及其在安全巡检管理系统中的应用(806)6.30 SPI串行总线接口及其实现(806)6.31 通用串行总线USB及其产品开发(806)6.32 通用串行总线(USB)数据传输模型(806)6.33 基于USB总线的测试系统开发(806)6.34 一种USB外设的实现方法(807)6.35 基于USB接口的PTP协议在Win32上编程实现(807)6.36 USB在便携式外设间的应用及其协议(807)6.37 多USB接口的局域网接入技术的实现(807)6.38 USB接口设计及其在工业控制中的应用(807)6.39 USB技术在第四代数控测井系统中应用(807)6.40 用AN2131Q开发USB接口设备(807)6.41 USB/IrDA桥控制芯片STIr4200S(808)6.42 一种基于USB接口的家庭网络适配器的设计(808)6.43 基于USB总线的实时数据采集系统设计(808)6.44 基于SL11R的USB接口数据采集系统(808)6.45 基于USB的数据采集系统设计与实现(808)6.46 USB2.0在高速数采系统中应用(808)6.47 基于USB的航空检测数据采集系统的设计(808)6.48 基于USB总线的小型图像采集系统的设计(809)6.49 USB技术及其在图像数据传输中的应用(809)6.50 USB2.0在遥感图像采集中的应用(809)6.51 CCD摄像机的USB接口设计(809)6.52 带USB接口的发动机点火波形测量系统(809)6.53 USB接口智能传感器标定数据采集系统的设计(809)6.54 USB接口在粮仓自动测温系统中的应用(810)6.55 基于GPIF的USBATA解决方案(810)6.56 基于USB总线新型视频监视和会议系统(810)6.57 基于USB接口的高性能虚拟示波器(810)6.58 IEEE 1394与现场总线(810)6.59 IEEE 1394高速串行总线及其应用(810)6.60 EF4442及其应用(811) 七、可靠性及安全性技术(812)7.1 单片机系统可靠掉电保护的实现(812)7.2 提高单片机应用系统可靠性的软件技术(812)7.3 单片机应用系统中元器件的可靠性设计(812)7.4 DSP复位问题研究(812)7.5 计算机RAM检错纠错电路的设计与实现(812)7.6 利用USB接口进行软件加密的设计思想和实现方法(812)7.7 计算机电磁信息泄露与防护研究(813)7.8 USB软件狗的设计及反破解技术(813)7.9 全隔离微机与单片机的RS485通信技术(813)7.10 印制板的可靠性设计(813)7.11 多层布线的发展及其在电源电路电磁兼容设计中的应用(813)7.12 印制电路板的电磁兼容性预测(813)7.13 PCB的热设计(813)7.14 密码术研究综述(814)7.15 利用汇编语言实现DES加密算法(814)7.16 USB保护电路的选择(814)7.17 基于CAN总线的多机冗余系统的设计(814)7.18 蓝牙链路层安全性(814)7.19 开关电源谐波含量测试分析及抑制(814)7.20 系统可靠性冗余的优化研究(814)7.21 电子工程系统中电磁干扰的诊断和控制方法初探(815)7.22 微机化仪器电磁兼容性设计(815)7.23 电磁兼容设计中的屏蔽技术(815)7.24 几种电磁干扰的分析与解决(815)7.25 计算机的电磁干扰研究(815)7.26 电子电路中抗EMI设计(815)7.27 测试系统中干扰及其形成机理(816)7.28 一种基于ST62单片机的强抗干扰控制器的设计(816)7.29 微控制器硬件抗干扰技术(816)7.30 一种具有高抗干扰能力单片机通信电路的设计(816)7.31 测控系统抗干扰设计(816)7.32 单片机应用系统的抗干扰软件设计(816)7.33 变频系统测控软件抗干扰研究(816)7.34 快速瞬变脉冲群干扰的原理及硬件防护(817)7.35 巧用单片机软件抗系统瞬时干扰(817)7.36 微机式保护装置中浪涌干扰的硬件防护(817)7.37 具有抗干扰性能的单片机智能仪表的设计(817)7.38 RS232串行通信消除干扰噪声的设计方法分析(817)7.39 热插拔冗余电源的设计(817)7.40 IC卡读写器的密码识别(817)7.41 16位高抗干扰D/A转换(818) 八、DSP及其应用技术(819)8.1 TMS320F206定点DSP芯片开发实践(819)8.2 ADSP2181精简开发板的研制(819)8.3 DSP系统中的外部存储器设计(819)8.4 Flash存储器在DSP系统中的应用(819)8.5 DSP系统的硬盘接口研究(819)8.6 TMS320C6201与FlashRAM的接口设计与编程技术(819)8.7 基于DSP的实时MPEG4编码的软件优化设计(819)8.8 TMS320C62X DSP的软件开发与优化编程(820)8.9 IP安全内核及其DSP实现的研究(820)8.10 基于TMS320C54X DSK平台的Zoom?FFT的快速实现(820)8.11 高速DSP与串行A/D转换器TLC2558接口的设计(820)8.12 TMS320C2X DSP的一种实用人机接口的设计与实现(820)8.13 DSP系统中常用串口通信的设计(820)8.14 DSP与单片机之间串行通信的实现(821)8.15 基于DMA方式的8位单片机与16位DSP双机通信接口(821)8.16 DSP与PC机间的DMA通信接口设计(821)8.17 TMS320VC5402与I2C总线接口的实现(821)8.18 ZLG7289A与DSPSPI的接口技术(821)8.19 DSP与PCI总线接口设计及实现(821)8.20 TMS320C6X与PC高速通信的实现(822)8.21 DSP与PC之间的以太通信 (822)8.22 TM1300 DSP系统以太网接口的设计(822)8.23 基于DSP的CAN总线通信系统(822)8.24 TMS320VC5410 DSP中USB客户驱动程序开发与实现(822)8.25 基于TMS320C55x DSP的USB通信研究与固体设计(822)8.26 基于DSP的USB口数据采集分析系统(823)8.27 DSP数字信号处理器的浮点数正弦的实现(823)8.28 应用TMS320F240芯片设计高精度可控信号发生器(823)8.29 基于MSP430C325单片机的便携式体温计的设计(823)8.30 基于TMS320VC5409的语音识别模块(823)8.31 基于DSP的ADμC812应用系统设计(823) 九、HDL与可编程器件技术(824)9.1 一种基于CPLD器件的现代数字系统设计方法(824)9.2 基于可编程逻辑器件CPLD及硬件描述语言VHDL的EDA方法(824)9.3 利用硬件描述语言Verilog HDL实现对数字电路的设计和仿真(824)9.4 硬件描述语言VHDL指称语义的研究(824)9.5 VHDL语言逻辑综合的研究(824)9.6 CPLD/FPGA的优化设计(824)9.7 用单片机实现可编程逻辑器件的配置(825)9.8 UART的Verilog HDL实现及计算机辅助调试(825)9.9 基于CPLD的UART设计(825)9.10 用在系统可编程逻辑器件开发并行接口控制器(825)9.11 用CPLD设计EPP数据采集控制器(825)9.12 带FPGA的PCI接口应用(825)9.13 基于CPLD的PCI总线存储卡的设计(826)9.14 基于CPLD的中断控制器IP设计(826)9.15 基于FPGA设计的精度管理策略(826)9.16 VHDL语言在描述DES加密机中的应用(826)9.17 基于P89C51RD2 IAP功能的数据存取与软件升级(826)9.18 在系统可编程模拟器件ispPAC30及其应用(826)9.19 可编程模拟器设计及ispPAC30应用(826)9.20 ispPAD在模拟电路设计中的应用(827)9.21 在系统可编程模拟器件(ispPAC)及其应用(827)9.22 在系统可编程模拟器件ispPAC20及其应用(827)9.23 ispLSI1032E器件及其应用(827)9.24 用ispPAC20实现的最简温度测控系统(827)9.25 在系统可编程器件设计应用实例(827)9.26 在FPGA开发板上设计8051的开发平台(828)9.27 由可编程逻辑器件与单片机构成的双控制器(828)9.28 用VHDL设计专用串行通信芯片(828)9.29 基于FPGA的ARINC429总线接口芯片的设计与实现(828)9.30 I2C总线通信接口的CPLD实现(828)9.31 FPGA模拟MBUS总线的实现(828)9.32 基于FPGA的USB2.0控制器设计(828)9.33 USB外设接口的FPGA实现(829)9.34 循环冗余校验码的单片机及CPLD实现(829)9.35 可编程芯片在测控系统中的应用(829)9.36 可编程逻辑器件在浮点放大器中的应用(829)9.37 FPGA在高速多通道数据采集中的应用(829)9.38 在DSP采样系统中采用DAC实现量程自动转换(829)9.39 基于VHDL语言的数字频率计设计(830)9.40 基于VHDL语言的数字频率计的设计(830)9.41 CPLD在SPWM变频调速系统控制中的应用(830)9.42 ISP技术在交通控制器中的应用(830)9.43 基于ISP技术的有限状态机控制系统设计(830)9.44 如何使用ISP技术产生任意波形(830)9.45 打印控制卡的FPGA外围电路设计(830)9.46 加密可编程逻辑阵列芯片引脚的判别(831)9.47 蓝牙系统中的加密技术及其算法的FPGA实现(831)9.48 运用VHDL语言设计电视墙数字图像处理电路(831)9.49 CPLD在电路板故障诊断中的应用(831)9.50 用硬件描述语言设计一个简单的超标量流水线微处理器(831)9.51 用CPLD技术实现高速数据识别码检测器(831)9.52 用CPLD控制ISD2590语音芯片的技术应用(832) 十、综合应用(833)10.1 嵌入式处理器StrongARM的开发研究(833)10.2 基于StrongARM的视频采集与处理系统(833)10.3 基于StrongARM的远程网络监控系统设计(833)10.4 基于80C196KC的CAM锁定功能实现可控硅的触发控制(833)10.5 基于MSP430F149的低成本智能型电力监测仪(833)10.6 一种基于ADμC812单片机的数据采集器(833)10.7 基于PIC16C72单片机的线性V/F转换器设计(834)10.8 基于PIC16C923单片机的非接触式光纤温度测量仪(834)10.9 用89C2051构成智能仪表的键显接口(834)10.10 基于89C2051的解码器设计(834)10.11 基于AT89C2051的准方波逆变电源(834)10.12 单片机AT89C2051构成的智能型频率计(834)10.13 基于AT89C2051单片机的旋转变压器位置测量系统设计(834)10.14 AT89C2051单片机对显示驱动芯片MC14499的IC级代换(835)10.15 实用变量程模拟信号单片机检测电路(835)10.16 GPS高精度时钟的设计和实现(835)10.17 一种基于GPS的高速数据采集卡的实现(835)10.18 V/F转换电压测量系统(835)10.19 用20位DAC实现0~10 V可程控精密直流参考源的设计(835)10.20 单片MAX752实现的CCD供电电源的设计(835)10.21 基于双口RAM的智能型开关量控制卡的设计(836)10.22 矩阵键盘产生PC机键盘信号的应用设计(836)10.23 基于C51的汉字/数字混合液晶显示及更新的方法(836)10.24 实现串行E2PROM芯片的PC界面操作(836)10.25 一种软硬件结合的POCSAG码解码装置研制(836)10.26 蓝牙技术在医疗监护中的应用(836)10.27 一种红外感应泵液器的单片机应用设计(836)10.28 电话报警系统的设计(837)10.29 无轨电车整流站自动化监控系统(837)10.30 PWM恒流充电系统的设计(837)10.31 微功耗智能IC卡燃气表的研制(837)10.32 软件接口技术在串行通信中的应用(837)10.33 数字化直流接地系统绝缘检测仪的设计与开发(837)10.34 4Mbps红外无线计算机通信卡研制(837)10.35 MCB1电力测量控制仪中CAN总线通信模板的设计及编程(838)10.36 单片机在晶闸管触发电路中的应用(838)10.37 基于DS1302的子母钟系统(838)
上传时间: 2013-12-04
上传用户:vmznxbc
这是一本关于Intel 80C51 以及广大的51 系列单片机的书这本书介绍给读者一些新的技术使你的8051 工程和开发过程变得简单请注意这本书的目的可不是教你各种8051 嵌入式系统的解决方法为使问题讨论更加清晰在适当的地方给出了程序代码我们以讨论项目的方法来说明每章碰到的问题所有的代码都可在附带的光盘上找到你必须熟系C 和8051 汇编因为本书不是一本C 和汇编的指导书你可以买到不少关于ANSI C 的书最佳选择当然是Intel的数据书可从你的芯片供应商处免费索取和随编译工具附送的手册附送光盘中有我为这本书编写和收集的程序这些程序已经通过测试这并不意味着你可以随时把这些程序加到你的应用系统或工程中有些地方必须首先经过修改才能结合到你的程序中这本书将教你充分使用你的工具如果你只有8051 的汇编程序你也可以学习该书和使用这些例子但是你必须把C 语言的程序装入你的汇编程序中这对懂得C 语言和8051汇编程序指令的人来说并不是一件困难的事如果你有C 编译器的话那恭喜你使用C 语言进行开发是一个好的决定你会发现使用C 进行开发将使你的工程开发和维护的时间大大减少如果你已经拥有Keil C51 那你已经选择了一个非常好的开发工具我发现Keil 软件包能够提供最好的支持本书支持Keil C 的扩展如果你有其它的开发工具像Archimedes 和Avocet 这本书也能很好地为你服务但你必须根据你所用的开发工具改变一些Keil 的特殊指令在书的一些地方有硬件图实例程序在这些硬件上运行这些图绘制地不是很详细主要是方框图但足以使读者明白软件和硬件之间的接口读者应该把这本书看成工具书而不是用来学习各种系统设计通过本书你可以了解给定一定的硬件和软件设计之后8051 的各种性能希望你能从本书中获取灵感并有助于你的设计使你豁然开朗当然我希望你也能够从本书中学到有用的知识使之能够提升你的设计 8051 系列微处理器基于简化的嵌入式控制系统结构被广泛应用于从军事到自动控制再到PC 机上的键盘上的各种应用系统上仅次于Motorola 68HC11 在 8 位微控制器市场上的销量很多制造商都可提供8051 系列单片机像Intel Philips Siemens 等这些制造商给51 系列单片机加入了大量的性能和外部功能像I2C 总线接口模拟量到数字量的转换看门狗PWM 输出等不少芯片的工作频率达到40M 工作电压下降到1.5V 基于一个内核的这些功能使得8051 单片机很适合作为厂家产品的基本构架它能够运行各种程序而且开发者只需要学习这一个平台8051 系列的基本结构如下1 一个8 位算术逻辑单元2 32 个I/O 口4 组8 位端口可单独寻址3 两个16 位定时计数器4 全双工串行通信5 6 个中断源两个中断优先级6 128 字节内置RAM7 独立的64K 字节可寻址数据和代码区每个8051 处理周期包括12 个振荡周期每12 个振荡周期用来完成一项操作如取指令和计算指令执行时间可把时钟频率除以12 取倒数然后指令执行所须的周期数因此如果你的系统时钟是11.059MHz 除以12 后就得到了每秒执行的指令个数为921583条指令取倒数将得到每条指令所须的时间1.085ms
上传时间: 2013-11-09
上传用户:chenlong