PCB元件封装的编辑与制作及IO口的扩展

上传人:mar****e6 文档编号:153632066 上传时间:2022-09-19 格式:DOCX 页数:31 大小:1.09MB
收藏 版权申诉 举报 下载
PCB元件封装的编辑与制作及IO口的扩展_第1页
第1页 / 共31页
PCB元件封装的编辑与制作及IO口的扩展_第2页
第2页 / 共31页
PCB元件封装的编辑与制作及IO口的扩展_第3页
第3页 / 共31页
资源描述:

《PCB元件封装的编辑与制作及IO口的扩展》由会员分享,可在线阅读,更多相关《PCB元件封装的编辑与制作及IO口的扩展(31页珍藏版)》请在装配图网上搜索。

1、情境10 PCB元件封装的编辑与制作及I/O 口的扩展知识点1. 了解PCB元件封装库(PCBLib)编辑器设计环境;2. 掌握编辑元件封装库中已有封装的方法;3. 掌握制作新元器件封装的方法;4. 掌握I/O 口的扩展方法。技能点1. 分别运用手工法和向导法编辑与制作新元件的封装;2. 在PCB编辑器环境下调用自建的元件封装图;3. 利用8255扩展I/O 口,外接输入输出设备。7学习情境目标通过学习了解PCB元件封装库(PCBLib)编辑器设计环境;掌握编辑元件封装库中 已有封装的方法;掌握制作新元器件封装的方法;掌握利用8255扩展外部I/O 口。任务一PCB元件封装的编辑与制作任务目标

2、虽然Protel 99 SE中系统已经提供了数量庞大的元件库,其中含有大量的元件封装, 但是随着新元器件的不断出现,以及一些特殊要求的元器件的使用,设计软件不可能包含 电路板设计者所需的全部元器件的封装图。七段数码管其实物如图10-1,而原理图中该元 件符号如图10-2所示,但在PCB封装库中没有合适的封装图,这就需要设计者自己制作 出符合实际尺寸的七段数码管封装图。同样常用继电器(如图10-3)也没有对应的封装图。 故本次设计任务目标:设置PCB元件封装库编辑器设计环境;2、建立一个新的封装库,取名为“自建PCB元件.lib”,它包括多个自建的元件封装 图,具体参数要求如图10-4七段数码管

3、封装图、图10-5继电器封装图所示;其中图10-4 中焊盘外径尺寸100 milx60mil,焊盘孔径25mi 1;图10-5中焊盘外径尺寸80x80mil,焊 盘孔径40 mil。3、修改PCB Footprints.lib封装库中已有的二极管封装图,使其封装焊盘号与原理图 中元件引脚号一致,如图10-6所示。4、在PCB编辑器环境下调用自建的元件封装库及其封装图。图10-1七段数码管图10-2七段数码管元件图图10-3继电器图10-4七段数码管封装图图10-5继电器封装图图10-6二极管封装焊盘号任务分析七段数码管采用类似DIP(双列直插式)封装形式,因此可以通过向导法借用DIP10 的封

4、装来制作。而继电器封装比较简单,采用PCB封装库中的绘图工具手工制作完成。相关知识1、元件封装的分类:(1)针脚式元件:元件的引脚是一根导线,安装元件时该导线必须通过焊盘,穿过 电路板焊接固定,焊盘必须钻一个能够穿过引脚的孔(从顶层钻通到底层),图10-7为针 脚式元件的封装图,其中焊盘的Layer板层属性必须设置为MultiLayer (穿透层)。图10-7针脚式元件图10-8 表面贴装式元件(2)表面贴装式元件:直接把元件贴在电路板表面,靠粘贴固定,所以焊盘不需要 钻孔,特别适合大批量、全自动、机械化的生产加工,因此成本较低。表面贴装式元件各 引脚间的间距很小,故元件体积也小。图10-8为

5、表面贴装式元件的封装图,其中焊盘的 Layer属性必须设置为单一板层,如TopLayer (顶层)或BottomLayer (底层)。2、元件封装的编号:一般用元件类型+焊盘距离(焊盘数)+元件外形尺寸来表示,所以可根据元件封装编号 来判别元件封装的规格。如:AXIAL0.4表示此元件封装为轴状,两焊盘间距为400mil; RB.2 / .4表示极性电容类元件封装,引脚间距为200mil,外形直径为400mil。3、元件封装图的结构:包含元件外形、焊盘、元件属性3部分。如图10-5继电器的封装由矩形外形、8个焊 盘及相关属性信息构成。(1)元件外形:元件的实际几何图形,不具备电气性质,它起到标

