欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOCX文档下载  

    秒倒计时报警器设计单片机课程设计.docx

    • 资源ID:11992321       资源大小:44.41KB        全文页数:12页
    • 资源格式: DOCX        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    秒倒计时报警器设计单片机课程设计.docx

    课程设计说明书目录第一章系统概述1.1设计目的11.2设计内容求11.3设计要1第-一早系统方案22.1总体方案22.2方案组成2第二早软件设计33.1主程序设计3倒计时模块43.1.2键盘扫描模块4.5实施结果.6第四早总结体会64.1设计心得及体会64.2参考文献.7附录程序清单8第一章系统概述1.1设计目的此次设计是我们更进一步了解根本电路的设计流程,提高自己的设计理念,丰富自己的理论知识,稳固所学知识,使自己的动手动脑能力有更进一步提高,为自己今后的学习 和工作打好根底,为自己的专业技能打好根底。通过解决实际问题,稳固和加深“单片微 型计算机原理与接口技术课程中所学的理论知识和实验能力, 根本掌握单片机应用电路 的一般设计方法,学习定时器的使用方法、独立按键程序编写、多位数码管扩展方法,提 高实验能力,加深对单片机软硬知识的理解,获得初步的应用经验,为以后从事生产和科 研工作打下一定的根底。本次设计注重对单片机工作原理以及键盘控制及显示原理的理 解,提高自己的动手能力和设计能力,培养创新能力,丰富自己的理论知识,做到理论和 实践相结合。本次设计的重要意义还在于对单片机的内部结构和工作状态做更进一步的了 解,同时还对单片机的接口技术,中断技术,存储方式和控制方式作更深层次的了解。1.2设计内容1设计一个1-200秒倒计时报警器,报警时间可调,用数码管显示报警时间,用 两个按键可调节报警范围,一个按键启动,一个按键设置 /修改。2画出程序流程图并编写程序实现上述功能。1.3设计要求1、能够实现秒的倒计时功能;2、倒计时结束,报警提示;3、通过按键能够设置倒计时报警器的初始值;第二章系统方案2.1总体方案设计时可采用模块化程序设计方法。模块划分时应遵循下述原那么:1每个模块应具有独立的功能,能产生一个明确的结果。2模块之间的控制参数应尽量简单,数据参数应尽量少。3根据模块的划分原那么,将该程序划分成 5个模块,如图2-2所示。图2-2倒计时器设计框图2.2方案组成硬件局部由重设按钮、启动按钮、AT89C51单片机、一个6位共阴极LED显示器等组成。软件局部主程序主要由系统初始化段、键盘识别、键值处理,以及6位共阴极LED显示器扫描显示子程序,T1中断。第三章软件设计3.1主程序设计所以主程序的设计一般包括:主程序的起始地址,中断效劳程序的起始地址,有关内 存单元及相关部件的初始化和一些子程序调用等等。(1) 程序的起始地址MCS-51系列单片机复位后,(PC =0000H而0003H002BH分别为个中断源的入口地 址。所以,编程也应在0000H处写一跳转指令。当CPUS受到中断请求信号并予以响应后,CPU把当前的PC内容压入栈中进行保护, 然后转入响应的中断效劳程序入口处执行。 一般在响应的中断效劳程序入口处写一条跳转 指令,并以跳转指令的目标地址作为中断效劳程序的其始地址进行编程。(2) 主程序的初始化内容所谓初始化,是对用到的单片机内部部件或拓展芯片进行初始工作状态设定。在本例中,使用了两个中断,即 T1。其中:1.T1中断:采用T1定时中断工作方式,完成倒计时。(3) 主程序流程图 法消除。本设计采用软件方法。在这里介绍几个主要的模块:主程序341倒计时模块设计设置各中断效劳程序的入口地址(1)定时器T(T1计数初值为:TH1 = (655相关存放器清2零6 ;卩1= (65536-700) MOD 256工作方式 TM0D=00000001H=01H(2)流程图如图丨4-2所示键盘扫描模块:数码管显示初始状态开始倒计时按键扫描位。扫描按键情况,并显示在数码管的耘存放器清零在闭合及断开的瞬间均伴随有一连串按键去抖动的处理。由于机的抖动,抖动时间长短由按键的机械设置定时器一般工作方式510ms而按键稳定闭合时间的I进长短那么是由操作人员的按键动作决定的,I进行倒计时般为零点几秒至数秒键抖动会引起一次按键被误读屡次,为了确保Y指示灯亮灭.,判断按键次数键抖动可用硬件和软件两种方显示程序模块由于该系统使用的是六位LED显示器显示倒计时,因此显示采用动态扫描显示方法,即由显示器扫描显示子程序控制显示器逐个循环从左至右依次点亮各个显示器。这样虽然在任一时刻只要一个显示器点亮, 但是由于人眼具有视觉残留效应, 看起来与全部显示器 持续点亮效果一样。如下面的图所示:实施结果1首先开始找到主程序入口地址,运行程序;2按A时间加,按B时间减,时间在1到200,按C开始倒计时。倒计时的时候可以 随时按A或者B更改时间。3倒计时的时候可以随时按A或者B更改时间。4倒计时结束二极管亮起,蜂鸣器响三秒结束后可以重新赋值。第四章总结体会4.1设计心得及体会该倒计时器是基于定时而设计的实现计时报警指示灯亮的装置。由键盘扫描、动态LED显示电路、指示灯亮三大局部构成。装置利用 AT89S5仲片机构成电路,以实现对计时时间的控制。同时装置还用一个由电平控制的指示灯的亮灭装置,用以实现倒计时时间到时提示,以及错出现时候的提示。本装置的最大特点是实时性强,可操作性好。因为采用了矩阵式键盘控制,能够随时改变倒计时时间,所以装置能够应对不同的要求而做出相应的调整,以适应不同的环境。 看事物要辩证的看。本装置也存在一些缺点值得注意。如当按键开关出现问题时,系 统会出现错误,出现指示灯亮的状态。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力如何把我 们所学的专业根底课理论知识运用到实践中去呢我想做类似的课程设计就为我们提供了 良好的实践平台。我在整个设计过程中懂得了许多东西,当遇到一不了的问题,跟同伴一起商量、合作, 或许能收到事半功倍的效果。不管学什么,一定要打好根底,并将其学好、学精,但空有 知识也不一定就能说明什么,还得能为己所用;还有更重要的是培养了独立思考和设计的 能力,树立了对知识应用的信心,相信会对今后的学习工作和生活有非常大的帮助,并且 提高了自己的动手实践操作能力,使自己充分体会到了在设计过程中的成功喜悦。虽然这个设计做的不是很完美,但是在设计过程中所学到的东西是这次课程设计的最大收获和 财富,使我终身受益;最后,也是我感触比拟深的一点,这次课程设计时为数不多的独立完 成的一次,虽然过程中遇到很多困难,让自己犯愁过,彷徨过,急躁过,可当自己很快调整好 心态,从跌倒的地方爬起来继续,最后取得成功,不止是成功后的喜悦,也是一次锻炼!本次课程设计总的来说是比拟成功的,但在设计及操作过程中也遇到了不少的问题。这个过程当然也就少不了老师和同学的帮助,所以我们要感谢给予我们帮助和支持的老师 和同学。在设计过程中,我们始终得到他们的悉心教导和认真指点,使得我们在理论知识 和动手操作方面都有了很大的提高!通过这次课程设计使我们懂得了理论与实际结合是很 重要的,只有理论知识是远不够的,只有把所学的理论知识与实践相结合起来,从理论中 得出结论,才能真正效劳于社会,从而提高自己的实际动手和独立思考的能力。同时在设 计的过程中我们也发现了自己的缺乏之处, 对以前所学过的知识理解得不够深刻, 掌握得 不够牢固。通过这次课程设计之后,也把以前所学过的知识重新进行了温故。它不仅锻炼 了我们的实际操作能力,还与我们的专业零距离接触,更主要的是我们学到了书本上没有 的知识,尤其感到自身对于书本知识的掌握太死板,并不能灵活运用。这样就使我们的理 论知识更加实践化了,让我们对书本上的知识也更加重视了,不再像以前那样盲目,同时 通过这次设计,对以后的毕业设计也奠定了一定的根底, 更为重要的是对我们自己的将来有了更为明确的奋斗目标4.2参考文献2021.1张毅刚.单片机原理及接口技术M 哈尔滨:哈尔滨工业大学出版社, 附录程序:#include<reg51.h>sbit b_1 =P2A0;II数码管引脚定义sbit b_2 =P2A1;II数码管引脚定义sbit b_3 =P2A2;II数码管引脚定义sbit b_4 =P2A3;II数码管引脚定义sbit key_1=P1A0; |累加sbit key_2=P1A1;II移位sbit key_3=P1A2;II移位sbit BEEP = P1A7;int number = 0;int number_flag = 0;bit start = 1;unsignedchardis 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xb f; /数码管引脚定义/计数标量/数码管显示的四位标量/数码管显示的四位标量II数码管显示的四位标量unsigned int count=0;unsigned char bit_1 = 0;unsigned char bit_2 = 0;unsigned char bit_3 = 0;unsigned char bit_4 = 0;/数码 管显示的四位 标量void delay10ms(char d)/ 误差 Ousunsigned char a,b,c;for(c=d;c>0;c-)for(b=38;b>0;b-)for(a=130;a>0;a-);char flag=0;void main()TMOD = 0X01;/设置定时器T0 16位EA = 1;/翻开中断ET0 = 1;/翻开TO定时器TR0 = 1;/关闭中断TH0 = (65536-5000)/256;TL0 = (65536-5000)%256;BEEP = 0;start = 0;while(1)if(key_ 1=0)/标量+while(key_ 1=0)number+;if(number>=200)number=200;delaylOms(IO); /按键时间调 整 if(key_2=0)/ 标量-while(key_2=0)flag=3;number-;if(number<=0)number=0;delay10ms(10);/开始暂停if(key_3=0)/从0开始计时while(key_3=0);start=1;if(start=1)&&(number=O)BEEP = 1;/蜂鸣器响number = 0;delaylOms(IOO);delaylOms(IOO);delay10ms(100);BEEP = 0;start = 0;elseBEEP = 0;/蜂鸣器不响delay10ms(10);/中断函数void delay1s(void) interrupt 1TH0 = (65536-5000)/256;/5 ms 产生一次中断用于数码管动态扫描TLO = (65536-5000)%256;/5ms 产生一次中断用于数码管动态扫描count+;if(start=1)if(count>=200)count = 0;number-;if(number<=0)number=0;bit_1 = number/1000;bit_2 = (number%1000)/100;bit_3 = (number%100)/10;bit_4 = number%10;b_1 = b_2 = b_3 = b_4 =0; / 消隐switch(count % 4)case 0:/数码管1位b_1 = 1;b_4 = b_3 = b_2 =0;P0 = disbit_1;break;case 1:/数码管2位b_2 = 1;b_1 = b_3 = b_4 =0;P0 = disbit_2;break;case 2:/数码管3位b_3 = 1;b_1 = b_2 = b_4 =0;P0 = disbit_3;break;case 3:/数码管4位b_4 = 1;b_2 = b_3 = b_1 =0;P0 = disbit_4;break;

    注意事项

    本文(秒倒计时报警器设计单片机课程设计.docx)为本站会员(scccc)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开