微机接口彩灯控制器课程设计报告.docxVIP

  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文档。上传文档
查看更多
微机接口彩灯控制器课程设计报告

《微型计算机原理与接口技术》课程设计学院:专业班级:姓名:学号:指导老师:年月日~年月日一、课程设计题目、实验目的●掌握综合使用基本输入输出设备、通用接口芯片、专用接口芯片的方法●掌握实时处理程序的编制和调试方法(二)、实验内容用实验仪上的并行接口8255控制键盘和八个发光二极管,设计一个彩灯控制器。当按下键盘上的某个键后,八个发光二极管分别按三种花絮方式工作:1键:每隔2秒,先从左至右依次变亮,全亮后再从右至左依次熄灭。2键:每隔2秒,先从右至左依次变亮,全亮后再从左至右依次熄灭。3键:每隔2秒,八个发光二极管同时闪烁两遍(同时亮后再同时熄灭)。4键:熄灭八个发光二极管,退出程序。其余键:提示出错信息。(三)、实验提示(1)用8255的A口和B口控制试验仪上的小键盘,C口控制八个发光二极管。(2)用8253生成周期为2秒的定时信号,作为8259的中断申请信号。(3)在中断处理程序中,根据Flag标志位的值控制二极管的工作方式。(四)、程序提示:(1)8253芯片:①输入时钟信号CLK0为307KHZ。②输入信号要求周期为2秒的定时信号。③则计数初值:N=fclk*Tout=307KHZ*2s=614000计数器N0:计数初值为614,工作在方式3;计数器N1:计数初值为1000,工作在方式2; (2)8255芯片:首先设A口工作在方式0,为输出端口,B口工作在方式0,为输入端口,在确定键盘有按键按下时,再将8255反向设置为A端口输入,B端口输出;C端口一直处于输出端口,连接八个发光二极管。二、设计方案描述(一)、主程序流程图如下:开始设置堆栈段和数据段置标志Flag=0关中断,初始化接口设置中断向量,开屏蔽显示提示信息1调用键盘扫描子程序有键按下N‘4’键‘3’键‘2’键‘1’键无效键关中断,置屏蔽位开中断返回DOS关中断,Flag=3,开中断关中断,Flag=2,开中断关中断,Flag=1,开中断关中断,显示提示信息2(二)、键盘实验流程图A口B口为输入,C口为输出Y从A口输入数据,比较为高电平?N保存列值延时去抖动从B口输入数据N与键表比较,是否找到匹配键Y显示输入的字符(三)、中断服务程序流程图保护现场开中断输出一个字符关中断发中断结束命令恢复现场中断返回三、个人实现情况(一)、接线布置:8253引脚连接: 1、 clk0——实验仪上的时钟信号select; out0——clk1; gate0、gate1——VCC; out1——IRQ5; CS#——220H~223H. 2、8255、8279引脚连接:PA0~PA2——Y0~Y2;PB0~PB7——RL0~RL7;PC0~PC7——DL8~DL1;CS#——208H~20BH.(二)、具体实现的功能:(1)单个子程序运行能扫描键盘;(2)单个字程序运行能按照要求实现不同的花序。 (三)、实现程度:(1)键盘的扫描程序运行正常;(2)实现花序的子程序运行正常; (3)整个程序运行的情况,调试时运行go语句后会出现乱码,在按下按键后,看不到各种花序的现象。四、总结和设计体会本次课程设计成果让我们得以体会课程的意义,学习系统设计的方法,养成良好的汇编习惯,培养了我们在生活中发现问题、应用所学知识解决问题的能力——这些都是社会所需要的,我们必须具备的素质。刚拿到课程设计的题目的时候都不知如何下手,课程设计不同于实验课,所有的东西都要自己设计。静下心来,仔细分析题目,再加上老师的说明与提示,心中才有了谱。将整个系统根据不同的功能划分成模块,再分别进行设计,逐个攻破,最后再将其进行整合即可。在课程设计中也经常会遇到各种不同的问题,这样就必须和同学讨论或者请教老师了,这样既能节省时间也可以从别人身上学到很多。通过这次课程设计,我学会了与人合作。无论是工作还是学习,合作无处不在。课程设设是两到三个人一组,在课程设计中我们要根据具体要求,合理分工,遇到问题共同探讨,只有这样才能在最短的时间高效率的完成任务。五、关键部分的程序代码data segmentX db ?Y db ?Done db ?Flag db 0 ;设置标志位key01 db 0feh,0fch,0f8h,0f0h,0e0h,0c0h,80h,00h,80h,0c0h,0e0h,0f0h,0f8hkey02 db 7fh,3fh,1fh,0fh,07h,03h,01h,00h,01h,03h,07h,0fh,1fh,3fh,7fhkey03 db 0ffh,00h,0ffh,00h,0ffhmessage1 db 0dh,0ah,”input your choose$”message2 db 0dh,0ah,”error,input again$

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档