6、注符号或图案的作用。(2)焊盘:元件主要的电气部分,相当于电路图里的引脚。(3)元件属性:设置元件的位置、层面、序号和类型值等信息。封装更注重元件的引脚尺寸,对于任何元器件都需要按照实际的元件尺寸画封装图, 同时对于针脚式元件还要使焊盘的尺寸足够大,以便元器件的引脚能够插入焊盘。所以在 设计元件封装图前,需要了解元件外形、引脚形状及尺寸、引脚间距等信息。元件使用手 册中一般给出元件安装参数,若没有器件封装尺寸数据,在画元件封装图时,可使用游标 卡尺、螺旋测微器等高精度测量工具对元件外形、引脚间距、安装螺丝孔径等进行精确测 量,然后在PCB封装库编辑器中绘制元件封装图。另外还需要注意公英制单位之

7、间的转 换。任务实施过程1、启动PCB元件封装库编辑器:方法类似原理图元件库编辑器的启动。首先在当前设计数据库环境下,执行菜单命令File/New.,进入“New Document”对 话框,选择PCB元件库编辑器图标,如图10-9所示。双击该图标或单击OK按钮后,系 统在当前设计数据库中建立一个新元件封装库文件,修改文件名为“自建PCB元件.lib”。 然后双击该文件图标,进入PCB封装库编辑器工作界面,如图10-10所示。2、设置PCB封装库编辑器环境(1)编辑区调整。最初进入PCB封装库的编辑区内有一个十字坐标轴,其中心坐标 为原点(0,0)。单击鼠标右键,出现图10-11菜单,选择Li

8、brary Options.命令,Layers 标签中打开第一可视栅格,关闭第二可视栅格,如图10-12所示;Options标签中将定位栅 格均设置为5mil,电气栅格取4mil,如图10-13所示。提示:PCBLibplacementTools工具栏的各项含义类似PCB工作环境中相应工具栏。图 10-9“New Document ”对话框图10-10 PCB封装库编辑器界面Libr:ry.Layer Stack Manager. 一PreferenceE.Culurs.Show/Hide.IlefaiiltE.Fl ac eTuulsFr up er t i e eLibr:ry Layer

9、s.MechidTLi c:dl Layers.Op t i cm sLi br :di_y Opt ions.图10-11封装库编辑器环境设置菜单图10-12可视栅格设置(2)工作参数及图纸参数设置。执行菜单命令Tools/Preferences,进入图10-14所 示参数设置对话框,可以对工作层、焊盘、过孔等的显示颜色、光标形状等信息设置。(3)打开封装库管理器。点击View/Design Manager,选择Browse PCBLib标签, 可切换到封装库管理器,如图10-15所示。其中Components(元件列表)窗口内容与原理图 元件库编辑器相同,不再重复。Update PCB按钮

10、功能是更新PCB图中有关该元件的信息, 即在元件封装库编辑器中所做的修改可相应反应到电路板中。图10-13定位栅格设置图10-14封装库参数设置对话框3、用向导法制作七段数码管封装图(参数要求见图10-4)(1)启动封装向导:在上述自建PCB元件.lib的封装库编辑器 PCBLib标签中的Add按钮,或执行菜单命令Tools/New Compo 封装向导界面。ExplorerBruwse PCBLiComponentsMaskPlaceAdd另曷曲记Rjemnve图10-1pd封装库管理器工作界面中,单击Browsenent,进入图10-16的元件_ 图Edit Pad. 丁Jump(2)选择

