欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    单片机及接口技术2.8(并行扩展).ppt

    • 资源ID:68703756       资源大小:311.50KB        全文页数:24页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机及接口技术2.8(并行扩展).ppt

    2.9 单片机的并行扩展技术单片机的并行扩展技术 单单片片机机并并行行扩扩展展1.1.用并行用并行I/OI/O口扩展键盘电路口扩展键盘电路 MCUMCUI I/O OV VCCCC独立式键盘独立式键盘R RM MC CU UV VCCCC行列式键盘行列式键盘列列行行R RP1.0P1.1P1.2P2.0P2.1P2.2(1)(1)键盘电路键盘电路单单片片机机并并行行扩扩展展(2)键盘原理键盘原理(3)(3)按键的抖动问题按键的抖动问题:按键在稳定前有抖动过程,:按键在稳定前有抖动过程,因此需要消除抖动影响。采用延时再读按键状态的因此需要消除抖动影响。采用延时再读按键状态的方法。方法。行列式键盘原理行列式键盘原理:a.列线和行线不相连;列线和行线不相连;b.列线输出,行线输入。列线输出,行线输入。c.逐列扫描,再检查行线状态以得知是否逐列扫描,再检查行线状态以得知是否按下了哪个键。按下了哪个键。独立式键盘原理:独立式键盘原理:(4)键盘操作方式:查询和中断键盘操作方式:查询和中断中断操作方式中断操作方式单单片片机机并并行行扩扩展展MCUMCUI I/O OV VCCCC列列行行&INT(INT(平平)R R操作:列扫描,若有中断请求,说明扫描操作:列扫描,若有中断请求,说明扫描列有键按下,则查询哪一行的值为列有键按下,则查询哪一行的值为0(5)键盘应用举例键盘应用举例a.a.硬件设计硬件设计:单单片片机机并并行行扩扩展展MCUMCUV VCCCC独立式键盘独立式键盘P1.0P1.0P1.1P1.1P1.2P1.2R R例例1:用:用80C51P1口构成一个口构成一个3键的独立式键盘键的独立式键盘IO51K8:MOV P1,#0FFH ;IO51K8:MOV P1,#0FFH ;置置P1P1口为输入口为输入 MOV A,P1 MOV A,P1 ;查询查询P1P1口状态口状态 JNB ACC.0,PROM0JNB ACC.0,PROM0 JNB ACC.1,PROM1 JNB ACC.1,PROM1 JNB ACC.2,PROM2 JNB ACC.2,PROM2 SJMP IO51K SJMP IO51K/*/*以上均为键盘输入处理程序以上均为键盘输入处理程序*/键盘管理程序包括键键盘管理程序包括键输入处理程序和键操输入处理程序和键操作程序作程序 PROM0PROM0:LJMP IO51K8 LJMP IO51K8PROM1PROM1:LJMP IO51K8 LJMP IO51K8PROM2PROM2:LJMP IO51K8 LJMP IO51K8/*/*以上为键操作程序以上为键操作程序*/b.b.软件设计(键盘管理程序)软件设计(键盘管理程序)单单片片机机并并行行扩扩展展IO51K8IO51K8:MOV P1,#0FFHMOV P1,#0FFH MOV A,P1 ;MOV A,P1 ;查询查询P1P1口状态口状态 CPL ACPL A JZ IO51K8 JZ IO51K8 LCALL D10MS ;LCALL D10MS ;调延时子程序,调延时子程序,延时延时10ms 10ms MOV A,P1 ;MOV A,P1 ;再次查询再次查询P1P1口状态口状态 JNB ACC.0,PROM0JNB ACC.0,PROM0 JNB ACC.1,PROM1 JNB ACC.1,PROM1 JNB ACC.2,PROM2 JNB ACC.2,PROM2 SJMP IO51K8 SJMP IO51K8单单片片机机并并行行扩扩展展练习练习:在上述程序的基础上增加按键的消抖处理。:在上述程序的基础上增加按键的消抖处理。单单片片机机并并行行扩扩展展PGM0PGM0:LJMP LJMP IO51K8PGM1PGM1:LJMP LJMP IO51K8PGM2PGM2:LJMP LJMP IO51K8D10MSD10MS:;延时子程序延时子程序 RETRET 2.并行并行I/O扩展的扩展的LED显示电路显示电路1 1)LEDLED显示器由显示器由8 8位发光二极管组成位发光二极管组成 g ga ab bf fc ce ed ddpdpLEDLED显示器显示器单单片片机机并并行行扩扩展展共阴极共阴极a ab bdpdpa ab bdpdp共阳极共阳极V VCCCC2 2)LED LED 显示器的段码表显示器的段码表 如如共阴极,显示数码共阴极,显示数码2由由LEDLED显示器的图可看出:要显示显示器的图可看出:要显示22,需从发光二极管,需从发光二极管a,b,d,a,b,d,e,ge,g的非共极端输入的非共极端输入1 1,并从发光二,并从发光二极管极管c,f,c,f,dpdp的非共极段输入的非共极段输入0 0,因,因此从此从LEDLED显示器的非共极段输入的数显示器的非共极段输入的数值为值为0101 1011B,0101 1011B,即即22的段码为:的段码为:5BH 5BH dpdpg gf fe ed dc cb ba a0 01 10 01 11 10 01 11 1单单片片机机并并行行扩扩展展g ga ab bf fc ce ed ddpdpa ab bdpdpCOMCOM练习:共阳极练习:共阳极LED LED 显示器数码显示器数码22的段的段码码 要显示要显示22,需从发光二极管,需从发光二极管a,a,b,d,e,gb,d,e,g的非共极端输入的非共极端输入0 0,并从,并从发光二极管发光二极管c,f,c,f,dpdp的非共极段输的非共极段输入入1 1,因此从,因此从LEDLED显示器的非共极段显示器的非共极段输入的数值为输入的数值为1010 0100B,1010 0100B,即即22的段码为:的段码为:A4H A4H dpdpg gf fe ed dc cb ba a1 10 01 10 00 01 10 00 0单单片片机机并并行行扩扩展展g ga ab bf fc ce ed ddpdpa ab bdpdpV VCCCC(+)(+)COMCOM单单片片机机并并行行扩扩展展3)LED显示器的电路设计显示器的电路设计(1)LED显示器静态显示方式显示器静态显示方式 8 8 0 0 C C 5 5 1 1I I/O O端端口口驱驱动动器器共极端共极端(COM)(COM)非共极端非共极端原原理理:每每个个LEDLED显显示示器器的的共共极极端端固固定定接接电电源源或或地地,非非共共极极端端接接单单片片机机的的/O/O端端口口,通通过过从从8 8个个端端口口位位送送段段码码来来控制显示器显示数码。控制显示器显示数码。因因为为COMCOM端端状状态态不不能能改改变变,所所以以LEDLED显显示示器器不不能能共共用用数数据据线线,因因而而每每个个LEDLED显显示示器器占用一个端口。占用一个端口。单单片片机机并并行行扩扩展展问题:同一个问题:同一个I/O口能否用以控制两个口能否用以控制两个LED显示器?显示器?当输入其中一个显示器的段码时,另一个显示器也当输入其中一个显示器的段码时,另一个显示器也同时有显示,因此一个同时有显示,因此一个I/O端口只能用于控制端口只能用于控制1个个LED显示器,显示器,1台台80C51单片机只能控制单片机只能控制4个个LED显显示器。示器。#0 8 8 0 0 C C 5 5 1 1I I/O O端端口口驱驱动动器器共极端共极端(COM)(COM)非共极端非共极端#1单单片片机机并并行行扩扩展展80C5180C51P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7驱驱动动器器P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7驱驱动动器器#1#0编程举例:分别用编程举例:分别用P0和和P1口控制口控制#0和和#1两个共阴极两个共阴极LED显示器。显示器。设有两个设有两个9以内的无符号整数分别存放在片以内的无符号整数分别存放在片内内RAM30H和和31H两个单元,两个单元,编写程序显示这两个数。编写程序显示这两个数。已知共阴极段码表为:已知共阴极段码表为:01234567893FH06H5BH4FH66H6DH 7DH07H7FH6FH单单片片机机并并行行扩扩展展解:用查表程序解:用查表程序TAB:DB 3FH,06H,5BH,4FH,66H ;TAB:DB 3FH,06H,5BH,4FH,66H ;段码表段码表 DB 6DH,7DH,07H,7FH,6FHDB 6DH,7DH,07H,7FH,6FHMOV DPTR,#TABMOV DPTR,#TABMOV A,30HMOV A,30HMOVC A,A+DPTR MOVC A,A+DPTR MOV P1,AMOV P1,AMOV A,31HMOV A,31HMOVC A,A+DPTR MOVC A,A+DPTR MOV P0,AMOV P0,ASJMP$SJMP$单单片片机机并并行行扩扩展展(2)LED显示器动态显示方式显示器动态显示方式为节省端口资源,若能在时刻仅一个为节省端口资源,若能在时刻仅一个LEDLED显示器能显示器能显示,其余显示,其余-1 LED-1 LED显示器都不能显示,则能用一显示器都不能显示,则能用一个端口控制个端口控制n n个个LEDLED显示器。显示器。方法:用另外的方法:用另外的I/OI/O端口位控制端口位控制LEDLED显示器的共极端,显示器的共极端,使在某时刻仅有一个使在某时刻仅有一个LEDLED显示器的共极端有效。显示器的共极端有效。单单片片机机并并行行扩扩展展80C5180C51P1.0P1.0P1.1P1.1P1.2P1.2P1.3P1.3P1.4P1.4P1.5P1.5P1.6P1.6P1.7P1.7驱驱动动器器P3.0P3.0P3.1P3.1驱驱动动器器#0#1例如,设例如,设#0和和#1两两个个LED显示器均为显示器均为共阴极显示器。共阴极显示器。MOVA,#0FEHMOVP3,AMOVP1,#0的段码的段码RLAMOVP3,AMOVP1,#1的段码的段码原理原理:每个每个LEDLED显示器的公共端各用一个端口位控显示器的公共端各用一个端口位控制(制(控制字控制字),用),用8 8个公共的端口位送数据(个公共的端口位送数据(段码段码)。)。通过扫描的方式(逐个送),使通过扫描的方式(逐个送),使n n个个LEDLED显示器的公显示器的公共端逐个有效,同时从公共的数据线(非公共端)共端逐个有效,同时从公共的数据线(非公共端)送段码,从而使送段码,从而使n n个个LEDLED显示器逐个显示数字。显示器逐个显示数字。用两个端口可以使用用两个端口可以使用8 8个个LEDLED显示器显示器用三个端口可以使用用三个端口可以使用1616个个LEDLED显示器显示器用四个端口可以使用用四个端口可以使用2424个个LEDLED显示器显示器 单单片片机机并并行行扩扩展展LEDLEDLEDLED显示器动态显示方式:各显示器逐个显示(不同显示器动态显示方式:各显示器逐个显示(不同显示器动态显示方式:各显示器逐个显示(不同显示器动态显示方式:各显示器逐个显示(不同时显示)一段时间,然后熄灭在视觉上产生连续显示时显示)一段时间,然后熄灭在视觉上产生连续显示时显示)一段时间,然后熄灭在视觉上产生连续显示时显示)一段时间,然后熄灭在视觉上产生连续显示的错觉的错觉的错觉的错觉 。练习练习:设:设有有4 4个个1010以内的数存放在片内以内的数存放在片内RAM RAM 首址为首址为50H50H的数据块中,将该数据块的值显示出来的数据块中,将该数据块的值显示出来 。设采用。设采用共阴极共阴极LEDLED显示器,已有延时显示器,已有延时1ms1ms的子程序的子程序DELAYDELAY。80C51P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7驱驱动动器器P3.0P3.1P3.2P3.3驱驱动动器器LED显示器动态显示方式显示器动态显示方式单单片片机机并并行行扩扩展展解解:LEDLED显显示示器器程程序序一一般般采采用用查查表表的的方方法法,将将段段码码表放在表放在ROMROM中中取数据到取数据到A A中中送控制字送控制字以以A A为偏移量,查段码表,为偏移量,查段码表,得到相应的段码得到相应的段码输出段码,显示数据输出段码,显示数据延时延时循环结束?循环结束?YESYES数据块指针加数据块指针加1 1控制字左移一位控制字左移一位NONO结束结束设指向数据块的指针设指向数据块的指针设控制字初始值设控制字初始值设循环次数设循环次数开始开始设段码表的首地址设段码表的首地址算法算法 单单片片机机并并行行扩扩展展程序程序单单片片机机并并行行扩扩展展LPLPLPLP:MOV AMOV AMOV AMOV A,R0 R0 R0 R0 ;取数到;取数到;取数到;取数到A A A A中中中中 MOV P3MOV P3MOV P3MOV P3,R2 R2 R2 R2 ;送控制字;送控制字;送控制字;送控制字 MOVC AMOVC AMOVC AMOVC A,A+DPTR A+DPTR A+DPTR A+DPTR ;查相应的段码;查相应的段码;查相应的段码;查相应的段码 MOV P1MOV P1MOV P1MOV P1,A A A A ;送出段码;送出段码;送出段码;送出段码 LCALL DELAYLCALL DELAYLCALL DELAYLCALL DELAY ;调延时子程序;调延时子程序;调延时子程序;调延时子程序 INC R0 INC R0 INC R0 INC R0 ;数据块指针加;数据块指针加;数据块指针加;数据块指针加1 1 1 1 MOV A MOV A MOV A MOV A,R2 R2 R2 R2 RL A RL A RL A RL A MOV R2 MOV R2 MOV R2 MOV R2,A A A A ;控制字左移一位;控制字左移一位;控制字左移一位;控制字左移一位 DJNZ R3DJNZ R3DJNZ R3DJNZ R3,LP LP LP LP ;若循环没结束,转下一次循环;若循环没结束,转下一次循环;若循环没结束,转下一次循环;若循环没结束,转下一次循环 HLT HLT HLT HLT ;若循环结束,停机;若循环结束,停机;若循环结束,停机;若循环结束,停机 TAB TAB TAB TAB:DB 3FHDB 3FHDB 3FHDB 3FH,06H06H06H06H,5BH5BH5BH5BH,4FH4FH4FH4FH,66H66H66H66H,6DH6DH6DH6DH,7DH7DH7DH7DH DB 07H DB 07H DB 07H DB 07H,7FH7FH7FH7FH,6FH6FH6FH6FH,77H77H77H77H,7CH7CH7CH7CH,39H39H39H39H,5EH5EH5EH5EH DB 79H DB 79H DB 79H DB 79H,71H 71H 71H 71H ;段码表,段码表,段码表,段码表,0F0F0F0F程序程序单单片片机机并并行行扩扩展展 MOV R0MOV R0MOV R0MOV R0,#50H#50H#50H#50H ;R0R0R0R0指向数据块指向数据块指向数据块指向数据块 MOV R2MOV R2MOV R2MOV R2,#FEH#FEH#FEH#FEH ;设控制字初始值;设控制字初始值;设控制字初始值;设控制字初始值1111 1110B1111 1110B1111 1110B1111 1110B MOV R3 MOV R3 MOV R3 MOV R3,4 4 4 4 ;设循环次数;设循环次数;设循环次数;设循环次数 MOV DPTRMOV DPTRMOV DPTRMOV DPTR,#TAB#TAB#TAB#TAB ;设段码表的首地址;设段码表的首地址;设段码表的首地址;设段码表的首地址 LPLPLPLP:MOV AMOV AMOV AMOV A,R0 R0 R0 R0 ;取数到;取数到;取数到;取数到A A A A中中中中 MOV P3MOV P3MOV P3MOV P3,R2 R2 R2 R2 ;送控制字;送控制字;送控制字;送控制字 MOVC AMOVC AMOVC AMOVC A,A+DPTR A+DPTR A+DPTR A+DPTR ;查相应的段码;查相应的段码;查相应的段码;查相应的段码 MOV P1MOV P1MOV P1MOV P1,A A A A ;送出段码;送出段码;送出段码;送出段码 LCALL DELAY LCALL DELAY LCALL DELAY LCALL DELAY ;调延时子程序,可延时;调延时子程序,可延时;调延时子程序,可延时;调延时子程序,可延时1ms1ms1ms1ms INC R0 INC R0 INC R0 INC R0 ;数据块指针加;数据块指针加;数据块指针加;数据块指针加1 1 1 1 MOV A MOV A MOV A MOV A,R2 R2 R2 R2 RL A RL A RL A RL A MOV R2 MOV R2 MOV R2 MOV R2,A A A A ;控制字左移一位;控制字左移一位;控制字左移一位;控制字左移一位 DJNZ R3DJNZ R3DJNZ R3DJNZ R3,LP LP LP LP ;若循环没结束,转下一次循环;若循环没结束,转下一次循环;若循环没结束,转下一次循环;若循环没结束,转下一次循环 HALT HALT HALT HALT ;若循环结束,停机;若循环结束,停机;若循环结束,停机;若循环结束,停机 TAB TAB TAB TAB:DB 3FHDB 3FHDB 3FHDB 3FH,06H06H06H06H,5BH5BH5BH5BH,4FH4FH4FH4FH,66H66H66H66H,6DH6DH6DH6DH,7DH7DH7DH7DH DB 07H DB 07H DB 07H DB 07H,7FH7FH7FH7FH,6FH6FH6FH6FH,77H77H77H77H,7CH7CH7CH7CH,39H39H39H39H,5EH5EH5EH5EH DB 79H DB 79H DB 79H DB 79H,71H 71H 71H 71H ;段码表,段码表,段码表,段码表,0F0F0F0F程序程序思考:思考:1 1)用三个)用三个LEDLED显示器显示十进制数显示器显示十进制数328328 2 2)4*44*4键盘,键盘号键盘,键盘号0-150-15,用,用LEDLED显示器显示闭合键的键号显示器显示闭合键的键号 单单片片机机并并行行扩扩展展 MOV R0MOV R0,#50H#50H ;R0R0指向数据块指向数据块 MOV R2MOV R2,#FEH#FEH ;设控制字初始值;设控制字初始值1111 1110B1111 1110B MOV R3 MOV R3,4 4 ;设循环次数;设循环次数 MOV DPTRMOV DPTR,#TAB#TAB ;设段码表的首地址;设段码表的首地址 LPLP:MOV AMOV A,R0 R0 ;取数到;取数到A A中中 MOV P3MOV P3,R2 R2 ;送控制字;送控制字 MOVC AMOVC A,A+DPTR A+DPTR ;查相应的段码;查相应的段码 MOV P1MOV P1,A A ;送出段码;送出段码 LCALL DELAY LCALL DELAY ;调延时子程序,可延时;调延时子程序,可延时1ms1ms INC R0 INC R0 ;数据块指针加;数据块指针加1 1 MOV A MOV A,R2 R2 RL A RL A MOV R2 MOV R2,A A ;控制字左移一位;控制字左移一位 DJNZ R3DJNZ R3,LP LP ;若循环没结束,转下一次循环;若循环没结束,转下一次循环 HALT HALT ;若循环结束,停机;若循环结束,停机 TAB TAB:DB 3FHDB 3FH,06H06H,5BH5BH,4FH4FH,66H66H,6DH6DH,7DH7DH,07H07H DB 7FH DB 7FH,6FH6FH,77H77H,7CH7CH,39H39H,5EH5EH,79H79H,71H71H ;段码表,段码表,0F0F END END 本节小结本节小结

    注意事项

    本文(单片机及接口技术2.8(并行扩展).ppt)为本站会员(s****8)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开