《单片机原理及应用》教案3

上传人:xins****2008 文档编号:111115535 上传时间:2019-11-01 格式:DOC 页数:125 大小:1.53MB
返回 下载 相关 举报
《单片机原理及应用》教案3_第1页
第1页 / 共125页
《单片机原理及应用》教案3_第2页
第2页 / 共125页
《单片机原理及应用》教案3_第3页
第3页 / 共125页
《单片机原理及应用》教案3_第4页
第4页 / 共125页
《单片机原理及应用》教案3_第5页
第5页 / 共125页
点击查看更多>>
资源描述

《《单片机原理及应用》教案3》由会员分享,可在线阅读,更多相关《《单片机原理及应用》教案3(125页珍藏版)》请在金锄头文库上搜索。

1、单片机原理及应用教案初学单片机几个不易掌握的概念一、 总线、数据我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连线传递的是一个模拟信号,是将连续变化的电压或电流信号在各个器件之间传送。而单片机电路中,连线传递的是一个数字信号,它所传递的只有“0”和“1”二个数字。这里大家可能会有一个误解,计算机既然可以传递0和1,那为什么不传递2、3、4、。?我们这么说大家可能就好理解了:计算机中“0”表示的是低电平,理论上为0V电压,“1”表示的是高电平,理论上为5V电压,单片机就是将这样的电平输出到它的口线上,让其它的器件把这一电平信号读走,即完成了输出“0”或“1”的任务。反之亦然,外

2、围器件把要传给单片机的数据以高低电平的形式体现在它的输出口线上,通过与单片机的连接线,在单片机的相应的口线上也体现出相同的电平信号,单片机把这一信号取到内部的存贮单元中,即完成了一次输入“0”或“1”的任务。从以上分析我们就知道了为什么计算机不能传递2、3、4等其它数据的道理了。8位单片机的口线是8条,既可以同时输入输出8位数据,也可以用位操作指令只对其中的某一根口线进行读写操作。而连接单片机与其它器件的连接线实际上就是我们所称为的总线。而在总线上传输的数字就是我们所称为的数据。我们在这门课程中所介绍的AT89C51单片是一个8位机,有4个输入输出口,每个口有8根口线,可同时传递8位的数据。由

3、于单片机外部所接的器件可能有多种、多片,每片内又有多个单元地址,因此,需要对它们进行地址上的区分和对不同器件进行不同操作的控制,因此,单片机的总线又可以分类为数据总线,地址总线、控制总线。二、指令地址、数据地址单片机内部有二类的存贮单元,只读存贮器ROM和随机存贮器RAM。AT89C51内部有4KB的ROM和128字节的RAM,对于这些的存贮单元,单片机要对它的每一个单元进行编址,否则就无法对其中的某一个单元进行操作。ROM的地址为0000H1FFFH,RAM的地址为00H7FH。我们用汇编指令编写的汇编程序要经过一个编译软件把它编绎成单片机能够识别的二进制形式的程序机器码程序,然后再把它烧写

4、到单片机的ROM单元中,换句话说,ROM是用来存放程序用的,因为是通过烧写进去的,所以它是非易失性的,掉电后单片机内的程序不会丢失。程序在运行过程中要进行运算,需要一些的存贮单元,用来临时存放一些的数据,这时我们就可以把这样的数据存放到RAM中,换句话说,RAM是用来存放一些随机的数据,这类的数据不是通过烧写器写到芯片里头去的,因此它是易失性的,掉电后这些数据都将不复存在。当然,如果程序比较长,内部的4KB的ROM不够用,这时有二种办法可以解决,一是选用容量更大的单片机,如89C52、89C55等。二是在89C51片外扩展一片ROM。RAM也一样可以扩展。这就是我们后面片外扩展章节中要介绍的内

5、容。同样,扩展的ROM或RAM也要对它进行编址。二、 P3口的第二功能用法P3口是双功能口,既可以作为普通的I/O口使用,又可以作为第二功能口使用。作为第二功能,其引脚被用作与外部的通讯(RXD、TXD)、外部中断申请(INT0、INT1)、定时器的外部脉冲输入(TO、T1)、片外扩展时的外部芯片读写控制(RD、WR)。初学时往往对P3口的第二功能用法迷惑不解,认为第二功能和正常I/O口输入输出功能之间要有一个切换的过程,或者说要有一条指令用于定义其功能,事实上,各端口的第二功能完全是自动的,不需要用指令来转换。如P3.6、P3.7分别是WR、RD信号,当单片机外接RAM或有外部I/O口时,它

6、们被用作第二功能,不能作为通用I/O口使用,只要单片机一执行到MOVX指令,就会有相应的信号从P3.6或P3.7送出,不需要事先用指令说明。事实上不能作为通用I/O口使用也并不是不能而是(使用者)不会将其作为通用I/O口使用。你完全可以在指令中按排一条SETB P3.7的指令,并且当单片机执行到这条指令时,也会使P3.7变为高电平,但使用者不会这么去做,因为这通常这会导致系统的崩溃(即死机)。三、 程序的执行过程 前面我们提到,89C51单片机内部的4KB的ROM其编址范围是0000H1FFFH,单片机内安排了一个16位的特殊功能寄存器PC(程序计数器)用来指示目前程序所执行的是哪一条指令,也

7、就是我们通常说的程序指针。单片机在通电复位后8051内的程序计数器(PC)中的值为0000,所以程序总是从0000单元开始执行,也就是说:在系统的ROM中一定要存在0000这个单元,并且在0000单元中存放的一定是一条指令,否则程序将无法正常执行下去。四、 堆栈 堆栈是一个区域,是用来存放数据的,这个区域本身没有任何特殊之处,就是内部RAM的一部份,特殊的是它存放和取用数据的方式,即所谓的先进后出,后进先出,并且堆栈有特殊的数据传输指令,即PUSH和POP,有一个特殊的专为其服务的单元,即堆栈指针SP,每当执行一次PUSH指令时,SP就(在原来值的基础上)自动加1,每当执行一次POP指令,SP