11、元件封装外形及尺寸单位:单击图10-16中“Next”按钮进入图1曹, 双排直插式封装形式,并选择央制单位“ Imp;rial(m择“Dual in-line Package (DIP)”提示:表10-1列出了 12种元件封装形式的中文名称。表10-1通过向导创建的封装类型Dual in-line Package (DIP)双列直插式封装Ball Grid Array(BGA)格点阵列式封装Staggered Ball Grid Array错列BAG封装Diodes二极管型封装Capacitors电容型封装Quad Packs (QUAD)四方扁平塑料封装Pin Grid Array (PGA

12、)引脚网络阵列封装Resistors电阻型封装Staggered Pin Grid Arrays错列PGA封装Small Outline Package小型表贴式封装Leadless Chip Carrier (LCC)无引线芯片载体型封装Edge Connectors边缘连接型封装(3)确定元件引脚焊盘尺寸:单击“Next”进入图10-18,缺省引脚焊盘外径尺寸 为100 milx50mil,引脚焊盘孔径为25mil。根据要求修改尺寸,直接将鼠标移到原尺寸数 据50mil上,单击鼠标左键输入60mil。图10-16元件封装向导界面注意:焊盘外径尺寸应大于焊盘孔径,引脚焊盘外径与焊盘孔径之间关

13、系如表10-2所示。图10-17选择元件封装外形及尺寸单位表10-2最小焊盘直径与引线孔直径的关系单位:mmfrf引线孔直径最小焊盘直径0.40.50.60.80.91.01.31.62.0高精度0.80.91.01.21.31.41.72.22.5普通精度1.01.01.21.41.51.61.82.53.0低精度1.21.21.51.82.02.53.03.54.0(4) 设置引脚水平间距和垂直间距(指焊盘中心距):单击“Next”进入图10-19, 经实际测量得知该数码管引脚水平间距为800mi 1,垂直间距为150mi 1。在图10-19中加以 修改。(5) 设置元件外轮廓线宽度:单击

14、“Next”进入图10-20,设置元件外轮廓线宽度 与设置元件引脚焊盘尺寸方法相同,一般采用默认值10mi1。图10-18设置引脚焊盘尺寸(6)输入元件引脚数目:单击“Next”进入图10-21,七段数码管应有10个引脚。(7)输入元件封装名称:单击“Next”进入图10-22,在文本框中输入元件名“七 段数码管”。图10-19设置焊盘间距(8)最后确定:单击“Next”进入图10-23,当确认元件外形、焊盘外径、孔径、 间距等尺寸无误后,单击“Finish”按钮,完成向导过程,显示出七段数码管的初步封装, 如图10-24所示。图10-20设置元件外轮廓线宽(9)旋转:图10-24中元件引脚排

15、列方向与实际七段数码管不同,需要整体旋转。选 定整个七段数码管,鼠标左键一直按住七段数码管5脚不放,点击空格键即可旋转。撤销 选定状态后,如图10-25所示。(10)修改引脚焊盘属性:依次对10个焊盘引脚鼠标左键双击,进入到每个焊盘属 性对话框中,如图10-26所示。根据七段数码管引脚名称及排列规则,逐一修改焊盘属性。(11)设置参考点:执行菜单命令Edit/Set Reference/Location,将参考点放在“dp” 引脚焊盘上,作为本元件的参考点,即该引脚焊盘坐标为(0,0)。图10-22输入元件封装名称图10-23封装向导结束(12 )修改外轮廓线: 线。然后将图10-13中定位M

16、丝印层),删除现有外轮廓 肉5mil。最后利用菜单命令按钮,按照任务目标中的尺寸Place/Track,或单击 PCBLibPlacementTools 工具栏中的 要求绘制出数码管的外轮廓线,如图10-27所示,全部完成之后如图10-28所示。注意:根据尺寸要求,数码管的外轮廓四点坐标分别为(-662, 875)、(63, 875)、 (-662,-75)、(63,-75),依据此坐标值绘制外轮廓线。(13)保存:单击主工具栏内的扃按钮,将生成的七段数码管元件封装图保存到自建PCB元件.lib库文件中。至此,用向导法完成了在自建PCB元件.lib库中制作并增加七段数码管封装图的任务。注意:数

17、码管元件图中管脚编号为18,分别对应adp,9对应VCC;而数码管封 装图中管脚编号依次是e、d、3、c、dp、b、a、8、f、g,两个图的管脚号不一致,势必 在调入网络表时出错,所以修改其封装图管脚号如图10-29所示。图10-29修改七段数码管封装图管脚号4、手工制作继电器封装图(参数要求见图10-5)(1)新建元件封装:在自建PCB元件.lib的封装库编辑器工作界面中,单击Browse PCBLib标签中的Add按钮,或执行菜单命令Tools/New Component,进入图10-16的元件 封装向导界面,对话框中单击按钮,退出元件封装创建向导。(2)设置工作环境:执行菜单命令Tool

18、s/Library Options进入图10-13,将定位栅格 Snap X 改为 10mil,Snap Y 改为 10mil。如图 10-30 所示。注意:为了使用户在绘制元件封装的过程中放置线段、弧线等更精确,应该将定位栅 格设置的小一些,而电气栅格中数值要小于定位栅格。(3)放置引脚焊盘:执行菜单命令Place/Pad,或单击PCBLibPlacementTools工具栏 中的按钮,将十字光标定位于(0,0)放置第一个焊盘。然后根据图10-5中焊盘之间 的水平间距和垂直间距放置其它7个焊盘,如图10-31所示。图10-30重新设置定位栅格注意:可以利用栅格来确定焊盘间的相对位置,也可利用

