单片机最小系统的设计与实现.docx
- 文档编号:9645940
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:23
- 大小:1.82MB
单片机最小系统的设计与实现.docx
《单片机最小系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《单片机最小系统的设计与实现.docx(23页珍藏版)》请在冰点文库上搜索。
单片机最小系统的设计与实现
电子产品设计制作
与故障诊断
学习情境3:
单片机最小系统的设计与实现
《电子产品设计制作与故障诊断》课程建设组
2020年2月
第一版
学习情境3:
单片机最小系统的设计与实现
3.1学习目标:
通过本次学习情境要求学会:
(1)把握51单片机最小系统电路的设计和制作;
(2)熟悉KeiluVision2软件的利用,把握51单片机c语言程序的编写和调试。
(3)熟悉Proteus软件的利用。
3.2任务分析
任务名称:
在独立电路板上设计制作单片机最小系统,知足:
(1)在万用板上制作单片机最小系统,使该系统具有看门狗电路、I/O口扩展电路、总线扩展电路、程序下载接口、工作指示灯;
(2)编写大体操纵程序,下载调试,使该系统能够正常工作,而且容易更改该系统的操纵程序。
任务背景:
单片机最小系统是各类智能电子设备的操纵中枢,稳固的最小系统是电子设备长期稳固运行的基础。
本次工作任务是为一小型温度测控系统设计制作单片机操纵电路板。
任务要求:
(1)合理选择单片机、晶振、看门狗、电阻、电容等芯片和原件;
(2)完成全电路理论设计、运算机辅助分析与仿真、绘制电路图,自制电路板、焊接调试;
(3)撰写设计报告、调试总结报告及利用说明书。
工作任务所需要的设备、工具和材料:
具有232串行口的运算机、双踪示波器、5V直流电源、万用表(模拟或数字)、电烙铁、导线,自制电路板的各类工具一套及元器件假设干。
3.3任务知识点
3.3.1单片机最小系统的组成
单片机最小系统的方框图
*电源、复位电路和晶振电路是单片机工作起来必需的条件。
*下载程序电路是用运算机将单片机程序固化到单片机程序存储器的电路。
*LED指示灯电路是用来做固化程序的操纵对象,验证程序是不是正确运行的标志。
*I/O口电路和总线驱动电路是用来扩展单片机的操纵对象的接口电路。
3.3.2单片机的引脚
单片机作为一个微型运算机系统,内部是一个集接收信号、信号处置、发送信号、按时及计数等多种功能于一体的超大规模集成电路。
以下图所示为51系列单片机中有双列直插40脚封装的STC89C52单片机。
89C52单片机引脚示用意
3.3.3如何让单片机工作起来
以下图所示为单片机操纵一只LED灯的电路接线图,下面介绍让单片机工作起来所必需的电路。
单片机操纵LED接线图
(1)电源:
单片机的第40脚接电源的正极,20脚接电源的地线。
电源电压为+5V,正负误差不能超过百分之五。
(2)振荡电路:
单片机内部由大量的时序电路组成,没有时钟脉冲单片机的各个部份就无法工作。
因此在单片机的内部集成有振荡电路,外部只需要依照上面的电路图将晶振和电容接到单片机的18(XTAL2)、19(XTAL1)引脚,就组成了一个完整的振荡器。
接通电源,那个振荡器就会产生固定频率脉冲,使单片机内部的时序逻辑电路开始工作。
晶振的频率决定了单片机工作的快慢。
(3)复位电路:
用于将单片机内部各电路的状态,恢复到初始值。
依照上面的接线图将电阻和电容接到单片机的第9(RST)引脚,在通电的刹时使9脚取得一段时刻的高电平,单片机内部的电路就自动复位了。
(4)EA引脚:
用户编写的应用程序都存储在单片机内部的程序存储器中,假设编写的程序较长,内部程序存储器容量不够历时,就要考虑在单片机芯片的外部另外增加程序存储器芯片。
那么单片机中的操纵器是如何明白程序是被存在什么地址呢?
它是通过31(EA)脚上的电平状态进行判定的,假设EA接电源正端,就表示程序已被存入单片机内部存储器,反之是存在单片机外部存储器。
在本例中,所选单片机内部的程序存储容量已经够用,因此只需依照接线图将EA引脚接到+5V即可。
(5)输入输出引脚:
单片机引脚中凡用P,后面跟数字标注的引脚均为输入输出引脚。
8个引脚为一个“口”,上图中脚为P1口的第0号引脚。
输入输出引脚状态受程序操纵,能够将单片机内部的信号送出来(输出),也能够将与引脚相连的外部信号送到单片机内部去(输入)。
上图中脚与LED负极相连,LED正极通过限流电阻R1接电源正极,当单片机的脚为高电平常,LED熄灭;当脚为低电平常,LED点亮。
可见,只要操纵脚电平的高低,就能够操纵LED的亮灭。
(6)MAX202电路:
单片机工作的硬件条件具有以后,需要将程序固化到程序存储器中,能够采纳烧录器的方式固化。
本例中,采纳STC89C52单片机的ISP固化程序的方式,即单片机的TXD、RXD两个引脚通过MAX202的电平变换和运算机的串口连接,将下载的程序固化到单片机的程序存储器中。
(7)看门狗电路:
看门狗又叫watchdogtimer(WDT),是一个按时器电路,一样有一个输入,叫喂狗,一个输出到MCU的RST端,MCU正常工作的时候,每隔一端时刻输出一个信号到喂狗端给WDT清零,若是超过规定的时刻不喂狗(一样在程序跑飞时),WDT按时超过,就会给出一个复位信号到MCU,使MCU复位,避免MCU死机。
看门狗的作用确实是避免程序发生死循环,或说程序跑飞。
本例中采纳的STC89C52单片机内部已经集成了看门狗按时器,不用外接看门狗电路。
问题与试探:
(1)在51单片机系统中什么是晶振周期、状态周期、机械周期、指令周期,它们之间是什么关系?
(2)单片机复位引脚需要什么样的电平?
若是通过阻容电路实现?
电路中的电阻电容值是如何确信的?
若是增加手动复位应该如何连线?
(3)51单片机中P0口结构和其它I/O口比较有什么不同?
在利用中要注意什么?
3.3.451单片机并行总线的扩展
(1)并行总线的工作原理
MCS-51单片机具有极强的功能,在智能仪表,小型测控系统及其他简单应用系统中可直接利用单片机片内所具有的硬件资源而没必要在外围扩展其他芯片和应用电路。
但关于比较复杂的应用系统,单片机内部的资源已经不能知足系统的需要,这时就必需对单片机进行系统扩展。
单片机的系统扩展是通过单片机外总线进行的。
系统外总线包括地址总线,数据总线和操纵总线。
以下图为单片机系统外总线结构图。
单片机系统总线图
地址总线:
51单片机的地址总线为16位,分为高八位地址线和低八位地址线两部份,高八位地址线由P2口提供,低八位地址线由P0口分时提供。
P2口做地址线时具有输出锁存功能,输出地址信息能够保留,直到下一次输出新的地址;P0口是数据和地址分时复用的端口,为保留其输出的地址信息,需要在外部加地址锁存器锁存输出的地址信息。
地址锁存器的操纵信号由单片机的地址锁存操纵信号ALE提供,由ALE的下降沿操纵锁存时刻。
数据总线:
51单片机的数据总线为八位,由P0口提供。
当P0口用做数据总线时是双向且输入三态的通道口,利历时没必要外加其他芯片。
操纵总线:
对51单片机进行系统扩展时,用到的操纵信号要紧有地址锁存信号ALE,片外程序存储器读信号,外部数据存储器和I/O口读写操纵信号、等。
单片机系统扩展要紧研究如何将扩展芯片通过单片机的系统总线与单片机进行连接,完成相应的功能,知足应用系统的需要。
程序存储器的扩展:
当51系列单片机的片内程序存储器不够或其内部无程序存储器时就必需进行程序存储器扩展。
51单片机程序存储器的硬件扩展电路如以下图所示。
程序存储器扩展电路
程序存储器的扩展是通过外部系统总线进行的。
在扩展时程序存储器的地址线A0~An对应的连接到单片机的地址总线A0~An上;程序存储器的数据线D0~D7连接到单片机的P0口上;程序存储器的输出许诺操纵端连接到单片机的片外程序存储器读操纵线上。
访问片外程序存储器的时序图
当51单片机的CPU访问外部程序存储器时,在每一个机械周期内,引脚ALE上显现两个正脉冲,引脚上显现两个负脉冲,也即在一个机械周期内CPU可两次访问外部程序存储器。
在ALE的下降沿P0口输出的低八位地址信号被锁存,而在有效时通过P0口输入程序的指令码。
数据存储器的扩展:
数据存储器是用来寄存数据的。
51单片机程序存储器与数据存储器是彼此独立的,各占64KB的存储空间,数据存储器扩展时其地址线和数据线的联接方式与程序存储器扩展的联接方式相同,操纵线的联接与程序存储器的扩展不同,数据存储器的操纵信号线为数据存储器的读写操纵WR和RD。
数据存储器扩展时应将RD和WR联接到单片机相应的读写操纵端上。
以下图为采纳6264组成的8KB的数据存储器扩展电路。
当需要的数据存储器容量较大,一片存储器不能知足要求时可通过扩展多片存储器的方式来知足系统要求。
多片扩展时存储器的片选操纵端由单片机的高位地址线决定,可采纳线选法或全地址译码法取得。
采纳全地址译码法扩展的数据存储器地址是持续的,而采纳线选法进行数据存储器扩展其扩展地址是不持续的。
51单片机数据存储器与I/O口是统一编址的,当需要I/O口扩展时应和数据存储器的扩展统一考虑。
数据存储器的扩展
外部数据存储器读时序图
外部数据存储器写时序图
(2)提高并行总线驱动能力的方式
当并行总线外部所接设备超出其负载能力时,应增加总线的驱动能力,以下图为采纳74HC245芯片的总线扩展电路。
问题与试探:
(1)在51单片机系统中必需进行总线扩展吗?
在什么情形下进行总线扩展?
都需要用到哪些信号进行扩展?
(2)51单片机在进行并行总线扩展时外部设备的数量有什么要求?
若是超出了要求应如何处置?
(3)简述51单片机并行总线扩展应如何计算芯片地址?
能够举例说明。
3.3.5为单片机编写程序
将上面的焊接和调试,单片机最小系统只具有了工作起来的硬件条件,就像人只是有了躯体尚未思想,无法工作。
要想让单片机工作起来,还需要向单片机的程序存储器中输入程序,就像人需要思想一样。
本例确实是操纵LED灯的亮灭。
而单片机中的操纵器都是数字电路,只熟悉二进制数据,例如使引脚电平转变的指令:
指令一:
;将单片机第1引脚置高电平
指令二:
;将单片机第1引脚置地电平
这种能够被单片机识别的二进制语言成为机械语言,用机械语言组成的程序称为源程序,但这种语言经历和编写都超级困难。
为此,人们想到了改用简明的英文符号来表示各类不同功能的指令帮忙经历,对应的英文符号称为助记符。
例如将上面的指令一和指令二别离用助记符的形式来描述可表示为:
指令一:
SETB;将单片机第1引脚置高电平
指令二:
CLR;将单片机第1引脚置地电平
用助记符编写的程序成为汇编语言程序。
若是能够将用汇编语言编写的程序翻译成用机械码表示的目标程序,问题就解决了。
这一工作能够由软件自动完成。
Keil确实是这种开发软件的一种,不仅能够完成汇编语言程序到目标代码的自动转换,而且能够实现C语言到目标代码的自动转换,用C语言编写程序,看上去更直观,复杂的运算和逻辑程序的编写变得加倍轻松简便。
3.3.6用KeiluVision2编写单片机程序
KeiluVision2软件是众多单片机应用开发的优秀软件之一,它集代码编辑,UVISION2编译器,51汇编编译器,51内核仿真于一体的集成开发环境(IDE),支持汇编语言和C语言的程序设计,界面友好,易学易用。
下面介绍KeiluVision2软件的利用方式。
进入KeiluVision2后,屏幕如以下图所示。
几秒钟后显现编辑界
启动KeiluVision2时的屏幕
进入KeiluVision2后的编辑界面
学习程序设计语言、学习某种程序软件,最好的方式是直接操作实践。
下面通过简单的编程、调试,引导大伙儿学习KeiluVision2软件的大体利用方式和大体的调试技术。
(1)成立一个新工程 单击Project菜单,在弹出的下拉菜单当选中NewProject选项。
(2)然后选择你要保留的途径,输入工程文件的名字,比如保留到C51目录里,工程文件的名字为C51如以下图所示,然后点击保留。
(提示:
建议每一个新的工程,成立一个新的文件夹,因为在每一个工程中都有很多的文件。
)
(3)这时会弹出一个对话框,要求你选择单片机的型号,你能够依照你利用的单片机来选择,keiluVision2几乎支持所有的51核的单片机,我那个地址仍是以大伙儿用的比较多的Atmel的89C51来讲明,如以下图所示,选择89C51以后,右边栏是对那个单片机的大体的说明,然后点击确信。
(4)完成上一步骤后,屏幕如以下图所示:
到此刻为止,咱们尚未编写一句程序,下面开始编写咱们的第一个程序。
(5)在以下图中,单击“File”菜单,再在下拉菜单中单击“New”选项。
新建文件后屏幕如以下图所示
此光阴标在编辑窗口里闪烁,这时能够键入用户的应用程序了,但是建议第一保留该空白的文件,单击菜单上的“File”,在下拉菜单当选中“SaveAs”选项单击,屏幕如以下图所示,在“文件名”栏右边的编辑框中,键入欲利用的文件名,同时,必需键入正确的扩展名。
注意,若是用C语言编写程序,那么扩展名为(.c);若是用汇编语言编写程序,那么扩展名必需为(.asm)。
然后,单击“保留”按钮。
(6)回到编辑界面后,单击“Target1”前面的“+”号,然后在“SourceGroup1”上单击右键,弹出如下菜单,然后单击“AddFiletoGroup‘SourceGroup1’”屏幕如以下图所示:
选中,然后单击“Add ”屏幕如以下图所示:
然后单击“Close”。
注意到“SourceGroup1”文件夹中多了一个子项“”了吗?
子项的多少与所增加的源程序的多少相同。
(7)此刻,请输入如下的C语言源程序:
#include<> \n”); n”); while
(1); }
在输入上述程序时,已经看到了事前保留待编辑的文件的益处了吧,即KeiluVision2会自动识别关键字,并以不同的颜色提示用户加以注意,如此会利用户少犯错误,有利于提高编程效率。
程序输入完毕后,如以下图所示:
(8)在上图中,单击“Project”菜单,再在下拉菜单中单击“BuiltTarget”选项(或利用快捷键F7),编译成功后,再单击“Project”菜单,在下拉菜单中单击“Start/StopDebugSession”(或利用快捷键Ctrl+F5),屏幕如下所示:
(9)调试程序:
在上图中,单击“Debug”菜单,在下拉菜单中单击“Go”选项,(或利用快捷键F5),然后再单击“Debug”菜单,在下拉菜单中单击“StopRunning”选项(或利用快捷键Esc);再单击“View”菜单,再在下拉菜单中单击“SerialWindows#1”选项,就能够够看到程序运行后的结果,其结果如以下图所示
至此,咱们在KeiluVision2上做了一个完整工程的全进程。
但这只是软件的开发进程,如何利用程序下载器看一看程序运行的结果呢?
(10)单击“Project”菜单,再在下拉菜单中单击“
”在以下图中,单击“Output”中单击“CreateHEXFile”选项,使程序编译后产生HEX代码(在保留工程的文件夹中),供下载器软件利用。
把程序下载到AT89S51单片机中。
3.3.7PROTEUS软件简介
Proteus软件是来自英国Labcenterelectronics公司的EDA工具软件,Proteus软件有近20年的历史,在全世界普遍利用,除其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处置器的应用,还能够直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的成效,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,Proteus能够很容易的为用户成立了完备的电子设计开发环境。
Proteus产品系列也包括了革命性的VSM技术,用户能够对基于微操纵器的设计连同所有的周围电子器件一路仿真。
Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计和自动布线来实现一个完整的电子设计系统。
此系统受益于15年来的持续开发,被《电子世界》在其对PCB设计系统的比较文章中评为最好产品—“TheRoutetoPCBCAD”。
Proteus产品系列也包括了咱们革命性的VSM技术,用户能够对基于微操纵器的设计连同所有的周围电子器件一路仿真。
用户乃至能够实时采纳诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。
其功能模块:
—个易用而又功能壮大的ISIS原理布图工具;PROSPICE混合模型SPICE仿真;ARESPCB设计.PROSPICE仿真器的一个扩展PROTEUSVSM:
便于包括所有相关的器件的基于微处置器设计的协同仿真。
另外,还能够结合微操纵器软件利用动态的键盘,开关,按钮,LEDs乃至LCD显示CPU模型.
》支持许多通用的微操纵器,如PIC、8051.》交互的装置模型包括:
LED和LCD显示,RS232终端,通用键盘,》壮大的调试工具,包括寄放器和存储器,断点和单步模式》IARC-SPY和KeiluVision2等开发工具的源层调试》应用特殊模型的DLL界面-提供有关元件库的全数文件
Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情形,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情形。
因此在仿真和程序调试时,关切的再也不是某些语句执行时单片机寄放器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的进程和结果。
关于如此的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。
3.4任务实施
设计原理图
依照要求设计单片机最小系统原理图,尽可能设计多个方案,进行比较选择适合的方案,然后进入后面的工作步骤。
电路仿真
利用proteus软件对上面的电路进行仿真,比较各类设计方案的运行结果,确信最优方案,进行下面的步骤。
元件清单和本钱核算
将设计好的原理图的元件清单整理好填入下表中,进行本钱核算。
序号
编号
元件名称
参数和封装
数量
单价(元)
合计(元)
1
2
3
4
5
6
7
8
9
10
11
12
总计
电路板焊接
依照接线图将元件焊到全能板上,完成电路板的制作。
提示:
(1)在进行焊接之前必然要认真计划电路板上元件的散布,例如:
和电路板外的连接线应尽可能放在电路板上的边缘处;单片机的插座应尽可能在全能板的中心,外围电路焊接在单片机的周围。
(2)晶振电路应尽可能的靠近单片机的XTAL1和XTAL2引脚。
(3)除上述元件外,电路板上应预留一些空间,以利于后续项目扩展时增加器件的焊接。
焊接完成后,对电路板的焊接工艺进行评判:
对焊接完成的电路板进行测量
(1)通电前测量:
接通电源之前,用万用表通断档测量电路板上电源VCC和GND之间是不是短路,若是短路排除故障,再次进行测量。
(2)单片机是不是工作的测量:
在上一步骤中若是检测没有问题,能够接通电源,接通电源后用示波器测量单片机的第30(ALE)引脚,观看该引脚电平的转变。
若是该引脚输出的是方波,那么单片机已经开始工作。
(提示:
在接通电源之前,必需认真清理电路板上的导线头、剪下的元器件引脚和焊锡屑等容易造成短路的杂物,同时清理电路板下面桌子上的杂物,切勿将焊接好的电路板放到导体上面,以避免造成短路。
)
(3)请将上面的调试进程、观看到和测量到的结果记录下来。
用KeiluVision2编写本情境中最小系统操纵LED亮灭的程序
利用KeiluVision2为上面制作的单片机最小系统操纵LED灯编写一个程序。
写完程序后编译、连接,查看工程目录下是不是有以.hex为后缀的文件,那个文件确实是KeilC51编译器自动编译成的目标代码,把那个代码固化到单片机的程序存储器中,单片机就会依照你所编写的程序工作了。
下面给出的是操纵LED闪烁的参考程序:
#include""
#include""
#defineLED_ON0
ex”为后缀的文件),单击“打开”,所选择的目标程序就会以十六进制的形式显示在该软件串口的右边,如下图:
将前面焊接好的目标板的DB9接口与运算机的串口相连,点击“Download/下载”按钮,软件就会进入尝试与单片机通信的状态,等待单片机上电,如以下图所示:
然后给目标板接通电源,软件就会进入下载进程,如下图:
程序下载终止后,目标板上的单片机就自动依照下载的目标代码运行。
(2)固化程序
依照上面的进程将前面生成的目标代码固化到焊接的目标板上。
若是程序不能正常下载,请依照软件中的提示进行检查,另外要注意检查MAX202电平转换电路。
请记录此进程中碰到的问题和处置方式:
调试
(1)依照3.4.5中的方式检查单片机是不是能够正常工作,若是不能正常工作检查电源供电电路、复位电路和晶振电路。
(2)编写完程序后是不是能下载程序,若是不能正常下载检查电脑串口和电路板MAX202芯片之间的连线、MAX202芯片周围电容和电源连接、MAX202芯片和单片机连接,能够用示波器观看两条通信线上的信号。
(3)观看单片机口线上操纵的led灯是不是依照编写的程序操纵方式闪烁,若是不正确检查源程序和led灯的操纵电路,若是正常编写程序操纵扩展的口线和总线电路,用示波器观看波形是不是正确。
3.5总结评判
中期评判
以组为单位每人讲解:
1)在那个任务中,具体作了那些工作?
2)在整体任务中的作用是什么?
3)与哪些工作做了具体衔接?
4)对其他工作了解了什么?
讲解后由其他组同窗提问,选出一名书记员记录问题及回答情形。
各组全数讲解、提问完毕后,指导教师总结显现频率较高的问题后,每一个同窗自我评分,其他同窗打分。
2.修改、完善显现的问题,对显现的问题给予说明。
后期评判
对显现的问题修改、完善后,除提交功效外,还需要提交以下资料:
1)对项目的把握程度;
2)还有哪些地址需要改良;
3)项目中学到的知识在其他领域的应用等内容。
指导教师依照每一个同窗自我评分、其他同窗打分、提交功效及提交资料给予总结评判。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 最小 系统 设计 实现