单片机原理及应用课程设计答辩倒计时器

上传人:e****s 文档编号:137316307 上传时间:2022-08-18 格式:DOC 页数:21 大小:7.61MB
收藏 版权申诉 举报 下载
单片机原理及应用课程设计答辩倒计时器_第1页
第1页 / 共21页
单片机原理及应用课程设计答辩倒计时器_第2页
第2页 / 共21页
单片机原理及应用课程设计答辩倒计时器_第3页
第3页 / 共21页
资源描述:

《单片机原理及应用课程设计答辩倒计时器》由会员分享,可在线阅读,更多相关《单片机原理及应用课程设计答辩倒计时器(21页珍藏版)》请在装配图网上搜索。

1、单片机原理及应用课程设计报告专 业: 班 级: 姓 名: 指导教师: 二0一二 年 十二月 二十五 日单片机原理及应用课程设计任务书一、设计题目:答辩倒计时器二、设计目的 1、巩固和加深单片机原理课程知识的理解和运用。 2、进一步提高学生单片机应用系统的设计能力。 3、培养学生综合分析问题、发现问题和解决问题的能力。三、设计要求设计一个答辩倒计时器,用2位数码管显示剩余分钟,2位数码管显示剩余秒 ,复位后显示10.00表示设定10分钟,并可加减修改,按开始/取消按钮开始倒计时,再次按开始/取消按钮则复位,时间到则蜂鸣音提示。总体要求如下:1、方案论证,确定总体电路原理图。 2、元器件选择,设计

2、PCB图(或用万能电路实验板搭线)。3、绘制程序流程图,编写汇编语言源程序(或C语言源程序)。4、安装调试,实现倒计时器的基本功能。 四、可提供的主要电子元器件 1、AT89S51;7407; (均为DIP封装)2、LED(4位一体共阴);按键;电阻排;三极管;蜂鸣器3、石英晶振6M;30pF;0.1uF;10uF电容;电阻若干。五、实践步骤1、收集相关资料,完成电路原理图和应用程序流程图。2、编写汇编语言(或C语言)源程序。3、根据所设计的原理图,完成电路板的制作安装(可用万能板)。4、硬件软件综合调试,并完善其设计功能。六、实践标准完成电路制作安装,完成程序设计并调试通过,实现其设计要求和

3、功能,装配工艺美观,电路运行稳定、可靠。七、设计报告总结1、写出设计方案(包括方案对比,方案确定),给出完整的电路原理图和设计程序流程图。 2、对所设计方案的实现进行全面分析。3、编程调试方法和程序清单。4、安装调试过程,出现的各种现象,总结经验和体会。 5、进一步完善的设想。 目 录一、设计题目:答辩倒计时器1二、设计目的1三、设计要求1四、元器件清单及所用仪器设备1五、实践步骤3六、实践标准3七、设计报告总结31、写出设计方案33、编程调试方法74、安装调试过程,出现的各种现象75、总结经验和体会86、进一步完善的设想9参考书目:9附录A:仿真电路原理图10附录B:源代码11II一、 设计

4、题目:答辩倒计时器二、设计目的 1、巩固和加深单片机原理课程知识的理解和运用。 2、进一步提高学生单片机应用系统的设计能力。 3、培养学生综合分析问题、发现问题和解决问题的能力。三、设计要求 设计一个答辩倒计时器,用2位数码管显示剩余分钟,2位数码管显示剩余秒 ,复位后显示10.00表示设定10分钟,并可加减修改,按开始/取消按钮开始倒计时,再次按开始/取消按钮则复位,时间到则蜂鸣音提示。总体要求如下:1、方案论证,确定总体电路原理图。2、元器件选择,设计PCB图(或用万能电路实验板搭线)。3、绘制程序流程图,编写汇编语言源程序(或C语言源程序)。4、安装调试,实现倒计时器的基本功能。 四、元

5、器件清单及所用仪器设备 表1设备清单设备名称单组数量数量功能数字万用表可共用1台5V直流稳压电源可用实验箱代、可共用1台ISP下载线可共用4根计算机单片机实验室均可用40台装Keil开发软件和ISP51下载软件 表2 工具清单 工具名称单组数量镊 子1把电铬铁1支铬铁架1个吸锡枪1把斜口钳1把 表3 元器件清单 元器件名称规格/型号单组数量金属膜电阻1K、1/4W1金属膜电阻10K、1/4W5电阻排200*8(SIP9)1瓷片电容30pF2独石电容F/63V3电解电容10F/16V2蜂鸣器10,直流5V1三极管9013 1石英晶振6MHz(矮封装)1集成电路AT89S51 DIP4017407