19、Pad属性对话框中焊盘的坐 标值来确定各焊盘间的相对位置。图10-32焊盘属性设置图10-31放置引脚焊盘(4)修改引脚焊盘属性:依次双击各个引脚焊盘(或选中焊盘后按Tab键),调出其 相应的引脚焊盘属性对话框,根据任务要求修改各项值,如图10-32是修改第一个引脚焊 盘的对话框,其中焊盘外径尺寸80x80mi 1,焊盘孔径30 mil。其它焊盘属性依照图10-5 逐一修改。若需要对所有焊盘的相同属性进行修改,可以采用整体修改方式。如将图10-31上所 有外径为80x80mil的圆形焊盘,修改其焊盘孔径为40mi 1,则单击图10-32对话框中的 “Global”按钮,对话框展开,出现整体编辑

20、区,如图10-33所示,“Hole Size”改为40mi1, 在“Attributes Match By”区域中的 “X-Size”、“Y-Size”、“Shape”三栏都设为 “Same”,将 “Designator栏设为“Different;其他各栏都设为“Any”,则表示将电路板图中所有X轴和 Y轴尺寸为80mi 1、形状为圆形、序号不是1的焊盘作为整体编辑的对象;在“Change Scope” 区域中,选择“All Primitives in current component;在“Copy attributes”区域,选择“Hole Size” 栏,表示将所有被整体编辑的焊盘钻孔直

21、径改为40mi1s。图10.33焊盘属性整体修改(5)设置参考点:执行菜单命令Edit/Set Reference/Location,将参考点放在“1”引 脚焊盘上,作为本元件的参考点,即该引脚焊盘坐标为(0,0)。(6)绘制封装外形轮廓线:将工作层面切换到TopOverlay(顶层丝印层),执行菜单 命令Place/Track,或单击PCBLibPlacementTools工具栏中的一:按钮,按照任务目标中的 尺寸要求绘制出继电器的外轮廓线,完成后如图10.34所示。图10.34 绘制继电器外轮廓线(7)修改元件封装名称:执行菜单命令Tools/Rename Component,或单击Bro

22、wse PCBLib标签中的Rename按钮,出现如图10-35对话框,修改元件封装名为继电器。图10.35修改封装名(8)保存:单击主工具栏内的耐按钮,将生成的继电器元件封装图保存到自建PCB 元件.lib库文件中。至此,用手工法完成了在自建PCB元件.lib库中制作并增加继电器封装图的任务。此 时自建PCB元件.lib库中已新建了两个元件封装图。5、修改PCB Footprints.lib封装库中已有的二极管封装图(如图10.6所示)(1)新建元件封装:方法同上,改名为二极管。(2)打开软件自带封装库。执行菜单Files/Open.命令,在路径C:Program FilesDesign E

23、xplorer 99 SELibraryPcbGeneric FootprintsAdvpcb.DDB 中打开 PCB Footprints.lib 元件 库,找到需要修改的二极管封装DIODE0.4,将其选定、复制、粘贴到“自建PCB元件.lib” 库文件的“二极管”封装图纸中,如图10.36。(3)修改引脚焊盘编号:依次双击两个引脚焊盘(或选中焊盘后按Tab键),调出其 相应的引脚焊盘属性对话框,分别将原来的编号1改为A,如图10.37所示,将原来的编 号2改为K,使其封装焊盘号与原理图中元件引脚号保持一致。(4)保存:单击主工具栏内的耐按钮,将生成的二极管元件封装图保存到自建PCB 元件

24、.lib库文件中,注意保存路径,本例在D:画图练习放大整形电路.ddb。UpdatePCBMask J*Re namePlaceRemoveEdit Pad| Jump放大整形电路.DDB | Documents | 自建PCB元件.LIB | PCB3.PCB就自建PCB元件l.LIB |Esplorer Browse PCBLibComponentsLED-S继电器E图10.36复制巳有封装ExplorerBrowse PCBLibCoitipoiientsM.isk图 10.37Cutrent Laysi图 10.38.38所示。至此,在自建PCB元件.lib库中制作并增加了三个元件封装

25、图,如图 6、调用自建封装库(1) 回到PCB编辑状态,执行菜单命令Design/Add/Remove Library.,将自己创建 的封装库“自建PCB元件.lib”添加到当前PCB设计环境中,如图10.39所示。(2) 和其它封装库一样,使用自建PCB元件.lib库中封装,如图10.40所示。7、创建项目元件封装库项目元件封装库是根据本项目电路图上的元件而产生的元件封装库,实际就是把整个 项目中所用到的元件整理并存入一个元件封装库文件中。以高灵敏度无线话筒pcb为例:(1) 执行菜单命令File/Open.,打开高灵敏度无线话筒.pcb文件,进入其PCB设计 环境。(2) 执行菜单命令De

