欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    西安电子科技大学通信工程学院课程设计.docx

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

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

    西安电子科技大学通信工程学院课程设计.docx

    1、西安电子科技大学通信工程学院课程设计课程设计实验报告1082#跳舞机设计一.设计目的:掌握矩阵键盘和显示接口的硬件设计方法掌握键盘扫描程序和显示程序的编程方法实用程序设计及学习DOS、BOS调用1。基本功能设计:至少设计4个数码管和4个按键数码管显示的舞蹈动作是随机的可以统计游戏者的分数2.扩展功能:电脑和实验版上可以加一些声光电的效果.创新功能:,, 作为正常,当作反向应用,即。二系统方案:设计思路如下:产生个随机数,将随机数和方向对应。将随机方向显示在数码管上,从按键获得方向输入,比较两方向的值。时间结束将统计到的正确值转换成评分,输出评分等级。程序分为以下几大部分:主程序,RDNUM,D

    2、SPLAY,CNNM1,MPNM。其中RDNUM 调用系统时间规范化产生随机数,载入BF,;ISPA则将BU的数值在TBEL2查询获得数码管值,并将内容显示出来;SAN循环调用DILAY以维持在扫描键值期间的数码管显示,同时监控按键获得键值,查询TAE1将键值转换为数值,超时则记为-1;MPNUM调整键值和随机数,将他们的对应域统一,形成映射,比较二者的值;主程序通过循环调用CANUM1持续监控按键直到超时,次调用PNU,统计正确数,最后对结果评分等级IC,OOD,PSS,AIL,调用DSPLAY显示评分。1。主程序:MVAX,DTAMOV D,;数据段段址送DS。MV A,ACKO S,AX

    3、 ;堆栈段段址送SS。MO SP,OFFET O ;获取堆栈指针。 DX,0EE03H ;D指向25的口。MOV L,1001001B;工作方式状态控制字,表示方式0,端口C输出.OUT DX,AL ;完成855初始化。EP1:CALL FARPTR DNM ;调用DNUM生成随机数,存储于U。LADI,BUF;D传递当前正在比较的随机数。MOVCX, SP2:CL FAR PTSANNU1 ;扫描键值,返回值str t初始化8255产生随机数,存入缓存扫描键盘,将扫描到的键值存入缓存,超时则标记-1比较随机数和键值统计正确值数码管显示评分等级nd存于BL。AL FAR CMPNUM;比较数值

    4、。NC I ;读取下一个随机数LOOP STEP2;循环四次逐个键值扫描,比较.STE3: ;将成绩转换对应评分。O AX,RESULTMP A,E ICEM A,3JE GOODCMP A,JE PASIL: ;成绩小于输出FIL。MOVAH,0FHMOV UF,OV AH,0AHMOV BUF1,HMO A,1MOVBUF,HMOVBUF3,AJ STEPPAS: ;成绩为2输出PASS。MOV AH,21MOV BF,AMAH,0AHMOV UF1,HMOVAH,5OV BUF2,AMOVBUF3,JMP STEP4GOOD: ;成绩为3输出GOD。MOVAH,6HMOV BF0,MV

    5、H,HMOV UF,AMOVBF2,AHMO AH,OVBUF3,APSTEP4NE:;成绩为4输出CE。MOH,10MOV B,AHOV H,1HMOV BUF,AHMOV AH,0CHM BUF2,AHOA,EMOV BUF3,AHP S4TEP4:V CX,900STP:CL AR PTRISPLA ;显示评分。OP P5 ;闪烁维持评分显示。OV AH,4CHNT 21CODEEGETASSUMECS:COERDNUMPROC ARPUSHPUSH BPH PUSH XPUH DI ;寄存器保护。DO1:V AH,2CH ;2C号功能调用,取系统时间:DL存放毫秒INT 2MOV A,

    6、D ;将毫秒值除以5,调整随机偏移量的取值在4之间。MOV AH,OVBL,IVL ;A是一个0的随机数去查询伪随机表。RD MRE获取系统时间产生随机数随机数查表获得伪随机序列序列依次载入B UFLADI,TABE3RDSAN:MO A,I ;将随机表内容放入A。I DIINCI ;指向转换表下一个查找字节。CMP AL,A ;比较AL,AH。N DSCA ;不等则继续查找。OV AL,DI-1;相等则开始查表对BF赋值。MV BUF0,ALMOV A,D1MV BUF1,AL OV AL,SI3 MOV BF2,AL V AL,S+ MV BUF3,LPOP DIPOPXPOP CXPP

    7、BXPOP ARE ;返回。RDNUM ENDP COE ENDSCE SEMETASS S:COE2DIPA Y PC FAPUS APSH PSH CXPUSH DXPUSH DIPUH S ;寄存器保护。MOV CX,;循环显示4个数码管LEA , BUF ;I指向输入的数据.MOV H,0001000 ;由左至右显示.DO:MOV B,D ;将输入数据放入BL。LA SI,TBLE2 ;SI指向由F到LE数码管的转换表。MV DX,EH ;D指向A口地址。O AL,0FFH ;显示为空。OUT DX,A ;将AL内容显示。DO3:MOVB,SI ;将转换表内容放入BH。MVD,0FHC

    8、 SINC I ;指向转换表下一个查找字节CMP BL,B ;比较B,BH。JNZDO3 ;在转换表中查找对应值.MOVDX,0EE0H ;将DX指向口.M AL,AH;给AL赋值(应显示那个数码管.OUDX,AL ;控制哪个管显示。MOV DX,EE00H ;将D指向A口。MV AL,S1 ;查找到的数码管值写入AL.OUT DX,ADELY: ;维持显示,使数码管数据显示清晰。PUSHCXSH AXMV AX,200EP1: ;用两个循环来控制时延。VCX,000REP2:C随机数查表转换255输出待显值时延,维持显示更新待显值和数码管CX=?RETXDS LAYOOP REP2EC XM

    9、PAX,0JNZRP1;X不为0继续循环。OP O CXOR AH,1;循环左移.INC I ;更换下一个显示数据.LOPO;OPSIO DIOPDP XPOP BXPO XTDISLY NDODE2 ENSCODE3 SEENTSSUME CS:COD3SCANNUM1 PRC RUS AXPUSH XPSH DXUSH IPUS S ;寄存器保护,将BX作为参数传递的方式,不压栈。MOV CX,SCANNU ;控制扫描循环次数。CANLOOP1:AL R PTSPLAY ;调用IPLA 显示。MV AL,000111BOV DX,0E5HAND A,EDOTDX,A ;74374口高位置零

    10、.OV D,0EE02H;控制口。INL,DX;将C口内容读到。AN AL,000111B;取出A低四位ML,000011B ;判断是否有键按下(无键按下时为全1。ECANLOP3 ;无键值时跳转。MOVAH,111111B ;扫描第一行。CANLOP: L,AH ;有键按下则开始扫描。MOV DX,005UTX,ALOV D,002H AL,DXAND A,000011B;取出AL低四位。MP AL,0111B;判断是否有键按下(无键按下时为全1.JNESANOP4 ;有则译键码.ROL AH,1 ;A左移读取下一行.MP AH,11111B ;循环四次,各行扫完结束?NZSCANLOOP

    11、;没有则进行下一次扫描SCANLOOP3:LOOPSCAOOPMO L,0FF ;超时标记JM SCANLOOP7 ;循环结束,跳出扫描。SCANLOO4: ;键值查表。SAN调用DISPLAY,显示行输出全0列输入值=111?行输出初值A1101111行输出 AH列输入值=111?A左环移行扫描完否?NYNY调用SPLY,消抖读入列值列输入值=1111?调用DLAY,消抖获得键值将键值译码放入BLEXYRECX0?BLY(CX1NNND AH,0F0H;AH带有行号特征,ND后行特征位为0。MV BL,LOR B,AH ;行列R获得键值。MV I,OFSET TBLE ;获取键值对应表的地址

    12、。SCANLOOP5:;键值和随机数映射。MO BH,DIINC DIINC DMP B,B ;键值和查表比较J SANLOP5MOVBL,DI;查到值放入BL。SANLOOP6:CAL FAR PTR DISLA ;调用显示.NAL,XAD AL,000111BC L,000111B;判断按键是否松开。E SCALOP;没有继续监听。SANLOOP7:AL FAR PTR ISPLY ;消抖。POP SIPOP DIPOP DXPP XPOPXRETCANNUM1ENDPCODE3ENCODESEGMNASUME C:DECMPNMPRC FARPUSH CXPUSH DXPUSH I ;寄

    13、存器压栈保护。MOVH, ;B装载随机数,BL装载键值。CAGE1: ;键值映射范围调整。USH BXPUH XMO AL,BLOVH,0 ;数值载入X。OV B,4 ;除以.DI BLMV D,AH ;余数载入DLPOAXOP BCHANGE:;随机数映射范围调整。PUSH BXPUSAXOV ,BHS A,1 ;将之前加上的10减除。MOV AH,0 ;数值载入.MOVB,4 ;除以4。DV LMV DH,AH;余数载入DH。PO AXPOPBMP DL,DJNZ WONG1;不等则报错。OV CX,REUINC CXMOVRESLT,C ;正确则计数。JM ND1WOG:MOVDL,07

    14、H ;按键出错后主板上的蜂鸣器报警。MVAH,H ;调用系统报错。PN UBX载入随机数和键值取余将值与四方向对应比较随机数与键值报错相等?成绩加RET INT 21 ND1: POP SI OP DPOP CXRTCPUM ENDPCOE4 END8255硬件原理及电路原理图一 与 连接部分55能并行传送8位数据,所以其数据线为8根D0D。由于855具有3个通道A 、B、C ,所以只要两根地址线就能寻址A 、B 、 口及控制寄存器,故地址线为两根A0A1。此外CPU 要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。各信号的引脚编号如下:(1数据总线DB :编号为DD7,

    15、用于25与PU 传送8位数据.(2地址总线AB :编号为0A,用于选择 、B 、 口与控制寄存器。(3控制总线B :片选信号、复位信号RST 、写信号、读信号。当CPU要对255进行读、写操作时,必须先向855发片选信号选中855芯片,然后发读信号或写信号对25进行读或写数据的操作.二 与外设接口部分根据定义,825有3个通道A、B、 与外设连接,每个通道又有8根线与外设连接,所以8255可以用4根线与外设连接,若进行开关量控制,则825可同时控制4路开关。各通道的引脚编号如下:(1A 口:编号为PA0PA7,用于55向外设输入输出位并行数据。(2B 口:编号为P0PB7,用于8255向外设输

    16、入输出8位并行数据.(3C口:编号为PCPC,用于825向外设输入输出8位并行数据,当825工作于应答I/O 方式时,C 口用于应答信号的通信。三 控制器8255将个通道分为两组,即PA0PA7与PC4PC7组成A组,B0PB7与PC0PC3组成B组。如图75所示,相应的控制器也分为 组控制器与B 组控制器,各组控制器的作用如下:(1A 组控制器:控制 口与上 口的输入与输出。 (2 组控制器:控制B 口与下C 口的输入与输出。当向A1=,=1的端口寄存器(即控制寄存器发送D=1的控制字时,其作用为方式控制字,各个位的含义如图所示 74LS34硬件原理及电路原理图LS的管脚图如图:74LS37

    17、4作为八上升沿D 触发器,主要端口的含义: DD7 数据输入端O 三态允许控制端(低电平有效 CP 时钟输入端 OO7输出端电路接线如下:8255AP A4PA P A 6P A P PB P B 5P 3P A P A 2 1P A PC 7 C 6P 5P C 4P 3P C 2P C 1 C 0P B 0P B 1P 2+5V 23456791111115 cdef g C O 5a b C Mp d e 7LS374D 6D 5D 4D0D1D2D 3COM 4CMCOM COMCM 2CMCOM 1COMCOM 0COM C 23P C 1P C0D 4D 5D D 7ac e f

    18、gDp OM 0 M OM 2C M3C OM4CO M 5三。其它技术要点ED 数码显示器扩展:字型和字型码对应:0,C0H,0H,0F9,05H,92H,06,82H,0AH,8H,0H,0CH,0D,0A1H,0,6,0FH,4H,21H,8CH,22,0A3,10H,0CH,11H,0F0H,12H,0C,H,0H,14H,0F7H,5H,0CFH,1H,0E,17H,0FH 。其中21H,22H 代表 和 。10H7表示,,,,。 动态显示原理:建立显示缓冲区BUF:存放字形代码,由运算程序写入UF 显示子程序DISPLAY动态扫描显示: 关显示器:位选信号无效(全0 送字形代码 送

    19、位选信号当前位亮2 左右 重复亮下一位 显示子程序ISPLAY:调用一次扫描位,约1ms每秒调用24次左右 DISPAY 可用作延时矩阵键盘的扩展:键盘采用行输入列输出的方式进行控制,输出不同的数值,让不同的行生效,通过列输入判断列数值,把输出数据和输入数据组合起来计算键值。完成按键的确认。 行输出值 列输入值 1110 1111 无键按下 110 0 111011 11 311011111 无键按下1110 10 5 11 6 111 7 1011 键值转换:采用查询方式获得键值,建立了AE1存储对应键值和特征值:ABLE DB11101110B,0,11010B,0H,1101011,02

    20、H,。键盘的消除抖动处理:当按键被按下时会引起抖动,抖动时间不超过1ms 。 bcdf g pCM a f g CM Dpc de 引脚图.。.。OM bc e f gDp。共阳极按键按下前沿抖动后沿抖动处理的方法是:(1当某按键被按下后,调用DISLAY子程序,前沿消抖(2识别按键是否抬起(按键抬起时也应消除抖动随机序列生成:系统调用产生随机时间值,在循环调用时数值有很大的相关性,随机性得不到保证。采用伪随机码列表查询的方式由随机时间值查询序列获得随机序列,保证了随机值的不重复性。四.心得体会:通过本次设计,我们复习了微机原理与接口技术的相关知识,熟悉了25, 74LS7的相关技术,加深了对

    21、于汇编的理解和运用,掌握矩阵键盘和显示接口的硬件的设计方法,掌握键盘扫描程序和显示程序的编程方法,无论是软件还是硬件的相关方面,都有所收获。由于设计的工作量比较大,代码较长,使得我们形成了工作规划的习惯与分治策略:将每个小功能模块独立以便于维护和可读性,同时还加深了团队协作能力和沟通技巧。实践出真知。我们虽然学习过微机原理与接口技术,但是时间久远,有点陌生了。通过本次设计,自己查询资料,自己写代码并维护,一个小小的失误都导致运行出错,由此每一个程序的错误都记忆深刻,在设计过程中必须万分谨慎,牢记每个知识点,这比书本上告诉我们的要来的高效得多。最后,感谢在本次设计帮助过我们的老师,同学。补充:完

    22、整代码ATA MENUF D DUP(;存储随机数。TBL1DB11101110B,0,111101B,01H,111001B,2,1110011B,0,11011B,04H,1011101B,0H,11011B,0,1101011B,07HDB1010B,08,10111101B,09H,011101B,0H,101011,0B,0111110B,CH,011111B,0H,111011B,0E,11011B,0H ;键值对应表.TABE2 0,C0,1H,0F9H,0H,92H,06,82H,0H,8,CH,0C6H,0,0,EH,8H,0FH,8EHD21,8H,22H,0A3H,10H

    23、,0C8H,11H,00H,2H,0CH,13H,0C6H,14,0FH,15H,0CFH,16,0FE,17H,FH ;键值对应显示表TABE3 B 0,7,,11H,2,H,3,5H,4,10H,,12H,6,14H,7,16H;定义伪随机表SCNM DW 000 ;定义扫描次数.RESULT DW 0 ;定义成绩。LED DB1111101BDA ENDSTACSEMNT TCKDW 256DUP(? ;定义堆栈,预留256个单元.TOLAEL W ;标记栈顶。TACK NDSCD EGETASSUMECS:DE,D:DATA,S:STCSTART:MOV A,ATMOV D,A;数据段

    24、段址送DS。M SS,AX ;堆栈段段址送SSMOV SP,OFFEOP ;获取堆栈指针.MO ,EE03 ;DX指向5的D口.M AL,1000100;工作方式状态控制字,表示方式,端口C输出。OUT DX, ;完成8初始化。STE1:CALL FA TRRDNUM;调用RDNU生成随机数,存储于BU。LA DI,UF ;I传递当前正在比较的随机数。OV CX,SE2:CALL AR PTRSCNNUM ;扫描键值,返回值存于BL。LLA PT CMPNUM ;比较数值.ICI ;读取下一个随机数。OO STEP2;循环四次逐个键值扫描,比较.EP: ;将成绩转换对应评分。OAX,LTCMP AL,4JE NCECMPAL,JEGODCMP A, PSFIL:;成绩小于输出FAL。OAH,0FM BU,AHOV A,0AMO BUF1,AHMO AH,1HMOV BF2,AHOVBF3,JM STEP4PASS: ;成绩为输出SS。MOA,2HMOV BUF0,AO AH,0AHMOVBUF1,AMOV ,5HOBU2,AHMV BUF3,AHMSTEP4GOOD: ;成绩为3输出GOD.MA,6HMOV BU,AMO AH,HMOV BF,HMV 2,AMOAH,HMO BU3,HM STEPIE:;成绩为输出NICE。OV H,0HMOV


    注意事项

    本文(西安电子科技大学通信工程学院课程设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开