计算机单片机实训报告,北京交通大学单片机实验程序报告.docx

文档介绍:

8155并行I/O口扩展和动态扫描程序编制1.实验目的(1)掌握8155并行I/O芯片扩展和使用方法(2)掌握数码管动态扫描汇编语言的编制方法2.预****要点(1)8155芯片基础知识(2)51单片机的总线时序、地址译码的原理(3)数码管动态扫描显示方法3.实验设备计算机、单片机实验箱。4.实验内容基本要求:通过实验板的上的8155(U16)显示电路(在电路板上已经固定连接字形和字位控制线的8155部分),并通过跳线确定8155的地址,在8个LED数码管上依次动态显示数字1~8。扩展要求:假定30H~33H的存储单元内容为4个字节16进制数,请依序将他们显示在8个LED数码管上根据程序要求做如下程序流程图:主程序流程图:显示子程序流程框图:0050HMAIN:MOVSP,#60H;压栈MOVDPTR,#4100HMOVA,#0FH;方式控制字0FH送******@DPTR,A;8155初始化MOV70H,#01H;设置显示缓冲区MOV71H,#02HMOV72H,#03HMOV73H,#04HMOV74H,#05HMOV75H,#06HMOV76H,#07HMOV77H,#08HLOOP:ACALLDISPLAY;循环调用显示子程序AJMPLOOPDISPLAY:MOVR0,#70H;显示缓冲区首地址送R0MOVR3,#0FEH;字位控制初值送R3LD0:MOVDPTR,#4102HMOVA,#******@DPTR,A;B口字位送高,关共阴显示MOVA,***@R0MOVDPTR,#DISTABMOVCA,***@A+DPTR;查表MOVDPTR,#4101H;PA口作字形******@DPTR,AMOVDPTR,#4102H;PB口作字位MOVA,******@DPTR,AACALLDELAY;延时1msINCR0;.7,LD1;若显示完一遍,则LD1RLA;字位码左移一位此处A中的值是R3MOVR3,A;送回R3AJMPLD0;显示下一个数码LD1:RET;此处把每一个八位显示看成一次函数。DISTAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;(共阴极字形表)DELAY:MOVR7,#02H;1ms延时DELAY1:MOVR6,#0FFHDELAY2:DJNZR6,DELAY2DJNZR7,DELAY1RETEND实验中遇到的问题:开始时没有预先在显示缓冲区中存入1~7,故实验显示的数据不是1、2、3、4、5、6、7、8,而是显示缓冲区中之前存在的无规则的一些数据,待向显示缓冲区重新赋值后,显示正常。1000HMAIN:MOVSP,#50HMOV30H,#0A1HMOV31H,#0C2HMOV32H,#0D3HMOV33H,#0F4HLCALLTRANMOVDPTR,#4100HMOVA,#******@DPTR,ALOOP:LCALLDISPLAYSJMPLOOPTRAN:MOVR1,#30H;将30-31H里的十六进制数分成两位存在70-71H中MOVR0,#70HMOVR3,#04LD2:MOVA,***@R1ANLA,#0FH;取出低字节******@R0,AINCR0MOVA,***@R1ANLA,#0F0H;取出高字节SWAPA;高低字节交换,将十六进制数的两位分开存放******@R0,AINCR0INCR1DJNZR3,LD2RETDISPLAY:MOVR1,#0FEH;显示部分同基本要求MOVR0,#70HMOVA,R1LD0:MOVDPTR,#******@DPTR,AMOVA,***@R0MOVDPTR,#TABMOVCA,***@A+DPTRMOVDPTR,#******@DPTR,ALCALLDELAYINCR0MOVA,.7,LD1RLAMOVR1,ASJMPLD0LD1:RETTAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDB77H,7CH,39H,5EH,79H,71HDELAY:MOVR7,#02HDELAY1:MOVR6,#0FFHDELAY2:DJNZR6,DELAY2DJNZR7,DELAY2RETEND实验三查询式键盘实验1.实验目的(1)掌握查询式按键检测方法(2)掌握数码管动态扫描汇编语言的编制方法2.预****要点(1)按键检测的基本原理(2)数码管动态扫描显示方法3.实验设备计算机、单片机实验箱。4.实验内容基本要求:接实验二的实验内容,通过实验板的4个按键电路,将按键的检测线连接到CPU的p1.0~p1.3上。当按下按键1到4时,在实验板显示电路(U16)分别对应显示1,2,3,4。扩展要求:30H~33H中放置字母A~D,字母在LED上循环显示,默认的循环周期为50ms,当按下按键1到4时,A~D循环间隔分别变为1

内容来自淘豆网www.taodocs.com转载请标明出处.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值