单片机数字电子钟综合设计报告指导教师学生填写.docx
- 文档编号:27994592
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:22
- 大小:80.84KB
单片机数字电子钟综合设计报告指导教师学生填写.docx
《单片机数字电子钟综合设计报告指导教师学生填写.docx》由会员分享,可在线阅读,更多相关《单片机数字电子钟综合设计报告指导教师学生填写.docx(22页珍藏版)》请在冰豆网上搜索。
单片机数字电子钟综合设计报告指导教师学生填写
武汉工程大学
计算机科学与工程学院
综合设计报告
设计名称:
科研训练(I)
设计题目:
数字电子时钟
学生学号:
专业班级:
学生姓名:
学生成绩:
指导教师(职称):
课题工作时间:
至
说明:
1、报告中的第一、二、三项由指导教师在综合设计开始前填写并发给每个学生;四、五两项(中英文摘要)由学生在完成综合设计后填写。
2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。
3、指导教师评语一栏由指导教师就学生在整个设计期间的平时表现、设计完成情况、报告的质量及答辩情况,给出客观、全面的评价。
4、所有学生必须参加综合设计的答辩环节,凡不参加答辩者,其成绩一律按不及格处理。
答辩小组成员应由2人及以上教师组成。
5、报告正文字数一般应不少于5000字,也可由指导教师根据本门综合设计的情况另行规定。
6、平时表现成绩低于6分的学生,取消答辩资格,其本项综合设计成绩按不及格处理。
7、此表格式为武汉工程大学计算机科学与工程学院提供的基本格式(适用于学院各类综合设计),各教研室可根据本门综合设计的特点及内容做适当的调整,并上报学院批准。
成绩评定表
学生姓名:
学号:
班级:
类别
合计
分值
各项分值
评分标准
实际得分
合计得分
备注
平时表现
10
10
按时参加综合设计,无旷课、迟到、早退、违反实验室纪律等情况。
由设计负责人给出
完成情况
30
20
按设计任务书的要求完成了全部任务,能完整演示其设计内容,符合要求。
10
能对其设计内容进行详细、完整的介绍,并能就指导教师提出的问题进行正确的回答。
报告质量
35
10
报告文字通顺,内容翔实,论述充分、完整,立论正确,结构严谨合理;报告字数符合相关要求,工整规范,整齐划一。
5
课题背景介绍清楚,综述分析充分。
5
设计方案合理、可行,论证严谨,逻辑性强,具有说服力。
5
符号统一;图表完备、符合规范要求。
5
能对整个设计过程进行全面的总结,得出有价值的结论或结果。
5
参考文献数量在3篇以上,格式符合要求,在正文中正确引用。
答辩情况
25
10
在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。
15
在规定时间内能准确、完整、流利地回答教师所提出的问题。
总评成绩:
分
补充说明:
指导教师:
(签字)
日期:
年月日
答辩记录表
学生姓名:
学号:
班级:
答辩地点:
答辩内容记录:
答辩成绩
合计
分值
各项分值
评分标准
实际得分
合计得分
备注
25
10
在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。
15
在规定时间内能准确、完整、流利地回答教师所提出的问题。
答辩小组成员(签字):
年月日
指导教师评语
指导教师:
(签字)
日期:
年月日
一、综合设计目的、条件、任务和内容要求:
1.1实验目的:
掌握PROTUES仿真软件、单片机系统的综合设计
2.条件:
要求使用PROTUES仿真软件、单片机等
3.任务:
用软件设计一个时钟的计数电路,并能进行PROTUES仿真。
4.内容要求:
要求能进行实时计数,并能LED显示;
分析电路工作原理。
指导教师签字:
年月日
二、进度安排:
第1~2天:
学习protues的使用
第3~4天:
初步做出电子钟设计构想
第5~6天:
做出电子钟设计图,并编程
第7~8天:
使用仿真软件仿真
3、应收集资料及主要参考文献:
[1]谭浩强,C语言程序设计,高等教育出版社
[2]何立民,单片机原理与应用,电子工业出版社
[3]阎石,数字电子技术基础第四版,高等教育出版社,2004
[4]徐丽香,数字电子技术,电子工业出版社,2006
四、综合设计(课程设计)摘要(中文):
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。
它体积小,成本低,功能强,广泛应用与于智能产业和工业自动化上。
而51系列单片机是各单片机中最为典型和最有代表性的一种,这次科研训练通过对它的学习,应用,从而达到学习,提升设计开发软,硬件的能力。
本设计主要设计了一个基于AT89C51单片机的电子时钟,并在数码管上显示相应的时间。
应用Proteus的ISIS软件实现了单片机电子时钟系统的设计与仿真,该方法仿真效果真实,准确,节省了硬件资源。
关键字:
单片机;电子时钟
五、综合设计(课程设计)Abstract(英文):
SCMisAkindofintegratedcircuitchips,istouseverylargescaleintegratedcircuittechnologyhastheabilitytohandledataCPUCPURAMRAM,ROMROM,AvarietyofI/Oportandinterruptsystem,timer/timerfunctions(mayincludedisplaydrivercircuit,pulsewidthmodulationcircuit,simulationmultiplexconverter,A/Dconvertercircuits,etc)integratedintoApieceofsiliconwaferconstitutes,onAsmallandperfectmicrocomputersystem.Itsmallvolume,lowcost,thefunctionisstrong,canbewidelyusedinintelligentindustryandindustrialautomationapplications.And51seriesmicrocontrolleristhemosttypicalMCUandthemostrepresentativeonekind,thescientificresearchtrainingbasedonthestudy,application,soastostudy,designanddevelopment,improvetheabilityofsofthardware.
ThisdesignmaindesignbasedonAT89C51singlechipelectronicclock,andinthedigitaltubedisplaythecorrespondingtime.ApplicationofProteusISISsoftwaretorealizethesinglechipmicrocomputerelectronicclocksystemdesignandsimulation,thismethodsimulationeffecttrue,accurate,savethehardwareresources.
Keywords:
singlechipmicrocomputer;Electronicclock
目录
摘要………………………………………………………………………………………II
Abstract…………………………………………………………………………………...II
第一章课题背景(或绪论、概述)……………………………………………………..1
1.1课题背景、目的、意义………………………………………………………………...1
1.2设计应达到的技术要求…………………………………..……………………………1
第二章设计简介及设计方案论述…………………………………………………………..2
2.1数字电子钟的设计思想…………………………………..………………………….…2
2.2数字电子钟的设计方法…………………………………..………………………….…2
2.3数字电子钟总体设计图…………………………………..………………………….…2
第三章详细设计…………………………………………………………..………………..3
3.1硬件部分设计……………………………………………..………………………….…3
3.1软件程序设计……………………………………………..………………………….…4
第四章设计结果及分析…………………………………………………..………………..6
4.1设计结果……………………………………….………………………………..….…6
4.2设计结果分析….………………………………………..………………………….…7
总结…….……………………………………………………..………………………….…8
致谢…….……………………………………………………..………………………….…9
参考文献……….………………..………………………………..………………………….10
附录主要程序代码………...………………………………..………………………….…11
摘要
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。
它体积小,成本低,功能强,广泛应用与于智能产业和工业自动化上。
而51系列单片机是各单片机中最为典型和最有代表性的一种,这次科研训练通过对它的学习,应用,从而达到学习,提升设计开发软,硬件的能力。
本设计主要设计了一个基于AT89C51单片机的电子时钟,并在数码管上显示相应的时间。
应用Proteus的ISIS软件实现了单片机电子时钟系统的设计与仿真,该方法仿真效果真实,准确,节省了硬件资源。
关键字:
单片机;电子时钟
Abstract
SCMisAkindofintegratedcircuitchips,istouseverylargescaleintegratedcircuittechnologyhastheabilitytohandledataCPUCPURAMRAM,ROMROM,AvarietyofI/Oportandinterruptsystem,timer/timerfunctions(mayincludedisplaydrivercircuit,pulsewidthmodulationcircuit,simulationmultiplexconverter,A/Dconvertercircuits,etc)integratedintoApieceofsiliconwaferconstitutes,onAsmallandperfectmicrocomputersystem.Itsmallvolume,lowcost,thefunctionisstrong,canbewidelyusedinintelligentindustryandindustrialautomationapplications.And51seriesmicrocontrolleristhemosttypicalMCUandthemostrepresentativeonekind,thescientificresearchtrainingbasedonthestudy,application,soastostudy,designanddevelopment,improvetheabilityofsofthardware.
ThisdesignmaindesignbasedonAT89C51singlechipelectronicclock,andinthedigitaltubedisplaythecorrespondingtime.ApplicationofProteusISISsoftwaretorealizethesinglechipmicrocomputerelectronicclocksystemdesignandsimulation,thismethodsimulationeffecttrue,accurate,savethehardwareresources.
Keywords:
singlechipmicrocomputer;Electronicclock
第1章课题背景(或绪论、概述)
1.1课题背景目的及意义
1.1.1课题背景
随着社会工业化、自动化和智能化的进度的加快,单片机凭借它体积小,成本低,功能强等特点,于智能产业和工业自动化上的应用越来越广泛,社会对单片机人才的需求量也越来越大,因此对单片机知识的学习也显得尤为重要。
1.1.2课题目的及意义
通过设计一个利用单片机处理数据的LED数字时钟,巩固和加深对单片机原理的理解和应用;
进一步提高综合运用所学知识的能力;
培养综合设计分析问题、发现问题和解决问题的能力。
1.2设计应达到的技术要求
1.2.1对51系列的单片机进行编程
对51单片机进行编程时需用到C语言和KeilC编程环境,因此需要了解KeilC的编程机制。
1.2.2在六位动态数码管上显示时间,格式为“时时分分秒秒”
第2章设计简介及设计方案论述
2.1数字电子钟的设计思想
对51系列的单片机编程,用单片机产生和输出信号,将单片机的输出信号接到六位动态七段数码管上进行显示,要求要能以“时时分分秒秒”的格式正确的显示二十四小时制的时间。
由于单片机的高度集成性和可编程,使得电路的整体结构简单,调试方便。
2.2数字电子钟的设计方法
数字电子钟电路由80C51单片机和共阳极六位动态七段数码管组成。
首先,单片机由一个12MHZ的晶振经过12分频器分频提供1MHZ的脉冲,因此51单片机的一个机器周期为1微秒,通过对单片机进行编程可以产生1s变化一次的秒信号;其次,动态数码管的显示是通过七根线的高低电频的输入控制每一位数码管的七段的亮或灭,称为动态数码管的段选,然后每一位再由一根线控制这一位数码管整体的亮灭,称为动态数码管的位选。
所以,通过对单片机编程来控制动态数码管的位选和段选再结合人眼的视觉暂留现象就能在六位动态数码管上显示出时间。
2.3数字电子钟总体设计图
图2-1
第3章详细设计
3.1硬件部分设计
图3-1
如图3-1,硬件部分主要由80C51单片机和共阳极六位动态数码管组成,在Protues仿真软件中单片机的电源、使能信号及脉冲信号以及共阳极数码管的阳极电源均由系统给出,不在图中画出来。
图3-1中,我选用80C51的P0口接数码管的段选接口,其中P0.0~P0.6分别接A~G,P0.7接DP(DP为小数点控制位,由于在本设计中用不到,所以一直给高电平1);选用P2.0~P2.5接数码管的位选接口,其中P2.0接5口(秒十位),P2.1接6口(秒个位),P2.2接3口(分十位),P2.3接4口(分个位),P2.4接1口(时十位),P2.5接2口(时个位)。
3.2软件部分设计
3.2.1设计思路
首先是进制问题。
秒个位、分个位和时个位为十进制,秒十位和分十位为六进制,时十位为三进制,同时若时十位为二且时个位为三,则在下一个分对时的进位到来时时十位和时个位都变为零。
其次是显示问题。
先根据共阳极数码管段选位的对应关系,确定让数码管显示0~9十个数字时应给的高低电平。
再由于动态数码管在某一段选状态下若让所有位都亮着,则每一位显示的数字都相同,所以只能利用数码管的段选和位选对数码管进行动态扫描显示。
在进行数码管动态扫描的时候结合人眼的视觉暂留现象,由于人眼对发光时间超过1ms的物体会产生一个视觉暂留,所以在数码管的一位显示代码后加一个1ms以上的延时函数,人眼就会这个数码管的显示内容产生一个映像。
但每一位的延时过长的话,又会很明显的看到六个数码管在轮流显示,因此要经过反复的测试,调整延时的长短,使得数码管看上去好像每一位都亮着且每一位显示的数字都是当前应显示的数字。
最后再根据具体的每一位数码管的延时情况算出1s需要六位数码管全部循环亮一几次。
解决了进制问题和显示问题后,只需在主函数里加一个死循环while
(1)就能实现每天24小时循环显示。
3.2.2根据设计思路画出流程图
继续当前for循环
跳出当前for循环,进入下次死循环
是
否
在第二层循环中判断是否时十位为二且时个位为四
主函数的死循环,死循环内用七层嵌套for循环控制时钟六位的显示状态
写出延时函数,每执行一次延时0.5ms
确定数码管十个显示状态对应的十六进制码段选数组
定义端口,设定变量
开始
图3-2
3.3.3写出软件程序并进行调试(程序代码见附录)
第4章设计结果及分析
4.1设计结果
时钟程序中的死循环部分的代码如下:
while
(1)//死循环,用于显示二十四小时
{
for(h1=0;h1<3;h1++)
for(h2=0;h2<10;h2++)
if(h1==2&&h2==4)
break;//条件语句,当小时变为24时,跳出for循环显示0时0分0秒
else
for(m1=0;m1<6;m1++)
for(m2=0;m2<10;m2++)
for(s1=0;s1<6;s1++)
for(s2=0;s2<10;s2++)
for(k=0;k<3;k++)
{
SEG_H1=0;SEG_H2=0;SEG_M1=0;SEG_M2=0;SEG_S1=0;SEG_S2=1;//显示秒个位
SEG=num[s2];
Delay(10);
SEG_H1=0;SEG_H2=0;SEG_M1=0;SEG_M2=0;SEG_S1=1;SEG_S2=0;//显示秒十位
SEG=num[s1];
Delay(8);
SEG_H1=0;SEG_H2=0;SEG_M1=0;SEG_M2=1;SEG_S1=0;SEG_S2=0;//显示分个位
SEG=num[m2];
Delay(9);
SEG_H1=0;SEG_H2=0;SEG_M1=1;SEG_M2=0;SEG_S1=0;SEG_S2=0;//显示分十位
SEG=num[m1];
Delay(8);
SEG_H1=0;SEG_H2=1;SEG_M1=0;SEG_M2=0;SEG_S1=0;SEG_S2=0;//显示时个位
SEG=num[h2];
Delay(8);
SEG_H1=1;SEG_H2=0;SEG_M1=0;SEG_M2=0;SEG_S1=0;SEG_S2=0;//显示时十位
SEG=num[h1];
Delay
(2);
}//循环体,作用为利用视觉暂留让动态数码管扫描显示
}
此段程序代码是经过反复调试后的最终代码,基本能正确的显示24小时制的时间。
但由于在仿真软件上仿真并不是实际的硬件电路,所以还是能看到各个数码管交替显示。
调试初期的程序由于没有考虑for循环的耗时,k的值设置得过大,导致显示的一秒为实际好几秒。
4.2结果分析
能看到各个数码管的交替显示效果是因为仿真软件中提供的晶振频率并不一定是12MHZ,具体频率因调试时使用的电脑性能而异。
而调试初期每显示1s为实际的好几秒是因为没有考虑进入for循环所消耗的时间。
总结
本次科研训练利用单片机在LED数码管上实现了最基本的24小时制的数字电子钟的显示,整个科研训练过程历时两个星期。
在设计过程中碰到过电路元器件选择错误,编写的程序得到的结果与预期的不一样等问题,这些问题我都一一的进行了调试,得以解决。
通过这次科研训练巩固和加深了我对单片机原理的理解和应用,培养了我对所学知识的综合运用,加强了我发现问题,分析问题和解决问题的能力。
致谢
首先感谢刘老师能够在自己很忙的情况下,给我们耐心的解答我们在科研训练中所遇到的问题,其次感谢班上的同学对我的帮助。
这次科研训练是对本学期学到的数字逻辑、C语言以及单片机的知识的一次综合运用,加强了我对教材中知识的理解和掌握。
参考文献
[1]谭浩强,C语言程序设计,高等教育出版社
[2]何立民,单片机原理与应用,电子工业出版社
[3]阎石,数字电子技术基础第四版,高等教育出版社,2004
[4]徐丽香,数字电子技术,电子工业出版社,2006
附录主要程序代码
#include
#defineuintunsignedint
#defineucharunsignedchar//宏定义无符号整型和无符号字符型
#defineSEGP0//定义段选变量
sbitSEG_S1=P2^0;//定义数码管位选秒的高位变量
sbitSEG_S2=P2^1;//定义数码管位选秒的低位变量
sbitSEG_M1=P2^2;//定义数码管位选分的高位变量
sbitSEG_M2=P2^3;//定义数码管位选分的低位变量
sbitSEG_H1=P2^4;//定义数码管位选时的高位变量
sbitSEG_H2=P2^5;//定义数码管位选时的低位变量
ucharnum[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数组num,对应共阳极七段数码管0到9十个数字
voidDelay(uintx)//延时程序
{
uinti;
while(x--)
for(i=0;i<500;i++);//延时x个0.5毫秒
}
intmain()
{
uch
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 数字 电子钟 综合 设计 报告 指导 教师 学生 填写
![提示](https://static.bdocx.com/images/bang_tan.gif)