ImageVerifierCode 换一换
格式:DOC , 页数:41 ,大小:1.99MB ,
资源ID:4479653      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4479653.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     索取发票    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(单片机原理及接口技术课后习题第9章答案.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

单片机原理及接口技术课后习题第9章答案.doc

1、.第九章复习思考题1. 计算机系统中为什么要设置输入输出接口?输入/输出接口电路是CPU与外设进行数据传输的桥梁。外设输入给CPU的数据,首先由外设传递到输入接口电路,再由CPU从接口获取;而CPU输出到外设的数据,先由CPU输出到接口电路,然后与接口相接的外设获得数据。CPU与外设之间的信息交换,实际上是与I/O接口电路之间的信息交换。2. 简述输入输出接口的作用。I/O接口电路的作用主要体现在以下几个方面:(1)实现单片机与外设之间的速度匹配;(2)实现输出数据锁存;(3)实现输入数据三态缓冲;(4)实现数据格式转换。3. 在计算机系统中,CPU与输入输出接口之间传输数据的控制方式有哪几种

2、?各有什么特点?在计算机系统中,CPU与I/O接口之间传输数据有3种控制方式:无条件方式,条件方式,中断方式,直接存储器存取方式。在无条件方式下,只要CPU执行输入/输出指令,I/O接口就已经为数据交换做好了准备,也就是在输入数据时,外设传输的数据已经传送至输入接口,数据已经在输入接口端准备好;输出数据时,外设已经把上一次输出的数据取走,输出接口已经准备好接收新的数据。条件控制方式也称为查询方式。CPU进行数据传输时,先读接口的状态信息,根据状态信息判断接口是否准备好,如果没有准备就绪,CPU将继续查询接口状态,直到其准备好后才进行数据传输。在中断控制方式下,当接口准备好数据传输时向CPU提出

3、中断请求,如果满足中断响应条件,CPU则响应,这时CPU才暂时停止执行正在执行的程序,转去执行中断处理程序进行数据传输。传输完数据后,返回原来的程序继续执行。直接存储器存取方式即DMA方式,它由硬件完成数据交换,不需要CPU的介入,由DMA控制器控制,使数据在存储器与外设之间直接传送。4. 采用74LS273和74LS244为8051单片机扩展8路输入和8路输出接口,设外设8个按钮开关和8个LED,每个按钮控制1个LED,设计接口电路并编制检测控制程序。图9.1题3接口电路原理图 接口电路原理图如图9.1 源程序:MOV DPTR,#BFFFH;设置输入/输出口地址COMT:MOVX A,DP

4、TR;读取开关状态NOP;延时,总线稳定MOVX DPTR,A;输出,驱动LED显示NOP;延时,总线稳定AJMP CONT5. 74LS377是8D触发器,其功能表见表9.17,其中Di为触发器的数据输入端,Qi为触发器的数据输出端,是使能控制端,CLK是时钟输入端,Q0为建立稳态输入条件之前,锁存器输出Q的状态。采用它为8051单片机扩展1个8位的并行输出口。图9.2 题5接口电路原理图用74LS377扩展的输出口电路如图9-2所示。用P2.7与74LS377的使能控制端相连,当P2.7为0时,74LS377被选中,如果默认其他未用的地址线为1,则扩展的输出口地址为7FFFH。由于MCS-

5、51单片机的接到74LS377的时钟输入端CLK,当CPU执行写外部输出口指令MOVX时,把数据输出到数据总线上,在信号由低变高时,写出的数据被打入74LS377并锁存。程序如下:MOVDPTR,#7FFFH;输出口地址MOVA,R6;取数据MOVXDPTR,A;输出,6. 74LS245是一种具有双向驱动的8位三态输出缓冲器,它的功能表见表9.18,其中为使能端,DIR为方向控制端,A1A8为A端的数据输入/输出,B1B8为B端的数据输入/输出。当为低电平时,DIR为高电平把A端数据传送至B端;DIR为低电平,把B端数据传送至A端。在其他情况下不传送数据,并输出呈高阻态。采用它为8051单片

6、机扩展1个8位的输入口。(1) (2)图9-3 题6采用74LS245扩展输入口的2种电路图9-3为采用74LS245扩展输人接口电路。电路(1)中,DIR上拉为高电平,74LS245数据传送方向强制为B端到A端,当P2.0为0时,且为低电平时,使能端为低电平,74LS245三态门打开,单片机CPU读取外设输入的数据。其他情况下,74LS245的三态门呈高阻状态。电路(2)中,只有单片机读取外设数据时,P2.00使74LS245的使能端有效,如果为低电平,把74LS245数据传送方向置为A端到B端,其AB方向的三态门打开,单片机CPU读取外设输入的数据。P2.01时,使能端无效,A端和B端处于

7、隔离状态。图9-3的2个电路都采用P2.0为片选,其输入口地址为0FEFFH(默认未用地址线为1)。7. 采用8155芯片为8051单片机系统扩展接口,外设为开关组(8个开关组成)和8个LED,每个开关控制1个LED。现需要读取开关组的状态,并把其状态存储到8155芯片RAM中,若开关组的开关全部断开,则不记录。设计接口电路并编制检测程序。图9.4 题7接口电路接口电路如图9.4所示, 8155的PB口用作读取开关组状态,PA口用作控制LED组,分配地址如下:命令/状态寄存器:0100H;PA口:0101H;PB口:0102H; PA和PB口为基本输入输出方式。K0控制LED0,K1控制LED

8、1,以此类推。设存储开关状态的单元为STATE。程序如下:CMMD EQU 0100HPORTA EQU 0101HPORTB EQU 0102HPORTC EQU 0103HSTATE EQU 20HMOVA,#02H ;初始化,工作方式控制字MOVDPTR,# 0100H ;控制寄存器地址MOVX DPTR,A ;设置工作方式,初始化完成MOV A,#0FFHMOV DPTR,#0101HMOVX DPTR,A ;上电后,熄灭LED NOP MOV STATE,#0FFH;没有开关闭合DETECT:MOVDPTR,#0102H ;PB口地址MOVX A,DPTR ;从PB口读开关状态MOV

9、DPTR,#0101H ;PA口地址MOVX DPTR,A ;从PA口输出控制LED指示灯NOPCJNE A,#0FFH,VALIDSJMP DETECTVALID:MOV STATE,A;记录开关状态AJMP DETECT8. 采用8255芯片为8051单片机系统扩展接口,外设为开关组(8个开关组成)和8个LED,每个开关对应1个LED。现需要每隔50ms读取一次开关组的状态,并把其状态存储到部RAM中。设计接口电路并编制检测程序。假设系统晶振频率为12MHz。图9.5 单片机与8255接口电路图9.5为接口电路, PA、PB、PC和控制寄存器地址分别为:0000H、0001H、0002H和

10、0003H。根据开关K0K7状态控制LED0LED7的显示状态,K0控制LED0,依此类推。设置8255的工作方式,PA口外接开关,为方式0的输入,PB口外接LED,为方式0的输出,则工作方式控制字的标志位D7为1,D6D3(A组):0000, D2D0(B组):010,组合后的控制字为:10000010,即82H。设存储开关状态的单元为STATE,用定时器/计数器T0定时50ms,工作方式为方式1,初始值为:,即3CB0HPORTA EQU 0100HPORTB EQU 0101HPORTC EQU 0102HCMMD EQU 0103H STATE EQU 20H/mian program

11、ACALL Ini8255;ACLL IniTimer0WAIT:JBC TF0,DETECTSJMP WAITDETECT:MOV TH0,#3CHMOV TL0,#0B0HMOVDPTR,#PortB ;PB口地址MOVX A,DPTR ;从PB口读开关状态MOVDPTR,#PortA ;PA口地址MOVX DPTR,A ;从PA口输出控制LED指示灯NOPMOVSTATE,AAJMP WAITIni8255: MOVA,#82H ;初始化,工作方式控制字MOVDPTR,#CMMD ;控制寄存器地址MOVX DPTR,A ;设置工作方式,初始化完成MOV A,#0FFHMOV DPTR,#

12、PORTAMOVX DPTR,A ;上电后,熄灭LED NOPRETIniTimer0:MOV TMOD,#01HMOV TH0,#3CHMOV TL0,#0B0HSETB TR0RET9. 简述矩阵键盘的行列扫描和线反转法原理。(1)行列扫描法:在按键识别过程时,依次使行线输出电平,然后检查列线的输入电平,如果所有列线的输入全为高电平,则该行无按键按下;如果不全为高电平,则被按下的按键在本行,且在输入电平变为低电平的列的交叉点上。(2)线反转法:第一步,首先使行线为输入,列线为输出。列线全部输出低电平,那么,行线中变为低电平的行线为按键所在的行。第二步,使行线变为输出,列线变为输入。行线输出

13、全部为低电平,那么,列线中变为低电平的列线为按键所在的列。10. 一个简单计数器的电路原理图如图所示。要求每按一次S键,计数器计数一次,计数值送P1口显示,采用单只数码管显示,计16次后从0开始。图9.6 题10原理图1BITP3.3VALUE EQU 20HORG 0000HLJMP MAINORG 1000HMAIN: SETB P3.3MOV VALUE,#00ACALL DISP;初始化显示0WAIT0: S1,WAIT0;ACALL DEL10MSWAIT1: S1,WAIT1;判断按下WAIT2:JNB S1,WAIT2;ACALL DEL10MSWAIT3:JNB S1,WAIT

14、3;判断释放INC VALUE;加1ANLVALUE,#00001111B;仅显示低位ACALL DISP;显示SJMP WAIT0/显示子程序DISP:MOV A,VALUE;取显示信息MOV DPTR, #SEG_TAB;字型码表的首地址MOVC A,A+DPTR;通过显示信息查其字型码MOV P1,A;输出显示NOPRET/延时子程序DEL10MS:MOV R5,#10DELX:MOV R6,#200DEL0:NOPNOPNOPDJNZ R6,DEL0DJNZ R5,DELXRETSEG_TAB: DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8

15、H, 80H, 90H DB 88H, 83H, 0C6H, 0A1H, 86H, 8EH ;以下为显示字型码表,09,AFEND11. 简述LED数码管的静态显示和动态显示原理。(1)静态显示:在多位静态显示时,各个LED数码管相互独立,公共端COM接地(共阴极)或接正电源(共阳极)。每个数码管的8个显示字段控制端分别与一个8位并行输出口相连,只要输出口输出字型码,LED数码管就立即显示出相应的字符,并保持到输出口输出新的字型码。(2)动态显示:多位LED数码管动态显示方式是各个LED数码管一位一位地轮流显示。在硬件电路上,各个数码管的显示字段控制端并联在一起,由一个8位并行输出口控制;各个

16、的LED数码管的公共端作为显示位的位选线,由另外的输出口控制。动态显示时,各个数码管分时轮流地被选通,即在某一时刻只选通一个数码管,并送出相应的字型码,并让该数码管稳定地显示一段短暂的时间,在下一时刻选通另一位数码管,并送出相应的字型码显示,并保持显示一段时间,如此循环,即可以在各个数码管上显示需要显示的字符。图9.7 LED数码管静态显示原理 图9.8 LED数码管动态显示原理12. 用P1和P3口作为输出口,设计一个5位的LED数码管显示系统,并在显示器上显示“HELLO”。图 9.9 题12接口电路图接口电路图如图9.9所示,用2片74LS245提高接口的驱动能力,LED数码管为共阴型。

17、程序如下:SEG_OUT EQU P3BIT_OUT EQU P1/=ORG 0000HLJMP STARTORG 0030HSTART:MOV SP,#60HMOV20H,#40H /显示 HELLO 对应字型表序号编码:40 12 23MOV 21H,#12HMOV 22H,#23H MOV R1,#30HMOV R0,#20HCALL SPLITINC R0INC R1CALL SPLITINC R0INC R1CALL SPLITRED:ACALL DSPLY1SJMP RED/=SPLIT:MOV A,R0ANL A,#0F0HSWAP AMOV R1,AINC R1MOV A,R0

18、ANL A,#0FHMOV R1,ARET/=/6位显示DSPLY1:MOV R0, #30H;显示缓冲区地址 MOV R2, #11111110B;显示起始位置REDO: ACALL DISP;显示1位 MOV A,R2;计算下一个显示位置RL AMOV R2, A INC R0 ;修改显示缓冲区地址指针 XRL A, #10111111B;6位显示完否 JNZ REDO;未完,继续显示 RET ;返回/=;显示一位子程序DISP: MOV DPTR,#LED_SEG;字型码表首地址 MOV A,R0;取显示数据 MOVCA,A+DPTR;求显示数据的字型码 MOV SEG_OUT,A;输出

19、字型码 MOV A,R2;取显示位置 MOVBIT_OUT,A;显示ACALL DL1MSMOV A,#0FFH;稳定显示1msMOV BIT_OUT,ARET;字型码表LED_SEG:DB 76H ; H序号:00DB 79H; E序号:01DB 38H ; L序号:02DB 3FH; 0序号:03DB 00H ; BLANK序号:04DL1MS:MOV R5,#200;12M时延时1msDEL:NOPNOPNOPDJNZ R5,DELRETEND13. 一个显示电路如图9.60所示。请采用串行口方式0实现LED数码管的动态显示,在显示器上自左向右动态显示“654321”,每个字符保持时间为

20、0.1s。图9.10 习题13原题电路图ORG 0000HLJMP STARTORG 0030HSTART:MOV SP,#60HMOV20H,#12H /显示数据MOV 21H,#34HMOV 22H,#56H MOV R1,#30HMOV R0,#20HCALL SPLIT/分离BCD码INC R0INC R1CALL SPLITINC R0INC R1CALL SPLITRED:ACALL DISPLYSJMP RED/=SPLIT:MOV A,R0ANL A,#0F0HSWAP AMOV R1,AINC R1MOV A,R0ANL A,#0FHMOV R1,ARET/=DISPLY:M

21、OV R0, #30H;显示缓冲区首地址MOV R2, #05H;显示位置,最右端1位NEXT: ACALL DISP11;显示INC R0;修改显示缓冲区地址指针DEC R2;计算下一位显示位置CJNE R2,#0FFH, NEXT;6位显示完否?RET;显示完返回;显示1位子程序DISP11:MOV A, R0;取显示数据MOV DPTR, #SEG_TABMOVC A, A+DPTR;取显示数据的字型码MOV SBUF, A;输出字型码GOON: JBC TI, DPLYAJMP GOONDPLY: MOV A, R2MOV P1, A;输出显示位置ACALL DL100MS;延时MOV

22、 P1,#07HRET;字型码表SEG_TAB:DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H, 80H, 90H DB 88H, 83H, 0C6H, 0A1H, 86H, 8EH/=DL1MS:MOV R5,#200;12M时延时1msDEL:NOPNOPNOPDJNZ R5,DELRETDL100MS:MOV R6,#100DELX0:ACALL DL1MSDJNZ R6,DELX0RETEND14. 采用8155或8255扩展I/O口,设计一个显示电路显示“654321”。图9.11采用8255扩展的LED数码管动态显示接口电路图9.11为

23、采用8255扩展的LED数码管动态显示接口电路。图中PA口用于输出字型码,PB口用于输出显示位置,LED数码管为共阴型,显示位置采用译码器译码的方式实现。在电路中采用同相缓冲器74LS07提高PA口的驱动能力,同相驱动器SN75451用于驱动显示器的公共端。电路中8255的PA和PB口处于基本输入/输出方式的输出模式,PA口地址为0000H,PB口为0001H,命令寄存器地址为0003H。定义SEG_OUT为PA口地址,BIT_OUT为PB口地址。程序如下:/定义区SEG_OUT EQU 0000H /PortA 输出字型码BIT_OUT EQU 0001H /PortB输出位控码PortC

24、EQU 0002H/CMMD EQU 0003H/命令寄存器地址/=ORG 0000HLJMP STARTORG 0030HSTART:MOV SP,#60HMOV DPTR,#CMMD /8255初始化MOV A,#10000000B /方式0,A/B/C口为输出MOVX DPTR,ANOPNOPMOV20H,#12H /显示数据MOV 21H,#24HMOV 22H,#56H MOV R1,#30HMOV R0,#20HCALL SPLITINC R0INC R1CALL SPLITINC R0INC R1CALL SPLITRED:ACALL DSPLY2SJMP RED/=SPLIT:

25、MOV A,R0ANL A,#0F0HSWAP AMOV R1,AINC R1MOV A,R0ANL A,#0FHMOV R1,ARET/=/6位显示DSPLY2:MOV R0,#30H;显示缓冲区首地址 MOV R2, #00000000B;显示起始位置REDO:ACALL DISP;显示1位INC R2;计算下一次的显示位置 INC R0 ;修改显示缓冲区指针 CJNE R2, #06H, REDO;6位显示完否? RET ;显示结束返回/=;显示一位子程序DISP: MOV DPTR,#LED_SEG;字型码表首地址MOV A,R0;取显示数据MOVCA,A+DPTR;求显示数据的字型码

26、MOV DPTR,#SEG_OUT;字型码输出口地址MOVX DPTR,A;输出字型码MOV A,R2;取显示位置MOV DPTR,#BIT_OUT;显示位置输出口地址MOVXDPTR,A;显示ACALL DL1MSMOV A,#0FFH;稳定显示1msMOVXDPTR,ARET;字型码表LED_SEG: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;0,1,2,3,4,5,6,7 DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H ;8,9,A,B,C,D,E,F DB 3EH, 50H, 40H, 08H, 00H ;U, r, , _, BLA

27、NK/=DL1MS:MOV R5,#200;12M时延时1msDEL:NOPNOPNOPDJNZ R5,DELRETEND15. 一个单片机的键盘显示系统采用34矩阵式键盘、8位LED数码管显示器。12个按键定义为数字键09、功能键ENTER和STOP。系统工作时,键入一组数值,按下ENTER键后,新数值替换原来的显示值在显示器上循环显示,按下STOP键,循环显示终止,显示数据被清除。设计硬件电路和编写相应的程序。图9.12 题15原理图/defination SEG_OUT EQU P2/字型输出BIT_OUT EQU P3/位控输出DISPBUFEQU 40H/显示缓冲区40H47HSET

28、PTREQU 38H/设定数据时的存指针的单元HOLDTIMEEQU 39H/ENTER时,存储每位稳定时间的单元DLETIMEEQU 255/enter稳定时间BIT_CODEEQU 3AH/ENTER时存字型的单元BIT_LOCEQU 3BH/ENTER时存位控的单元ETR_FLAG BIT 28H.0/ENTER按下标志STP_FLAGBIT 28H.1/STOP按下标志/=ORG 0000HLJMP STARTORG 0030HSTART:MOV SP,#60H/=ENTER按下的初始化=CLR ETR_FLAGCLR STP_FLAGMOV HOLDTIME,#DLETIME/ENT

29、ER按下时,每位的保持时间MOV BIT_CODE,#DISPBUFMOV BIT_LOC,#01111111B/=清显示缓冲区=MOV R0,#DISPBUFMOV R3,#8ACALL CLRRAM;MOVSETPTR,#DISPBUF/设定指针初始化,未键入数据时,显示“-”MOV DISPBUF,#12HSCANK:MOV P1,#0FH/键盘扫描MOV A,P1ANL A,#00000111BXRL A,#00000111BJZ NON0ACALL DL20MS /消抖MOV P1,#0FHMOV A,P1ANL A,#00000111BXRL A,#00000111BJZ NON0

30、 /键按下/此处判断哪个键按下MOV R3,#11101111BCONTI:MOV P1,R3MOV A,P1/逐行扫描ANL A,#00000111BXRL A,#00000111BJNZ FOUNDMOV A,R3RL AMOV R3,AXRL A,#11111110BJNZ CONTINON0:JMP NON/没有键按下FOUND:MOV P1,#00000111BMOVA,P1ANL A,#00001111BMOV R4,A/暂存列编码MOV A,R3ANL A,#11110000B/取行编码ORL A,R4MOV R4,A/ 存特征码,等待键释放NO_RLSE:MOV P1,#0FH

31、 /键释放MOV A,P1ANL A,#00000111BXRL A,#00000111BJNZ NO_RLSEACALL DL20MS /消抖MOV P1,#0FHMOV A,P1ANL A,#00000111BXRL A,#00000111BJNZ NO_RLSEMOV A,R4CJNE A,#0E6H,NUM2MOV R4,#01HJMP GODISP /1NUM2:CJNE A,#0E5H,NUM3MOV R4,#02H /2JMP GODISPNUM3:CJNE A,#0E3H,NUM4MOV R4,#03H /3JMP GODISPNUM4:CJNE A,#0D6H,NUM5MOV

32、 R4,#04H /4JMP GODISPNUM5:CJNE A,#0D5H,NUM6MOV R4,#05H/5JMP GODISPNUM6:CJNE A,#0D3H,NUM7MOV R4,#06HJMP GODISP /6NUM7:CJNE A,#0B6H,NUM8MOV R4,#07HJMP GODISP /7NUM8:CJNE A,#0B5H,NUM9MOV R4,#08HJMP GODISP /8NUM9:CJNE A,#0B3H,ENTERMOV R4,#09HJMP GODISP /9ENTER:CJNE A,#076H,NUM0MOV R4,#0AH /ENTERJMP ETR_

33、DISP /ENTER按下,循环显示NUM0:CJNE A,#075H,STOPMOV R4,#00H/0JMP GODISPSTOP:CJNE A,#073H,NUMXMOV R4,#0BHJMP STP_DISP / STOP按下NUMX: JMP NON/没有按键按下GODISP:CLR ETR_FLAGCLR STP_FLAGMOV R0,SETPTRMOV A,R4MOV R0,AINC R0MOV SETPTR,R0CJNE R0,#DISPBUF+8,GOON MOV SETPTR,#DISPBUFGOON:JMP REDNON: ETR_FLAG,ETR_DISP /无键按下,

34、之前ENTER按下 STP_FLAG,STP_DISP /无键按下,之前STOP按下 /无键按下,之前有数字键按下RED:MOV R0,#DISPBUFACALL DSPLY1 /显示键入的数据JMP SCANKETR_DISP:MOV SETPTR,#DISPBUF/enter件按下,设定数据循环显示SETB ETR_FLAG MOV R0,BIT_CODEMOV R2,BIT_LOC ;显示起始位置ACALL DISP;显示1位 DJNZ HOLDTIME, SKIP0MOVHOLDTIME,#DLETIMEMOV A, BIT_LOC;计算下一个显示位置 RR A MOV BIT_LOC

35、,A INC BIT_CODE ;修改显示缓冲区地址指针 XRL A,#01111111B;8位显示完否 JNZ SKIP0MOV BIT_CODE,#DISPBUFMOV BIT_LOC,#01111111BMOVHOLDTIME,#DLETIME;未完,继续显示SKIP0: JMP SCANK ;返回/STOP处理STP_DISP: MOV SETPTR,#DISPBUFSETB STP_FLAGMOV R0,#DISPBUFMOV R3,#8ACALL CLRRAM; /清显示缓冲区容MOV DISPBUF,#12HMOV R0,#DISPBUF /最左边显示“-”ACALL DSPLY

36、1JMP SCANK/=/8位显示DSPLY1:MOV R2, #01111111B;显示起始位置REDO: ACALL DISP;显示1位MOV A,R2;计算下一个显示位置RR AMOV R2, AINC R0 ;修改显示缓冲区地址指针XRL A, #01111111B;8位显示完否JNZ REDO;未完,继续显示RET ;返回/=;显示一位子程序DISP: MOV DPTR,#LED_SEG;字型码表首地址MOV A,R0;取显示数据MOVCA,A+DPTR;求显示数据的字型码MOV SEG_OUT,A;输出字型码MOV A,R2;取显示位置MOVBIT_OUT,A;显示ACALL DL

37、1MSMOV A,#0FFH;稳定显示1msMOV BIT_OUT,ARET;字型码表LED_SEG: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;0,1,2,3,4,5,6,7 DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H ;8,9,A,B,C,D,E,F DB 3EH, 50H, 40H, 08H, 00H ;U, r, , -, BLANKDL1MS:MOV R5,#200;12M时延时1msDEL:NOPNOPNOPDJNZ R5,DELRETDL20MS:MOV R7,#20;12M时延时20msDEL00:ACALL DL1MSDJNZ R7,DEL00RETCLRRAM:MOV R0,#14H /不显示INC R0DJNZ R3,CLRRAMRETEND16. 简述A/D和的作用。A/D把模拟量变成数字量。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服