6、 DIP141IC插座40PIN DIP114PIN DIP1数码管”1接插件IDC10(与ISP下载线接口) DC3-10P1套按键国产欧姆龙轻触按键3万能电路板17cm*22cm1块导线2单股导线4m焊锡丝2m松香五、实践步骤1、根据实验要求,完成电路原理图和应用程序流程图。(见图1和图3)2、C语言源程序。(见附录B)3、根据所设计的原理图,完成电路板的焊接,在进行测试。4、硬件软件综合调试,如果不能实行,在分析哪里出了问题,纠正问题在去测试,直到测试完成,完善其设计功能。六、实践标准 1、完成电路的制作,排版与焊接,并进行测量是否能正常的运行; 2、完成程序的设计,并进行程序调试是否出

7、现错误; 3、硬件与软件结合进行调试看是否能达到课程设计目的; 4、最后实现其设计要求和功能,装配工艺美观,电路运行稳定、可 靠。七、设计报告总结 1、写出设计方案 A、设计方案: 1、根据电路要求,设计硬件电路和软件程序。(见图3) 2、对已设计出的硬件电路进行模拟仿真,确保硬件电路能正常工作。(见附录A)3、准备好相关电子元件,制作硬件电路。(见图2) 4、将软件程序下载到已经制作好的硬件电路中调试,实现设计要求。 B、电路原理图 图1 原理图 图2 电路版式图(一) 图2 电路版式图(二) C 硬件流程图驱动电路单片机 程序下载口数码管蜂鸣器外围电路图3硬件流程图D、设计程序流程图 开

8、始 主程序 判断 是否能链接 NO YES 显示初值 加1运算 开始计数 减1运算 复位 结 束 图4程序流程图2、对所设计方案的实现进行全面分析A、 该硬件电路的核心部分为一块AT89S51单片机,对电路进行各方面控制和计算。用一个4位一体的8段共阴数码显示,用7407作为缓冲级,提高输出电路驱动能力,使数码管能正常显示。用一个9013三极管驱动蜂鸣器,当电路上电和计时时间到时响一秒提示时间到。用一个6M石英晶振和2个30pF的电容为AT89S51芯片提供时钟频率,2个30pF电容主要是为了方便晶振起振。K1、K2、K3、3个开关分别用于加时间、减时间、复位和开始。用若干电阻作为上拉电阻,增

9、大电路输出电流。B、 软件程序全部采用C语言编写。3、编程调试方法 编程与调试是C语言和Keil C软件相结合的。C语言是一种C语言是国际上广泛流行的、很有发展前途的计算机高级语言。它适合作为系统描述语言,即可用来编写系统软件,也可用来编写应用软件。Keill软件是一种目前用得比较广泛的一款单片机编程软件,它支持 c 和 汇编的编译,并可生成 HEX 文件,还可进行代码的软硬件仿真软件。4、安装调试过程,出现的各种现象硬件:焊接中易出现虚焊,假焊和多点连接导致短路等故障;焊接中粗心,导致某些点未焊接直接调试;软件: 1、数码管有一位不显示。主要原因:有一位输出I/O接错(P2.7)。 2、 按

10、键未设有防抖功能导致按下一次出现多次按下结果; 3、 定时程序,没有考虑到主函数的运行时间引起定时不是很准,稍有延 时; 4、延时函数用法不当,数码管有重影;5、总结经验和体会在这次课程设计中,我们运用到了以前所学的专业课知识,如:CAD制图、汇编语言、模拟和数字电路知识等。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。 另外,这次课程设计让我感到了团队合作的重要性。在团队中,我们互帮互助,对整个课程设计来说,这是至关重要的,缺少每一个人都会对我们的设计产生影响,组长邹威从课题的确定,元器件的分类,电路的焊接等各个方面都尽心尽责,花的心

11、思。还有要感谢指导老师在我们遇到困难时,给予我们的建议与鼓励。最后,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。 从选题到定稿,从理论到实践,在接近两星期的日子里