26、sign/Make Library后,自动切换到元件封装库编辑器,并生成 相应的项目元件封装库“高灵敏度无线话筒.lib”文件,如图10-41所示。图10-39 添加“自建PCB元件.lib图10-40使用“自建PCB元件.lib”库元件图10.41创建高灵敏度无线话筒.lib实训练习:在自己的文件夹中创建元件封装库,名为“自建封装.1 ib”,然后绘制以下各元件封装, 并将其存放于上述自建封装库中。实训题1从已有的封装库中拷贝一个DIP8的封装,然后将它修改为DIP4的封装。提示:(1)在Protel 99 SE环境,使用File/New Design建立设计数据库,然后再使用 File/N

27、ew菜单,在跳出的窗口中选择PCB Library Document图标。(2) 拷贝操作:打开General IC封装库,并使DIP-8封装处于编辑状态,执行菜单命 令 Edit/Copy Component o(3) 粘贴操作:使用菜单命令Edit/Paste Component,就可以看到封装DIP-8就被调 入该窗口,执行菜单命令Tools/Rename Component,把元件封装名改为DIP-4。(34)修改操作:用Edit/Delete菜单删除4个焊盘,然后重新为焊盘编号,顺序与原DIP-8的顺序一致,在顶层丝网层重画轮廓线,注意焊盘尺寸使用原焊盘尺寸,最后存盘。实训题2试画一

28、个PGA44的封装,要求:如图10.42,图中的数字为焊盘号码,画 图时注意封装焊盘号和实际器件的关系。提示:(1)首先用元件封装制作向导建立8X8的PGA封装,然后再删去不需要的焊 盘,最后编辑焊盘号、书写文字和画边框。(2)注意焊盘使用向导中的缺省焊盘尺寸。图10.42 PGA44封装图图10.43发光二极管封装图实训题3试画出所示的发光二极管封装图,要求如图10.43,焊盘外径为60mil,内径为30mi 1,焊盘号如图所示。实训题4试画出所示的按钮封装图,要求如图10.44,焊盘尺寸为外径120mi 1,内径 为60mi 1,焊盘号如图所示。图10.44按钮封装图图10.45开关封装图

29、实训题5试画出所示的开关封装图,要求如图10-45,焊盘尺寸为外径200mi 1,内径为150mi l,焊盘号如图所示。任务2外部I/O 口的扩展任务目标通过本任务的学习,掌握利用8255A可编程芯片扩展外部I/O 口的方法;掌握利用 8255A的A 口、B 口、C 口完成数据的输入与输出;进一步掌握指针变量的使用;了解TTL 芯片扩展I/O 口的方法。任务描述把8255A的C 口外接的8个开关量的状态读入到内部RAM 50H单元,然后分别通过 8255A的A 口、B 口输出,并分别在其外接的8个发光二极管上显示。硬件电路如图10.46 所示。D0.7293031XTAL1XTAL2RSTPS

30、EN ALE EA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14P2.7/A15P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1P3.4/T0 P3.远 P3.6/WR_39 一38 37 36 35 34 33 32二 21 _22 _23 _24 _25 _26 一27 28_10

31、 _11 _12 _13 _14 _15 _1617 D0、D1 D2 D3、D4、D5 D6D7_4 .7 8 13 14 17 18111U2D0D1Q0Q1D2Q2D3Q3D4Q4D5Q5D6Q6D7Q7OEL-tE_12_15_161974LS373D034D133D232D331D430D529D628D727U4-D0D1D2D3D4D5D6D7536_8 35RDWRA0A1 RESET6 CSPA0 PA1 PA2 PA3 PA4 PA5 PA6PA7PB0 PB1 PB2 PB3 PB4 PB5 PB6PB7PC0 PC1 PC2 PC3 PC4 PC5 PC6PC7DIPS

32、W_8P3./RD8255A23456789300图10.46 8255扩展I/O 口电路 源程序#define uchar unsigned char#define A8255 0x7ffc#define B8255 0x7ffd#define C8255 0x7ffe#define K8255 0x7fff void delay() uchar i,j;for(i=0;i40;i+) for(j=0;j250;j+)void main()uchar xdata *p;uchar data *pn=(uchar data *)0x50;while(1)p=(unsigned int *)(K

