C语言课程设计报告-完整版.docx_第1页
C语言课程设计报告-完整版.docx_第2页
C语言课程设计报告-完整版.docx_第3页
C语言课程设计报告-完整版.docx_第4页
C语言课程设计报告-完整版.docx_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

重庆科技学院C语言程序设计课程设计报告 重庆科技学院C语言程序设计课程设计报告 学 院:_电气与信息工程学院 专业班级: 自动化(试点)2011-01 学生姓名: xxxx 学 号: xxxxxxxxxx 设计地点(单位)_ _ _设计题目:_ 多功能电脑时钟设计 _ _ 完成日期: 2012年 3 月 2日 指导教师评语: _ _ _ _ _ 成绩(五级记分制):_ _ 指导教师(签字):_ _ 重庆科技学院课程设计任务书设计题目:多功能电脑时钟学生姓名XX课程名称C语言程序设计程序设计专业班级自动化(试点)2011-01地 点 起止时间2012.2.20-2012.3.2设计内容及要求要求设计的多功能电脑时钟完成以下功能:1.基本功能实时显示当前时间(4位数码管显示,2位显示小时,2位显示分钟,第2位小数点0.5秒亮,0.5秒灭)。按设定时间用蜂鸣器报时,报时时间为10秒。能修改当前时钟。具有秒表功能,显示秒和百分秒。2. 扩展功能单片机与PC机的通讯(可选)可设定初值的倒计时功能(可选)报时及年月日显示功能(可选)。音乐闹铃(可选)。设计参数通过设计一个多功能电脑时钟,掌握使用Keil C51开发单片机应用系统控制程序的基本步骤和方法。 任务涉及的知识面包括C51程序语言、MCS-51单片机I/O应用、中断与定时器应用、人机接口应用技术等。进度要求布置任务、分析任务、学习C51、单片机的C51功能程序设计(2天)方案设计(2天)多功能电脑时钟控制程序设计和调试(4天)撰写实习报告(1天)参考资料1 李群芳. 单片微型计算机与接口技术(第二版). 电子工业出版社. 2006.62 张培仁. 基于C语言编程MCS-51单片机原理与应用. 清华大学出版社. 2003.13 赵亮,候国锐. 单片机C语言编程与实例. 人民邮电出版社. 2003.9其它说明.本表应在每次实施前一周由负责教师填写二份,学院审批后交学院教务办备案,一份由负责教师留用。.若填写内容较多可另纸附后。3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。系主任: 指导教师: 2012年 3月 2日摘 要MSC-51单片机是美国Intel公司开发的一款单片机,这款单片机自问世以来,便受到用户的极大欢迎,现已广泛用于工业生产中。许多半导体公司也以51单片机为内核,开发或扩展了MCS-51单片机的功能。而51系列即是各系列中最为典型和最具有代表性的一种。C语言是具有结构化、模块化编译的通用计算机语言,是国际上应用最广、最多的计算机语言之一。C51是在通用C语言的基础上开发的专门用于51系列单片机编程的C语言。本课程设计即是以此为背景,使学生通过设计一个80C51单片机的多功能电子时钟,并在LED上显示出相应的时间,及对二极管、按键的应用,使学生掌握一定的C语言编程能力,且能与实际相联系,提高学生的理论与实际动手能力。关键字:单片机 C51 C语言 电子时钟 目 录1 多功能电脑时钟的功能规划062 硬件电路分析07 2.1 数码管显示电路07 2.2 按键接口电路07 2.3 LED指示电路083 软件设计09 3.1 控制程序的结构及模块划分09 3.2 初始化程序09 3.3 数码管显示程序10 3.4 时钟程序10 3.5 秒表程序113.6 闹铃程序12 3.7 倒计时程序123.8 按键扫描及处理程序134 调试与小结14 4.1 调试方法及步骤14 4.2 测试方法及测试结果14 4.3 小结 145 参考文献15 附录1 原理图 附录2 源程序1 多功能电脑时钟的功能规划多功能电脑时钟应具有以下功能:实时显示当前时间(4位数码管显示,2位显示小时,2位显示分钟,第2位小数点0.5秒亮,0.5秒灭)。能修改当前时钟,修改小时时,小时闪烁,修改分钟时,分钟闪烁。可设定时间用蜂鸣器报时,报时时间为1分钟,且在过程中能关闭闹钟。可设定初值的倒计时功能,计时时间到,蜂鸣5秒。具有秒表功能,显示秒和十分秒,且能随时停止与继续。当显示时间、闹钟、倒计时与秒表时,对应指示灯分别点亮。2硬件电路分析2.1 数码管显示电路图2.1P00P07分别对应数码管ha八个二极管,P10、P11、P12、P13四个I/O口分别对应四个数码管。八个二极管有共阴极、共阳极两种接法,因此分别是高电平、低电平点亮。2.2 按键接口电路 图2.2四个按键MODE、UP、DN、ENT对应四个I/O口P20、P21、P22、P32,都接地,都是高电平点亮。2.3 LED指示电路图2.3四个LED灯分别对应I/O口P23、P24、25、26,公共接口为VCC,均为低电平点亮。3软件设计3.1 控制程序的结构及模块划分 该控制程序由一个头文件、一个主函数、中断函数、刷新显示函数、时间函数、蜂鸣器控制函数、按键处理函数和四个按键函数组成。其划分成了0-7八个模式,分别为0:时间显示模式,2位数码管显示小时,2位数码管显示分钟1:闹钟显示模式,2位数码管显示定时小时,2位数码管显示定时分钟2:倒计时模式,第一位数码管显示C,后三位显示倒计时时间3:秒表模式,最大时间为999.9秒4:时间-小时调整模式,小时闪烁5:时间-分钟调整模式,分钟闪烁6:闹钟-小时调整模式,显示AH+小时7:闹钟-分钟调整模式,显示AM+分钟3.2 初始化程序 main(void)TMOD=0x01;TH0 =0xEE;TL0 =0x00;TR0 =1;ET0 =1;EA =1;While(1);将定时器模式设为1,即16位计时器,计算TO计数初值。并且打开定时器中断子开关、总开关,程序初始化。3.3 数码管显示程序定义静态变量Bit=0,经过中断函数,通过switch语句每5ms显示一个数码管,通过人体视觉暂留效应达到同时显示的目的,具体流程如图3-1所示。开始输入Bit的值break;点亮LED0:LED0=0;TBit=0 F break;点亮LED1:LED1=0;TBit=1 FTBit=2break;点亮LED2:LED2=0;FTbreak;点亮LED3:LED3=0;Bit=3If(+Bit3) Bit=0;结束图3.13.4 时钟程序 设置静态变量CntTimer,在主函数中调用TimerDeal函数,经过中断函数即5ms后,执行程序,具体流程如图3.2所示。开始If(+CntTimer200);TTFSec=0;If(+Sec59);TFMin=0;If(+Min59);FTHour=0;If(+Hour23);结束图3.23.5 秒表程序 开始FIf(FlagMB=1);TTIf(MB9999);MB=0;FMB+=1;结束图3.33.6 闹铃程序FlagBeep为闹钟标识符,Alarm为闹钟开关,当标识符和开关都开启时,Beep=!Beep,蜂鸣器鸣叫。如图3.4开始If(AHour=Hour&AMin=Min);FTFlagBeep=1;FIf(Alarm=1);TBeep=!Beep结束图3.43.7 倒计时程序 开始FIf(FlagDMB=1);T FIf(AlarmaDMB=1)TDMB-=1;FIf(DMB=0);TFlagBeep=1;结束图3.53.8 按键扫描及处理程序 开始TIf(+CntKey20)If按键I/O口=0TFF有键按下CntKey=0;结束图3.64调试与小结4.1 调试方法及步骤程序的编写过程中,时常会发生错误,当程序较短时,逐条寻找较为方便;而当程序较长时,此方法即不再适用,此时即需要合理的方法 。调试时需注意以下几点:1.程序需分模块编写,每编写一个模块后,就进行编译,如此即可最大限度避免因程序繁琐而出现的难以查找的问题;2.编译后出现错误后,应从第一个错误开始改正;3.当程序无错后,才可以进行调试。调试步骤:1. 打开STC-ISP,打开对应的hex文件,下载;2. 对应单片机测试其功能,出现问题即对相应的模块进行改正。3. 重复一二步骤,直至无问题出现。4.2 测试方法及测试结果方法:1.按Mode键,模式在0、1、2、3中循环;2.当显示时间时,按Ent键小时闪烁,Up、Down调整,按Mode键分钟闪烁,Up、Down调整;3.当显示闹钟时,Up、Down调整,时间到,蜂鸣器鸣叫,当按Up、Down时关闭闹钟;4.显示倒计时,设置初值,按Ent键开始计时,时间到,蜂鸣器鸣叫;5.显示秒表时,按Ent键开始计时,再按Ent键暂停。4.3 小结在两周的学习过程中,遇到了很多困难,虽然困扰了自己一段时间,但最终还是在同学、老师的帮助与自己的思考下一一解决。比如在为时钟加上闪烁功能时,四个数码管显示同一个数值,半天时间才解决这个问题,原因在于在该模式下没有将数码管置零。虽然时间不长,但这段时间内过得很充实,也学到了很多东西,弥补了以前C语言学习的不足,相信这对以后的学习与工作有一定的帮助。5参考文献1 李群芳. 单片微型计算机与

温馨提示

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

评论

0/150

提交评论