12、,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机C语言掌握得不好 课程设计结束了,但是从中学到的知

13、识会让我受益终身。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。 。6、进一步完善的设想 A、新增一段程序,对硬件的按键进行防抖,使计时器计时更加的精确; B、对于硬件的导线线路,尽量在线路比较短的地方不使用导线,使用焊锡进行导通,这样就会比较的美观; C、硬件元器件的排版要进行比较的规律,尽量做到导线排版的时候不会出现重叠的现象; D、计算每一条语句的时间,提高执行的定时器的精度。参考书目:1 赵伟军,Protel99se教程,北京,人民邮电出版社,1996年2 楼然苗,李光飞.单片机课程设计指导M.北京:北京航空航天大学出版社, 2007年3 杨居义.单

14、片机课程设计指导(实例教程) M.北京:清华大学出版社, 2010年4 李华.MCS-51系列单片机实用接口技术M.北京:北京航空航天大学出版社, 1993年5 唐华光,电子技术基础,高等教育出版社,北京,2006年6 谭浩强,C程序设计教程,北京,清华大学出版社,2007年 附录A:仿真电路原理图附录B:源代码#include#define uint unsigned int #define uchar unsigned charuchar code WEIMA=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar num1;void

15、 BELL();void Delay(uint z);void Display(uint M1,uint M2,uint S3,uint S4);void jishi(uint minute1,uint minute2,uint second1,uint second2);int minute1,minute2,second1,second2,save1,save2,save3,save4;sbit BUZZER=P10; /定义P1.0为喇叭驱动端 sbit t1=P35;/定时器T1uint t=0;void main() uint f,w; num1=0; BUZZER=0; P2=0x

16、00; Delay(228); minute1=1; minute2=second1=second2=0; while(1) EA=1;/开总中断 TCON=0x05; if(t=15) EX0=1;/开外部中断0 EX1=1; else t=t+1; t1=1; f=0; if(t1=0)num1=0;save1=minute1;save2=minute2;save3=second1;save4=second2;t1=1;w=1;while(w) TMOD=0x01; TH1=(65536-50000)/256; TL1=(65536-50000)%256; ET0=1; TR0=1; if

17、(num1=10) EX0=0;/关外部中断 EX1=0; num1=0;if(second2=0)&(second1=0)&(minute2=0) minute1=minute1-1; minute2=10; minute2=minute2-1; second1=6; second1=second1-1; second2=10; second2=second2-1;if(minute1=0)&(minute2=0)&(second1=0)&(second2=0) BELL(); w=0; Delay(300); Display(second2,second1,minute2,minute1)

18、; if(t1=0) minute1=save1; minute2=save2; second1=save3; second2=save4;/复位保存 w=0; Delay(300); else f+; Display(second2,second1,minute2,minute1);void Display(uint M1,uint M2,uint S3,uint S4) uint i; for(i=0;i4;i+) if(i=0)P2=0xf7;P0=0x00;Delay(1);P0=WEIMAM1;if(i=1)P2=0xfb;P0=0x00;Delay(1);P0=WEIMAM2;if

19、(i=2)P2=0xfd;P0=0x80;Delay(1);P0=WEIMAS3;if(i=3)P2=0xfe;P0=0x00;Delay(1);P0=WEIMAS4; Delay(4);void Delay(uint z) int x,j; for(x=0;xz;x+) for(j=0;j0;b-)for(a=2;a0;a-);void delay_250us(void) /250us延迟函数,用于产生2KHZ信号unsigned char a,b;for(b=19;b0;b-)for(a=5;a0;a-);void BELL() /报警函数 uint a,b; a=1; b=0; while(a) for(;b10;b+)P2=0x00;P0=WEIMA0;while(g=200) /1KHZ响1Sdelay_500us(); /延迟500usBUZZER=BUZZER; g+; /取反次数加1g=0; /清时间控制变量while(g=400) /2KHZ响1Sdelay_250us(); /延迟250USBUZZER=BUZZER; /喇叭驱动位取反g+; /取反次数加1g=0; /清时间控制变量P2=0x00;BUZZER=0;if(t1=0) minute1=save1;minute2=save2;second1=save3;second2=save4;a=0; 16

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!