第一范文网 - 专业文章范例文档资料分享平台

课程设计报告 - 自动打铃系统

来源:用户分享 时间:2025/10/1 19:26:22 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

电子信息工程专业单片机系统课程设计报告

开始 向缓冲区放数 指向缓冲区首地址 关显示 指向A口查段码,送段码 指向B口送出码 延时1ms 指向指向下一个缓冲单元 显示下一位 六位显示完 返回

显示程序流程图

9

电子信息工程专业单片机系统课程设计报告

4.2主程序设计 void main() {

uchar NowKey;

uchar BeforKey=0xff; uchar KeyCount=0; uchar i=0;

AlarmSingal=0; RayFlag=1; RayFlag2=1;

TMOD=0x10;//设置T1 EA=1; ET1=1; TH1=0x3c; TL1=0xb0; TR1=1; while(1) {

D_Scan(TimeData,0);//动态扫描 //按键控制

if(KeyCount==2) {

KeyCount=0;

NowKey=GetKey(); if(NowKey!=BeforKey) {

switch (NowKey) {

case 1:

TimeSet(); break; case 2:

AlarmSingal=0; break; default:

break; } }

BeforKey=NowKey; }

else KeyCount++; } }

10

电子信息工程专业单片机系统课程设计报告

4.3显示子程序的设计

void D_Scan(uchar *ShowAddress,uchar FlagBit) {

uchar ShowBit; uchar Show;

for(ShowBit=0;ShowBit<5;ShowBit++) {

if(FlagBit!=5) {

switch(ShowBit) {

case 0:Show=BCD_to_Text((*ShowAddress));break; case 1:Show=BCD_to_Text((*ShowAddress)/10);break;

case 2:Show=BCD_to_Text((*(ShowAddress+1)));break; case 3:Show=BCD_to_Text((*(ShowAddress+1))/10);break; case 4:Show=BCD_to_Text((*(ShowAddress+2)));break; } }

P2=0xff;

switch(FlagBit) {

case 0:P0=Show;break; case 1://设分闪动

if(RayFlag2 && (ShowBit==0||ShowBit==1))P0=0x40; else P0=Show; break; case 2://设时闪动

if(RayFlag2 && (ShowBit==2||ShowBit==3))P0=0x40; else P0=Show; break;

case 3://设上下午闪动

if(RayFlag2 && ShowBit==4)P0=0x40; else P0=Show; break; }

P2=GetClockBit(ShowBit); Delay(1); } }

11

电子信息工程专业单片机系统课程设计报告

五、调试及性能分析

5.1调试步骤

进入调试状态后应该在关键的地方设置断点然后按步运行,同时观察参数的变化,通过变化来判断程序运行的过程即可找出程序中混乱的部分,进行改正,这需要对软件熟练的掌握和对语言程序的很好的理解,实验板搭建成功后,我们就进入了程序的设计和调试阶段,开始编写程序时很顺利,但是后来在调试过程中出现了很多的错误,比如定时器准确度的设置,子程序的调用问题,最困难的就是对没步程序执行顺序的分析,由于程序中一些语句的错误理解和执行顺序的判断失误,让我掉进了误区,耽误了很长时间,最后在同学的帮助下终于找到了错误的关键点,更正成功了。看来对程序的调试能力我还需要加强,程序的调试需要耐心,而且需要熟练掌握软件的跟部分功能。

5.2性能分析

自动打铃系统在学校很工厂和日常生活中应用广泛,原理主要是通过单片机的计数器进行计时,同时通过定时器中断扫描定时时间点来判断是否到了打铃时间,到了打铃,同时可以手动灭铃,主要功能即计时和打铃,相当于闹钟,通过计时器DS1302的使用使电路在断电后依然有后备电源进行计数,设计很人性化。还可以通过按键来设置时间,如果想深入设计,也可以通过键盘来设置闹钟时间,使系统更加方便。

六、心得体会

本系统被子广泛用企事业单位,设计比较简单。经过一学期的学习,使我对单片机有了初步的认识,了解了一些软件编程的技巧。 经过这次的课程设计,使我学会了课堂上学不到的知识,颇有一番感受,对于单片机更加的了解了,对各种器件的使用方法更加熟悉,学会了电路的基本设计思路和原理,掌握单片机设计步骤,知道这门课程在工作中的重要性,因为需要大量的资料,所以我和我的合作者到图书馆查阅了大量的资料,也利用了互联网查找大量的资料,经过一番努力,第一周我们完成了电路图的设计,第二周我们领取了所需的元器件,开始了电路的装调,经过几天的努力,终于把电路装好了,但电路调试过程并不是那么的容易,但经过调试我们发现了电路的一些问题,但在老师和同学们的同共努力下都得到解决,最终看到了成果.我感谢老师,课程设计加深了学生对所学课程理论的理解,扩展了教学中的实验内容和要求,积累了实践体验和经验,让我们提前感受到毕业设计的大致过程,进而能顺利进入毕业设计,提高毕业设计质量和学生实际应用能力。

12

搜索更多关于: 课程设计报告 - 自动打铃系统 的文档
课程设计报告 - 自动打铃系统.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c65wwi333lo4ddq3430jm4g4gh0kze500yfy_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top