片机并行口及其应用.ppt_第1页
片机并行口及其应用.ppt_第2页
片机并行口及其应用.ppt_第3页
片机并行口及其应用.ppt_第4页
片机并行口及其应用.ppt_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章MCS51单片机内部并行口及应用 2 1MCS 51单片机并行口结构2 2MCS 51单片机并行口应用2 3七段LED显示器接口2 4键盘接口 1 1MCS 51单片机并行口结构 1 1 1P0口结构1 1 2P1口结构1 1 3P2口结构1 1 4P3口结构 1 1 1P0口结构 返回 D CP Q Q 读引脚 读锁存 写控制信号 DB0 0 地址 数据控制线 5V P0 0 转换开关 锁存器 作用 1 外扩芯片时 P0口不再做I O口使用 而是先传送地址 后传送数据 2 没有外扩芯片时 P0口可以直接作为输入口或输出口使用 P0口直接做输出口时 输出信息的过程 将0送到P0 0的过程 返回 D CP Q Q 读引脚 读锁存 写控制信号 DB0 0 地址 数据控制线 5V P0 0 转换开关 锁存器 0 0 0 1 0 注意 P0口做输出口时 内部数据经过锁存器送到P00 P07上 由于上管始终截止 而当下管也截止时 P00 P07被架空 没有标准的高电平 所以P0口作输出口使用时 必须外接上拉电阻 P0口直接做输入口时 输入信息的过程 将P0 0处的1送入DB0 0的过程 D CP Q Q 读引脚 读锁存 写控制信号 DB0 0 地址 数据控制线 5V P0 0 转换开关 锁存器 0 0 1 注意 1 P0口作输入口时 P00 P07上的信号经过缓冲器送到内部数据总线上 在读引脚之前 要先将锁存器置1 否则总是读到0 2 CPU对P0口的读操作有2种 读引脚和读 改 写锁存器 1 当CPU执行MOVA P0或JB JNBP0 x 标号时 产生读引脚控制信号 此时读的是引脚的状态 当CPU执行读 改 写指令 以端口为目的操作数的ANL ORL XRL DEC INCSETB CLR等 时 产生读锁存信号 此时是先读锁存器的状态 在修改之后 送回锁存器保存 返回 1 1 2P1口结构 D CP Q Q 读引脚 读锁存 写控制信号 DB0 0 5V P1 0 锁存器 作用 P1口只能可以直接作为输入口或输出口使用 返回 返回 D CP Q Q 读引脚 读锁存 写控制信号 DB0 0 5V P1 0 锁存器 P1口直接做输出口时 输出信息的过程 将1送到P1 0的过程 1 0 0 1 注意 P1口做输出口时 内部数据经过锁存器送到P10 P17上 由于内部有上拉电阻 所以P1口作输出口使用时 不用外接上拉电阻 D CP Q Q 读引脚 读锁存 写控制信号 DB0 0 5V P1 0 锁存器 P1口直接做输入口时 输入信息的过程 将P1 0处的0送入DB0 0的过程 0 0 注意 1 P1口作输入口时 P10 P17上的信号经过缓冲器送到内部数据总线上 在读引脚之前 要先将锁存器置1 否则总是读到0 2 CPU对P1口的读操作有2种 读引脚和读 改 写锁存器 当CPU执行MOVA P1或JB JNBP1 x 标号时 产生读引脚控制信号 此时读的是引脚的状态 当CPU执行读 改 写指令 以端口为目的操作数的ANL ORL XRL DEC INC SETB CLR等 时 产生读锁存信号 此时是先读锁存器的状态 在修改之后 送回锁存器保存 返回 1 1 3P2口结构 D CP Q Q 读引脚 读锁存 写控制信号 DB0 0 地址控制线 5V P2 0 转换开关 锁存器 作用 1 外扩芯片时 P2口不再做I O口使用 而是传送高8位地址 2 没有外扩芯片时 P2口可以直接作为输入口或输出口使用 返回 返回 D CP Q Q 读引脚 读锁存 写控制信号 DB0 0 地址控制线 5V P2 0 转换开关 锁存器 P2口直接做输出口时 输出信息的过程 将0送到P2 0的过程 0 0 0 1 0 注意 P2口做输出口时 内部数据经过锁存器送到P20 P27上 由于内部有上拉电阻 所以P2口作输出口使用时 不用外接上拉电阻 D CP Q Q 读引脚 读锁存 写控制信号 DB0 0 地址控制线 5V P2 0 转换开关 锁存器 P2口直接做输入口时 输入信息的过程 将P2 0处的0送入DB0 0的过程 0 0 0 注意 1 P2口作输入口时 P20 P27上的信号经过缓冲器送到内部数据总线上 在读引脚之前 要先将锁存器置1 否则总是读到0 2 CPU对P2口的读操作有2种 读引脚和读 改 写锁存器 当CPU执行MOVA P2或JB JNBP2 x 标号时 产生读引脚控制信号 此时读的是引脚的状态 当CPU执行读 改 写指令 以端口为目的操作数的ANL ORL XRL DEC INC SETB CLR等 时 产生读锁存信号 此时是先读锁存器的状态 在修改之后 送回锁存器保存 返回 1 1 4P3口结构 D CP Q Q 读引脚 读锁存 写控制信号 DB0 0 5V P3 0 锁存器 第二功能输出 第二功能输入 作用 1 P3口可以直接作为输入口或输出口使用 2 P3口的引脚又具有第二功能 1 当使用单片机内部串行口时 若CPU执行MOVA SBUF指令 则P3 0 RXD 作为接收信号线 接收由外界串行输入的数据 若CPU执行MOVSBUF A指令 则P3 1 TXD 作为发送信号线 串行发送数据至外界 2 当单片机使用外中断时 P3 2 INT0 作为外中断0的中断请求输入线 3 3 INT1 作为外中断1的中断请求输入线 3 当单片机使用定时器 且定时器工作于计数方式时 P3 4 T0 作为定时器0的计数脉冲输入线 P3 5 T1 作为定时器1的计数脉冲输入线 4 当单片机外扩RAM或I O接口芯片时 P3 6 WR 作为RAM或I O接口芯片的写控制信号 P3 7 RD 作为RAM或I O接口芯片的读控制信号 当P3口的一些引脚没有作为第二功能使用时 这些引脚就被释放 直接作为I O口线使用 返回 返回 D CP Q Q 读引脚 读锁存 写控制信号 DB0 0 5V P3 0 锁存器 第二功能输出 第二功能输入 P3口直接做输出口时 输出信息的过程 将1送到P3 0的过程 1 0 0 1 注意 P3口做输出口时 内部数据经过锁存器送到P30 P37上 由于内部有上拉电阻 所以P2口作输出口使用时 不用外接上拉电阻 D CP Q Q 读引脚 读锁存 写控制信号 DB0 0 5V P3 0 锁存器 第二功能输出 第二功能输入 0 P3口直接做输入口时 输入信息的过程 将P3 0处的0送入DB0 0的过程 0 注意 1 P3口作输入口时 P30 P37上的信号经过缓冲器送到内部数据总线上 在读引脚之前 要先将锁存器置1 否则总是读到0 2 CPU对P3口的读操作有2种 读引脚和读 改 写锁存器 当CPU执行MOVA P3或JB JNBP3 x 标号时 产生读引脚控制信号 此时读的是引脚的状态 当CPU执行读 改 写指令 以端口为目的操作数的ANL ORL XRL DEC INC SETB CLR等 时 产生读锁存信号 此时是先读锁存器的状态 在修改之后 送回锁存器保存 返回 1 2MCS 51单片机并行口的应用 1 2 1直接做输出口1 2 2直接做输入口 在没有外扩任何芯片时 MCS 51单片机内部并行口可以作为输出口 直接与输出外设连接 常用的输出外设是发光二极管 MCS 51单片机内部并行口也可以作为输入口 直接与输入外设连接 常用的输入外设是开关 例1 例2 例1 例2 1 2 1直接做输出口 P1 0 P1 1 P1 2 P1 3 P1 4 P1 5 P1 6 P1 7 89C51 5V 电阻的作用是当流过发光二极管的电流过大时 它就会被烧坏 这个电阻可以限制流过发光二极管的电流 因此这个电阻叫作限流电阻 限流电阻阻值的计算方法如下 R 5 1 75 Id Id是流过发光二极管的电流 一般从8mA到20mA 其值越大 发光二极管越亮 但不能太大 当流过发光二极管的电流超过20mA时 容易烧坏发光二极管 例1 用89C51的P1口驱动8个发光二极管 使8个发光二极管由左向右轮流点亮 试画出连接图 编制驱动程序 解 1 画电路图 2 编程 思考 mova 0fehup movp1 alcalldelayrlasjmpupdelay1 movr7 2delay11 movr6 250djnzr6 djnzr7 delay11ret 例1 用89C51的P1口驱动8个发光二极管 使8个发光二极管由左向右轮流点亮 试画出连接图 编制驱动程序 思考 如果用P0口驱动发光二极管 则如何修改 如果使8个发光二极管由右向左轮流点亮 则如何修改 如果使8个发光二极管闪亮 则如何修改 如果使8个发光二极管由内向外轮流点亮 则如何修改 如果使8个发光二极管由右向左依次点亮 则如何修改 如果使延时时间延长或缩短 会出现什么现象 预习实验并思考 熟悉实验板上与发光二极管有关的电路 编制驱动程序 实现如下操作 由左向右轮流点亮 由外向里轮流点亮 由右向左依次点亮 闪亮 P1 0 P1 1 P1 2 P1 3 P1 4 P1 5 P1 6 P1 7 89C51 5V 1 2 1直接做输出口 P1 0 P1 1 P1 2 P1 3 P1 4 P1 5 P1 6 P1 7 89C51 5V 例2 用8051的P1口驱动1个数码管 制成1位秒表 试画出连接图 编制驱动程序 解 1 画电路图 2 编程 思考 a b c d e f g Dp a b c d e f g Dp UP0 MOVR7 10MOVR2 00HMOVDPTR TABUP MOVA R2MOVCA A DPTRMOVP1 ALCALLD1SINCR2DJNZR7 UPSJMPUP0TAB DB0C0H 0F9H 0A4H 0B0H 99H 92H 82H 0F8H 80H 98H 例2 用8051的P1口驱动1个数码管 制成1位秒表 试画出连接图 编制驱动程序 思考 如果用P2口驱动发光二极管 公共端接P3 0 则如何修改 如果制成0 1S的表 则如何修改 P2 0 P2 1 P2 2 P2 3 P2 4 P2 5 P2 6 P2 7 89C51 P3 0 a b c d e f g Dp CLRP3 0UP0 MOVR7 10MOVR2 00HMOVDPTR TABUP MOVA R2MOVCA A DPTRMOVP2 ALCALLD1SINCR2DJNZR7 UPSJMPUP0TAB DB0C0H 0F9H 0A4H 0B0HDB99H 92H 82H 0F8H 80H 98H 1 2 2直接做输入口 P1 0 P1 1 P1 2 P1 3 P1 4 P1 5 P1 6 P1 7 89C51 5V 例1 用89C51的P1口传送8个开关状态 用P2口显示8个开关状态 若开关合则对应灯亮 试画出连接图 编制驱动程序 解 1 画电路图 MOVP1 0FFHUP MOVA P1MOVP2 ASJMPUP P2 0 P2 1 P2 2 P2 3 P2 4 P2 5 P2 6 P2 7 5V 开关处的电阻称为上拉电阻 它的作用是当开关断开时 使P3口的电压上拉为准确的高电平 避免悬空状态 2 编程 强调 8051内部并行口直接作为输入口时 必须先将口锁存器置1 思考 P1 0 P1 1 P1 2 P1 3 P1 4 P1 5 P1 6 P1 7 89C51 MOVP1 0FFHUP MOVA P1CPLAMOVP2 ASJMPUP P2 0 P2 1 P2 2 P2 3 P2 4 P2 5 P2 6 P2 7 5V 思考 如果将发光二极管反接 则如何修改程序 1 2 2直接做输入口 89C51 5V 例2 用8051的P1口驱动8个发光二极管 P3 4接一个开关K1 当开关按下时 8个发光二极管由左向右轮流点亮 开关断开时 8个发光二极管不亮 试画出连接图 编制驱动程序 解 1 画电路图 P1 0 P1 1 P1 2 P1 3 P1 4 P1 5 P1 6 P1 7 2 编程 5V P3 4 movp3 0ffhup0 mova 0fehup1 jbp3 4 up1movp1 alcalldelay1rlasjmpup1delay1 movr7 2delay11 movr6 250djnzr6 djnzr7 delay11ret 思考 例2 用8051的P1口驱动8个发光二极管 P3 4接一个开关K1 当开关按下时 8个发光二极管由左向右轮流点亮 开关断开时 8个发光二极管不亮 试画出连接图 编制驱动程序 思考 在上述程序中 开关必须一直按着 灯才能轮流点亮 当开关断开时 停留在某个灯点亮状态 如果当开关断开时 灯全灭 如何修改程序 如果开关作为启动开关 开关按下并抬起时 灯才开始轮流点亮 则如何编程 预习实验熟悉实验板上与发光二极管和开关有关的电路 编制驱动程序 实现如下操作 1 读入4个按键并使对应的LED点亮 2 K1按下时 LED每2个为一组由右向左依次点亮 3 K2按下并抬起时 LED由内向外轮流点亮 P3 2 P3 3 P3 4 P3 5 5V 1 3七段LED显示器接口 1 3 1数码管简介1 3 2单个七段LED数码管的接口1 3 3多个七段LED数码管的接口 在单片机控制系统中显示器是必不可少的外设 常用的显示器有发光二极管 数码管和液晶显示器 本节介绍数码管接口 1 3 1数码管简介 组成 LED数码管由7段或8段发光二极管组成 在平面上排成8字型 分类 有共阴极和共阳极两种 COM a b c d e f g Dp COM a b c d e f g Dp 显示原理 使某些段点亮而另一些段不亮就可以显示0 9 A F等字型 使某段点亮必须具备2个条件 共阴极管的公共端接地和共阳极管的公共端接电源 共阴极管的控制端接电源和共阳极管的控制端接地 共阳极共阴极 a b c d e f g Dp 1 3 2单个七段LED数码管的接口 单个七段LED数码管与单片机的连接方法有2种 1 软译码连接法2 硬译码连接法 a b c d e f g Dp 软译码连接法 在软译码连接法下 LED数码管与单片机的连接图 a b c d e f g Dp P1 0 P1 1 P1 2 P1 3 P1 4 P1 5 P1 6 P1 7 89C51 5V a b c d e f g Dp 1 欲使LED数码管显示2 试编程 MOVP1 01011011B注意 字形与字形码的区别 字形是欲显示的数或字符的形状 字形码是为了在数码管上显示数或字符 CPU应该送出的数据 字形转换成字形码的2种方法 软译码法和硬译码法 2 编程让LED数码管显示30H单元的内容 30H单元的内容在0 9之间 UP MOVA 30HMOVDPTR TABMOVCA A DPTRMOVP1 ASJMPUP TAB DB0C0H 0F9H 0A4H 0B0H 99H 92H 82H 0F8H 80H 98H 共阳极LED 硬译码连接法 在硬译码连接法下 LED数码管与单片机的连接图 a b c d e f g Dp P1 0 P1 1 P1 2 P1 3 A B C D 89C51 利用BCD码 七段码译码器实现字形到字形码的转换 常用的BCD码 七段码译码器有74LS48和74LS47 编程让LED数码管显示30H单元的内容 30H单元的内容在0 9之间 MOVP1 30H LT RBO RBI a b c d e f g P1 4 P1 5 P1 6 P1 7 COM a b c d e f g 74LS48 共阴极LED 5V 注意 在硬译码连接法下 直接送欲显示的数即可 字形到字形码的转换是用硬件实现的 思考 如果7448的ABCD接到8051的P14 P17 则如何修改程序 答案 1 3 3多个七段LED数码管的接口 多个数码管与CPU的连接方法有4种 1 静态软译码连接法2 静态硬译码连接法3 动态硬译码连接法4 动态软译码连接法 a b c d e f g Dp 静态软译码连接法 在静态软译码连接法下 4个LED数码管与单片机的连接图 a b c d e f g Dp Dp P0 0 P0 1 P0 2 P0 3 89C51 P0 4 P0 5 P0 6 P0 7 COM a b c d e f g 共阴极LED Dp P2 0 P2 1 P2 2 P2 3 P2 4 P2 5 P2 6 P2 7 COM a b c d e f g Dp P1 0 P1 1 P1 2 P1 3 P1 4 P1 5 P1 6 P1 7 COM a b c d e f g Dp P3 0 P3 1 P3 2 P3 3 P3 4 P3 5 P3 6 P3 7 COM a b c d e f g 1 编程在4个七段LED数码管上显示1234 MOVP0 06HMOVP1 5BHMOVP2 4FHMOVP3 66HSJMP 2 编程在4个七段LED数码管上显示30H 31H 32H 33H单元中存放的1位BCD码的内容 MOVDPTR TABUP0 MOVA 30HMOVCA A DPTRMOVP0 AMOVA 31HMOVCA A DPTRMOVP1 AMOVA 32HMOVCA A DPTRMOVP2 AMOVA 33HMOVCA A DPTRMOVP3 ASJMPUP0TAB DB3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH 思考 编程在4个七段LED数码管上显示30H 31H单元中的内容 30H 31H单元中分别存有2位BCD码 答案 静态硬译码连接法 在静态硬译码连接法下 4个LED数码管与单片机的连接图 a b c d e f g Dp P2 0 P2 1 P2 2 P2 3 89C51 Dp P2 4 P2 5 P2 6 P2 7 COM a b c d e f g Dp P1 0 P1 1 P1 2 P1 3 COM a b c d e f g P1 4 P1 5 P1 6 P1 7 A B C D LT RBO RBI a b c d e f g 74LS47 5V Dp COM a b c d e f g A B C D LT RBO RBI a b c d e f g 74LS47 5V A B C D LT RBO RBI a b c d e f g 74LS47 5V Dp COM a b c d e f g A B C D LT RBO RBI a b c d e f g 74LS47 5V 编程在4个七段LED数码管上显示30H 31H单元中的内容 30H 31H单元中分别存有2位BCD码 思考 编程在4个七段LED数码管上显示30H 31H 32H 33H单元中存放的1位BCD码的内容 5V 5V 5V 5V 程序 答案 动态硬译码连接法 在动态硬译码连接法下 4个LED数码管与单片机的连接图 a b c d e f g Dp P2 0 P2 1 P2 2 P2 3 89C51 P2 4 P2 5 P2 6 P2 7 COM a b c d e f g A B C D LT RBO RBI a b c d e f g 74LS48 5V COM a b c d e f g COM a b c d e f g COM a b c d e f g 例 编程在4个七段LED数码管上显示1234 在动态连接法下 数码管公共端均受控 驱动程序的编制充分利用了人眼的视觉滞留效应 循环扫描各数码管 使各数码管不是连续显示 但给人的视觉印象是连续地在显示 每个数码管的显示时间不得低于1ms 不亮的时间不能超过20ms 利用人眼的视觉滞留现象 实现让4个七段LED数码管上不同时显示1234 但人眼看到的效果却是同时显示1234 1 2 3 4 思考 编程在4个七段LED数码管上显示30H 31H 32H 33H单元中的内容 程序 答案 动态软译码连接法 在动态软译码连接法下 4个LED数码管与单片机的连接图 a b c d e f g Dp P2 0 P2 1 P2 2 P2 3 89C51 P3 0 P3 1 P3 2 P3 3 COM a b c d e f g 驱动器 COM a b c d e f g COM a b c d e f g COM a b c d e f g 1 2 3 4 P2 4 P2 5 P2 6 P2 7 例 编程在4个七段LED数码管上显示1234 例 编程在4个七段LED数码管上显示30H 31H 32H 33H单元中的内容 程序 程序 1 4键盘接口 1 4 1键盘类型1 4 2非编码键盘与单片机的接口1 4 3矩阵非编码键盘与单片机的接口 键盘是单片机控制系统最常用 最简单的输入设备 用户可以通过键盘输入数据或命令 实现简单的人机通信 1 4 1键盘类型 单片机控制系统所用的键盘有编码键盘和非编码键盘两种 1 编码键盘除了键开关外 还有专门的硬件电路 用于识别闭合键并产生键代码 不仅如此 编码键盘一般还有去键抖动电路和防串键保护电路等 这种键盘的优点是所需软件简短 但硬件电路较复杂 价格较昂贵 目前在单片机控制系统中使用不多 2 非编码键盘仅由键开关组成 其它工作如键识别 键代码的产生 去抖动等 不是由硬件完成而是由软件完成的 为了简化硬件电路 降低成本 目前单片机控制系统中大多数采用非编码键盘 非编码键盘的键开关可以排列成线性形式或矩阵形式 因此非编码键盘有线性非编码键盘和矩阵非编码键盘两种 1 4 1键盘类型 单片机控制系统所用的键盘有编码键盘和非编码键盘两种 1 编码键盘除了键开关外 还有专门的硬件电路 用于识别闭合键并产生键代码 不仅如此 编码键盘一般还有去键抖动电路和防串键保护电路等 这种键盘的优点是所需软件简短 但硬件电路较复杂 价格较昂贵 目前在单片机控制系统中使用不多 2 非编码键盘仅由键开关组成 其它工作如键识别 键代码的产生 去抖动等 不是由硬件完成而是由软件完成的 为了简化硬件电路 降低成本 目前单片机控制系统中大多数采用非编码键盘 非编码键盘的键开关可以排列成线性形式或矩阵形式 因此非编码键盘有线性非编码键盘和矩阵非编码键盘两种 1 4 1键盘类型 单片机控制系统所用的键盘有编码键盘和非编码键盘两种 1 编码键盘除了键开关外 还有专门的硬件电路 用于识别闭合键并产生键代码 不仅如此 编码键盘一般还有去键抖动电路和防串键保护电路等 这种键盘的优点是所需软件简短 但硬件电路较复杂 价格较昂贵 目前在单片机控制系统中使用不多 2 非编码键盘仅由键开关组成 其它工作如键识别 键代码的产生 去抖动等 不是由硬件完成而是由软件完成的 为了简化硬件电路 降低成本 目前单片机控制系统中大多数采用非编码键盘 非编码键盘的键开关可以排列成线性形式或矩阵形式 因此非编码键盘有线性非编码键盘和矩阵非编码键盘两种 1 4 2非编码键盘与单片机的接口 线性非编码键盘的键开关排成一行或一列的形式 它与单片机的接口电路如图所示 K1 K2 K3 K4 P1 1 P1 0 P1 2 P1 3 89C51 5V 线性非编码键盘的工作原理 当键未被按下时 与此键相连的I O线获得高电平 当键被按下时 与此键相连的I O线获得低电平 单片机只要读取I O口状态 就可以获取按键信息 识别有无键按下和哪个键被按下 键处理程序如下 MOVP1 0FFHUP1 MOVA P1 读I O口状态ANLA 0FH 屏蔽无用位CJNEA 0FH NEXT1 有闭合键 SJMPUP1NEXT1 LCALLD10ms 延时10ms去抖动MOVA P1 再读I O口状态ANLA 0FHCJNEA 0FH NEXT2 有闭合键 SJMPUP1NEXT2 JBP1 0 NEXT3 K1按下 LCALLK1 K1键处理程序NEXT3 JBP1 1 NEXT4 K2按下 LCALLK2 K2键处理程序NEXT4 JBP1 2 NEXT5 K3按下 LCALLK3 K3键处理程序NEXT5 JBP1 3 UP1 K4按下 LCALLK4 K4键处理程序LJMPUP1 例 例某单片机控制系统 P1口接有8发光二极管 P3 0 P3 1 P3 2 P3 3接有4个开关K1 K2 K3 K4 试画出接口电路 并编程使得当K1按下时8个发光二极管全亮 当K2按下时8个发光二极管闪亮 当K3按下时8个发光二极管由左向右点亮 当K4按下时8个发光二极管全灭 K1 K2 K3 K4 P3 1 P3 0 P3 2 P3 3 89C51 5V P1 0 P1 1 P1 2 P1 3 P1 4 P1 5 P1 6 P1 7 程序 MOVB 01HMOVP3 0FFHMOVP1 00HUP1 MOVA P3ANLA 0FHCJNEA 0FH NEXT1SJMPUP1NEXT1 LCALLD10msMOVA P3ANLA 0FHCJNEA 0FH NEXT2SJMPUP1NEXT2 JBP3 0 NEXT3LCALLK1NEXT3 JBP3 1 NEXT4LCALLK2NEXT4 JBP3 2 NEXT5LCALLK3NEXT5 JBP3 3 UP1LCALLK4LJMPUP1 程序 子程序K1 MOVP1 0FFHRETK2 MOVP1 0FFHLCALLD2SMOVP1 00HLCALLD2SRETK3 MOVP1 BLCALLD2SMOVA BRLAMOVB ARETK4 MOVP1 00HRET a b c d e f g Dp P1 0 P1 1 P1 2 P1 3 A B C D 89C51 LT RBO RBI a b c d e f g P1 4 P1 5 P1 6 P1 7 COM a b c d e f g 74LS48 共阴极LED 5V UP MOVA 30HSWAPAMOVP1 ASJMPUP 思考 如果7448的ABCD接到8051的P14 P17 则如何修改程序 a b c d e f g Dp Dp P0 0 P0 1 P0 2 P0 3 89C51 P0 4 P0 5 P0 6 P0 7 COM a b c d e f g 共阴极LED Dp P2 0 P2 1 P2 2 P2 3 P2 4 P2 5 P2 6 P2 7 COM a b c d e f g Dp P1 0 P1 1 P1 2 P1 3 P1 4 P1 5 P1 6 P1 7 COM a b c d e f g Dp P3 0 P3 1 P3 2 P3 3 P3 4 P3 5 P3 6 P3 7 COM a b c d e f g MOVDPTR TABUP0 MOVA 30HANLA 0FHMOVCA A DPTRMOVP0 AMOVA 30HSWAPAANLA 0FHMOVCA A DPTRMOVP1 AMOVA 31HANLA 0FHMOVCA A DPTRMOVP2 AMOVA 31HSWAPAANLA 0FHMOVCA A DPTRMOVP3 ASJMPUP0TAB DB3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH 思考 编程在4个七段LED数码管上显示30H 31H单元中的内容 30H 31H单元中分别存有2位BCD码 a b c d e f g Dp P2 0 P2 1 P2 2 P2 3 89C51 Dp P2 4 P2 5 P2 6 P2 7 COM a b c d e f g Dp P1 0 P1 1 P1 2 P1 3 COM a b c d e f g P1 4 P1 5 P1 6 P1 7 A B C D LT RBO RBI a b c d e f g 74LS47 5V Dp COM a b c d e f g A B C D LT RBO RBI a b c d e f g 74LS47 5V A B C D LT RBO RBI a b c d e f g 74LS47 5V Dp COM a b c d e f g A B C D LT RBO RBI a b c d e f g 74LS47 5V 编程在4个七段LED数码管上显示30H 31H单元中的内容 30H 31H单元中分别存有2位BCD码 UP MOVP1 30HMOVP2 31HSJMPUP 5V 5V 5V 5V a b c d e f g Dp P2 0 P2 1 P2 2 P2 3 89C51 Dp P2 4 P2 5 P2 6 P2 7 COM a b c d e f g Dp P1 0 P1 1 P1 2 P1 3 COM a b c d e f g P1 4 P1 5 P1 6 P1 7 A B C D LT RBO RBI a b c d e f g 74LS47 5V Dp COM a b c d e f g A B C D LT RBO RBI a b c d e f g 74LS47 5V A B C D LT RBO RBI a b c d e f g 74LS47 5V Dp COM a b c d e f g A B C D LT RBO RBI a b c d e f g 74LS47 5V 思考 编程在4个七段LED数码管上显示30H 31H 32H 33H单元中存放的1位BCD码的内容 5V 5V 5V 5V UP MOVA 31HSWAPAORLA 30HMOVP1 A MOVA 33HSWAPAORLA 32HMOVP2 ASJMPUP a b c d e f g Dp P2 0 P2 1 P2 2 P2 3 89C51 P2 4 P2 5 P2 6 P2 7 COM a b c d e f g A B C D LT RBO RBI a b c d e f g 74LS48 5V COM a b c d e f g COM a b c d e f g COM a b c d e f g 例 编程在4个七段LED数码管上显示1234 1 2 3 4 START MOVP2 11100001BLCALLD2MSMOVP2 11010010BLCALLD2MSMOVP2 10110011BLCALLD

温馨提示

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

评论

0/150

提交评论