33、8255);*p=0x89;p=(unsigned int *)(C8255);*pn=*p;P-;*p=*pn;P-;*p=*pn;delay();任务实施1. 利用PROTEL软件绘制如图9.69硬件电路图,生成元件清单、网络报表、制作PCB 板(根据设计情况尽量小)。2. 利用proteus仿真软件绘制电路原理图3. C51程序的编译按照情景一 Keil C51编译软件的操作步骤对源程序进行编译和调试。4. 执行程序观察效果将编译成功后的.HEX文件加载到CPU执行程序并设置开关的状态观察效果。相关知识1. 并行I/O 口的简单扩展简单I/O 口扩展是通过系统外总线进行的。简单I/O 口

34、扩展芯片可选用带输入、输出 锁存端的三态门组合门电路,如74LS373、74LS377、74LS273、74LS245及8282等。图 10.47为由74LS373及8282构成的8位并行输入输出I/O 口,其中74LS373用作输出口, 8282用作输入口,若不用的地址线取为“1”,则口地址为:BFFFH (输出口)、7FFFH(输 入口)。数据的输入与输出通过下述指令进行:输出数据:unsigned char xata *p;unsigned char i;p=(unaigned char data *)0xbfff ; /指向输出口*p=0x30;/输出数据输入数据:p=(unaigne

35、d char data *)0x7fff; /指向输入口i=*p;输入数据91234567 一E soodddooo 01234567 E TXDDDODDD L图10.47 简单I/O 口扩展22222222PPPPPPPPSTBPC3PC。V08图10.48 8255内部结构PA3 7 P仙PA2一239PA1338PAQ437RD一536CS一635GND 734Ai 8825533Ao932PC7 1031PC6 1130PC5 1229PC4 1328PCO 1427PCI 一1526PC2一1625PC3 1724PBO 1823PB1 1922PBO 2021PA4PA5 PA6

36、 PA7 WRRESETDdDiDiEhD4d5 d6I7VccPB7PBSPB5PB4- PB3图10.49 8255A引脚图(1) 外设接口部分该部分有3个8位并行I/O端口,即A 口、B 口、C 口。可由编程决定这3个端口的 功能。A 口:具有一个8位数据输出锁存/缓冲器和一个8位数据输入锁存器,PA0PA7是 其可与外设连接的外部引脚。它可编程为8位输入/输出或双向I/O 口。B 口:具有一个8位数据输出锁存/缓冲器和一个8位数据输入缓冲器(不锁存), PB0PB7是其可与外设连接的外部引脚。B 口可编程为8位输入/输出口,但不能作为双 向输入/输出口。C 口:具有一个8位数据输出锁存

37、/缓冲器和一个8位数据输入缓冲器(不锁存), PC0-PC7为其与外设连接的外部引脚。这个口包括两个4位口。C 口除作输入、输出口使 用外,还可以作为A 口、B 口选通方式操作时的状态/控制口。(2)A组和B组控制电路这两组控制电路合在一起构成一个8位控制寄存器,每组控制电路既接收来自读/写控 制逻辑电路的读/写命令,也从数据线接收来自CPU的控制字,并发出相应的命令到各自 管理的外设接口通道。或对端口 C按位清0、置1。(3)数据总线缓冲器数据总线缓冲器是一个三态双向8位缓冲器,D7D0为相应外部引脚,用于和单片机 系统的数据总线相连,以实现单片机与8255A芯片之间的数、控制及状态信息的传

38、送。(4)读/写控制逻辑读/写控制逻辑电路依据CPU发来的A1、A0、CS、RD和WR信号,对8255进行硬件管理。决定8255使用的端口对象、芯片选择、是否被复位以及8255与CPU之间的数 据传输方向,具体操作情况如表10-10-1。RESET(输入):复位信号,高电平有效,清除控制寄存器,使8255各端口均处于基 本的输入方式。CS (输入):片选信号,低电平有效。RD (输入):读信号,低电平有效。控制8255将数据或状态信息送至CPU。WR (输入):写信号,低电平有效。控制把CPU输出数据或命令信息写入8255。A1、A0(输入):端口选择线。这两条线通常与地址总线的低两位地址相连

39、,使CPU 可以选择片内的4个端口寄存器。表10-1 8255的端口选择及操作表CSA1A0RDWR端口操作00001读PA 口,端口 A数据总线00010写PA 口,端口 A-数据总线00101读PB 口,端口 A数据总线00110写PB 口,端口 A-数据总线01001读PC 口,端口 A数据总线01010写PC 口,端口 A-数据总线01110数据总线一8255控制寄存器1XXXX芯片未选中(数据线呈高阻状态)01101非法操作0XX11非法操作2)80C51与8255A的连接方法80C51和8255可以直接连接,简单的连接方法如10.46所示。A1A0:与8031的低两位地址线经锁存器

