收藏 分销(赏)

单片机基础知识教学课件全套电子教案整本书课件教学教程教案.ppt

上传人:精**** 文档编号:11245127 上传时间:2025-07-10 格式:PPT 页数:600 大小:9.58MB 下载积分:25 金币
下载 相关 举报
单片机基础知识教学课件全套电子教案整本书课件教学教程教案.ppt_第1页
第1页 / 共600页
单片机基础知识教学课件全套电子教案整本书课件教学教程教案.ppt_第2页
第2页 / 共600页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,1,章单片机基础知识,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,2,章,MCS-51,单片机硬件与系统扩展,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,3,章,MCS-51,单片机指令系统,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,4,章 汇编语言与仿真系统,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,5,章 中断系统及定时,/,计数器,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,6,章 串行接口与通信基础,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,7,章 常用接口及应用实例,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,8,章 综合设计实例,单片机基础知识,第,1,章 单片机基础知识,1.1,概 述,1.2,单片机系统的组成,1.3,单片机中数的表示及编码,1.4,习 题,1.1.2,单片机及其发展状况,1,单片机名称的来源,根据单片机的物理形态和内容,早期的单片机称为,Single-Chip Microcomputer,。从仙童公司的第一款单片机,F-8,开始,甚至到,MCS-51,时期,这些单片机确实准确地体现了,Single-Chip Microcomputer,的形态和内容。但是,随着单片机发展到,MCS-96,、新一代,80C51,、,M68HC05,等系列单片机时,这些单片机面向对象,突出控制功能,在片内集成了许多外围电路及外设接口,如,A/D,、,PWM,、,WDT,等,突破了传统意义的单片机结构,发展成,Microcontroller,的体系结构,因此,目前国外已经逐步统一称单片机为,MCU,(,Micro Controller Unit,)。由于它实行嵌入式应用,因此也称为嵌入式微控制器。,1.1.3 80C51,系列单片机简介,尽管各类单片机很多,但无论从世界范围还是从国内范围来看,使用最为广泛的还是,MCS-51,型单片机,因此本书也将以,MCS-51,型系列为主,来介绍单片机的原理及应用。,MCS-51,型系列单片机共有十几种芯片,表,1-1,列举了比较典型的几种芯片的型号及主要技术性能指标。,表,1-1:,子,系,列,片内,ROM,形式,ROM,容量,RAM,容量,计数器,并行口,串行口,中断源,制造,工艺,无,ROM,掩膜,ROM,EPROM,片内,片外,片内,片外,51,子系列,8031,8051,8751,4KB,60KB,128B,64KB,216,48,1,5,HMOS,80C31,80C51,87C51,4KB,60KB,128B,64KB,CHMOS,52,子系列,8032,8052,8752,8KB,56KB,256B,64KB,316,48,1,7,HMOS,83C252,80C252,87C252,8KB,56KB,256B,64KB,CHMOS,80C51,型单片机属于,Intel,公司的,MCS-51,系列单片机,,MCS-51,系列单片机采用两种半导体工艺生产。一种是,HMOS,工艺,即高密度短沟道,MOS,工艺。另外一种是,CHMOS,工艺,即互补金属氧化物的,HMOS,工艺。表,1-1,的芯片型号中带有,“,C,”,的都为,CHMOS,工艺,其余的为一般的,HMOS,工艺。,CHMOS,是,CMOS,和,HMOS,的结合,除具有,HMOS,高速度、高密度的特点外,还具有,CMOS,低功耗的优点。比如,8051,型的功耗为,630mW,,而,80C51,的功耗只有,120mW,。,目前,,Intel,公司将,80C51,型单片机的内核使用权以专利互换或者出售的形式转让给其他的著名,IC,制造商,如,Philips,、,ATMEL,、,AMD,、,Dallas,、,Siemens,、,LG,、华邦等。这些公司在,80C51,内核基础上,扩展了针对不同需求的外围电路,如,A/D,、,PWM,、,WDT,,引入使用方便并且价格便宜的,Flash ROM,等,使,80C51,的功能更加齐全、针对性更强,巩固并发展了,Intel,公司单片机的地位,成为当今世界,8,位单片机的主流。,1.1.4,单片机的特点及应用领域,单片机的主要特点如下:,(,1,)很高的性价比。目前许多单片机的价格只要几元人民币。,(,2,)集成度高,体积小,可靠性好。内部采用总线结构,减少各芯片间的连线。,(,3,)控制能力强。单片机的指令丰富,能满足各种工业控制的要求。,(,4,)低功耗、低电压,一般在,3V,6V,范围内工作,低电压供电的单片机电源下限可达,1V,2V,,,1V,以下供电的单片机也已诞生,便于生产便携式设备。,(,5,)易扩展。可根据需要进行并行或者串行扩展,形成网络控制系统。,由于单片机的特点比较突出,因此,在各个应用领域都可以见到它的身影,主要的应用领域有:,(,1,)工业自动化控制。这是最早采用单片机控制的领域之一,如各种测控系统、,PLC,等。,(,2,)智能化家用电器。用单片机控制来替代传统的电子线路控制是当前家用电器的发展趋势,如空调、洗衣机、电视机等。,(,3,)智能化仪表。采用单片机的智能化仪表,加强了数据处理能力和网络数据传送能力,提高了仪表的档次,如各种探测仪表、自动抄表系统等。,(,4,)办公自动化设备。目前的办公设备中多数都嵌入了单片机系统,如打印机、复印机、扫描仪等。,(,5,)军用航空等尖端领域的应用更加突出。,1.2,单片机系统的组成,当单片机内部的计算机外围功能单元不能满足对象控制要求的时候,通过系统扩展,在外部并行总线上扩展相应的计算机外围功能单元所构成的系统,称为单片机系统。这个定义强调的是单片机系统的硬件组成,而一个完整的单片机系统应该包括硬件系统和软件系统两大部分,如图,1-2,所示。,图,1-2,单片机系统结构框图,单片机系统的硬件由单片机芯片和外部接口电路及设备组成。而单片机芯片则包括了中央处理器(,CPU,)、存储器(,ROM/RAM,)、,I/O,接口及其他功能单元(定时计数器、中断系统、串行接口)。它们通过,AB,(地址总线)、,DB,(数据总线)、,CB,(控制总线)相互连接,如图,1-3,所示。,1.2.1,单片机系统的硬件组成,图,1-3,单片机系统的硬件结构图,1,微处理器(,CPU,),CPU,主要由两部分组成:运算器和控制器。,(,1,)运算器,:,运算器主要完成算术运算和逻辑运算并进行逻辑测试,如零值测试和两个值的比较,通常算术操作产生一个运算结果,而一个逻辑操作产生一个判决。运算器主要由以下几部分组成。,累加器,A,:用来存放参与算术或者逻辑运算的一个操作数和运算结果。,暂存器,TMP,:用来暂时存放参与算术或者逻辑运算的另一个操作数。该操作数主要来自其他数据寄存器或者内存单元中。,算术逻辑单元,ALU,:主要完成把传送到微处理器的数据进行算术和逻辑运算。,ALU,具有两个主要的输入来源,一个累加器,一个来自数据寄存器,它能够完成这两个数的相加和相减,也能够完成某些逻辑运算。,标志寄存器,F,:用来存放,ALU,运算结果的标志位,如进位标志、溢出标志等。,例如:将两个数,12H,和,31H,相加,在相加之前,操作数,12H,存放在累加器,A,中,,31H,存放在数据寄存器中,执行两个数相加的控制线发出,“,加,”,操作信号,,ALU,就把两个数相加,所加结果存入累加器,A,中,覆盖原来累加器,A,中的内容,执行完后,累加器,A,中的内容就是,43H,。,(,2,)控制器,控制器主要是协调和控制整个计算机系统的操作,主要由以下几部分组成。,程序计数器,PC,:为了能够保证程序能够连续地运行下去,,CPU,必须具备某种手段来确定一条指令的地址,程序计数器就是执行这项工作。当执行程序时,,CPU,将自动修改,PC,的内容,使之总是指向下一条指令的存放地址。,指令寄存器,IR,:保存当前正在执行的一条指令。当执行一条指令时,先把它从程序存储器中取出,然后再传送到指令寄存器。,指令译码器,ID,:要执行给定指令的操作,必须给操作码译码,以便确定所要求的操作,指令译码器就是负责这项工作。操作码一经译码后就向操作控制器发出具体操作的特定信号。,时序产生器:用来产生脉冲序列和各种节拍脉冲,每个节拍脉冲对应于一种操作,就像是体育老师的口令、交响乐团的指挥一样。,操作控制器:根据指令译码器的信号,产生相应的操作控制信号,以便启动规定的动作,比如一次内存读写操作,一次算术逻辑操作,一次输入,/,输出操作,指挥并控制,CPU,、内存和输入,/,输出设备之间的数据流向。,相对控制器而言,运算器的动作是接受控制器的命令而动作的,即运算器所进行的所有操作都是由控制器发出的控制信号来指挥的。,2,总线,总线(,BUS,)是计算机各部件之间传送信息的公共通道。微机中有内部总线和外部总线两类。内部总线是,CPU,内部之间的连线,外部总线是指,CPU,与其他部件之间的连线。外部总线有三种:数据总线,DB,(,Data Bus,)、地址总线,AB,(,Address Bus,)和控制总线,CB,(,Control Bus,)。,(,1,)地址总线(,AB,):地址总线宽度根据寻址范围来确定的,当寻址范围是,4KB,212B,时,需要的地址线宽度为,12,位,由于,80C51,单片机的寻址范围最多可达,64KB,,因此地址总线宽度为,16,位,由,P0,口经地址锁存器提供低,8,位地址(,A0,A7,);,P2,口直接提供高,8,位地址(,A8,A15,)。因地址信号是由,CPU,发出的,故地址总线是单方向的。,(,2,)数据总线(,DB,):由于,80C51,单片机为,8,位机,故数据总线宽度为,8,位,用于传送数据和指令,由,P0,口提供。,(,3,)控制总线(,CB,):控制总线随时掌控各种部件的状态,并根据需要向有关部件发出控制命令。,3,存储器,存储器的主要功能就是用来存放程序代码和数据。,(,1,)存储器的分类,按照存储器的存取功能分,可分为:,随机存取存储器(,Random Access Memory,,,RAM,)。它可以随机写入和读出,读写速度快,但是断电后,存储的数据就要丢失。主要用来存放各种处理数据。,只读存储器(,Read Only Memory,,,ROM,)。它在一般情况下只能读不能写,当然,在满足一定条件下也可以完成写入操作,否则,读的数据又从何而来呢?它的另外一个特点就是掉电不丢失,能长期保存数据。从写入方式来看,,ROM,也有很多分类,主要有:掩膜,ROM,、,EPROM,、,EEPROM,、,FLASHROM,和,OTPROM,(一次性编程,ROM,)。,按照存储器结构分,可分为:,普林斯顿结构。一般微机只有一个地址空间,,ROM,和,RAM,可以随意安排在这一地址范围内不同的空间,即,ROM,和,RAM,的地址在同一个队列里分配不同的地址空间。,CPU,访问存储器时,一个地址对应唯一的存储空间,可以是,ROM,,也可以是,RAM,,并用同一种指令访问。,哈佛结构。如,80C51,的存储器结构分程序存储器空间和数据存储器空间,总共有,4,个物理存储空间,即片内程序存储器空间、片外程序存储器空间、片内数据存储器空间、片外数据存储器空间,并用不同的指令访问程序存储器和数据存储器,这种程序存储器和数据存储器分开的结构就称为哈佛结构。,(,2,)存储器的操作,存储器的操作分为读操作和写操作。,例如,将数据存储器,30H,中的内容,03H,读出到累加器,A,中。其步骤如下:,CPU,将要读存储空间的地址码,30H,送到地址总线上,选通地址为,30H,的存储单元。,CPU,的控制器发出,“,读,”,信号,建立存储器到,CPU,的数据流向。,存储器将地址为,30H,的存储单元中的内容,03H,释放到数据总线上。,CPU,将数据总线上的数据,03H,读入到累加器,A,中。,注意:读操作不影响原来单元内容,即,30H,中的内容还是,03H,,类似计算机操作中的,“,复制,”,。,例如,将数据,10H,送到地址为,40H,的内部数据存储单元中。其步骤如下:,CPU,将要写入的存储空间的地址码,40H,送到地址总线上,选通地址为,40H,的存储单元。,将数据,10H,送到数据总线上。,CPU,控制器发出,“,写,”,信号,建立,CPU,到存储器的数据流向。,存储器将数据,10H,送入到地址为,40H,的存储单元中。,注意:写操作要改变原来单元的内容,类似计算机操作中的,“,粘贴,”,,如果,40H,单元中原来的内容是,20H,,经过这次写操作后,,40H,单元中的内容就改为,10H,。,(,3,)堆栈,堆栈就是在单片机,RAM,中,专门划出一个区域用来临时存放一些重要数据码或者地址码。对于堆栈,应主要掌握以下几点。,栈底地址:用来确定堆栈的深度,一般可在程序初始化部分通过对堆栈指针,SP,的赋值来确定,如,MOV SP,#60H,,就是将堆栈的栈底设定为,60H,(深度为,32B,)。,堆栈指针:用来指出当前栈顶的存储单元的地址。,堆栈原则:堆栈操作遵循,“,先进后出,”,的原则。,如图,1-4,是一堆栈的结构图。通过这个图可以了解以下几点:,这个堆栈的栈底为,50H,,在程序初始化过程中可以通过指令,MOV SP,#50H,来指定,同时确定堆栈深度为,51H,7FH,,在具体使用中的堆栈深度根据实际需要保存的数据个数来确定。,当前堆栈指针,SP,的值为,54H,,即当前栈顶为,54H,。,这,4,个数据的压栈顺序为,10H,、,14H,、,58H,、,64H,,根据,“,先进后出,”,原则,这,4,个数据的出栈顺序为,64H,、,58H,、,14H,、,10H,。,从上面几点看,堆栈与手枪弹夹的结构和工作原理十分相似。,图,1-4,堆栈结构示意图,4,输入,/,输出设备及其接口电路,单片机系统的输入,/,输出设备也称作,I/O,设备,比如键盘、鼠标、显示器、微型打印机等。输入,/,输出(,I/O,)接口由大规模集成电路组成的,I/O,器件构成,用来连接主机和相应的,I/O,设备(如:键盘、鼠标、显示器、打印机等),使得这些设备和主机之间传送的数据、信息在形式上和速度上都能匹配。不同的,I/O,设备必须配置与其相适应的,I/O,接口。通常,这些接口电路集成在一块芯片上。如,8255A,、,8155,、,8253,、,DAC0832,、,ADC0809,等扩展芯片。,1.2.2,单片机系统软件组成,只配备硬件设备的单片机系统,并不能完成我们所需要实现的功能,硬件是实现功能的载体,而软件是硬件的灵魂,目前用来设计软件的语言分为三类。,1,机器语言,机器语言的主要特点是:,(,1,)由一组二进制码组成,直接能被计算机识别并执行。,(,2,)不同的微处理器,采用不同的机器语言。,(,3,)可读性差,直观性差,容易出错,目前基本不采用。,2,汇编语言,汇编语言的主要特点是:,(,1,)用助记符代替机器语言中的操作码。,(,2,)汇编语言翻译成机器语言的方法有两种:一种是手工查表汇编,一种是机器汇编。由于机器汇编方便,目前基本上都是采用机器汇编。,(,3,)不同的微处理器采用不同的汇编语言。,(,4,)较直观,可读性好,占用内存少,速度快。,3.,高级语言,高级语言的主要特点是:,(,1,)采用类似人类自然语言的程序设计语言。,(,2,)通过专门的编译程序翻译成机器语言。,(,3,)通用性强,移植性好,不随微处理器的不同而不同。,(,4,)目前较流行的有,C51,、,PL/M,和,BASIC,语言。,三种语言各有特点,本书介绍的是汇编语言,虽然不同类型单片机的汇编语言有所不同,但还是有很多相似之处,可以举一反三。同时,在掌握汇编语言的基础上,再去掌握高级语言的编程,能达到事半功倍的效果。,1.3,单片机中数的表示及编码,在日常生活中,我们经常使用的是十进制数,而在单片机中,二进制机器编码是它的基本语言,考虑到二进制在书写和阅读方面的缺点,在单片机软件编写过程中,常引入十六进制数来表示。,如何进行十进制、二进制、十六进制之间的相互转换,是基本的数字处理能力,这里不再详述。对此有疑问的初学者,可以参考有关的数字电路基础的数据,本书主要介绍正负数在计算机中的表示方法和有关编码知识。,1.3.1,正数和负数在单片机中的表示方法,在日常数字表示中,有符号数的正负性可以用,“,+,”,、,“,-,”,来表示,但是在计算机数字表示中,有符号数的正负根据其最高位是,“,0,”,还是,“,1,”,来区分。如在,8,位微机中,,D7,位表示这个数的符号,是,“,1,”,,表示负数,是,“,0,”,,表示正数,其余位表示数值位的大小,如图,1-5,所示。,图,1-5 8,位有符号数的表示方法,【,例,1-1】,指出,N1,和,N2,的值。,解:,由于,N1,的,D7,位为,1,,是负数,后面的数值位的值为,6,,则,N1=-6,;,由于,N2,的,D7,位为,0,,是正数,后面的数值位的值为,7,,则,N2=+7,。,那么,在计算机中,,-6,和,+7,的存储形式真的如此吗?我们来看一下下面的例子。,【,例,1-2】,求,S=N1+N2=-6+7,。,解:根据例,1-1,的结果,,-6=1000 0110B,,,+7=0000 0111B,,则运算过程如下:,10000110B N1,+00000111B N2,10001101B S=-13,S=-13,,很明显,结果错误,那么问题出在哪里呢?主要是因为有符号数在计算机中的表示方法出现错误。在计算机中,有符号数的表示方法有,3,种:原码、反码和补码。我们上面两个例子采用的都是原码,但是,计算机中,负数是以补码形式存储并参与运算的。下面我们来具体了解正负数的原码、反码和补码。,1,正数的原码、反码、补码,正数的表示最简单,它的原码、反码和补码都一样,即,【X】,原,=【X】,反,=【X】,补,=X,【,例,1-3】X=+9,,求其原码、反码、补码。,解:,+9=00001001B,,则,【+9】,原,=【+9】,反,=【+9】,补,=00001001B,2,负数的原码、反码和补码,负数的原码:符号位为,1,,其余位为数值位。,【,例,1-4】X=-9,,求,X,的原码。,解:符号位为,1,,数值位为,9=0001001,所以,,【-9】,原,=10001001B,。,负数的反码:原码的符号位不变,其余位取反。,【,例,1-5】X=-9,,求,X,的反码。,解:,【-9】,原,=10001001B,,根据符号位不变,其余位取反的方法可得,,【-9】,反,=11110110B,负数的补码:反码加,1,,即,【X】,补,=【X】,反,+1,。,【,例,1-6】X=-9,,求,X,的补码。,解:,【-9】,原,=10001001B,,,【-9】,反,=11110110B,,根据补码等于反码加,1,,则,【-9】,补,=【-9】,反,+1=11110110B+1=11110111B,3,零的原码、反码和补码,零的原码:由于零分为,+0,和,-0,,则其原码有两种:,【+0】,原,=00000000B,【-0】,原,=10000000B,零的反码也有两种:,【+0】,反,=00000000B,【-0】,反,=11111111B,零点补码:由于,+0,的补码等于原码,,-0,的补码等于其反码加,1,,所以,不管是,+0,还是,-0,,它的补码只有一个:,【+0】,补,=【-0】,补,=00000000B,综上所述,归纳如下。,对于正数:,【X】,原,=【X】,反,=【X】,补,=X,对于负数:,【X】,反,=【X】,原 数值位取反,符号位不变,【X】,补,=【X】,反,+1,学会了补码的运算,我们回过来看例,1-2,,采用补码运算,,【-6】,补,=11111010B,【+7】,补,=00000111B,则,S=-6+7,的运算如下:,11111010B N1,+00000111B N2,00000001B S=1,结果正确,至此,大家应该明白在计算机中,有符号数的运算采用的是数的补码形式。,1.3.2,常用编码,1,BCD,码,采用二进制码对每一个十进制数进行编码,称为,BCD,码,用,【,】BCD,表示,例如:,51=【0101 0001】BCD,,在这里,,【0101 0001】BCD,不能认为是二进制码,01010001B,,因为,01010001B,的十进制为,81,,而,【0101 0001】BCD,的十进制为,51,,显然存在区别。具体的十进制与,BCD,码之间的关系如表,1-2,所示。,表,1-2 8421BCD,编码表,十 进 制 数,8421BCD,码,十 进 制 数,8421BCD,码,0,0000,5,0101,1,0001,6,0110,2,0010,7,0111,3,0011,8,1000,4,0100,9,1001,2,BCD,码的加法运算,BCD,码的加法运算与二进制码的加法运算规则一样,但有时候会出错,例如:,【0101 1001】BCD 59,+【0010 1000】BCD 28,【1000 0001】BCD 81,显然,运算结果是错误的,因为在运算过程中,低四位向高四位有进位,所以要进行修正,具体的修正条件和方法如下:,(,1,)低四位向高四位有进位,低四位加,6,修正。,(,2,)高四位向更高位有进位,高四位加,6,修正。,(,3,)低四位出现非法,BCD,码,低四位加,6,修正。,(,4,)高四位出现非法,BCD,码,高四位加,6,修正。,(,5,)同一个四位出现两种修正条件,则只需修正一次即可。,【,例,1-7】,已知,X=【0110 0001】BCD,,,Y=【0010 0110】BCD,,求,S=X+Y,。,解:,【0110 0001】BCD X,(,61,),+【0010 0110】BCD Y,(,26,),【1000 0111】BCD S,(,87,),不满足要修正的条件,无需修正,结果正确。,【,例,1-8】,已知,X=【0100 1000】BCD,,,Y=【0101 1001】BCD,,求,S=X+Y,。,解:,【0100 1000】BCD X,(,48,),+【0101 1001】BCD Y,(,59,),【1010 0001】BCD,;满足(,1,)、(,4,)修正条件,进行加,6,修正,+0110 0110,【0001 0000 0111】BCD S,(,107,),结果:,S=【00010000 0111】BCD,,由于高四位加,6,后,向更高位有进位,1,,其实也就是向百位有进位,所以最后的结果应为,107,。,3,BCD,码减法,BCD,码在进行减法运算时,也会出现需要修正的现象,其修正条件和方法如下:,(,1,)低四位向高四位有借位,低四位减,6,修正。,(,2,)高四位向更高位有借位,高四位减,6,修正。,(,3,)低四位出现非法,BCD,码,低四位减,6,修正。,(,4,)高四位出现非法,BCD,码,高四位减,6,修正。,(,5,)若同一个四位出现两种修正条件,则只需修正一次即可。,【,例,1-9】,已知,X=【0010 0010】BCD,,,Y=【0001 0001】BCD,,求,S=X-Y,。,解:,【0010 0010】BCD X,(,22,),-【0001 0001】BCD Y,(,11,),【0001 0001】BCD S,(,11,);不满足修正条件,无需修正,【,例,1-10】,已知,X=【0010 0001】BCD,,,Y=【0101 1001】BCD,,求,S=X-Y,。,解:,【0010 0001】BCD X,(,21,),-【0101 1001】BCD Y,(,59,),【1100 1000】BCD,;满足(,1,)、(,2,)、(,4,)修正条件,进行减,6,修正,-0110 0110,1(,借位,)【0110 0010】BCD S,(,62,),BCD,码是无符号数,这里的结果,S=62,,不符合条件,但是,由于向更高位(百位)借位了,所以,结果应该是,62-100=-38,。,4,ASCII,码,在计算机中,除了处理数字信息外,还必须处理用来组织、控制或表示数据的字母和符号,这些字母或符号也必须按照特定的规则用二进制来编码。,目前这种编码规则普遍采用的是,ASCII,码(,American Standard Code for Information Interchange,,美国信息交换标准码),由,7,位二进制码组成,可以表示,128,个字符,包括数字(,0,9,)、大小写英文字母、标点符号和控制字符,具体如表,1-3,所示。,表,1-3 ASCII,编码表,根据此表,我们应该掌握以下几点:,(,1,)根据已知道某个数字、字母、标点符号或控制字符,能够找出其,ASCII,码。,(,2,)大写英文字母的,ASCII,码比小写英文字母的,ASCII,码小,20H,,如,,“,A,”,的,ASCII,码为,41H,,,“,a,”,的,ASCII,码为,61H,。,(,3,)数字,0,9,的,ASCII,码为,30H,39H,。,1.4,习 题,1,PC,机和单片机都是属于微型机,它们之间有什么区别?,2,简述单片机的特点及主要应用领域,并举例说明。,3,MCS-51,单片机的,51,子系列和,52,子系列有哪些主要区别?,4,单片机系统的硬件组成由哪几部分组成?并说明各个部分的主要功能。,5,什么叫总线?总线可以分为哪几种?,6,堆栈的操作原则是什么?如何来确定堆栈的栈底地址?,7,机器语言、汇编语言和高级语言各有什么优缺点?,8,在,8,位单片机中,有符号数的正负号如何表示?,9,原码、反码、补码之间的换算关系是怎么样的?,10,什么叫,BCD,码?,BCD,码和二进制码之间有何区别?,11,分别求出下列各数的原码、反码和补码,分别用二进制和十六进制数表示。,(,1,),+37,(,2,),-54,(,3,),+121,(,4,),-216,12,将下列数转换成,BCD,码。,(,1,),123,(,2,),864,(,3,),56.75,(,4,),349,13,已知十进制数,X,、,Y,,求,S=X+Y,,用十六进制表示。,(,1,),X=45,,,Y=89,;,(,2,),X=-65,,,Y=78,;,(,3,),X=-76,,,Y=34,。,14,已知,BCD,码,X,、,Y,,求,S=X+Y,,,T=X-Y,。,(,1,),X=【0011 0100】BCD,,,Y=【0101 0010】BCD,(,2,),X=【0101 0110】BCD,,,Y=【0010 1001】BCD,(,3,),X=【1000 0110】BCD,,,Y=【0100 0010】BCD,15,查表写出下列字符的,ASCII,码。,(,1,),D,(,2,),7,(,3,)?(,4,),e,第,2,章,MCS-51,单片机硬件与系统扩展,2.1 MCS-51,外部引脚,2.2 P0,、,P1,、,P2,、,P3,口的内部结构及使用,2.3,单片机内部硬件资源,2.4,时钟与复位电路,2.5,单片机系统扩展,2.6,习 题,对于硬件系统设计人员来说,掌握单片机硬件资源是十分重要的,只有熟悉了单片机的硬件,“,家底,”,,才能合理安排、正确使用现有资源,并做到物尽其用。,MCS-51,单片机是美国,Intel,公司的产品,但在实际应用时常常选用美国,ATMEL,公司的产品,如,AT89C51/52,(,40,脚)和,AT89C2051,(,20,脚)。,ATMEL,公司,AT,系列单片机相当于,Intel,公司单片机的,Flash,版本,两者硬件结构相同,指令兼容,但,Flash,版本可以使程序的修改、调整更加方便,所以,ATMEL,公司的产品几乎成了,MSC-51,系列单片机的主流。,2.1 MCS-51,外部引脚,AT89C51/52,的外部有,40,个脚(与,8051/8751,相同,如图,2-1,所示),这些管脚根据功能可以将它们分成三大组:,1,系统工作必需的引脚(,5,个脚),VCC,(,40,脚)、,VSS,(,20,脚):电源,5V,和地(,AT89LV,系列芯片可以工作在,2.7V,6V,)。,RST/VPD,(,9,脚):,RST,即为,RESET,的缩写,,VPD,为备用电源。该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,可以使单片机回复到初始状态(复位)。上电时,考虑到振荡器有一定的起振时间,该引脚上高电平必须持续,10 ms,以上才能保证有效复位。,XTAL1,、,XTAL2,:接晶振,实际使用时还需加两个,30pF,的补偿电容,常用晶振频率有,6MHz,、,12 MHz,和,11.0592 MHz,,,AT89C51/52,最高工作频率达,24 MHz,。,上述管脚的电压或波形不满足要求的话,系统无法工作,一般表现为无法启动。,2,与外部电路联络的脚(,32,个脚),P0,:在扩展时作为数据总线,/,地址低,8,位线,扩展不用时可以作为用户,I/O,线。,P1,:仅作用户,I/O,口。,P2,:在扩展时作为地址高,8,位线,扩展不用时作为用户,I/O,线。,P3,:首先保证第二功能(如表,2-1,所示),若第二功能不用,则可作为用户,I/O,线。,3,控制脚(,3,个脚),(,1,),/VPP,(,31,脚):为片内、片外,ROM,选择控制脚,具体如图,2-2,所示,早期的,8031,等内部没有,ROM,,故使用时接地,目前,AT89C51/52,内部均有,ROM,(,Flash,),所以使用时直接接,VCC,。对于,EPROM,型单片机(如,8751,),在编程期间该脚用于提供编程电压(,VPP,)。,图,2-2 MCS-51,程序存储器结构,(,2,),ALE/PROG,(,30,脚):地址锁存有效信号输出端。,ALE,在每个机器周期内输出两个脉冲,在访问片外程序存储器期间,下降沿用于控制锁存,P0,输出的低,8,位地址;在不访问片外程序存储器期间,可作为对外输出的时钟脉冲或用于定时目的,但要注意,在访问片外数据存储器期间,,ALE,脉冲会跳空一个,此时作为时钟输出就不妥了。对于片内含有,EPROM,的机型,在编程期间,该引脚用作编程脉冲,PROG,的输入端。,(,3,)(,29,脚):片外程序存储器读选通信号输出端,低电平有效。当从外部程序存储器读取指令或常数期间,每个机器周期该信号两次有效,以通过数据总线,P0,口读回指令或常数。要注意的是该脚与外部数据存储器的读、写无关。,用于控制的脚其实还有,P3,口的、,它们用于外部数据存储器及,I/O,的读、写控制。尽管控制线数量不多,但在应用系统中担当着十分重要的角色,在系统扩展部分我们可以体会这一点。,2.2 P0,、,P1,、,P2,、,P3,口的内部结构及使用,2.2.1 P0,口的内部结构及使用特点,由图,2-3,可见,电路中包含一个数据输出锁存器、两个三态数据输入缓冲器、一个数据输出的驱动电路和一个输出控制电路。当对,P0,口,进行,写操作时,由锁存器和驱动电路构成数据输出通路。由于通路中已有输出锁存器,因此数据输出时可以与外设直接连接,而不需再加数据锁存电路。,图,2-3 P0,口一位结构图,在,P0,口的内部有一个多路转接电路,MUX,,在控制信号的作用下,多路转接电路可以分别接通锁存器输出或地址,/,数据线,使,P0,口作为外部扩展时的数据总线,/,兼地址低,8,位线。,另外,,P0,口结构的一大特点(不同于,P1,、,P2,、,P3,口)为输出电路是漏极开路电路,当,P0,口进行一般的,I/O,输出时必须外接上拉电阻才能有高电平输出。当,P0,口进行一般的,I/O,输入时,必须先向电路中的锁存器写入,“,1,”,,使场效应管,V2,截止,以避免,V2,导通对引脚读入的影响。,2.2.2 P1,口的内部结构及使用特点,因为,P1,口通常是作为通用,I/O,口使用的,所以在电路结构上与,P0,口有一些不同之处,如图,2-4,所示。首先它不再需要多路转接电路,MUX,;其次是电路的内部有上拉电阻,与场效应管共同组成输出驱动电路。为此,,P1,口作为输出口使用时,无需再外接上拉电阻。,图,2-4 P1,口一位结构图,2.2.3 P2,口的内部结构及使用特点,如图,2-5,所示,,P2,口电路比,P1,口电路多了一个多路转接电路,MUX,,这又正好与,P0,口一样。,P2,口可以作为通用,I/O,口使用,这时多路转接电路开关倒向锁存器,Q,端,同时又可作为高位地址线使用,此时多路转接电路开关应倒向,“,地址,”,位置。,图,2-5 P2,口一位结构图,2.2.4 P3,口的内部结构及使用特点,P3,口的特点在于,为适应引脚信号第二功能的需要,增加了第二功能控制逻辑。由于第二功能信号有输入和输出两类,因此分两种情况说明,结构如图,2-6,所示。对于第二功能为输出的信号引脚,当作为,I/O,使用时,第二功能信号引线应保持高电平,与非门开通,以维持从锁存器到输出端数据输出通路的畅通。,图,2-6 P3,口一位结构图,对于第二功能为输入的信号引脚,在口线的输入通路上增加了一个缓冲器,输入的第二功能信号就从这个缓冲器的输出端取得。而作为,I/O,使用的数据输入,仍取自三态缓冲器的输出端。不管是作为输入口使用还是第二功能信号输入,输出电路中的锁存器输出和第二功能输出信号线都应保持高电平。,P3,口作为输入使用时,也必须先写,“,1,”,,让输出电路的场效应管截止。,2.2.5 P0,、,P1,、,P2,、,P3,作,I/O,使用实例,1,驱动,LED,实例,驱动,LED,,几乎是每个应用系统中都会碰到的,分为低电平点亮和高电平点亮两种。在高电平时,由于端口内部结构决定了输出的电流不到,1mA,(使用时常常会在这里出错,认为既然是高电平就一定能点亮,LED,),而允许输入的电流可以达,20mA,左右,因此两种驱动,LED,的电路在结构上会有较大差别。,图,2-7,(,a,)是低电平驱动,LED,的电路,,LED,上的电流可以用以下公式计算:,I,=(5-1.8)/R+5VR3+5V,其中,1.8V,是普通型,LED,的压降。图,2-7,(,b,)是高电平驱动,LED,的电路,电流由,R3,决定。图,2-7,(,c,)是错误的高电平驱动电路(输出电流太小)。,图,2-7,驱动,LED,电路,图,2-7,驱动,LED,电路(续),2,驱动继电器实例,继电器的驱动,从电平角度来说也有高电平驱动和低电平驱动两种,但实际使用的继电器的工作电压都是,9 V,、,12 V,甚至更高,所以除了考虑驱动电流是否足够(继电器所需的驱动电流可用继电器的标称工作电压除以标称电阻来估算,常见的大约在,40 mA,60 mA,,所以不管哪种结构都需要三极管等电流放大电路)外,还要考虑低电平、高电平哪种驱动更容易实现。,图,2-8,(,a,)是常常会犯错误的所谓低电平驱动电路,尽管低电平时继电器确实能工作,但当输出为高电平而想使继电器截止时,结果却无法跳开,好像被粘住一样,原因是,CPU,输出的高电平只有,5 V,,而继电器的供电有,12 V,,而且这时继电器的供电,12 V,将有可能使,CPU,损坏(在使用芯片时不允许输入端的电压超过电源电压)。图,2-8,(,b,)是用高电平驱动的电路,图,2-8,(,c,)是低电平驱动。在需要同时驱动的继电器
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服