接口课程设计报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
 接口课程设计报告

课程设计报告 姓名:周建美 专业:计算机科学与技术 课程名称:微机接口技术 班级:2010级科技二班 系(分院):计算机科学与技术学院 年 月 1、课程设计要求: 选取8255A作为扩展接口芯片,输入设备为开关和非编码键盘,输出设备为发光二极管和七段数码管。要求由键盘输入倒计时时间(至少为三位,分和秒用“-”隔开),要求计时精度高于0.1秒,输入计时时间后,由七段数码管显示并在开关的控制下,实现“开始倒计时”、“暂停倒计时”和“结束倒计时”。倒计时结束、倒计时暂停、倒计时开始要由不同的发光二极管点亮或闪烁状态予以指示。 2、总体设计 2.1总体要求 课程设计要求有键盘,数码管,LED指示灯,开关。从键盘输入两位(至少两位,多者不限)十进制数,动态显示在数码管上,有开关控制倒数、启动、暂停、退出指示灯,运行状态指示灯(绿),暂停状态指示灯(红)。 2.2设计原理的描述 电源开关=PC0,暂停开关=PC1;电源指示灯=PC7,暂停指示灯=PC6;PC0=1启动,=0退出,PC1=1暂停,=0不暂停,电源灯常亮,暂停等闪烁,非暂停时刻熄灭。 图 1 单片机原理图 3、硬件原理图 +5V 8255A 34 4 PA0 33 3 PA1 32 2 PA2 31 1 PA3 30 40 PA4 29 39 PA5 28 38 PA6 27 37 PA7 5 18 PB0 36 19 PB1 9 20 PB2 8 21 PB3 22 PB4 35 23 PB5 6 24 PB6 7 25 PB7 14 PB8 15 PC1 16 PC2 17 PC3 13 PC4 12 PC5 11 PC6 10 PC7 图 2 硬件连接图 4、程序设计 4.1程序流程图 图 3 流程图 4.2源代码 A口 equ 218h B口 equ 219h C口 equ 21ah 位选 equ 210h 段选 equ 211h 控制字 equ 21bh data segment 键位码 dw 0101h,0102h,0104h,0108h,0110h,0120h,0140h,0180h dw 0201h,0202h,0204h,0208h,0210h,0220h,0240h,0280h ; dw 0410h,0420h,0440h,0480h 键位位移 db 12,13,14,15,11,10,9,8,4,5,6,7,3,2,1,0 显示码 Db 3fh,30h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch, 58h,5eh,79h,71h,40h 缓冲区 DB 十位位移,个位位移 data ends code segment assume cs:code,ds:data start: push ds xor ax,ax push ax mov ax,data mov ds,ax ********主程序********** MOV DX,控制字 MOV AL,81H OUT DX,AL MOV DX,C口 等待开机:IN AL,DX TEST AL,1 JZ 等待开机 开启电源指示灯: MOV DX,控制字 MOV AL,88H OUT DX,AL MOV DX,C口 MOV AL,0FEH OUT DX,AL MOV BX.缓冲区 CALL 键盘扫描子程序 ;获取显示码1位移量 MOV DX,控制字 MOV AL,82H OUT DX,AL MOV DX,A口 MOV AL,0 OUT DX,AL MOV DX,B口 等待按键2:IN AL,DX CMP AL,0FFH JNZ 等待按键2 MOV BX,缓冲区+1 CALL 键盘扫描子程序 ;获取显示码2位移量 LEA BX,缓冲区 LEA SI,[BX+显示码] LEA DI,[BX+显示码+1] 主控循环: CALL 暂停子程序 CALL 动态显示子程序 CMP [DI],3FH JNZ 倒数 CMP [SI],3FH JZ 退出 LEA DI,显示码+10 倒数:DEC SI;十位指针-1 DEC DI;个位指针-1 JMP 主控循环 ;**********************

文档评论(0)

ysf428 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档