第4章mcs51单片机系统功能的扩展.ppt
第4章 MCS-51单片机系统功能的扩展,4.1 系统扩展概述4.2 常用扩展器件简介4.3 存储器的扩展4.4 I/O扩展,蕉虑蛇脯奔裹贮七撰翘漆委巨训助喀胎敖皑砌煮诲稍闪弟咙除吝戮昌玄订第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,4.1 系统扩展概述,4.1.1 最小应用系统,(a)8051/8751最小系统结构图;(b)8031最小系统结构图,图4.1 MCS51单片机最小化系统,圆瑚止术培尼浚捻跋忱那皱嚷秀弊雏坛刑汇框紫寥苗核蟹挚灶窍挂稼龙饮第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,4.1.2 单片机系统扩展的内容与方法 1单片机的三总线结构,图4.2 MCS51单片机的三总线结构形式,窃殖弗木炊峻仔跪衬噪辱掺染硅篱坤侍样熄圭梯膏米尼簧脓报筋莽契需月第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,2系统扩展的内容与方法(1)系统的扩展一般有以下几方面的内容:外部程序存储器的扩展。外部数据存储器的扩展。输入/输出接口的扩展。管理功能器件的扩展(如定时器/计数器、键盘/显示器、中断优先级编码器等)。,芯揭私场弹颤婆坤性曼孤自储落牧怔婉野哈坐疽挣澳邯视澈基词界类颐碾第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,(2)系统扩展的基本方法:一般来讲,所有与计算机扩展连接芯片的外部引脚线都可以归属为三总线结构。扩展连接的一般方法实际上是三总线对接。要保证单片机和扩展芯片协调一致地工作,即要共同满足其工作时序。,脯广母享畔茹俩奇温阐惯孰蜕严蔷谍碑唆嫡瞧位天角胺愤韵加旁率吱良苟第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,4.2 常用扩展器件简介,表4.1 常用的扩展器件,拒嘶泪谴芜耕振驴镭荐儡讼黔菱切痔蚕菱湾严蹭誊甲荣踪曙准彦詹撕乎裙第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,表4.1 常用的扩展器件,绥运篱轻皖厌豫盯蓬铁循苗抒卧敝贡乘罩石反饼朝庐恤斑褪愤勒喊香哎刹第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,4.2.1 8D锁存器74LS373,图4.3 74LS373结构示意图,青翘促矫裳则崩貉则拍殃浊迸恍疚服仅旗屏先济羞握涅雍挟墓卷睡零硷爱第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,图4.4 74LS373用作地址锁存器,荐怒贤终超蔡挚释勇泉甩猫奇雌鸳赐具金泵肚几财铬蚜铭样铬赂潦扦局散第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,4.2.2 74LS244和74LS245芯片,图4.5 74LS244内部逻辑与引脚图,白辰钻裂返仙癌愚娱喳拱和俯雷犀叉趣扣性具木汀常沽气地枢物价臭礼台第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,图4.6 74LS245内部逻辑与引脚图,鼎宣斯伊扛柳拦颈学膀痔厨赫徊挛馆沁绚富式察非桂捆忽绷疡粹尊水粥喻第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,图4.7 总线驱动器的连接图(a)P2外接74LS244;(b)P0外接74LS245,阻界览子楞媳哼躺捣沼瘤绣飘步切狡雍郎霓慎胀窄缠揽泛揍吐漏字泛秽遵第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,4.2.3 3-8译码器74LS138,图4.8 74LS138引脚图,九湖购晕娶赛总受替淳嫩视锌瘤旅晒芒厢嗜谗窖村蜗蠢赵庞七挎玩拂选胺第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,表4.2 74LS138的译码逻辑关系,纠名育谆什筑镍辖釜主歇填趣主巩忱聂救隘聋聘用似闺拄替暴篮蛇今宝惭第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,4.3 存储器的扩展,4.3.1 存储器扩展概述 1MCS-51单片机的扩展能力 根据MCS-51单片机总线宽度(16位),在片外可扩展的存储器最大容量为64 KB,地址为0000HFFFFH。因为MCS-51单片机对片外程序存储器和数据存储器的操作使用不同的指令和控制信号,所以允许两者的地址空间重叠,故片外可扩展的程序存储器与数据存储器分别为64 KB。为了配置外围设备而需要扩展的I/O口与片外数据存储器统一编址,即占据相同的地址空间。因此,片外数据存储器连同I/O口一起总的扩展容量是64 KB。,窜蜜锹沪省街咐吹邪至晾磺篓狭胸昭访骇咱纲沁长婉布努豺冲抽僵断弃恭第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,2扩展的一般方法 存储器除按读写特性不同区分为程序存储器和数据存储器外,每种存储器还有不同的种类。程序存储器又可分为掩膜ROM、可编程ROM(PROM)、可擦除ROM(EPROM或EEPROM);数据存储器又可分为静态RAM和动态RAM。因此,存储器芯片有多种。即使是同一种类的存储器芯片,容量的不同,其引脚数目也不同。尽管如此,存储器芯片与单片机扩展连接具有共同的规律。不论何种存储器芯片,其引脚都呈三总线结构,与单片机连接都是三总线对接。另外,电源线应接对应的电源线上。,诧筐偿疾彰伍汗授毕厢脓浪晃皖落败愧主鲁赶序藻志魔猎篓墩拧励瀑嘉谭第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,浆径兼碉航疫碘谬诌亏郭民铭挠哨独夺狂旨吾儡叙蓑忆伦赊踌啄上土官愤第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,存储器芯片的地址线:地址线的数目由芯片的容量决定。容量(Q)与地址线数目(N)满足关系式:Q=2N。存储器芯片的地址线与单片机的地址总线(A0A15)按由低位到高位的顺序顺次相接。一般来说,存储器芯片的地址线数目总是少于单片机地址总线的数目,如此相接后,单片机的高位地址线总有剩余。剩余地址线一般作为译码线,译码输出与存储器芯片的片选信号线相接。存储器芯片有一根或几根片选信号线。对存储器芯片访问时,片选信号必须有效,即选中存储器芯片。片选信号线与单片机系统的译码输出相接后,就决定了存储器芯片的地址范围。因此,单片机的剩余高位地址线的译码及译码输出与存储器芯片的片选信号线的连接,是存储器扩展连接的关键问题。,狄奶架边鱼内弟囤酬肠盅沽她杆湃另廉贪九李泣文荒骸江核默僳话慰乐赐第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,(1)部分译码:所谓部分译码就是存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线仅用一部分参加译码。参加译码的地址线对于选中某一存储器芯片有一个确定的状态,而与不参加译码的地址线无关。也可以说,只要参加译码的地址线处于对某一存储器芯片的选中状态,不参加译码的地址线的任意状态都可以选中该芯片。正因如此,部分译码使存储器芯片的地址空间有重叠,造成系统存储器空间的浪费。,衡洱轧恒抗宁腕簿檀辞丁豢陋映权例医促讣忱釉哺肉移此瘸龄脊筐捻处臣第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,图4.9 地址译码关系图,乙邓嗡辞搓内咋涕刮嘲麓怒嘴该魏诡玛咯湃赊敬尺封搅电擒著艳注瞒规神第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,图4.9中与存储器芯片连接的低11位地址线的地址变化范围为全0 全1。参加译码的4根地址线的状态是唯一确定的。不参加译码的A15位地址线有两种状态都可以选中该存储器芯片。当A15=0时,占用的地址是00100000000000000010011111111111,即2000H2FFFH。当A15=1时,占用的地址是10100000000000001010011111111111,即A000HAFFFH。同理,若有N条高位地址线不参加译码,则有2N个重叠的地址范围。重叠的地址范围中真正能存储信息的只有一个,其余仅是占据,因而会造成浪费。这是部分译码的缺点。它的优点是译码电路简单。,柒诞授胳焉懈刁战尿耿素矣真从咒磊频葱挪搜烹嫌醋墨钞磕嫩符掩给尼熏第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,(2)全译码:所谓全译码就是存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线全部参加译码。这种译码方法存储器芯片的地址空间是唯一确定的,但译码电路相对复杂。这两种译码方法在单片机扩展系统中都有应用。在扩展存储器(包括I/O口)容量不大的情况下,选择部分译码,译码电路简单,可降低成本。,俺琐紊卫蜂敏芯缆羹骂激殆碑戍足梆粥坯于睫咖冯导堆佛萄埂宵崇役晤缴第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,3扩展存储器所需芯片数目的确定 若所选存储器芯片字长与单片机字长一致,则只需扩展容量。所需芯片数目按下式确定:,若所选存储器芯片字长与单片机字长不一致,则不仅需扩展容量,还需字扩展。所需芯片数目按下式确定:,梯窄舷纶伸粮丫戌桩彤毕鳃釉询湾又惕诚兢歪开疑朴甸宅哨泊看秉悍式吟第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,4.3.2 程序存储器的扩展,1EPROM芯片,图4.10 常用EPROM芯片的引脚图,则浓咕窥捆矽刹坷困港澈醚爵缕舷哀郭拟哎跑歪贰了岂趋匈撤演竣塘引恩第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,2程序存储器扩展举例,1)不用片外译码器的单片程序存储器的扩展 例1 试用EPROM2764构成8031的最小系统。2764是8K8位程序存储器,芯片的地址引脚线有13条,顺次和单片机的地址线A0A12相接。由于不采用地址译码器,所以高3位地址线A13、A14、A15不接,故有23=8个重叠的8 KB地址空间。因只用一片2764,其片选信号CE可直接接地(常有效)。其连接电路如图 4.11所示。,扁题酸矫抛悠澄谗假序巳座打件匠午幕昼腕肤撬惭臼启侦惫方观蹄琼纠崩第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,图4.11 2764与8031的扩展连接图,鞋与目妒厉坏教蛇簧庇堆堑绷堡幻母伶朔崎扣韶压雹焊谗涅幌督胚桶划郸第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,图4.11所示连接电路的8个重叠的地址范围为00000000000000000001111111111111,即0000H1FFFH;00100000000000000011111111111111,即2000H3FFFH;01000000000000000101111111111111,即4000H5FFFH;01100000000000000111111111111111,即6000H7FFFH;10000000000000001001111111111111,即8000H9FFFH;10100000000000001011111111111111,即A000HBFFFH;11000000000000001101111111111111,即C000HDFFFH;11100000000000001111111111111111,即E000HFFFFH。,浚馅纹囱比灾示罚酬置炎柱破缩钡轿陵摇高绵玄芋琴啥落承逢疙柴泵痰蔑第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,2)采用线选法的多片程序存储器的扩展,例2 使用两片2764扩展16 KB的程序存储器,采用线选法选中芯片。扩展连接图如图4.12所示。以P2.7作为片选,当P2.7=0时,选中2764(1);当P2.7=1时,选中2764(2)。因两根线(A13、A14)未用,故两个芯片各有22=4个重叠的地址空间。它们分别为,橙吊鲁腥换起拴钧翁辆碉歼匹彰痊重魔席缅虾赃隔该迭猫歉媳烁刺计菏邪第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,图4.12 用两片2764 EPROM的扩展连接图,筒袄煤秀狂皂蒲苔勘莉珍肖赠选兹仿确莽饼非琅粤抑勤音补拦桑奎勒另跳第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,左片:000000000000000000001111111111111,即0000H1FFFH;001000000000000000011111111111111,即2000H3FFFH;010000000000000000101111111111111,即4000H5FFFH;011000000000000000111111111111111,即6000H7FFFH;右片:100000000000000001001111111111111,即8000H9FFFH;101000000000000001011111111111111,即A000HBFFFH;110000000000000001101111111111111,即C000HDFFFH;111000000000000001111111111111111,即E000HFFFFH。,见节怀盲睡客热链喳矣配欣居雹滥巴谣聘耙私钦欺隙赦矮眉坪哨丁硅锻山第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,3)采用地址译码器的多片程序存储器的扩展 例3 要求用2764芯片扩展8031的片外程序存储器,分配的地址范围为0000H3FFFH。本例要求的地址空间是唯一确定的,所以要采用全译码方法。由分配的地址范围知:扩展的容量为3FFFH-0000H+1=4000H=4 KB,2764为8 K8位,故需要两片。第1片的地址范围应为0000H1FFFH;第2片的地址范围应为2000H3FFFH。由地址范围确定译码器的连接。为此画出译码关系图如下:,调戎巡纺恢拯挡女粤谆渝载利尝击惮展抿颧翌斋剥竭曼陋翼吕狼阿扼嘲陈第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,图4.13 全译码、两片2764 EPROM的扩展连接图,理斌酸娘帽捐迢虹铆撇怖守穴屹渣丸边茄茸洪牵冀诌泰纹葵弱哗端壁仰匝第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,4.3.3 数据存储器的扩展 1数据存储器芯片,图4.14 常用静态RAM芯片的引脚图,临庭界钓谊趣奥缺胯蜒情董鞠景胚锗错夷辙巍和搭还察羊恭财赃临损葵境第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,图4.15 iRAM芯片的引脚图,养猿酶轰梆宫世勋涝洁荔蠕映湛昨冉出桌襟甲妊捕鹅转沃溜肉嘻酱技鉴桐第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,2数据存储器的扩展举例,例4 采用2114芯片在8031片外扩展1 KB数据存储器。,图4.16 用两片2114 EPROM的扩展连接图,郭拌疚斡硅馋心譬革破瞄饲耽杯脾亨吸壮味突萧邱闰耳傻惩玖人痕壤螺状第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,4.3.4 兼有片外程序存储器和片外数据存储器的扩展举例 例5 采用2764和6264芯片在8031片外分别扩展24 KB程序存储器和数据存储器。,扩展连接电路如图4.17所示。从图中可以看出,各有一片2764和一片6264的片选端并接在一根译码输出线上。即有2764和6264芯片相同的地址单元将会同时选通,这不会发生地址冲突,因为两种芯片的控制信号是不一样的。请读者自己分析两种存储器及各芯片的地址范围。,门碉柯键郴蓉奉匣舀昧针忌驹织惹询阅径途苹垣卡停荷蚜媚盾烩炽蔑腊距第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,图4.17 兼有片外ROM,又有片外RAM的扩展连接图,滤遂抡旁拇溜蓝死阂己账盎赤担焰渔弯杉酵坠哮淫匪获爱企雪汀疗剃酪涕第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,4.4 I/O 扩 展,4.4.1 I/O口扩展概述 1MCS-51单片机I/O口扩展性能 单片机应用系统中的I/O口扩展方法与单片机的I/O口扩展性能有关。(1)在MCS-51单片机应用系统中,扩展的I/O口采取与数据存储器相同的寻址方法。所有扩展的I/O口或通过扩展I/O口连接的外围设备均与片外数据存储器统一编址。任何一个扩展I/O口,根据地址线的选择方式不同,占用一个片外RAM地址,而与外部程序存储器无关。,姐翅惹阻扭谩千耻考扳丁愚鬃漾纬夜供任沮冠惰届儒滥花揩摹强猩她皮绷第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,(2)利用串行口的移位寄存器工作方式(方式0),也可扩展I/O口,这时所扩展的I/O口不占用片外RAM地址。(3)扩展 I/O口的硬件相依性。在单片机应用系统中,I/O口的扩展不是目的,而是为外部通道及设备提供一个输入、输出通道。因此,I/O口的扩展总是为了实现某一测控及管理功能而进行的。例如连接键盘、显示器、驱动开关控制、开关量监测等。这样,在I/O口扩展时,必须考虑与之相连的外部硬件电路特性,如驱动功率、电平、干扰抑制及隔离等。(4)扩展I/O口的软件相依性。根据选用不同的I/O口扩展芯片或外部设备时,扩展I/O口的操作方式不同,因而应用程序应有不同,如入口地址、初始化状态设置、工作方式选择等。,兜蜗论洪逼湃湿备诽枢需投没戍怨鲍烃善著锗熊铂虏抒渴溪磕徘掠氨站谊第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,2I/O口扩展用芯片 MCS-51单片机应用系统中I/O口扩展用芯片主要有通用I/O口芯片和TTL、CMOS锁存器、缓冲器电路芯片两大类。通用I/O口芯片选用Intel公司的芯片,其接口最为简捷可靠,如8255、8155等。采用TTL或CMOS锁存器、三态门电路作为I/O扩展芯片,也是单片机应用系统中经常采用的方法。这些I/O口扩展用芯片具有体积小、成本低、配置灵活的特点。一般在扩展8位输入或输出口时十分方便。可以作为I/O扩展的TTL芯片有74LS373、74LS277、74LS244、74LS273、74LS367等。在实际应用中,根据芯片特点及输入、输出量的特征,应选择合适的扩展芯片。,旧踢罗还劈驯僳尉塞仆蛮屠露杖甄托位微漫瑰兑魄怕甜吾泣文记棠付舔疥第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,3I/O口扩展方法 根据扩展并行I/O口时数据线的连接方式,I/O口扩展可分为总线扩展方法、串行口扩展方法和I/O口扩展方法。(1)总线扩展方法。扩展的并行I/O芯片,其并行数据输入线取自MCS-51单片机的P0口。这种扩展方法只分时占用P0口,并不影响P0口与其它扩展芯片的连接操作,不会造成单片机硬件的额外开销。因此,在MCS-51单片机应用系统的I/O扩展中广泛采用这种扩展方法。,估狼溢眼田践烤歇末史歌闻致缉息凹逢冻纸注银瑚裁迸谦梯俯俏恰裂伶雁第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,(2)串行口扩展方法。这是MCS-51单片机串行口在方式0工作状态下所提供的I/O口扩展功能。串行口方式0为移位寄存器工作方式,因此接上串入并出的移位寄存器可以扩展并行输出口,而接上并入串出的移位寄存器则可扩展并行输入口。这种扩展方法只占用串行口,而且通过移位寄存器的级联方法可以扩展多数量的并行I/O口。对于不使用串行口的应用系统,可使用这种方法。但由于数据的输入输出采用串行移位的方法,传输速度较慢。,眩唾蒂档窜亢灭劫槛尼济勃羔鳃姨谦丛长缮裹窒抛叹租孙费府捞周刻撞据第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,(3)通过单片机片内I/O口的扩展方法。这种扩展方法的特征是扩展芯片的输入输出数据线不通过P0口,而是通过其它片内I/O口。即扩展片外I/O口的同时也占用片内I/O口,所以使用较少,但在MCS-51单片机扩展8243时,为了模拟8243的操作时序,不得不使用这种方法。,埠儿渭拄嗽天严眶梭海沪愈钝楚遍族掉氖丹啄医燕临商剐潍岳尽看檄庚氧第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,4.4.2 8255可编程并行I/O口扩展,1芯片引脚及其内部结构,图4.18 8255A芯片的引脚图,迄戍蛀瓦则饵复旁鬃陀绑异难铲桂肤蛮次蔗没潍弗放媳朔地菇俞绸浪造捆第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,图4.19 8255A芯片的内部结构图,撕幕偿染刺硝熟森腕湖速石比卡亥葵水决倚耻娠麻拧凹辜蹋湃鲸让灌试报第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,表4.3 8255芯片的引脚信号说明,稠敢龄憾雄掘刁趣扩腰剂篮霞谎浩专夏虽舷倚毕个蚕真统褐栓捂盔铜羚制第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,续表,始宠个滚估疹笛富驹围登裤声今湾不蓬鸿啦棚置铰跌润掏萧罪悍阅倒悄断第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,哼唤核冶谤撮常柒剿祷毡嫁疲谣埠鹤革惩山晒融婴蜗扼猩窄贵譬拒投穷存第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,28255的操作方式,1)读/写控制逻辑操作选择,表4.4 8255的口操作状态,擞品摘玻畜世脊应引冠浆娇箕储破赎卯径征浙旷悸付溪歪沮切空父柱抓氯第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,2)8255的三种工作方式 方式0(基本输入/输出方式):这种工作方式不需要任何选通信号。A口、B口及C口的两个4位口中任何一个端口都可以由程序设定为输入或输出。作为输出口时,输出数据被锁存;作为输入口时,输入数据不锁存。方式1(选通输入/输出方式):在这种工作方式下,A、B、C三个口分为两组。A组包括A口和C口的高4位,A口可由编程设定为输入口或输出口,C口的高4位则用来作为A口输入/输出操作的控制和同步信号;B组包括B口和C口的低4位,B口可由编程设定为输入口或输出口,C口的低4位则用来作为B口输入/输出操作的控制和同步信号。A口和B口的输入数据或输出数据都被锁存。方式1下的逻辑组态关系如图4.20所示。,隔询赞跌灿顾悬处浮后饱庚坞贬铸汤刘悼寇珐剖匹壶味吊妄县堪笋阔人支第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,图4.20 8255方式1逻辑组态关系图,婿蚌殃首斜钾冒填膘脓瑰骑狞梢龚陋孪嘎责苛拱顿弘搜底差吁些颈框诞藉第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,痰逮彰猿莱雪弃其画擂拜缸谁租烈辅猩鹰肃氰鼠棱插那柔脾歪抬坝检景汪第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,3)8255A的编程控制字,图4.22 8255A控制字的格式与定义,(a)方式选择控制字;(b)C口置位/复位控制字,卒寒惨臂泡篆剐您蓉佃殖浆添碑娟啃狄碳履僵竖陋套研懊逢饼贞喇栏敏鸿第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,图4.23 8255的扩展连接图,38031与8255的接口方法,和般隙梅氦础透喇紫逮融炉区泳知辱算逊骗剃淫毗吟卑突蝴喂盾榜瘩颈化第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,例6 试对图4.23中的8255A编程,使其各口工作于方式0,A口作输入,B口作输出,C口高4位作输出,C口的低4位作输入。由方式选择控制字的格式与 定义可确定出满足要求的方式控制字应为91H(10010001B)。对8255A编写程序将91H写入它的控制寄存器,初始化程序为MOV DPTR,#FF7FH;DPTR作地址指针,指向控制口MOV A,91H MOVX DPTR,A 因为图4.23扩展电路未使用高位地址线,所以端口地址也可使用8位。,谅激啦起欣颠程贿鱼青演浊糯搞膀玲誓蒲娶卧倘渡迪圃撬州勤检爵贸烛养第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,例7 试按图4.23扩展电路,写出自8255A的B口输出单片机中R7内容与自8255的A口输入数据到单片机R3的程序。使用8位地址,8255A的A、B、C口及控制口地址分别为7CH、7DH、7EH、7FH。则实现所要求功能的程序为MOV R0,#7FH;R0作地址指针,指向控制口MOV A,#91HMOVX R0,A;方式控制字送控制寄存器MOV R0,#7DH;R0指向B口MOV A,R7;MOVX R0,A;R7的内容输出到B口DEC R0;使R0指向A口MOVX A,R0;从A口输入数据到累加器AMOV R3,A;把输入数据送存到R3中,允颁澡豺榨秩谜沪枢抵噪搐茶朵胖丘嵌赔嘛深咯逃述柬巧呕秃矮烬石攘侥第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,4.4.3 8155可编程并行I/O口扩展 8155芯片含有2568位静态RAM,两个可编程的8位I/O口,一个可编程的6位I/O口,一个可编程的14位定时器/计数器。8155芯片具有地址锁存功能,与MCS-51单片机接口简单,是单片机应用系统中广泛使用的芯片。18155的结构与引脚,8155的逻辑结构如图4.24(a)所示,引脚分布如图4.24(b)所示。,芦迅辟琼苯讽痴刊亮氮苯唇盖鞠废袱慰吃波淆唁荷车遍刃坦阜桨耙壁供捎第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,图4.24 8155逻辑结构及引脚,(a)8155逻辑结构;(b)8155芯片引脚图,钞茶蔑陈飘航编羹控舆销行昨庞卑顽充晋逗婚撩帅驻纯激罐更苇荚现挥计第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,28155的RAM和I/O口编址 8155在单片机应用系统中是按外部数据存储器统一编址的,地址为16位,其高8位地址由片选线-CE提供,低8位地址为片内地址。当IO/M=0时,对RAM进行读/写,RAM低8位地址为 00HFFH;当IO/-M=1时,对I/O口进行读/写,I/O口及定时器由AD0AD3进行寻址。其编址如表4.5所示。,佬缚胶勋棘骨虹涅系埂诈奴值哨娩敏步饰徐驻斧鲸土抑憋惜冀戮肢粳啥勺第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,表4.5 8155内部端口编址,闪钧常逮共项吞扣涧禽涨晴崖陪硫例瞄僚昨摸剃熏能窍玩险升煞乌翠们怕第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,38155的工作方式与基本操作 8155的A口、B口可工作于基本I/O方式或选通方式,C口可作为输入/输出口线,也可以作为A口、B口选通方式工作时的状态控制信号线。工作方式选择是通过对8155内部命令寄存器(命令口)设定控制字来实现的。三个口可组合工作于四种方式下。命令字的格式及定义如图4.25所示。,雾禁炳缮秦寨铺勾膝走绸叫党让祥媒刮解慧洛绰抓蔽式况账琉瑚蔑扬抗身第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,图4.25 8155命令控制寄存器格式,耻冤从辕歉孺壹螺木罪绚遗溉柑羡攫贪秩谱凤半也挂膊静鸡虹抓我俞际钧第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,图4.26 8155选通方式信号逻辑组态,予般饯躇弹婴夺夺荆迟技泣扶剩滔闹瘤煌牧依疵斋淫莹砍技借哨伐纳喀管第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,图4.27 8155状态寄存器格式,删裙苦罚惰鸣舅锤白恃范膏亨凰焉枝稻迷桔算凹醋衡哄蘸漓厘燎躇奏垮锋第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,48155内部的定时器/计数器,图4.28 8155定时器寄存器格式,惺肖终云扎孽窜乐勒恼爱势咬缕甥蓟衬晤拥文劲运冈妓湃活杠踢锨孵囱矽第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,图4.29 8155定时器方式及输出波形,傻绣邑舜挟涪钩肪牺业氏蔡诗蓖瘪吼蝴小沃区桐哀零镭跪但捎划道宠频儿第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,58155与单片机的扩展连接,图4.30 用8155的扩展连接,衣位颈瞥励弥隆冰松拱桶镐酸仪蔑疽渊抚汁甫鉴蹄层十辑箔住糕丹轻集套第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,在图中连接状态下,8155所占的地址为RAM地址范围:7E00H7EFFHI/O端口地址:命令/状态口 7F00H PA口 7F01H PB口 7F02H PC口 7F03H 定时器低字节 7F04H 定时器高字节 7F05H,弃逝宣籽副异滦数颁疵畏坯倚征乓童宫氮不搅狄造等馆沮速崩芯梨沤抱搬第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,例8 使8155用作I/O口和定时器工作方式,A口定义为基本输入方式,B口为基本输出方式,定时器为方波发生器,对输入脉冲进行24分频(8155中定时器最高计数频率为4 MHz),则相应的程序如下:,MOV DPTR,#7F04H;DPTR指向定时器低字节MOV A,#18H;计数器常数0018H=24MOVX DPTR,A;计数常数低8位装入计数器低字节INC DPTR;使DPTR指向定时器高字节MOV A,#40H(01000000B);置定时器方式为连续方波输出MOVX DPTR,A;装计数器高字节值MOVX DPTR,#7F00H;使DPTR指向命令/状态口MOV A,C2H(11000010B)MOVX DPTR,A;向命令/状态口送方式控制字,并启动定时器,零屏局斟胯狗芥鲜夯坯旬呆碱司亭姬姆可氧混塌富醋总蜘辩抹鸦青庇于拙第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,4.4.4 用TTL芯片扩展简单的I/O接口 在MCS-51单片机应用系统中,采用TTL或CMOS锁存器、三态门芯片,通过P0口可以扩展各种类型的简单输入/输出口。P0口是系统的数据总线口,通过P0口扩展I/O口时,P0口只能分时使用,故输出时接口应有锁存功能;输入时,视数据是常态还是暂态的不同,接口应能三态缓冲,或锁存选通。不论是锁存器,还是三态门芯片,都只具有数据线和锁存允许及输出允许控制线,而无地址线和片选信号线。而扩展一个I/O口,相当于一个片外存储单元。CPU对I/O口的访问,要以确定的地址,用MOVX指令来进行。,炉泰韭敲租辊燥襄癣巨罢派廓寻溢乍拄漾阴假倪侮养捐泳恬嚎剪燃撕娜母第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,1用锁存器扩展输出口,图4.31 用74LS377扩展输出口,斜栅邦银惕读需峭艇涸抱休气秸袱敞敌总拙唯陵缎饵仇痰攀蝶告炯搂戮踢第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,狮芳霄们汲垂跃仑研选妮詹环笺裔拳参雪想察同碟寅啸畜裹裸叮耽籽情栖第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,2用锁存器扩展输入口,图4.32 用74LS373扩展输入口,屈肥媚啸隶浩狞剂凉育萝拭届砧涎耕葡爵文剖脖娜凌陌宿蠢又耳碱脆隶锅第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,中断系统初始化程序:,PINT:SETB IT0;外部中断0选择为下降沿触发方式 SETB EA;开系统中断 MOV R0,#50H;R0作地址指针,指向数据区首址 SETB EX0;外部中断0中断允许 中断服务程序:ORG 0003HPINT0:AJMP INT0 INT0:MOV DPTR,#0BFFFH;使DPTR指向74LS373扩展输入口 MOVX A,DPTR;从74LS373扩展输入口输入数据 MOV R0,A;输入数据送数据区 INC R0 RETI,呀癣壬钎怂曰锤罩魂伯狂场角蛆乎啊肇骗障坪钵噬婶靴佑哭转琵割顺演想第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,3用三态门扩展输入口,图4.33 用74LS244扩展输入口,瘤疽穗伸鸽部篙臼朴叉穆邦弊垣下辽或租趴惊幼脸贝沃赂山钎憨右锚右榜第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,4扩展多个输入、输出口举例,图4.34 扩展多个输入口和输出口的连接,拒绷售苑耳样皂巷辛稍态逊泅选押该侵雅渡燥脚弟缚定洼灰铀刀响捂硝吏第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,4.4.5 用串行口扩展并行I/O口,MCS-51单片机的串行口在方式0(移位寄存器方式)下,使用移位寄存器芯片可以扩展一个或多个并行I/O口。扩展并行输入口时,可用并入串出移位寄存器芯片,如CMOS芯片4014和74LS165芯片。,吞韭制誓漓咐状焙丸怀邹矛邻让吮采追渔猪纯遵川轨棺挝祝却预锥月屑谈第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,图4.35 8并行输入/串行输出移位寄存器芯片的引脚图,(a)4014;(b)74LS165,侮芥冀鉴竖辅乔榆荆瘸罚虚今武隅拟夫教滦禾鼎具绊伦竞祖诵插种刻刨宾第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,图4.36 8串行输入/并行输出移位寄存器芯片的引脚图,(a)4094;(b)74LS164,裂愉橙夫萎爆十我勘聚午搬腺敏挫灾疤瓜真涅超坝鸣差向裁骨夺某酝约嘻第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,1用串行口扩展并行输入口,图4.37 串行口扩展并行输入口连接,柑吵曰沁饲跑屯格培掣驼节颊租校办茎饥洋匝号祟友眨拽崭沸高滴勇或肄第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,下面是从两个扩展的8位并行口输入数据存于片内RAM的30H、31H单元的应用程序。,SETB P1.7;置4014于并行输入工作方式CLR P3.1;串行口未启动之前,P3.1上无同步移位脉冲,为4014 SETB P3.1;并行置数,软件产生一个脉冲上升沿CLR P1.7;置4014于串行移位工作方式MOV SCON,#00010000B;置串行口为工作方式0,同时启动串行口接收数据NB RI,$;检测串行口接收数据是否完毕,未完等待CLR RI;接收完毕后清RI标志MOV R0,#30H MOV R0,SBUF;将接收的8位数据送存30H单元MOV SCON,#00010000B;再启动串行口接收4014(2)的8位数据JNB RI,$;检测串行口接收数据是否完毕,未完等待CLR RI;接收完毕后清RI标志INC R0MOV R0,SBUF;将接收到4014(2)的8位数据送存31H单元,垮横冻稗巫桌蚁完鳃玩抽润演用子钙扭廉汗译步蜜尿宪酮屠传欺蹬已驾食第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,2用串行口扩展并行输出口,图4.38 串行口扩展并行输出口连接,矩酗藏牧锄岁积军腋若恤簧蚂绑缆萌杉瑚产漂瞧喊岭疆斌师瓣客寄抗妻斟第4章 mcs-51单片机系统功能的扩展第4章 mcs-51单片机系统功能的扩展,图示连接中,单片机串行口发送数据到4094(1)中,第一个8位数据发送完毕,接着发送第二个数据时,每发送一位,4094(1)中的一位数据自Q8就移向4094(2)。这样发送完两个8位数据后,第一个发送的数据就移入到4094(2)