微型计算机技术课程设计报告长江大学.doc
《微型计算机技术课程设计报告长江大学.doc》由会员分享,可在线阅读,更多相关《微型计算机技术课程设计报告长江大学.doc(33页珍藏版)》请在咨信网上搜索。
微型计算机技术课程设计报告长江大学 33 2020年4月19日 文档仅供参考,不当之处,请联系改正。 微型计算机技术 课程设计 指导教师: 李鹏 蔡明文 班 级: 计科11205班 姓 名: 专…… 学 号: …………… 班内序号: 35 课设日期: 12月22日~ 1月4日 课设题目: 电梯控制系统电路及程序设计 一、课设目的 1.经过本设计,使学生综合运用《汇编语言与微型计算机技术》、《数字电子技术》等课程的内容,为今后从事计算机检测与控制工作奠定一定的基础。 2.掌握接口芯片8253、8255A、8259等可编程器件、译码器74LS138、8路同相三态双向总线收发器74LS245、六缓冲器/驱动器/反相器74LS06、点阵显示器件和七段数码管的使用。 3.学会用汇编语言编写一个较完整的实用程序。 4.掌握微型计算机技术应用开发的全过程,包括需求分析、原理图设计、元器件选用、布线、编程、调试、撰写报告等步骤。 二、课设内容 1.电梯程序启动后的初始状态 点阵显示器件能够显示的三种状态分别为:“↑“ “↓”、“-”。含义分别为电梯“向上运行中”、“ 向下运行中”、“停止,乘客上下”。这三种状态的点阵数据需要自己生成或经过点阵软件生成。其初始状态为“-”。 当电梯在某层停止时,黄色发光二极管每秒闪烁一次,15秒用于乘客上下(这个时间在调试时为了节省时间能够减少为5秒。也可用“←”控制乘客上下时间小于15秒时关门启动,用“→”控制乘客上下时间大于15秒时开门等待,选作);15秒后黄色发光二极管灭,触发绿色发光二极管每秒闪烁一次,表示电梯正在运行中;相邻的两层之间运行3秒,绿色发光二极管灭,触发七段数码管显示的楼层数加1或减1。两个发光二极管的初始状态都为“灭”,七段数码管能够显示的楼层为“0~9”,其初始状态为“0”,表示地下室或地下停车场。 2.电梯程序运行状态 电梯程序启动后,接收来自键盘的数据进入运行状态。来自键盘的合法数据只有“0~9”、“↑”、“↓” 、“←”、“→”、“空格”和Esc,程序应该检查来自键盘数据的合法性。除Esc是结束程序运行外,来自键盘的数据应为“数字+方向+数字”。来自键盘的数据能够是连续的,也能够是间断的。输入的数据要尽可能测试到各种情况,至少完成电梯一次完整的升降,如“3↑5 5↑7 5↑7 5↑3 1↑3 9↓4 9↓6 Esc”的一种可能的处理过程为0→3→5→7→9→6→4→0→1→3→9→0。另一种可能的处理过程为0→1→3→5→7→9→6→4→0。 3.结束电梯程序运行状态 按下Esc键结束程序。点阵显示器件显示“-”, 两个发光二极管的状态都为“灭”,七段数码管显示的楼层为“0”。 三、设计所需器材及工具 1.一块实验面包板(内含时钟信号1MHz或2MHz)。 2.可编程芯片8253、8255、74LS245、74LS06各一片,74LS138两片;发光二极管2个(绿色、黄色各1个);排电阻1个;七段数码管1个;200欧母电阻16个;8×8点阵显示器件一片。 3.导线若干。 4.示波器、万用表、常见工具等共用(从实验室现借现还)。 四、设计思路 1.利用一个74LS138设计地址译码电路,8255端口地址:300H~303H,8253端口地址:304H~307H。 2.74LS245用于总线和8253、8255之间的双向传输和隔离。 3.利用面包板上时钟(1MHz或2MHz)和8253设计一个1秒定时电路,将定时信号(1秒方波)接到总线的IRQ2或IRQ10送给8259。 4.8255的PA口控制点阵显示器件行变化,200欧母电阻接在PA口和点阵显示器件之间。PB口经过另一个74LS138控制点阵显示器件列变化,PB口经过还需经过74LS06控制发光二极管的的变化。 5.PC口控制七段数码管变化,200欧母电阻接在PC口和七段数码管之间。 6.每个74LS06中包含了6个非门,它的输入来自PB口的某一位,输出接到发光二极管的负极。 7.每个发光二极管的正极接排电阻的从2到9的一个引脚,排电阻的1脚接VCC(+5V)。 五、设计步骤 1.设计电路原理图,用protues画出电路图如下 2.用所给器件布线,按照protues里面的仿真图搭建好硬件电路。 3.选用汇编语言编写电梯运行的主程序以及各芯片调试子程序。 4.调试并排除括硬件电路设计错误和软件设计错误,使系统达到设计要求。 六、设计原理图 七、芯片介绍 (1) 74LS245数据总线缓冲器 74LS245功能表 (2)74LS06 (3)74LS138 (4)8253定时╱计数器 (5)8255A (6)七段数码管 (7)发光二极管 (8)排电阻 (9)点阵显示器788BS 八、电梯流程图 初始化 等待 确认本层与目标层 目标层与本层是否同层 是否目标层 楼层检测 电梯运行 电梯选向 停止 九、程序设计 SSEG SEGMENT STACK DW 200 DUP(?) SSEG ENDS DATA SEGMENT MESG2 DB 'Please input the direction and the number of the elevator ',0ah,0dh DB 'as dir ("UP"or"DOWN") + num (0--9)',0ah,0dh DB 'Exit with Esc',0ah,0dh,'$' NOW_FLOOR DB(1) ;电梯现在楼层 NEXT_FLOOR DB(1) ;电梯目标楼层 STATE DB(0) ;电梯运行的状态 0表示暂停 1表示向上 2表示向下 TIMECOUNT DB(0) ;时钟计数 SIGN DB(1) UP DB 18H,0CH,06H,0FFH,0FFH,06H,0CH,18H DOWN DB 18H,30H,60H,0FFH,0FFH,60H,30H,18H STOP DB 00H,18H,18H,18H,18H,18H,18H,00H SEVLED DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,10H SIGN_BUF DB(0) UP_BUF DB 10 DUP(0) DOWN_BUF DB 10 DUP(0) MESG1 DB 'THE NUMBER IS ERROR',0DH,0AH,'$' INTOA_OFF DW(?) INTOA_SEG DW(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV DX,DATA MOV DS,DX MOV DX,SSEG MOV SS,DX MOV AH,09H MOV DX,OFFSET MESG2 INT 21H ;显示提示信息 ;初始化8255 MOV DX,303H MOV AL,10000000B OUT DX,AL MOV DX,300H MOV AL,00H OUT DX,AL MOV DX,301H MOV AL,00H OUT DX,AL MOV DX,302H MOV AL,0FFH OUT DX,AL ;中断的设置 MOV AX,3572H INT 21H MOV INTOA_OFF,BX MOV BX,ES MOV INTOA_SEG,BX CLI MOV AX,2572H MOV DX,SEG LEDLIGHT PUSH DS MOV DS,DX MOV DX,OFFSET LEDLIGHT INT 21H POP DS STI ;打开IRQ10和IRQ2 IN AL,0A1H AND AL,0FBH OUT 0A1H,AL IN AL,21H AND AL,0FBH OUT 21H,AL ;8253初始化产生1S的计时 MOV DX,307H MOV AL,01110110B OUT DX,AL MOV DX,305H MOV AL,0E8H OUT DX,AL MOV AL,03H OUT DX,AL MOV DX,307H MOV AL,10110110B OUT DX,AL MOV DX,306H MOV AL,0E8H OUT DX,AL MOV AL,03H OUT DX,AL INPUT: CALL FAR PTR MATRIX_SHOW CALL FAR PTR DIGITRON_SHOW MOV AH,0BH INT 21H CMP AL,00H JZ INPUT MOV AH,00H INT 16H CMP AL,0DH JZ NEXT0 ;若没有输入为回车,进入运行状态 CMP AL,1BH JNZ NEXT ;若输入ESC则退出程序 JMP EXIT NEXT: CMP AH,48H JZ M_UP CMP AH,50H JZ M_DOWN JMP INPUTERROR M_UP: MOV AH,01H INT 21H CMP AL,'0' JB INPUTERROR CMP AL,'9' JA INPUTERROR SUB AL,30H MOV AH,00H MOV SI,AX MOV UP_BUF[SI],01H JMP INPUT M_DOWN: MOV AH,01H INT 21H CMP AL,'0' JB INPUTERROR CMP AL,'9' JA INPUTERROR SUB AL,30H MOV AH,00H MOV SI,AX MOV AX,0009H SUB AX,SI MOV SI,AX MOV DOWN_BUF[SI],01H JMP INPUT NEXT0: CALL FAR PTR MATRIX_SHOW CALL FAR PTR DIGITRON_SHOW CMP SIGN_BUF,14H JZ REPEAT CMP TIMECOUNT,02H JBE NEXT0 MOV TIMECOUNT,00H CALL FAR PTR RUN JMP NEXT0 REPEAT: MOV SIGN_BUF,00H MOV AL,NEXT_FLOOR MOV NOW_FLOOR,AL MOV STATE,00H JMP INPUT INPUTERROR: MOV AH,09H MOV DX,OFFSET MESG1 INT 21H JMP INPUT EXIT: MOV AX,2572H MOV DX,INTOA_SEG PUSH DS MOV DS,DX MOV DX,INTOA_OFF INT 21H POP DS IN AL,0A1H OR AL,04H OUT 0A1H,AL IN AL,21H OR AL,04H OUT 21H,AL MOV AH,4CH INT 21H ;电梯状态与运行程序 RUN PROC FAR PUSH AX PUSH BX PUSH SI MOV AL,NEXT_FLOOR CMP AL,NOW_FLOOR JA RUP CMP AL,NOW_FLOOR JB RDOWN MOV AL,SIGN MOV STATE,AL MOV AH,00H MOV BX,OFFSET UP_BUF R0: MOV AL,SIGN_BUF MOV SI,AX CMP BYTE PTR[BX+SI],01H JZ R1 INC SIGN_BUF CMP SIGN_BUF,14H JNZ R0 JMP RBACK R1: MOV BYTE PTR[BX+SI],00H CMP SIGN_BUF,09H JA R2 MOV AL,SIGN_BUF MOV NEXT_FLOOR,AL JMP RBACK R2: MOV STATE,02H MOV AL,SIGN_BUF SUB AL,0AH MOV AH,09H SUB AH,AL MOV NEXT_FLOOR,AH JMP RBACK RUP: ADD NOW_FLOOR,01H MOV STATE,01H MOV SIGN,01H MOV AL,NOW_FLOOR CMP AL,NEXT_FLOOR JZ R3 JMP RBACK RDOWN: SUB NOW_FLOOR,01H MOV STATE,02H MOV SIGN,02H MOV AL,NOW_FLOOR CMP AL,NEXT_FLOOR JZ R3 JMP RBACK R3: MOV STATE,00H JMP RBACK RBACK: POP SI POP BX POP AX RET RUN ENDP ;点阵显示程序 MATRIX_SHOW PROC FAR PUSH AX PUSH BX PUSH CX PUSH DX PUSH SI CMP STATE,00H JZ MSTOP CMP STATE,02H JZ MDOWN MOV BX,OFFSET UP MOV CL,00001000B JMP MRUN MSTOP: MOV BX,OFFSET STOP MOV CL,00010000B JMP MRUN MDOWN: MOV BX,OFFSET DOWN MOV CL,00001000B MRUN: MOV SI,0000H MLP: MOV DX,300H MOV AL,[BX+SI] OUT DX,AL MOV DX,301H MOV AL,CL OUT DX,AL INC SI INC CL CALL FAR PTR DELAY CMP SI,0008H JNZ MLP POP SI POP DX POP CX POP BX POP AX RET MATRIX_SHOW ENDP ;7数码管显示程序 DIGITRON_SHOW PROC FAR PUSH AX PUSH DX PUSH SI MOV DX,302H MOV AH,0000H MOV AL,NOW_FLOOR MOV SI,AX MOV AL,SEVLED[SI] OUT DX,AL POP SI POP DX POP AX RET ENDP ;延迟程序 DELAY PROC FAR PUSH CX PUSH BX MOV BX,0FFH DLP2: MOV CX,0FFFH DLP1: LOOP DLP1 DEC BX JNZ DLP2 POP BX POP CX RET DELAY ENDP ;中断服务程序 LEDLIGHT PROC FAR PUSH AX PUSH DX CLI ADD TIMECOUNT,01H IBACK: ;发出EOI命令 MOV AL,62H MOV DX,0A0H OUT DX,AL OUT 020H,AL STI POP DX POP AX IRET LEDLIGHT ENDP CODE ENDS END START 十 课设截图 十一 课设总结 首先刚刚拿到这个课设题目时我一下子懵了,不知道程序怎么写。我的小伙伴桂蓉也是,我们两就在网上搜集了一些资料,然后相互讨论。我主要负责写程序,她主要负责连线。当我们拿到实验箱之后我们就开始积极分工互助合作。连线比较麻烦特别是要仔细,不能出错。很快我们摸清了连线的套路,实验箱上的带有绿线的一竖条是联通的,接地。带有红线的一条是联通,接VCC(+5v)。每一个块的一横条是联通的,芯片跨越在两个横块之间。我们开始布局芯片的位置,布局完了就开始连线。我们两一起对照着每个芯片的引脚图开始连线,经过两个多小时的奋斗,线终于连好了。于是我们开始调试程序,当我们开始测8255时,没有任何反应,于是我们又仔细检查连线,果然reset接口没有接。当我们接好之后再次测量终于成功接好了。 关于硬件调试我们弄了好几天,我的小伙伴桂蓉主要负责连线。我主要写程序和调试,说到写程序,开始的时候我纠结了好久,不知道到底用c语言编还是用汇编语言编,毕竟c语言我熟一些,汇编只是刚刚接触。可是毕竟我们学微机原理真门课主要讲的还是汇编,因此我想锻炼一下自己,果断用汇编语言写。当然开始存在很多问题,比如说不知道中断如何使用,不知道如何输出3秒和5秒的时间间隔,另外我也对汇编里面的语法不是很熟,上课老师讲的很清楚,可是现在我忘记了一些。面对如此多的问题,这时候,我翻开书本上的汇编语言程序设计那一章。我看了书上很多例子,我渐渐明白了软中断的各个用法,现在摆在我面前的是如何用这些软中断,以及8253输出的一秒中断怎么使用。大致思路我都懂,就是不知道如何调用这些中断。我又翻开中断那一章以及我们做的实验9(8259),我明白了中断的具体用法,现在我开始我的编程了!,首先有一个数据段,里面要放很多东西,定义一个变量存放当前的楼层,定义一个数组存放输入的楼层,定义一个堆栈保护现场。再我的不懈努力下,终于程序写完了。可是正当我准备调试的时候,我发现我的实验箱上的8253运行不了,然后我和我的小伙伴桂蓉仔细检查连线,我们同时也拿来万用表测量,最后我们确定是8253出了问题 ,于是我们们换掉了8253,果然,这次成功了,可是我写的程序却运行不了,执行起来没有错误,可是不出结果,这最让人脑壳疼。我又静下心来仔细检查我的程序,发现了一些逻辑上的错误,中断程序在执行的过程中,当调用点阵显示的子程序时,陷入了死循环当中不能出看来,当下一个中断信号来临时,所需要的子程序无法继续执行,陷入了忙等状态。这时候,我又在网上查询了一些中断程序的写法,真的。我做出来,可是点阵码有点乱,向上箭头和向下箭头不是很完美,我又仔细检查连线,原来有两根线没有按顺序连好。当一切ok了之后,终于程序正常的运行了。我和我的小伙伴都非常开心,尽管我们不是前几个做出来,可是这连线,这写程序让我学到了很多。 在此,我想说经过这个课设,我真的学到了很多东西,第一:耐心,我和我的小伙伴都重连了好几次线,这确实要耐心,开始我有点烦躁,幸好我的小伙伴及时安慰我,她很相信我能解决一些难题,我也很相信她能把线连的perfect!第二:合作,我和我的小伙伴都学会了如何分工合作,现在她把连线记得相当熟练,我把程序也理解的相当透彻,我们两在一起分工合作真的很有效!第三:动手能力大大提高,我和我的小伙伴在连线的过程中,不断地剪线,插线,确实很大程度上锻炼了自己!第四:对微机原理这门课程又得到了相当大的了解,对寄存器,存储器,以及寻址方式等理解的更透彻!也相当于复习了这次微机原理的期末考试!总之,收益匪浅啊,感谢老师给了我这么好一次锻炼自己的机会! 指导老师意见: 成绩 教师签名- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机 技术 课程设计 报告 长江大学
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文