单片机应用系统的开发过程的认识和演示.ppt_第1页
单片机应用系统的开发过程的认识和演示.ppt_第2页
单片机应用系统的开发过程的认识和演示.ppt_第3页
单片机应用系统的开发过程的认识和演示.ppt_第4页
单片机应用系统的开发过程的认识和演示.ppt_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目单元1 单片机应用系统的开发过程的认识和演示,1.1训练要求 P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口用作输入口时,必须先对口的锁存器写“1”,若不先对它写“1”,读入的数据是不正确的。 1.2训练目的 1通过学习了解当前市场主流单片机型号及种类。熟悉80C51的结构。 2学习掌握单片机中数的表示,单片机的特点,理解单片机应用系统的基本开发方法和开发过程。 1.3相关知识 项目学习情境1 MCS-51系列单片机的结构和引脚 1.3.1 单片机的基本知识 1单片机概念 2单片机的特点 (1)小巧灵活,成本低易于产品化,有优异的性能价格比。 (2)集成度高,有很高的可靠性,能在恶劣的环境下工作,单片机把功能部件集成在一块芯片内部,缩短和减少功能部件之间的连线,提高了单片机的可靠性和抗干扰能力。 (3)控制功能强,特别是集成了功能接口电路,使用更方便有效,指令面向控制对象,可以直接对功能部件进行操作,易于实现从简单到复杂的各类控制任务。 (4)低功耗,低电压,便于生产便携式产品。,3 80C51系列概述 (1)MCS-51系列 (2)80C51系列 4单片机的内部结构与引脚功能 (1)单片机的内部结构,由内部结构框图上可以看出80C51单片机包括以下资源: 一个8位的CPU,含布尔处理器; 一个片内振荡器及时钟电路; 总线控制逻辑; 4KB的程序存储器(ROM/EPROM/Flash,可外扩至64KB); 128B的数据存储器(RAM,可再外扩64KB); 特殊功能寄存器SFR;, 4个8位的并行口; 2个16位的定时/计数器; 1个全双工的异步串行口; 5个中断系统,2个外部中断,3个内部中断。 (2)80C51单片机的封装和引脚 .总线型DIP40引脚封装 .非总线型DIP20封装的引脚(以89C2051为例),图1-2 80C51单片机引脚封装,项目学习情境2 单片机中数的表示方法 1.3.2 数制与数制的转换 1十进制数、二进制数、十六进制数 (1)十进制数(Decimal) (2)二进制数(Binary) (3)十六进制数 2数制转换 (1)二进制数与十六进制数的转换 二进制数转换为十六进制数。采用四位二进制数合成为一位十六进制数的方法,以小数点为界分成左侧整数部分和右侧小数部分,整数部分从小数点开始,向左每4位二进制数一组,不足4位在数的前面补0,小数部分从小数点开始,向右每4位二进制数一组,不足4位在数的后面补0,然后每组用十六进制数码表示,并按序相连即可。 例1-1 把111010.011110B转换为十六进制数。 0011 1010 .0111 1000 = 3A.78H 3 A 7 8 十六进制数转换为二进制数。将十六进制数的每位分别用4位二进制数码表示,然后它们按序连在一起即为对应的二进制数。 例1-2 把2BD4H和20.5H转换为二进制数 2BD4H = 0010 1011 1101 0100B 20.5H = 0010 0000.0101B,(2)二进制数与十进制数的转换 二进制数转换为十进制数。将二进制数按权展开后求和即得到相应的十进制数。 例1-3 把1001.01 B转换为十进制数。 1001.01 B = 123+022+021+120+02-1+12-2 = 9.25 十进制数转换为二进制数。十进制数转换为二进制数一般分为两步,整数部分和小数部分分别转换成二进制数的整数部分和小数部分。 整数部分转换通常采用“除2取余法”即用2连续去除十进制数,每次把余数拿出,直到商为0,依次记下每次除的余数,然后按先得到的余数为低位,最后得到的余数为最高位的次序依次排列,就得到转换后的二进制数。 例1-4 将十进制数47转换成二进制数。 小数部分转换通常采用“乘2取整法”,即依次用2乘小数部分,记下每次得到的整数,直到积的小数为0,最先得到的整数为小数的最高位,最后得到的整数为小数的最低位。积的小数有可能连续乘2达不到0,这时转换出的二进制小数为无穷小数,根据精度要求保留适当的有效位数即可。 例1-5 将十进制数0.8125转换成二进制数。 (3)十六进制数与十进制数的转换 十六进制数转换成十进制数。将十六进制数按权展开后求和即得到十进制数。 例1-6 将十六进制数3DF2H转换成十进制数。 3DF2H = 3163+3162+15161+2160 = 15858,3二进制数的运算 二进制数的运算比较简单,包括算术运算和逻辑运算,这里简要介绍一下算术运算,逻辑运算将结合单片机的逻辑运算指令在后面的项目中进行介绍。 (1)加法运算。 运算规则:0 + 0 = 0,0 + 1 = 1 + 0 = 1,1 + 1 = 10(向高位进位)。 (2)减法运算 运算规则:00 = 0,10 = 1,11 = 0,01= 1, (向高位借1)。 (3)乘法运算 运算规则:00 = 0,01= 10 = 0,11 = 1。 (4)除法运算 除法运算是乘法的逆运算。与十进数类似,从被除数的最高位开始取出除数相同的的位数,减去除数,够减商记为1,不够减商记为0,然后将被除数的下一位移到余数上,重复前面的减除数操作,直到被除数的位数都下移为止。 4原码、反码、补码 (1)原码 符号位用0表示 +,用1表示,数值位与该数绝对值一样,这种表示机器数的方法称为原码表示法。 正数的原码与原来的数相同,负数的原码符号位为1,数值位与对应的正数数值位相同。 (2)反码 一个数的反码可以由它的原码求得,正数的反码与正数的原码相同,负数的反码符号位为1,数值位为对应原码的数值位按位取反。,(3)补码 一个数的补码可由该数的反码求得。正数的补码与正数的反码和原码一致,负数的补码等于该数的反码加1。 58421BCD码 单片机只能对二进制数进行运算处理,而人类习惯用十进制数,人和单片机交流时就需要经常进行二进制数和十进制数的转换,既浪费时间,也会影响单片机的运行速度和效率,为避免上述情况,计算机和单片机中常用BCD码(Binary Coded Decimal Code),用二进制数对每位的十进制数编码,数据形式为二进制数,但保留了十进制数的权,便于人们识别,BCD码的种类很多,最常用的是8421 BCD码,他用4为二进制数的十进制数的数码进行编码,8421分别代表每位的权,用0000B1001B分别代表十进制数的09,表1-3为它们的对应关系。,表1-3 BCD码与十进制数的对应关系,BCD码在书写时通常加方括号,并加BCD作为下标,如:52D = 0101 0010BCD。在我们学习的MCS-51系列单片机中只有BCD码的加法运算,因此并书也只介绍BCD码的加法运算。 由于8421 BCD码是也4位二进制数表示,4位二进制数是“逢十六进一”,而 BCD码高位和低位之间是“逢十进一”,单片机的运算时把其作为二进制数处理。因此两个BCD码相加时,当低4位向高4位进位,或高4位向更高位进位时,需要对该4位加六调整,高、低出现非法码(即10101111)时,对应4位也要加六调整。 6ASCII 码 在单片机中,除了要处理数字信息外,在某些应用场合也需要处理一些字符信息,要对这些字符信息进行二进制编码后,单片机才能识别和处理。目前普遍采用ASCII 编码表(American Standard Code For Interchange,美国信息交换标准代码)。 ASCII 码用7位二进制数,共128个字符,其中包括数码09,英文字母,标点符号和控制字符。数码“0”的编码为0110000B,即30 H,字母A的编码为10000001B,即41 H。 项目学习情境3 单片机应用系统的开发简介 1单片机应用系统的开发 设计单片机应用系统时,在完成硬件系统设计之后,必须配备相应的应用软件。正确无误的硬件设计和良好的软件功能设计是一个实用的单片机应用系统的设计目标。完成这一目标的过程称为单片机应用系统的开发。,单片机作为一片集成了微型计算机基本部件的集成电路芯片,与通用微机相比,它自身没有开发功能,必须借助开发机(一种特殊的计算机系统)来完成如下任务: 排除应用系统的硬件故障和软件错误; 调试完的程序要固化到单片机内部或外部程序存储器芯片中。 (1)指令的表示形式 指令是让单片机执行某种操作的命令。在单片机内部,指令按照一定的顺序以二进制码的形式存放于程序存储器中。二进制码是计算机能够直接执行的机器码(或称目标码)。为了书写、输入和显示方便,人们通常将机器码写成十六进制形式。如二进制码0000 0100B可以表示为04H。04H所对应的指令意义是累加器A的内容加1。若写成INC A则要清楚的多,这就是该指令的符号表示,称为符号指令。 (2)汇编或编译 符号指令要转换成计算机所能执行的机器码并存入计算机的程序存储器中,这种转换称为汇编。常用的汇编方法有3种:一是手工汇编,设计人员对照单片机指令编码表,把每一条符号指令翻译成十六进制数表示的机器码指令,借助于小键盘送入开发机,然后进行调试,并将调试好的程序写入程序存储器芯片;二是利用开发机的驻留汇编程序进行汇编;三是利用通用微型计算机配备的汇编程序进行交叉汇编,然后将目标码传送到开发机中。 另外,还可以采用高级语言(如C51)进行单片机应用程序的设计。在PC机中编辑好的高级语言源程序经过编译、连接后形成目标码文件,并传送到开发机中。这种方法具有周期短、移植和修改方便的优点,适合于较为复杂系统的开发。,2单片机应用系统的传统开发方式 单片机开发系统又称为开发机或仿真器。仿真的目的是利用开发机的资源(CPU、存储器和I/O设备等)来模拟欲开发的单片机应用系统(既目标机)的CPU存储器和I/O操作,并跟踪和观察目标机的运行状态。 仿真可以分为软件模拟仿真和开发机在线仿真两大类。软件模拟仿真成本低、使用方便,但不能进行应用系统硬件的实时调试和故障诊断,下面介绍在线仿真方法。 (1) 利用独立型仿真器开发 独立型仿真器采用与单片机应用系统相同类型的单片机做成单板机形式,板上配置LED显示器和简易键盘。这种开发系统在没有普通微机系统的支持下,仍能对单片机应用系统进行在线仿真,便于在现场对应用软件进行调试和修改。另外,这种开发系统还配有串行接口,能与普通微机系统连接。这样,可以利用普通微机系统配备的组合软件进行源程序的编辑、汇编和联机仿真调试。然后将调试无误的目标程序(即机器码)传送到仿真器,利用仿真器进行程序的固化。图1-4为利用独立型仿真器开发的示意图。,(2)利用非独立型仿真器开发 这种仿真器采用通用的微型计算机加仿真器方式构成。仿真器与通用微机间以串行通信的方式连接。这种开发方式必须有微机支持,利用微机系统配置的组合软件进行源程序的编辑、汇编和仿真调试。有些仿真口上还备有EPROM写入插座,可以将开发调试完成的用户应用程序写入EPROM芯片。与前一种相比,此种开发方式现场参数的修改和调试不够方便。图1-5为利用非独立型仿真器开发的示意图。 以上两种开发方式均在开发时拔掉目标系统的单片机芯片和程序存储器芯片,插上从开发机上引出的仿真头,即把开发机上的单片机出借给目标。仿真调试无误后,拔掉仿真头,再插回单片机芯片,把开发机中调试好的程序固化到EPROM芯片中并插到目标机的程序存储器插座上,目标机就可以独立运行了。,3.单片机开发方式的发展,1.4 实训的任务和步骤 单片机应用系统的开发过程的认识演示 1演示参考电路 利用80C31构成单片机最小应用系统,作为单片机开发认识演示参考电路。如图1-6所示。,2认识和演示的内容 (1)认识ATMEL公司的:89C51、89C52、89C2051、89C4051等。和Intel公司的:80C31、80C51、87C51、80C32、80C52、87C52等芯片及引脚。 (2)利用P3口的不同开关状态组合控制P1口的LED的不同点亮组合; (3)使8个LED经一定的时间间隔轮流点亮,然后再一定的时间间隔轮流熄灭; (4)利用手工汇编办法修改存储器内容改变延时常数,观察LED的亮灭变化; (5)在微机上修改汇编语言源程序,采用联机仿真,观察LED的亮灭变化; (6)将程序写入EPROM存储器,使应用系统脱离开发系统运行。,15思考练习内容 1-1什么叫单片机,其主要特点有哪些? 1-2将下列十进制数转换为二进制数(小数取8位)。并将十进制数转换为十六进制数(取2位小数)。 (1)83;(2)103;(3)0.64;(4)4.66。 1-3将下列二进制数转换为十进制数。并将二进制数转换为十六进制数。 (1)10110111B;(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论