第八章 单片机应用系统的设计方法及实例.ppt

上传人:s****8 文档编号:82719377 上传时间:2023-03-26 格式:PPT 页数:33 大小:248.50KB
返回 下载 相关 举报
第八章 单片机应用系统的设计方法及实例.ppt_第1页
第1页 / 共33页
第八章 单片机应用系统的设计方法及实例.ppt_第2页
第2页 / 共33页
点击查看更多>>
资源描述

《第八章 单片机应用系统的设计方法及实例.ppt》由会员分享,可在线阅读,更多相关《第八章 单片机应用系统的设计方法及实例.ppt(33页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、81 显示器、键盘与单片机的连接 一、LED数码管与单片机的连接图 8-1 共阴极和共阳极数码管第八章单片机应用系统的设计方法及实例1静态显示图 8-2 静态显示原理DISP:MOVR0,#50H;R0指向第一个显示单元MOVR2,#4;循环计数器赋初值MOVR3,#0;显示位指针赋初值LOOP:MOVA,R0ANLA,#0FH;取第i个显示单元的低4位SWAPAORLA,R3;第i个显示单元的低4位送R3的高4位MOVP1,A;第i个显示单元的低4位送R3指出的数码管去显示MOVA,R0ANLA,#0F0H;取第i个显示单元的高4位INCR3;指向下一个数码管ORLA,R3;第i个显示单元的

2、高4位送R3指出的数码管去显示MOVP1,A;将第i个显示单元的高4位送到相应的数码管去显示INCR0;指向下一个显示单元INCR3;指向下一个LED数码管DJNER2,LOOP;未显示完4单元的8个BCD码,返回继续显示RET图 8-3 采用译码器的静态显示接口电路 2串行显示接口图 8-5 串行显示接口 DISP:SETBP1.0;选通显示器MOVSCON,#00H;置串口方式0 MOVR0,#50H;R0指向第一个显示单元 MOVR2,#4;循环计数器置初值 MOVDPTR,#TAB;DPTR指向第一个显示单元LOOP:MOVA,R0 ANLA,#0FH;取第i个显示单元的低4位 MOV

3、CA,ADPTR;查译码表 MOCSBUF,A;第i个显示单元的低4位的显示码送串口缓冲器WAIT1:JNBTI,$;未发送完,等待 CLRTI;清发送中断标志 MOVA,R0 ANLA,#0F0H;取第i个显示单元的高4位 SWAPA MOVCA,ADPTR;查译码表 MOCSBUF,A;第i个显示单元的高4位的显示码送串口缓冲器WAIT2:JNBTI,$;未发送完,等待 CLRTI;清发送中断标志 INCR0 DJNZR2,LOOP;未发送完4个单元的8个字符,返回继续RETTAB:DB03H,9FH,25H,0DH,99H,DB49H,41H,1FH,01H,19H3动态扫描显示接口图

4、8-6 动态扫描显示接口电路;-主程序-STAR:LOOP:ACALL S00EF;将显示缓冲区内容送去显示SJMPLOOP;-送显示子程序-DISP:CLRAORLA,P3;取P3口内容ANLA,#0F0HMOVR3,A;保护P3口高4位MOVA,43H;取位选信号ANLA,#0FH;位选信号送A的低4位ORLA,R3;P3口高4位送A的高4位MOVR0,34H;取段选指针MOVP1,#0FFH;关显MOVP3,A;输出位选信号MOVA,R0;显示内容送AMOVDPTR,#TAB;译码表首址送DPTRMOVCA,A+DPTR;查表译显示码MOVP1,A;输出段选信号1MOVA,43H;RLA

5、;MOV43H,A;位选指针指向下一位INC34H;段选指针指向下一位JB ACC.0,DONE;不到最后一位,转MOV34H,#50H;段选指针复位MOV43H,#0EEH;位选指针复位DONE:RET;-显示译码表-TAB:DB 0C0H;显示字符0,相对地址00HDB 0F9H;1DB 0A4H;2DB 0B0H;3DB 99H;4DB 92H;5DB 82H;6DB 0F8H;7DB 80H;8DB 90H;9图 8-7 按键与单片机直接连接 图 9-8 带锁存器的按键与单片机的接口电路 图 8-9 按键接口程序流程图程序如下:KSCAN:MOVDPTR,#7FFFH;指向244MOV

6、XA,DPTR;读244ANL A,#0FH;取4个按键的值CJNEA,#0FH,LOOS;无键按下,转去判断是否键放开JB11H,L0475;键有效标志等于1,等待键放开,返回JC10H,SETSYN;第一次发现键按下,转去置标志,存键值CJNEA,R4,CLRSYN;两次读得的按键值不同,键无效,清第一次发现键按下标志SETB11H;置键有效标志RETLOOS:JNB11H,RETUR;键有效标志等于0,未按过键,返回SJMPKEYDO;键放开,转键处理SETSYN:SETB10H;置第一次发现键按下标志MOVR4,A;保存键值SJMPRETUR;返回CLRK:CLR11H;清键有效标志C

7、LRSYN:CLR10H;清第一次发现键按下标志MOVR4,#00H;清键值暂存单元RETKEYDO:RRCAJCJUS2;没按S1,再判断S2ALMPDOS1;转键S1处理程序JUS2:JCJUS3;没按S2,再判断S3ALMPDOS2;转键S2处理程序JUS3:JCJUS4;没按S3,再判断S4ALMPDOS3;转键S3处理程序JUS4:JCRETUR;没按S4,误判断,退出ALMPDOS4;转键S4处理程序DOS1:;键S1处理程序SJMPRETURDOS2:;键S2处理程序SJMPRETURDOS3:;键S3处理程序SJMPRETURDOS4:;键S4处理程序SJMPRETUR三、键盘

8、与单片机的接口图 8-10 键盘与单片机的接口电路图 8-11 键盘接口程序流程图二、A/D转换器与单片机的接口 图 8-12 ADC0801ADC0805 图 8-13 ADC08010805与单片机的接口83 D/A转换器与单片机的连接转换器与单片机的连接一、D/A转换器的基本原理图 8-14 T型网络D/A转换器二、D/A转换器与单片机的接口1内部结构图 8-15 DAC0832的引脚排列 图 8-16 DAC0832结构图3接口电路(1)单缓冲器方式图 8-17 DAC0832与单片机的接口(2)双缓冲器方式图 8-18 多路DAC0832同步转换的接口电路程序如下:MOV DPTR,

9、#0DFFFH ;指向0832(1)MOV A,#data1MOVX DPTR,A ;data1送0832(1)锁存器MOVX DPTR,#0BFFFH ;指向0832(2)MOV A,#data2MOVX DPTR,A ;data2送0832(2)锁存器MOV DPTR,#7FFFH ;指向0832(1)和0832(2)的数据传送端MOVX DPTR,A ;data1和data2同时送D/A转换器进行转换84 MCS-51单片机应用系统设计举例单片机应用系统设计举例一、系统构成及控制原理图 8-19 糖果包装机的结构图图 820 走纸轮的顶视图图 9-21 相位误差与速度误差图 8-22 控

10、制流程图二、硬件电路1主程序图 9-23 硬件电路图 8-24 主程序流程图-初始化-ORG 0000H AJMP ADR00 ORG 0003H CLR EX0 ;关外部中断0,以防止脉冲抖动造成中断重复响应 AJMP INT0 ORG 000BH AJMP T0 ORG 0013H CLR EX1 ;关外部中断1 AJMP INT1 ORG 001BH AJMP T1 ORG 0030HADR00:MOV R0,#20H ;20H70H单元清0 MOV R1,#50H CLR AADR10:MOV R0,A INC R0 DJNZ R1,ADR10 ACALL SUB1 ;清显示器 MOV

11、 SP,#5FH ;堆栈从60H开始 MOV SCON,#00H;串行口置为方式0MOV A,43H ;相位滞后误差送A ACALL SUB2 ;将A中绝对误差转为相对误差放在R7中 MOV A,R7 CLR C SUBB A,#2JNC ADR20 ;相位滞后小于2%,返回JB P1.0,ADR75;电磁离合齿轮有电,转MOV R5,43H ;保存本次测量的相位误差SETB P1.0 ;电磁离合齿轮通电,提速2%AJMP ADR20 ;返回ADR75:MOV A,R5 ;取回上次测量的相位误差CLR CSUBB A,43H ;减本次测量的相位误差进行比较JNC ADR20 ;本次测量的相位误

12、差小,返回SETB P1.1 ;否则,胀紧电机正转,提速MOV R2,#06H ;设置最小提速量ACALL SUB3 ;延时0.6秒CLR P1.1 ;停止胀紧电机正转AJMP ADR20;-相位超前误差调整-ADR80:MOV A,42H ;相位超前误差送A ACALL SUB2 ;将A中绝对误差转为相对误差放在R7中 MOV A,R7 CLR C SUBB A,#2 JC ADR20 ;相位超前误差小于2%,返回JNB P1.0,ADR85;电磁离合齿轮未通电,转取比较两次测量的误差MOV R6,42H ;保存本次测量的误差CLR P1.0 ;电磁离合齿轮断电,减速2%AJMP ADR20

13、 ;返回ADR85:MOV A,R6 ;取回上次测量的误差CLR CSUBB A,42H ;减本次测量的误差JNC ADR20 ;本次测量的误差小,返回SETB P1.2 ;否则,胀紧电机反转,减速MOV R2,#06H ;设置最小减速量ACALL SUB3 ;延时0.6秒CLR P1.2 ;停止胀紧电机反转AJMP ADR202子程序1)绝对误差转换为相对误差子程序 SUB2:MOV B,#64H MUL AB MOV R7,#00HADR90:CLR C SUBB A,41 ;误差的百分数减切纸周期 JC ADR0A0 ;不够减,转 INC R7 ;够减,商加1 AJMP ADR90 ;返

14、回再减ADR0A0:MOV R6,B CJNE R6,#00H,ADR0B0 AJMP ADR0C0 ;无位可借,除法结束ADR0B0:DEC B ;借位 INC R7 ;商加1 AJMP ADR90 ;返回再减 ADR0C0:RET(2)R20.1秒延时子程序R20.1秒延时子程序,用于控制P1.1和P1.2输出的脉冲宽度。程序如下:SUB3:MOV R3,#64HADR0D0:MOV R4,#0F9HADR0E0:NOPNOPDJNZ R4,ADR0E0DJNZ R3,ADR0D0DJNZ R2,SUB3RET3中断服务程序 T0、T1、INT0和INT1中断服务程序的流程图如图9-25图

15、9-28。8-图25 T0中断服务程序 图 8-26 T1中断服务程序图 8-27 INT0中断服务程序 图 8-28 INT1中断服务程序(4)INT1中断服务程序INT1:PUSH PSW MOV 41H,37H ;取走纸周期 MOV 37H,#00H ;为下一次记数做准备 MOV 43H,36H ;取走纸滞后切纸的时间 MOV R5,#00H ;清监视计数器 SETB 11H ;置检测到走纸周期标志 SETB RS0 ;选中1区工作寄存器 MOV R1,#30H ;R1个位ADR0F0:INC R1 ;显示缓冲区某位加1 CJNE R1,#0AH,ADR180;加1后不到10,退出 MO

16、V R1,#00H0 ;加1后等于10,将该位清0 INC R1 ;指向显示缓冲区下一位 CJNE R1,#36H,ADR0F0;不到显示缓冲区最高位,返回将下一位加1MOV R0,#2FH ;显示缓冲区位指针R0赋初值 MOV R2,#06H ;显示位数送R2ADR100:INC R0 ;指向显示缓冲区下一位 MOV DPTR,#ADR120 ;基址指针送指向显示译码表首址 MOV A,R0 ;某位显示内容送A MOVC A,A+DPTR ;显示内容译成显示码后A MOV SBUF,A ;显示码通过串口送去显示ADR110:JNB TI,$;等待1个字节传送完毕 CLR TI ;清传送完标志,为下一次传送做准备 DJNZ R2,ADR100 ;6位没有全部显示完,返回继续显示CLR RS0 POP PSW SETB EX1 ;开外部中断1 RETIADR120:DB 03H ;显示0 DB 9FH ;显示1 DB 25H DB 0DH DB 99H DB 49H DB 41H DB 1FH DB 01HDB 09H ;显示9

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com