40、后相连。CS:与8031剩下地址线中的一根相连。RD :与 8031 RD相连。WR:与 8031WR相连。RESET:与8031的RESET直接相连。D0D7:与8031的P0 口直接相连。根据10.46的连接情况,地址分配如下(设未用地址线为高电平)。P2.7( CS)A1(P0.1)A0(P0.0)端口地址000A 口7FFCH001B 口7FFDH010C 口7FFEH011控制寄存器7FFFH3)8255的方式控制字用编程的方法向8255A的控制端口写入控制字,可以用来选择8255A的工作方式。8255A的控制字有两个:即方式选择控制字和PC 口复位/置位控制字。这两个控制字共用 一

41、个地址,根据每个控制字的最高位D7来识别是何种控制字,D7=1为方式选择控制字,D7=0为C 口置位/复位控制字。(1)方式选择控制字方式选择控制字用来定义PA、PB、PC 口的工作方式。其中对PC 口的定义不影响其 某些位作PA、PB 口的联络线使用。方式控制字的格式和定义如图10.50所示。控制A组控制B组A .人-D7D6D5D4D3D2D1DO方式标志:控制A 口 1:输人 0:输出A口方式选择 00:方式0 01:方式1 IX:方式2控制C 口 高4位1:输入 0:输出1有效控制B 口控制C 口 低4位1:输入04输出1:输入0:输出B 口方式选择1:方式00;方式1图10.50 8

42、255A方式选择控制字8255A的PA和PB在设定工作方式时,必须以8位为一个整体进行,而PC可以分为 高4位和低4位分别选择不同的工作方式,这样四个部分可以按规定互相组合起来,非常 灵活方便。例如,假设8255A的PA和PB工作方式0输出,PC工作于方式为0输入,则命令字 为10010000B=89H,以10.46所示电路为例,则任务中初始化程序为:uchar xdata *p 指针指向命令口 p=(unsigned int *)(K8255);*p=0x89;/方式命令字写入8255A的命令寄存器(2) C 口按位复位/置位控制字C 口的各位具有位控制功能,在8255工作方式1、2时,某些

43、位是状态信号和控制信 号,为便于实现控制功能,可以单独的对某一位复位/置位。格式如图10.51。图10.51 C 口按位复位/置位控制寄存器必须注意的是,虽然是对PC 口的某一位进行操作,但命令字必须从8255A的命令口 写入。例如编程使PC 口的PC1置1输出:uchar xdata *p 指针指向命令口p=(unsigned int *)(K8255);*p=0x03;复位/置位控制字写入8255A的命令寄存器4 ) 8255工作方式8255有三种方式:方式0、方式1、方式2 (仅A 口)。(1) 方式0 (基本输入/输出方式)适用这种工作方式的外设,不需要任何选通信号。8255A以方式0

44、工作的端口在单片 机执行I/O操作时,在单片机和外设之间建立一个直接的数据通道。PA 口、PB 口及PC 口的高、低两个4位端口中的任何一个端口都可以被设定为方式0输入或输出。作为输出 口时,输出数据锁存;作为输入口时,输入数据不锁存。(2) 方式1(选通输入/输出方式)方式1有选通输入和选通输出两种工作方式,只有PA 口和PB 口可由编程设定为方 式1输入或输出口,PC 口中的若干位将用来作为方式1输入/输出操作时的控制联络信号。8255A工作于方式1输入情况下的功能如图10.51所示。此时PC的位被定义为:PC4: PA的选通信号可,低电平有效,由外设提供。当该信号有效时,8255A的 P

45、A将外设提供的数据锁存。PC5: PA的输入缓冲器满信号IBFA高电平有效,由8255A输出给外设。当该信号 有效时,表明外设送来的数据已到PA的输入缓冲器。该信号可以作为端口查询信号,只 有当PA端口的数据被取走以后,该信号才变为低电平,端口才可以接收新的数据。PC3: PA的中断请求信号INTRA,高电平有效,由8255A输出给外设。在INTEa=1的条件下,当STBa=1和IBFa=1时,INTRA被置为1,当数据被取走后清除。PC2: PB的选通信号STBb,功能与作用同STBa。PCI: PB的输入缓冲器满信号IBFB,功能与作用同IBFa。PC0: PB的中断请求信号INTRB,功

