网站大量收购闲置独家精品文档,联系QQ:2885784924

单片机课程设计流水灯设计.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE PAGE 2 单片机原理与接口技术 课程设计报告 目录 一.题目…………………………….3 二.设计要求……………………….3 三.器件选型……………………….3 四.设计理念……………………….3 五.电路硬件图…………………….4 六.程序流程图…………………….5 七.实验源程序…………………….6 八.实验总结……………………….8 九.参考文献……………………….11 题目: 流水灯2 二.设计要求: 设计一个流水灯控制器,在按钮A=0时,8个流水灯的里亮灭顺序是1.,2,3,4,5,6,7,8;当A=1时,8个灯得亮灭顺序是8,7,6,5,4,3,2,1。按钮B可以随时启动或停止流水灯的运行。 器件选型: MCS-8051单片机,8个LED灯,按钮A,B等。 四.设计理念: 将按钮A设在P3.6,按钮B设在P3.7。在按钮A=0时,若B=0,则灯不亮;若B=1,则8个灯按照1,2,3,4,5,6,7,8的顺序亮灭,反复循环,B随时按下都可以启动或停止流水灯的运行。在按钮A=1时,若B=0,则灯不亮;若B=1,则8个流水灯按照8,7,6,5,4,3,2,1的顺亮灭,反复循环,B随时按下都可以启动或停止流水的运行。满足设计要求。 五.电路硬件图 六.程序流程图 开始 开始 主程序运行 结束 判断 按钮A是否按下 是 判断B是否按下 否 8个灯亮灭顺序为1,2,3,4,5,6,7,8 否 判断B是否按下 否 8个灯亮灭顺序为8,7,6,5,4,3,2,1 是 是 8个灯熄灭 实验源程序 #includeAT89X51 SBIT A=P3^6; SBIT B=P3^7; unsigned char i,j,k; void delays(void) //定义延时程序 { for(i=50;i0;i--) for(j=100;j0;j--) for(k=248;k0;k--); } void mian() { const unsigned char S1[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; const unsgned char S2[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char c; while(1) { { if(A==0) for(c=0;c8;c++) //8个灯亮灭顺序为1,2,3,4,5,6,7,8, { if (B==0) break; //按钮B随时可以启动或停止流水灯的运行 if(B==1) P2=S1[c]; delays(void); } } { if(A==1) for(c=0;c8;c++) //8个灯亮灭顺序为8,7,6,5,4,3,2,1 { if(B==0) break; //按钮B随时可以启动或停止流水灯的运行 if(B==1) P2=S2[c]; delays(void); } } P2=0xff; //8个灯熄灭 } } 实验总结 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。 单片机应用系统一般由包含多个模块得主程序和。各种子程序组成。每一模块都要完成一个明确的任务,实现某个具体的功能,如计算、接受、发送、延时、显示和打印等。采用模块化程序设计方法,就是将这些具体功能程序进行独立设计和分别调试,最后将这些模块程序装配成整体程序并进行联合调试。模块化程序设计方法的优点:一个模块可以为多个程序所共享;单个功能明确的程序模块的设计和调试比较方便,容易完成;利用已经编好的成熟模块,将大大缩短开发程序的时间,降低开发成本。 采用循环结构和子程序结构可以使程序的容量大大减少,提高程序的效率,节省内存。对于多重循环,要注意各重循环的初值和循环结束的条件,避免出现程序无休止循环的“死循环”现象;对于通用的子程序除了用于存放程序入口参数的寄存器外,子程序中用到的其他寄存器的内容应压入堆栈保护现场,并要特别注意堆栈操作的压入和弹出的平衡;对于中断处理子程序除了要保护处理程序中用到的寄存器外,还要保护标志寄存器。 程序设计的步骤 1.明确条件和要求   首先要根据系统设计及其他有关资料,

文档评论(0)

beoes + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档