8、就(在原来值的基础上)自动减1。由于SP中的值可以用指令加以改变,所以只要在程序开始阶段更改了SP的值,就可以把堆栈设置在规定的内存单元中,如在程序开始时,用一条MOV SP,#5FH指令,就把堆栈设置在从内存单元60H开始的单元中。一般程序的开头总有这么一条设置堆栈指针的指令,因为开机时,SP的初始值为07H,这样就使堆栈从08H单元开始往后,而08H到1FH这个区域正是8031的第二、三、四工作寄存器区,经常要被使用,这会造成数据的混乱。不同作者编写程序时,初始化堆栈指令也不完全相同,这是作者的习惯问题。当设置好堆栈区后,并不意味着该区域成为一种专用内存,它还是可以像普通内存区域一样使用,

9、只是一般情况下编程者不会把它当成普通内存用了。六、单片机的开发过程 这里所说的开发过程并不是一般书中所说的从任务分析开始,我们假设已设计并制作好硬件,下面就是编写软件的工作。在编写软件之前,首先要确定一些常数、地址,事实上这些常数、地址在设计阶段已被直接或间接地确定下来了。如当某器件的连线设计好后,其地址也就被确定了,当器件的功能被确定下来后,其控制字也就被确定了。然后用文本编缉器(如WAVE等)编写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误。之后有二种办法对程序正确与否进行验证,一是应用仿真机对软件进行调试,直到程序在硬件上运行正确为止。运行正确后,就可以写片(将程序固

10、化在EPROM中)。二是在程序比较简单,又没有仿真机的情况下,将源程序编译后生成扩展名为HEX或BIN的目标文件,通过编程器直接烧写到89C51芯片上,再将芯片插到硬件电路上运行,不断反复以上过程,直至程序运行正确为止。举一例说明:ORG 0000HLJMP STARTORG 0040HSTART:OV SP,#5FH ;设堆栈LOOP: NOPLJMP LOOP ;循环END ;结束表1:03000000020040BB:0700400075815F000200431F表202 00 40 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

11、FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 75 81 5F 00 02 00 43表3表1为源程序,表2是汇编后得到的HEX文件,表3是由HEX文件转换成的目标文件,也就是最终写入ROM的文件,它由编程器转换得到,也就是说大家在编程器中打开由编译器编译的HEX或BIN一类的文件时所看到的就是表3所示的文件,这时就可以对CPU进行烧写了。学过手工汇编者应当不难找出表3与表1的一

12、一对应关系,值得注意的是从02 00 40后开始的一长串FF,直到75 81,这是由于伪指令:ORG 0040H造成的结果,表示这些单元的内容为空。七、仿真、仿真机 仿真是单片机开发过程中非常重要的一个环节,除了一些极简单的任务,一般产品开发过程中都要进行仿真,仿真的主要目的是进行软件调试,当然借助仿真机,也能进行一些硬件排错。一块单片机应用电路板包括单片机部份及为达到使用目的而设计的应用电路,仿真就是利用仿真机来代替应用电路板(称目标机)的单片机部份,对应用电路部份进行测试、调试。仿真一般为CPU仿真,所谓CPU仿真是指用仿真机代替目标机的CPU,由仿真机向目标机的应用电路部份提供各种信号、

13、数据,进行调试的方法。这种仿真可以通过单步运行、连续运行等多种方法来运行程序,并能观察到单片机内部的变化,便于改正程序中的错误。 下面是一些编程器,编译器以及它们的一些计算机界面图。 AT89C51芯片 Top851编程器 Top851编程器工作界面 WAVE6000编辑器工作界面 实验板原理图单片机应用技术第一章 单片机基础知识第二章 单片机开发系统(略)第三章 MCS-51指令系统第四章 汇编语言程序设计第五章 定时器与中断系统第六章 单片机系统第七章 单片机接口技术第八章 串行口通信技术第九章 单片机应用系统的设计与开发参考书:1.单片机原理及接口技术 李朝青编 北京航空航天出版社 2.

14、跟我学用单片机 肖洪兵编 北京航空航天出版社 第一讲 概述授课时数: 2学时教学目的:1、了解单片机的基础知识。2、理解原码、反码、补码的概念。3、掌握真值、原码、反码及补码间的换算4、熟悉BCD码和ASCII码教学重点:单片机的含义及工作过程,补码的概念及运算,BCD码及ASCII码教学难点:单片机的工作过程,补码的运算板书课题: 第一章 单片机硬件系统1-1 概述一、什么是单片机?计算机(微型)的系统结构:如图1所示。输入设备运算器输出设备控制器内存 图1 微机系统结构单片机(单片微型计算机):是指集成在一块芯片上的计算机,它具有体积小,功能强,可靠性高,价格低等优点。如Intel MCS-51,它以最小系统或单片机扩展系统出现在:家用电器,智能仪表,工业过程控制,航空航天,冶金采矿,汽车等领域。单片机特点:(1) 受集成度限制,片内存储器容量较小,一般内部ROM:8KB以下; 内部RAM:256KB以内。(2) 可靠性高(3) 易扩展(4) 控制功能强(5) 易于开发单片机发展分四个阶段:第一阶段(74年76年)初级阶段:仙童公司F8(8位CPU,64KB)第二阶段(76年78年)低性能单片机:Intel公司MCS-48(8位CPU)第三阶段(78年83年)高性能单片机:Intel公司MCS-51、Motorola 6801、Z8第四

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号