闪烁灯课程设计

闪烁灯课程设计

ID:20431320

大小:1.22 MB

页数:10页

时间:2018-10-13

闪烁灯课程设计_第1页
闪烁灯课程设计_第2页
闪烁灯课程设计_第3页
闪烁灯课程设计_第4页
闪烁灯课程设计_第5页
资源描述:

《闪烁灯课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、目录一、设计目的………………………………………………………………………2二、设计内容与要求………………………………………………………………2三、设计原理与硬件电路…………………………………………………………2四、接线电路图与实物电路图……………………………………………………3五、程序流程图……………………………………………………………………4六、程序代码………………………………………………………………………5七、程序及硬件系统调试情况……………………………………………………9八、设计总结与体会…………………………………………

2、……………………9九、参考文献………………………………………………………………………10-9-一、设计目的课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要环节。通过课程设计,熟悉和掌握微机系统的硬件设计的方法、原理、设计步骤。熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤。不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰

3、写设计报告表达设计思想和结果的能力。二、设计内容与要求硬件设计题十一闪烁灯利用8253实现闪烁灯效果,并最终通过键盘输入指定时间实现定时闪烁,同时利用七段数码管倒计时辅助显示闪烁时间,实现定时设定功能。比如:按下键盘9号键,则LED灯开始每秒闪烁一下,9秒后停止闪烁,实现定时闪烁;同时数码管从9开始倒计时显示辅助显示闪烁时间。三、设计原理与硬件电路启动后,通过8255的C口开始扫描键盘。当有键按下时,排除抖动的可能并且判断释放该键后,得到键码。然后通过8255的A口送出倒计时的码值,通过8255的PB0启动8253的分频电路

4、,得1s方波,驱动LED闪烁。键盘上按键的位置采用扫描法得到。行线接+5V,作为8255的C口低四位输入,列线由8255高四位输出,逐列输出0。检测C口高四位是否有0,若有则该列所在行的键即为按下的键。当然逐列扫描前要先判断是否有键按下,并延时后,再次判断有无键按下,以排除键盘抖动的可能性。键盘按键的键码的确定。当然我们可以对每一种情况进行赋值,但考虑到只用到1~9键,为了精简程序,采用以下特殊方法确定键码。由下图可以发现,1~9键中,下一列都比前一列同一行的值多1。抓住这一特点,将每列的初值Y0~Y2依次设为0、1、2,则

5、X2行的该列的键码就是在该列初值的基础上加1合成;同理X1行加4与列初值合成,X0行加7与列的初值合成。在确定了键码后,要等键释放后才能执行相应的操作。8253实现将1MHz的信号分频成1Hz的方波的功能,然后用于驱动LED。分频须使用两个通道级联实现,而8253的启动右8255的PB0来控制。-9-四、接线电路图与实物电路图-9-五、程序流程图-9-六、程序代码codesegment-9-assumecs:code,ds:codestart:movax,csmovds,axleadi,ledtabmoval,35h;通道0

6、初始化,00110101b,16位,方式2,BCDmovdx,20bhoutdx,almoval,00h;写初值1000BCDmovdx,208houtdx,almoval,10houtdx,almoval,77h;通道1初始化,01110111b,16位,方式3,BCDmovdx,20bhoutdx,almoval,00h;写初值1000BCDmovdx,209houtdx,almoval,10houtdx,almoval,81h;8255初始化,10000001b,c口低四位输入,其余均为输出movdx,203houtd

7、x,alwait2:movdx,201h;B口清零,PB0=0,无方波,LED暗moval,00h-9-outdx,almovdx,200h;A口清零,数码管暗moval,00houtdx,alks1:callks;读取按键cmpal,0fh;判断有无键闭合(行有无低电平)jzks1;无键闭合movcx,0f0h;延时,去抖loop1:looploop1callkscmpal,0fh;再次判断有无键闭合jzks1movbh,0efh;初始化列码,11101111b,准备检测第一列movbl,00h;初始化列值jzk1cmpa

8、l,0bh;第三行(4)?jzk4cmpal,07h;第四行(7)?jzk7next:rolbh,1;列码左移一位incbl;列值加一cmpbh,0feh;判断该键扫描是否结束jnzagainjmpks1k0:addbl,0;与列值合成键码jmpwait1k1:addbl,1jmpwait

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。