46、能与作用同INTRAoPC6和PC7可以作为自由的输入/输出线。INTEA和INTEB是PA和PB的中断允许位,它们是通过对PC4和PC2置1或清0来 实现中断允许和中断禁止控制的,但这对PC4和PC2两引脚的功能(STBA和STBB )并 不影响。图10.52 8255A方式1选通输入方式8255A工作于方式1输出情况下的功能如图所示。此时PC的位被定义为:PC7: PA的输出缓冲器满信号OBFa,低电平有效,由8255A输出给外设。当该信号 有效时,表示8255A的PA中已有数据,外设可以将此数据取走。当可到来时,该信 号变为高电平。PC6: PA的响应信号AE目,低电平有效,当外设将数据

47、取走后发回给8255A的应答 信号。PC3: PA的中断请求信号INTRA,高电平有效,由8255A输出给外设。在INTEa=1 的条件下,当OBFa =1和ACK A =1时,INTRA被置为1,WR信号的上升沿使其复位。PCI: PB的输出缓冲器满信号匝,功能与作用同ObFoPC2: PB的响应信号AC、,功能与作用同ACKAPC0: PB的中断请求信号INTRB,功能与作用同INTRAoPC4和PC5可以作为自由的输入/输出线。图10.53 8255A方式1选通输出方式INTEA和INTEB是PA和PB的中断允许位,它们是通过对PC6和PC2置1或清0来 实现中断允许和中断禁止控制的。(

48、3)方式2(双向数据传送方式)只有PA 口以用这种方式工作。此时,PA 口是双向的输入输出口。A 口工作在方式2 时其输入或输出都有独立的状态信息,占用了C 口的5根联络线,因此A 口工作于方式2 时,C 口已不能为B 口提供足够联络线,因此B 口不能工作于方式2,但可以工作在方式 1或方式0。5)数据输入/输出操作(1)选通输入操作过程:如图10.52所示,首先,外设发出数据准备好的信号使选通输入可有效,输入数据 装入8255A的端口 A缓冲器,然后端口缓冲器满,缓冲器满信号IBFA置1,CPU可查询 这个状态信号,以决定是否可以读这个输入数据。如使用中断方式,当可重新变为高电 平时,中断请

49、求信号INTRA有效,向CPU发出中断请求,响应中断后,在中断服务程序 中读取数据,并使INTRA恢复为低(无效),同时也使IBFA变低,用于通知外设可以送下 一个输入数据。(2)选通输出操作过程:如图10.53所示,8031输出到8255A的数据送到输出端口的数据输出锁存器,引起输出缓冲数,数据处理完毕,再向8255发出下一个ACKb响应信号。(3)A 口双向输入输出方式A 口在双向输入输出方式下,作输入总线时受信号诙A和IBFA信号控制,工作原理 同选通输入方式:作输出总线时受信号ACKa和QBFA信号控制,工作原理同方式1输出方 式。6)8255A芯片使用注意事项(1)8255A芯片最多

50、可扩展三个8位I/O 口(或两个8位I/O 口,两个4位I/O 口)。 其中PA 口、PB 口、PC 口及控制端口的地址分别由CS及A1A0所接地址线决定。它们 的最末两位地址依次为00、01、10、11。(2)PA 口和PB 口是两个独立的8位端口,它们的工作可由方式控制字分别确定(PA 口可工作于方式0、方式1和方式2; PB 口只能工作于前两种方式),而PC 口则要根据 PA 口和PB 口的工作方式而定。只有PA 口和PB 口同时工作为方式0时PC 口才可作为一 个8位端口(或两个4位端口);否则,PC 口总有几位用作联络信号。(3)当PA 口或PB 口工作于方式1时,外设(输入设备)输

51、出的选通信号STB和 (输出设备)输出的响应信号ACK均应为负脉冲。(4)当8255A用中断方式与CPU进行数据传送时,PC0,PC3分别作为PB 口和PA 口的中断请求信号。(5)8255A的初始化编程。首先按单片机应用系统的具体要求,结合方式控制字的 格式确定方式控制字,然后将其写入控制寄存器中。若用PC 口作为I/O线,可写PC 口置 位/复位控制字,此控制字同样必须写入控制字寄存器而非C 口地址。方式控制字的值应根据具体要求而定,控制字寄存器的地址应根据接口逻辑接线图而 定。(6)8255A复位后,所有端口均被置成输入方式,且端口数据清零。实战训练把任务2中8255的PA 口为输入口外接8个开关,PC 口为输出口外接8个发光二极管, 编写程序实现相同功能。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!