单片机课程总结

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第一章1.单片微型计算机的原因:它将组成微型计算机机所必须的部件(中央处理器CPU、程序存贮器(ROM)、数据存贮器(RAM)、输入/输出(I/O)接口、定时/计数器、并行口、串行口、系统总线等)集成在一个超大规模集成电路芯片上。再外加少许电子零件便可以构成一套简易的计算机系统,故称单片微型计算机。2.单片机的特点,(1)控制性能和可靠性高(2)体积小、价格低、易于产品化第二章1.单片机的分类生产工艺有两种:一是HMOS工艺,二是CHMOS工艺2.在片内程序存储器的配置上,该系列单片机有四种形式,即掩膜ROM、EPROM、EEPROM和ROMLess(无片内程序存储器)3.80C51系列典型产品配置由表可见:(1)增强型与基本型在以下几点不同:﹡片内ROM字节数:从4K增加到8K;﹡片内RAM字节数:从128增加到256;﹡定时/计数器从2个增加到3个;﹡中断源由5个增加到6个。4.CPU由运算器和控制器两部分电路组成。80C51单片机共有4个8位的I/O口(P0、P1、P2和P3),P0口为三态双向口,能带8个TTL门电路,P1、P2和P3口为准双向口,负载能力为4个TTL门电路。80C51共有5个中断源,即外部中断2个,定时/计数中断2个,串行中断1个。7.80C51引脚:(1)RST/VPD(9脚):RST即为RESET,VPD为备用电源,所以该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚出现持续两个机器周期的高电平,就可以实现复位功能。(2)EA*/VPP(31脚):为访问外部程序存储器控制信号,低电平有效。当EA*端保持高电平时,单片机访问片内程序存储器4KB。若超出该范围时,自动转去执行外部程序存储器的程序。当EA*端保持低电平时,无论片内有无程序存储器,均只访问外部程序存储器PSW的各状态位定义位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志CYACF0RS1RS0OV/P(1)CY:进位标志位,在执行某些算术和逻辑指令时,可以被硬件或软件置位或清零。在算术运算中它可作为进位标志,在位运算中,它作累加器使用,在位传送、位与和位或等位操作中,都要使用进位标志位。(2)AC:辅助进位标志,进行加法或减法操作时,当发生低四位向高四位进位或借位时,AC由硬件置位,否则AC位被置“0”。在进行十进制调整指令时,将借助AC状态进行判断。(3)用户标志位F0:该位为用户自定义的状态标记,用户根据需要可以用指令对其置位或清零,也可以用指令测试F0来控制程序的跳转。(4)RS1和RS0:工作寄存器组选择控制位,该两位通过软件置“0”或“1”来选择当前工作寄存器组。RS1RS0寄存器组片内RAM地址00第0组00H~07H01第1组08H~0FH10第2组10H~17H11第3组18H~1FH(5)OV:溢出标志位当执行算术指令时,由硬件置位或清零来指示溢出状态。在带符号的加减运算中,OV=1表示加减运算结果超出了累加器A所能表示的符号数有效范围(-128~+127),即运算结果是错误的,反之,OV=0表示运算正确,即无溢出产生。判断1:在加(减)法中若D6位向D7位有进位(借位),而D7位不向更高位(CY)有进位(借位)时OV位置1;判断2:在加(减)法中若D7位向更高位(CY)有进位(借位),而D6位不向D7位有进位(借位)时OV位置1;无符号数乘法指令MUL的执行结果也会影响溢出标志,若置于累加器A和寄存器B的两个数的乘积超过了255,则OV置1,反之OV置0。由于乘积的高8位存放于B中,低8位存放于A中,OV置0则意味着只要从A中取得乘积即可,否则要从BA寄存器对中取得乘积结果。在除法运算中,DIV指令也会影响溢出标志,当除数为0时,OV=1,否则OV=0。(6)P:奇偶标志位每个指令周期由硬件来置位或清零用以表示累加器A中1的个数的奇偶性,若累加器中1的个数为奇数则P=1,否则P=0。程序计数器(PC)的位宽(16bit)决定了单片机可访问的程序存储器的最大容量为216=64KPC与DPTR的异同点:相同点:1、都是与地址有关的16位寄存器2、都是通过P0(低)、P2(高)口输出地址的。不同点:1、PC对应程序存储器,DPTR对应数据存储器。PC输出与ALE和PSEN*有关;DPTR输出与ALE、WR*、RD*有关。PC只能作为16位的寄存器,DPTR可以作为16位寄存器也可作为两个8位的寄存器PC不能用MOV指令访问,DPTR是可以的。51系列单片机的存储器还可以从物理结构上可以分为:片内、片外程序存储器和片内、片外数据存储器4部分80C51的程序存储器中有些单元具有特殊功能,使用时应予以注意。其中一组特殊单元是0000H~0002H。系统复位后,(PC)=0000H,单片机从0000H单元开始取指令执行程序。如果程序不从0000H单元开始,应在这三个单元中存放一条无条件转移指令,以便直接转去执行指定的程序。还有一组特殊单元是0003H~002AH。共40个单元,这40个单元被均匀地分为五段,作为五个中断源的中断地址区。其中:0003H~000AH外部中断0中断地址区000BH~0012H定时器/计数器0中断地址区0013H~001AH外部中断1中断地址区001BH~0022H定时器/计数器1中断地址区0023H~002AH串行中断地址区中断响应后,按中断种类,自动转到各中断区的首地址去执行程序。因此在中断地址区中理应存放中断服务程序。但通常情况下,8个单元难以存下一个完整的中断服务程序,因此通常也是从中断地址区首地址开始存放一条无条件转移指令,以便中断响应后,通过中断地址区,再转到中断服务程序的实际入口地址去。在实际应用中,常需在RAM区(位寻址区之后的30H至7FH共80个字节)设置堆栈。80C51的堆栈一般设在30H~7FH的范围内。栈顶的位置由SP寄存器指示。复位时SP的初值为07H(开始于08H),在程序初始化时可以重新设置。堆栈指针SP,8位。它总是指向栈顶。80C51单片机的堆栈常设在30H~7FH这一段RAM中。堆栈操作遵循“后进先出”的原则,入栈操作时,SP先加1,数据再压入SP指向的单元。出栈操作时,先将SP指向的单元的数据弹出,然后,SP再减1,这时SP指向的单元是新的栈顶。可见,80C51单片机的堆栈区是向地址增大的方向生成的(与常用的80X86微机不同);数据指针DPTR,16位。用来存放16位的地址。它由两个8位的寄存器DPH和DPL组成。间接寻址或变址寻址可访问片外的64KB范围的RAM或ROM数据。CPU时序一个机器周期包含12个晶振周期或6个时钟(状态)周期指令的执行时间称作指令周期(单、双、四周期)SP=07H,第一个入栈内容将写入08H单元;位寻址区第三章80C51的寻址方式有七种。即:寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、基址变址寻址、相对寻址和位寻址寄存器间接寻址寄存器中的内容为地址,由该地址去取要操作的数据的寻址方式称为寄存器间接寻址基址变址寻址以一个基地址加上一个偏移量地址形成要操作数据地址的寻址方式称为基址变址寻址。一般传送指令一、16位传送这条指令的功能是将源操作数data16(通常是地址常数)送入目的操作数DPTR中。源操作数的寻址方式为立即寻址。例如:执行指令MOVDPTR,#1234H后(DPH)=12H,(DPL)=34H。1.通常源操作数与目的操作数寻址方式不相同(除direct外);2.寄存器寻址与寄存器间接寻址互不相通数据;特殊传送指令DirectA#dataRn@Ri例3.3把外部数据存储器2040H单元中的数据传送到外部数据存储器2560H单元中去。解:MOVDPTR,#2040HMOVXA,@DPTR;将2040H单元的内容传送到A中MOVDPTR,#2560HMOVX@DPTR,A;将A中的内容传送到2560H单元中注意:(1)堆栈是用户自己设定的内部RAM中的一块专用存储区,使用时一定先设堆栈指针;堆栈指针缺省为SP=07H。(2)堆栈遵循后进先出的原则安排数据。(3)堆栈操作必须是字节操作,且只能直接寻址。将累加器A入栈、出栈指令可以写成:PUSH/POPACC或PUSH/POP0E0H而不能写成:PUSH/POPA(4)堆栈通常用于临时保护数据及子程序调用时保护现场/恢复现场。(5)以上指令结果不影响程序状态字寄存器PSW标志。(除POPACC)563.4算术运算类指令(24条)算术运算指令可以完成加、减、乘、除及自加1和自减1等运算。这类指令多数以A为目的操作数。5758进位(借位)标志CY为无符号整数的多字节加法、减法、移位等操作提供了方便;溢出标志OV可方便的控制补码运算;辅助进位标志AC用于BCD码运算。算术运算操作将影响PSW中的OV、CY、AC和P等。位操作类指令位操作又称布尔操作,它是以位为单位进行的各种操作。位操作指令中的位地址有4种表示形式:直接地址方式(如,0D5H);点操作符方式(如,0D0H.5、PSW.5等);位名称方式(如,F0);伪指令定义方式(如,MYFLAGBITF0)。第五章(一)汇编语句的种类指令语句(硬指令),伪指令语句(伪指令),宏指令语句(宏指令)伪指令伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令。它不是单片机执行的指令,所以没有对应的可执行机器码,汇编后产生的目标程序中不会再出现伪指令。1、起始地址设定伪指令ORG格式为:ORG表达式2、汇编结束伪指令END格式为:END该指令的功能是结束汇编。4、字数据定义伪指令DW[标号:]DW字数据表功能是从标号指定的地址单元开始,在程序存储器中定义字数据。该伪指令将字或字表中的数据根据从左到右的顺序依次存放在指定的存储单元中。应特别注意:16位的二进制数,高8位存放在低地址单元,低8位存放在高地址单元。例如:ORG1400HDATA:DW324AH,3CH……汇编后,(1400H)=32H,(1401H)=4AH,(1402H)=00H,(1403H)=3CH。例有一变量存放在片内RAM的20H单元,其取值范围为:00H~09H。要求编制一段程序,根据变量值求其平方值,并存入片内RAM的21H单元。程序如下:ORG1000HSTART:MOVDPTR,#2000HMOVA,20HMOVCA,@A+DPTRMOV21H,ASJMP$ORG2000HTABLE:DB00,01,04,09,16,25END幸福,不能用手去捉摸,只能用心去琢磨,只能静静去体味。细细地品味了,你就享受到了它温馨的暖,或浓或淡的甜!幸福,其实很简单。幸福就是和爱人一起漫步,幸福就是吃到妈妈的拿手饭菜,幸福就是孩子在你的脚跟前转悠,幸福就是你能帮父母洗衣洗碗。幸福,其实很简单。拥有一份称心的工作,就是一种幸福;拥有一个温馨的家,就是一种幸福;拥有一位知心的朋友,就是一种幸福;拥有一份好的心态,就是一种幸福;拥有一个相濡以沫的爱人,那更是一种幸福。幸福就是如此的平平凡凡,幸福就是这样的简简单单。幸福,其实就是自己心灵的感觉,沉淀在自己的心底,看不见摸不着,没有那么直观,可那种体验与享受却很真实、很直接。或许你没有丰富的物质,或许你不能掌控自己的名利,但只要你拥有一份良好的心情,幸福就会围着你转。幸福,其实很简单。幸福就是口渴时的那杯水,幸福就是饥饿时的那顿饭,幸福就是劳累时的歇歇脚,幸福就是闲暇时的那茶盏,幸福就是困倦时的那场眠,幸福就是相爱的人彼此的牵挂,幸福就是离别的人默默的思念!幸福,其实很简单。幸福就是平静的呼吸,仔细的聆听,忘情的观看;幸福就是有人爱,有事做,有所期待,有人给温暖;幸福就是不迷茫,不慌乱,生而无悔,活而无憾。幸福,其实就在路上,走一步,有一步的风景;进一步,有一步的欣喜;退一步,有一步的心境;停下步,忆往事,感到舒心的甜。幸福,其实很简单。当你失落,当你伤心,当你落泪时,有人会走到你身边给你一个拥抱,让你不再心酸,让你顿生温暖。幸福似一杯香茗

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功