第一篇:2011年下广陵学院《单片机原理及应用》考试卷(B)答案
单片机原理及应用(B)卷答案
一、选择题(每题1分,共10分)~56 ~10
CBBACACCCC
二、填空题(每空1分,共10分)
1.(A)=__62H_(B)=____5CH___
2. R1=__40H___,(3FH)=__40H____。
3.ANLP1,#0F0H、ORLP1,#0F0H
4.000H、07H、内部、08H
二、简答题(每题4分,共16分)
1.答:应该在对应中断入口地址处放置一条长转移指令,具体如下所示:
ORG003H;外部中断0入口地址
LJMPINT_EX0;长转移指令
:
:
INT_EX0: ………;相应中断服务程序
2.答:
(1)8051有5个中断源,它们是2个外部中断源INT0和INT1,2个片内定时器/计数器溢出中断源,1个片内串行口中断源。
(2)这5个中断源的优先级分为两级——高级中断和低级中断。其中任何一个中断源的优先级均可通过IP由软件设定为高级或低级,能实现两级中断服务程序嵌套。
3.答:
(1)MCS—51单片机的串行口有四种工作方式,分别为:方式0、方式
1、方式
2、方式3。
(2)方式0:串行口是作为同步移位寄存器使用的,其数据传输波特率固定为foc/12。串行数据由RXD(P3.0)端输入/输出,同步移位脉冲由TXD(P3.1)端输出;主要用于扩展并行输入输出口。
方式 1:是作为10位异步通信接口,由TXD端发送数据,RXT端接收数据;传送波特率是可变的.取决于定时器TI的溢出速率。
方式 2: 为11位异步通信接口;波特率为foc/32或foc/64。
方式 3: 为11位异步通信接口;波特率可变,取决于定时器Tl的溢出率。
4.答:
(1)ANLA,20H直接寻址
(2)ADDCA,#20H立即寻址
(3)MOVA,@R1寄存器间接寻址
(4)MOV30H,C位寻址
四、程序分析题(每空2分,共30分)
1. MOVA,@R0、R7、2BH、(JNC LOOP1)、(JCLOOP1)
2.锯齿波↗、锯齿波↘
3.ASCII码转换为16进制数、0FH
4.(A)=____40H___(B)=___22H____(R0)=__ 20H ____
(20H)=____40H____(22H)=___10H_____(R1)=___40H_____
五、综合应用题(共34分)
-1/2-
1、MOV@R0,A
MOVA,STORSWAPALCALLHASCINCR0
注:本题由判题老师依据指令及逻辑酌情给分。(10分)
2、1)TC=21650000TX=65536-=15536=3CB0H 1T机器TH0=3CHTL0=0B0H(2分)
2)ORG0000H SETBET0
(LJMPSTART)SETBEA
ORG000BH LJMP($)
(LJMPINT_T0)INT_T0:MOVTH0,#3CHORG0100H MOVTL0,#0B0HSTART :MOVTMOD,#01HDJNZ(R7,T0_END)
MOVTH0,#3CHMOVR7,#20 MOVTL0,#0B0HCPLP1.0
MOVR7,#20 T0_END:RETI
SETBTR0(每空1分)
3、答:1)输出OV时,对应的二进制码是00H(1分)
输出4V时对应的二进制码是C0H(1分)
2)D/AC的口地址为DFFFH(2分)
3)程序(8分)
MOVDPDR,#0DFFFH
LOP:MOVA,#80H
MOVX@DPTR,A
ACALLDEL1
MOVA,#00H
MOVX@DPTR,A
MOVR2,#09H
LOP1:ACALLDEL1
DJNZR2,LOP1
SJMPLOP
注:本题由判题老师依据指令及逻辑酌情给分。
-2/2-
第二篇:《单片机原理及应用》课程
《单片机原理及应用》课程
自评报告
陕西理工学院电气工程系《单片机原理及应用》课程组 二○一○年三月
目 录
第一部分 课程简介
第二部分
课程内容与体系的改革 第三部分 实验教材
第四部分 自评结果和评分依据 第五部分 存在的主要问题及整改措施 附件:自评评分依据 《单片机原理及应用》课程自评报告
第一部分 课程简介
单片机技术广泛地应用于工业控制、智能仪器仪表、机电一体化产品、家用电器等各个工业领域。因此,单片机原理及应用是工科院校各专业学生的一门重要的应用技术课程,对电类学生尤为重要,通过该课程可以了解工业高新技术,培养综合的工程设计能力。学生在课程设计、毕业设计、科研项目中会广泛应用到单片机知识,而且,进入工作后,更会广泛接触到单片机的工程项目。近几年,一些用人单位直接把单片机应用技术测试作为人才选用的条件。显然,提高该门课程的教学质量,对培养学生的综合应用能力,提升学生在人才需求市场中的竞争能力,具有重要意义。
《单片机原理及应用》课程是自动化、电气工程及其自动化、计算机科学与技术等专业的一门专业技术基础课。单片机应用技术包含着广泛的内容(基本原理、接口技术、开发方法、开发工具、控制技术等),而且构成完整的知识体系。也就是说,缺少某一个方面或某一个环节的知识,将会影响实践应用能力。再者,单片机产品及其应用技术发展日新月异。在一门课程的有限教学时间内,如何让学生比较系统全面的掌握单片机应用知识,同时能反映比较新的应用技术,培养学生的工程设计能力,必须加强课程建设力度,在课程内容与课程体系上进行重大改革。
《单片机原理及应用》课程在自动化、电气工程及其自动化、计算机科学与技术3个本、专科专业中开设学时为40-60学时。多年来,该课程组师资队伍建设稳步提高,教学和实验条件逐步完善,现已形成了相对稳定的较高教学水平的师资队伍和完全满足实验教学条件的实验平台。
目前,《单片机原理及应用》课程组共有6名课程主讲教师和多位实验技术人员,其中教授1人、副教授2人、讲师3人,研究生5人,实验师多人,承担校内相关3个专业本、专科学生的单片机原理及应用课程教学与实验任务。
《单片机原理及应用》课程组在多年的具体教学与实践过程中,在课程建设和教学改革方面取得了较为显著的成效。从2000年开始,课程改革小组注重教育思想和教学观念的转变,开展了课程教学内容、课程体系、教学方法及教学手段的改革研究与实践,对课程的教学内容与体系进行了优化。目前已初步建立了以培养学生工程素质和综合应用能力为教学目标的新的课程体系,在教材建设、实践性教学环节建设方面取得了可喜的成果。李建忠教授把课程组研究的理论成果变成了现实成果,编著的《单片机原理及应用》(第二版被评为国家十一五规划教材)一书被全国30多个省市的100多所高校采用,在国内产生较大影响。组织的实践教学环节在本院多届学生中也取得了显著的成效。
《单片机原理及应用》教学仪器设备丰富,实验开出率100%,同时开设一定的设计性、综合性实验。实验室规章制度健全,管理人员到位,教学服务及时,为实验课程教学提供了有力保障。
随着“单片机原理及应用”课程内容和课程体系改革的进行,课程教学质量逐步明显提高。伴随着教学质量的提高,浮现出了许多科研项目。例如,智能型家用有毒气体探测语音报警呼救装置、机车防带电过分相装置、消失模浇注充型速度的微机化测试的研制,科研项目的进行又推动了教学质量的进一步提高。教师在教学中,结合自己的科研生动地讲解原理、方法、技术。近几年课程组成员结合自己的科研项目,在单片机应用技术方面发表论文多篇。
第二部分 课程内容与体系的改革
教材是教育思想、教育理念体现的载体,是一门课程教学内容与体系、教学方法及手段的集中表现。一本好的教材不能局限在知识的传递上,还应表现在科学思维方法、获取知识的方法、综合能力和创新设计能力培养方法的传递上,便于运用新的教学方法和手段组织实施教学。这是课程组改革研究的一个理论成果。
在理论研究的指导下,确定以教材建设为龙头进行课程内容与体系的优化。由于单片机应用技术知识包含的内容广泛,单片机产品及其应用技术发展速度快,如何在有限的计划课时内让学生比较完整的掌握单片机应用技术知识体系,同时了解一些比较新应用技术,吸取了国内外先进的教学思想和教学经验,广泛收集和查阅国内外优秀教材和有关教学资料,又结合我们多年积累的教学经验和教训,比较全面地考虑了各种因素,对课程内容与课程体系进行整体优化,编著了《单片机原理及应用》(第二版被评为国家十一五规划教材)、《单片机原理及应用实践教程》,形成了一套新的课程教学体系。教材内容体系进行了优化组合。既体现了系统全面,包含了基本原理、接口技术、开发方法、开发工具、控制技术等,又进行了浓缩精练,论述严谨透彻。教材内容的组织上采用“以点见面,触类旁通”的精练浓缩方法。例如,在每一章节前都概述出相关的一般性内容和方法,然后再以具体的内容或典型的实例进行说明。始终贯穿应用观点。例如,在单片机原理的讲解中,着重强调站在应用角度,掌握单片机的功能特性和配置结构。即用户站在单片机芯片外部看它所提供给用户的使用功能和资源,达到正确、合理的使用单片机所提供的硬、软件资源。这不仅给学生强调了达到应用的学习目标,而且给学生树立了一个学习掌握应用知识的正确学习方法界面。这一点经教学实践检验,取得了良好的教学效果。又例如,在应用技术的讲解中,大多数选自生产和科研中的应用实例,使学生学后就能用。注重科学思维方法、获取知识的方法、综合能力和创新设计能力的培养方法的传递。掌握一门学科知识的学习方法,其实质是找出并抓住学科知识的内在联系,形成一个完整体系。该书突出了这方面的特色。例如,在指令系统的讲述中,大多数教材采取按功能类逐条指令罗列讲解,使初学者很难理解记忆。其实,指令系统中有一些操作指令的子集合是具有特征规律的,不同操作指令的子集合之间也具有一些可比性特征规律,在该书的讲述中用归纳、类推、类比方法进行纵向归类,横向类推、比较。这不仅能使学生掌握知识,而且学习了科学思维方法和学习方法。在讲解基础知识的基础上,反映新的应用技术成果。例如,紧密结合基础知识讲解了单片机应用程序开发设计方法。
第三部分 实验教材
在广泛调研现有实验教材经验与问题的基础上,引入新的教育理念,针对现代工程人才的培养模式、人才素质及能力的要求,课程组认为实验教材不能局限在对基础知识的验证上、不能局限在基本实验的操作指导上、不能局限在某一门课程知识的动手实践能力的培养上、不能局限在理论教材的辅助功能作用上,还应给学生提供广阔的、自由灵活的动手实践空间,要培养学生在基本理论知识的基础上能够吸收、使用新技术方法,培养学生一般的工程实践能力和创新设计能力,使实验教材成为相对独立的综合实践能力培养的指导书。在这样的思想指导下,组织编写了《单片机原理及应用实践教程》的,于2001年5月在本院内部印刷使用。在多年的使用中取得了良好的效果。
《单片机原理及应用实践教程》一书主要具有以下特色:(1)知识的系统完整性与实践过程的系统完整性并重 实验内容的编写上紧密结合理论教学,按照单片机原理及应用课程知识的内在联系,保持了知识的系统完整性。从宏观结构上,实验内容分为单片机系统功能、单片机系统扩展、单片机系统配置和综合应用四大实验组。在每个实验组中又按照基础→综合→工程应用的方式安排了多个实验项目,每个实验项目中又按照基本原理、知识提要、基本技术、方法论证、实验结果分析的方式进行组织。这样,使该书成为学习、掌握单片机原理及应用知识的很有价值的参考书。从实践应用过程看,该书宏观上反映了单片机应用系统的开发环境、开发方法、开发过程。在每一个实验项目中,又反映出了一个单片机应用系统立题概要分析、功能结构论证分析、器件选择、硬软件设计、系统调试、性能分析与测试、文档收集与整理的全过程。使学生能够学习、掌握到一个单片机应用系统开发设计过程中各个环节的技术方法。
(2)知识掌握和科学思维能力培养并重
在每个实验项目中都提示出所依据的基本原理知识,所采用的方法和技术,通过实验来加深对基本知识的理解,达到熟练掌握。在每个实验项目后,提出一些很有价值的思考问题,主要围绕实验现象观察与分析,培养学生科学细致地观察与分析问题的方法和能力。每个实验既给出了参考方案,又要求学生在参考方案的基础上自行设计、调试,充分发挥学生的主观能动性和创造力、有意识地培养学生对工程问题的分析与设计方法。每个实验都要求学生按照严格的格式写出实验报告,在实验报告中深入细致地分析、论证有关实验现象与结果,通过实验报告的书写,培养学生严谨求实的科学方法和态度。
(3)既面向验证性实验又面向开放性、设计性实验
根据单片机原理与应用的知识结构,实验内容分为单片机系统功能、单片机系统扩展、单片机系统配置和综合应用四个实验组。每个实验组又按照基本原理、技术、方法的应用,综合应用、工程设计的思路方式安排了多个实验项目,为学生提供了广泛的实验内容,即可以供课程实验使用,也可以供开放实验、设计实验使用。
(4)实验教学的目标确定在以下几个方面:
验证基本理论、方法和技术。通过验证性实验,使学生加深对基本理论、方法和技术理解,能够熟练应用,并使学生进一步认识到:基本理论、方法和技术来源于实践,又对实践有强大的推动作用,在实践中得到发展,得到创新。
基本实践能力的培养。基本实践能力包含:掌握小型单片机应用系统开发研制所采用的基本环境、方法、手段及所使用的仪器设备。
综合工程实践能力的培养。综合工程实践能力包含:掌握复杂单片机工程应用系统开发研制所采用的先进的环境、方法、手段及所使用的仪器设备,并能进行工程决策分析。
创新设计能力的培养。创新设计能力包含:在一些关键的技术环节上能够激发出超常的思想方法或采用前沿性的技术手段分析解决问题。
(5)实验教学的实施方式
根据现代工程人才的培养模式、人才素质及能力的要求,我们设计出了形式多样的实验教学方式。
指导型实验。这类实验纳入单片机原理及应用课程的教学计划和教学大纲,在老师的指导下,进行规定要求实验,实验后要写出实验报告。实验目标是基本实践能力的培养。
开放型实验。这类实验是学生根据自己的要求自发地进行实验,实验室必须随时满足学生的实验要求。在这种实验中,学生可根据自己的情况实现多种目标。
设计型实验。这类实验学生带着自己的设计问题,进入实验室进行调试或测试,一般结合课程设计、毕业设计、大学生科技活动项目进行。实验要有明确的目标,主要培养学生综合工程实践能力和创新设计能力。
第四部分 自评结果和评分依据
为了进一步提高课程教学质量,努力做好课程建设与评估,电气工程系专门成立了院系、教研室(课程组)两级评估领导小组,负责对申报课程的指导、监督和审查。课程组全体任课教师认真学习、领会相关课程建设与评估精神,认真对照精品课程建设评估指标体系的各项要求,总结多年来课程建设的成果,结合课程建设过程中存在的实际问题,进行了认真细致地资料整理、自查自评。通过本次自查自评活动,真正达到了“以评促改,以评促建”的目的。
自评结果:Q=102分(≥100),符合并达到了校级精品课程的条件。详见附件:课程自评表。
第五部分 存在的主要问题及整改措施
1.网络教学和资源共享方面还需进一步的丰富和完善。实现与本课程相关的信息查询、辅导答疑、作业练习等多种功能,方便学生网上学习。
2.实验教学设备更新不够,试验教学手段还不够丰富、不够先进,理论教学内容和体系还需要进一步整合、优化;
3.进一步加大教学改革力度,转变教育教学理念,探索高教理论,不断改进和提高教师的理论与实践教学方法和手段。
同时还需要认清形势,剖析自我,虚心向兄弟院校学习先进的课程建设经验,弥补自己的差距和不足,加快课程建设步伐,使《单片机原理及应用》课程教学全面上台阶、上水平。
附件:自评评分依据 师资结构:19分/20 1.1师资结构:A级,4分/4 课程组职称结构合理,有教授、副教授、讲师、高级实验师、实验师共8人,主要由教授、副教授、讲师上课。
1.2教学水平:A级,5 分/6 教学水平高,高、中级职称教师均开课2门以上;教学工作量饱满,教案齐全;有教改及科研项目。
1.3学术水平:A级,6 分/6近3年发表论文篇,人均6篇;主编、参编教材9部;完成省厅级科研项目3项,校级科研基金项目3项,院教改项目7项。
1.4教风建设:A级,4分/4 教风良好;教研室制度健全,坚持教学研究活动,每年教研活动大于18次,有记录;能坚持相互听课、评教;能收集学生对教学的反馈信息,并改进教学;教学组无任何教学事故。教学条件:24分/25 2.1教学大纲:A级,6分/6 教学大纲符合专业培养目标和教学计划的基本要求,并能结合教学计划适时修订、完善;大纲能反映课程体系结构,项目完整,层次清晰,重点、难点突出,要求明确;教学过程中能够严格执行大纲。
2.2教材及教学参考书:A级,7 分/7 选用学校自编国家级规划教材及相应教学参考书,满足不同专业的培养计划要求,使用效果好。
2.3课程教学管理及教学文件:A级,5分/6 教学参考资料丰富、齐全,能反映本课程发展现状;课程有完整的教学工作总结,教师有教学日历和教案。
2.4教学设备和手段:A级,6分/6 使用多媒体、板书讲解和现场教学等手段;与实验室共同开发研制有相应的实验教学设备,且符合本校学生情况,使用效果好,完全能满足正常的教学需要。3 考核:15分/17 3.1考试说明:A级,3分/3 在教学大纲的指导下,能按要求进行命题考试工作,命题质量高,考分分布合理。3.2题库(卷库)建设:B级,4分/5 有与教材配套使用的高质量的试题库,试题库完全符合教学要求。3.3命题与评分:A级,4分/4 考试命题形式多样,有外校试题、教研室组织命题、试题库组题等,全部为考教分离;有评分标准,流水阅卷,有效控制了评分误差。3.4试卷分析:B级,3分/5 试题内容体现教学大纲的基本要求,难度适中,有一定的可信度和区分度;成绩分布基本合理。4 教学改革:分/13 4.1教改方案:A级,4分/5 在切实可行的教改计划,且能运用在教学过程中,有一定的总结。4.2教改效果:A级,7分/8 有专业教改项目的实施,完成教改项目7项,教改效果比较显著,获校教学成果奖二等奖3项。5 教学效果:21分/25 5.1讲课质量:A级,9分/10 根据师生对讲课质量的综合评价,课程组总体讲课水平较高。5.2课外指导:A级,5分/6 对学生课外学习有明确具体的要求,并认真落实、检查;坚持课外辅导、答疑,效果较好。
5.3教学获奖情况:A级,4分/4近几年获院级以上教学成果奖、讲课大赛奖、教案评比奖的人数占课题组人数的70%;有毕业生调查信息表,毕业生反映本课程教学效果优良。
5.4学习质量:B级,3分/5 在严格组织考试、评分的情况下,学生考试成绩真实,客观反映了学生学习的现状;学生基本知识掌握较扎实,但综合解题能力一般。6 特色指标:A级,16分/20(1)兼顾教学的典型性和技术先进性
教学内容的典型性有利于学生理解相关基础知识,掌握基本原理和方法,触类旁通。随着单片机应用技术日异月新的发展,在未来的实际工作中又会广泛接触到新技术、新器件。在理论教学和实践充分考虑了典型性问题,同时在每个实验的实现方案中又提示学生在典型性问题的基础上采用一些新器件、新方法自行设计,让学生接触一些先进性技术、方法。
(2)基础训练与实际应用相结合
在注重单片机原理、实用接口技术的基础上、还突出教学内容的实践性和实用性。大多数实验内容都取材于生产和科研实际。综合应用实验集中锻炼学生了解实际系统要求,设计应用系统的能力。有助于开拓视野,强化工程观念,培养创新能力和协作精神,提高综合素质。
(3)注重综合工程实践能力和创新设计能力的培养
大多数实验内容都取材于生产和科研实际,使学生所学就能所用。
每一个实验项目的实验过程都突出一个单片机工程应用系统开发设计的各个关键技术环节,尤其突出调试方法和手段。每一个实验项目中都设置了若干问题,让学生充分发挥主观能动力和创新思维能力进行调试。每一个实验项目除给出参考实验方案外,还提示采用不同的方案、不同的器件、不同的方法自行设计、调试,给学生留下创新发挥的空间。
电气工程系
《单片机原理及应用》课程组
2010.3
第三篇:单片机原理及应用课程设计
智能电子钟(LCD显示)
1、设计内容及要求...............................................................................................2 1.1、设计内容..............................................................................................2 1.2、设计要求..............................................................................................2 1.3、撰写设计报告......................................................................................2
2、总体方案设计...................................................................................................2 2.1、方案图................................................................................................2 2.2、面板布置图.........................................................................................2 2.3、方案讨论.............................................................................................3 2.4、明晰任务.............................................................................................4
3、电路原理图......................................................................................................4
4、程序框图.........................................................................................................5 4.1、显示子程序流程图............................................................................5 4.2、实时时钟芯片 1302 读/写数据流程图............................................6
5、编程序................................................................................................................6
6、调试....................................................................................................................6 6.1、软件调试.............................................................................................6 6.2、仿真调试..............................................................................................7
7、自我感想............................................................................................................7
8、参考书目............................................................................................................8 附录:C 语言编程源程序.......................................................................................8 1.设计内容及要求 1.1、设计内容:
以AT89C51 单片机为核心,制作一个 LCD 显示的智能电子钟。1.2、设计要求:
(1)计时:秒、分、时、天、周、月、年。(2)闰年自动判别。
(3)五路定时输出,可任意关断(最大可到16路)。(4)时间、月、日交替显示。(5)自定任意时刻自动开/关屏
(6)计时精度:误差≤1秒/月(具有微调设置)
(7)键盘采用动态扫描方式查询。所有的查询、设置功能均由功能键K1、K2完成 1.3、撰写设计报告
单片机课程设计是以课题或项目设计方式开展的一门课程,具有较强的综合性、实践性,是工科、工程类院校或职业类院校电类专业在校生的必修课,是将单片机原理与应用课程的理论知识转变为应用技术的重要教学环节。这一环节不但能加深对单片机原理的理解,而且还能培养学生的实践动手能力,开发学生的分析、解决问题的能力。单片机课程设计环节的训练能够让学生知道单片机工程项目的制作过程,使学生尽早了解单片机系统的开发过程。
2.总体方案设计 2.1、方案图
2.2、面板布置图
2.3、方案讨论
方案一:采用实时时钟芯片
实时时钟芯片具备年、月、日、时、分、秒计时功能和多点计时功能,计时数据的更新每秒自动进行一次,不需程序干预。计算机可通过中断或查询方式读取计时数据进行显示,因此计时功能的实现无需占用 CPU 的时间,程序简单。此外,实时时钟芯片多数带有锂电池做后备电源,具备永不停止的计时功能;具有可编程方波输出功能,可用做实时测控系统的采样信号等;有的实时时钟芯片内部还带有非易失性 RAM,可用来存放需长期保存但有时也需变更的数据,由于功能完善,精度高,软件程序设计相对简单,且计时不占用 CPU 时间,因此,在工业实时测控系统中多采用这一类专用芯片来实现实时时钟功能。
方案二:软件控制
利用单片机内部的定时/计数器进行中断定时,配合软件延时实现时、分、秒的计时及秒表计时。该方案节省硬件成本,且能使设计者对单片机的指令系统能有更深入的了解,从而掌握单片机应用技术 MCS-51 汇编语言程序设计方法,因此,本系统设计采用此种软件控制方法来实现计时。而由于 Atmel 公司 的AT89C51 是一种自带 4KB Flash 存储器的低电压、高性能的 CMOS 8 位微处理器。该器件采用 Atmel 高密度非易失存储器制造技术制造,与工业标准 的MCS-51 指令集和输出引脚相兼容。AT89C51 将多功能 8 位 CPU 和闪存集成在单个芯片中,是一种高效的微控制器,使用也更方便,寿命更长,可以反复擦除 1000 次。形成了功能强大、使用灵活和具有较高性能价格比的微控制器。它的功能强大而且也比较容易购买,故本设计中所选的单片机为 AT89C51 单片机。2.4、明晰任务
采用 AT89C51 单片机作为系统的控制核心。时钟数据通过市场上流行的时钟芯片 DS1302 来获取。DS1302 是 DALLAS 公司推出的涓流充电时钟芯片,内含一个实时时钟/日历和 31 字节静态 RAM,可以通过串行接口与计算机进行通信,使得管脚数量减少。实时时钟/日历电路能够计算 2100 年之前的秒、分、时、日、星期、月、年的,具有闰年自动判断调整的能力。定时电路能够实现自定任意时刻自动开/关屏,采用 LCD LM016L 显示年、月、周、天、时、分、秒。通过按键开关实现微调,确保计时精度:误差≤1 秒/月。DS1302 时钟芯片的主要功能特性:
(1)能计算 2100 年之前的年、月、日、星期、时、分、秒的信息;每月的天数
和闰年的天数可自动调整;时钟可设置为 24 或 12 小时格式。(2)31B 的 8 位暂存数据存储 RAM。(3)串行 I/O 口方式使得引脚数量最少。
(4)DS1302 与单片机之间能简单地采用同步串行的方式进行通信,仅需 3 根线。
(5)宽范围工作电压 2.0-5.5V。
(6)工作电流为 2.0A 时,小于 300nA。
(7)功耗很低,保持数据和时钟信息时功率小于 1mW。
3.电路原理图
4.程序框图
4.1、显示子程序流程图
4.2、实时时钟芯片 1302 读/写数据流程图
5.编程序 源程序见附录部分 6.调试 6.1、软件调试
目前设计过程中容易造成元件和仪器仪表的损坏,而借助 Keil 和 Proteus进行单片机系统的开发,可以节省设计成本,提高设计速度。Keil 软件包是一个功能强大的开发平台,它包括项目管理器、CX51 编译器、AX51 宏汇编器、BL51/LX51 连接定位器、RTX51 实时操作系统、Simulator 软件模拟器及 Monitor51 硬件目标调试器。它是一种集成化程度高的文件管理编译环境,主要功能为编译 C 语言源程序,汇编程序或混合语言源程序,连接和定位目标文件和库,创建 HEX 文件,调试目标程序等。Keil 是目前最好的 51 单片机开
发工具之一。Keil 支持软件模拟仿真(Simulator)和用户目标调试(Monitor51)两种工作模式。前者不需要任何单片机硬件即可完成用户程序仿真、调试,后者利用硬件目标板中的监控程序可以直接调试目标硬件系统。Proteus 是一个完整的嵌入式系统软件、硬件设计仿真平台,它包括原理图输入系统 ISIS、带扩展的 Prospice 混合模型仿真器、动态元件库、高级图形分析模块和处理器虚拟系统仿真模型 VSM。ISIS 是 Proteus 系统的中心,具有超强的控制原理设计环境。ProteusVSM 最重要的特点是能把微处理器软件作用在处理器上,并和该处理器的任何模拟和数字元件协同仿真,仿真执行目标码就像在真正的单片机系统上运行一样,VSM CPU 模型能完整仿真 I/O 接口、中断、定时器、通用外部设备口及其他与 CPU 有关的外部设备,甚至能仿真多个处理器。6.2、仿真调试 Proteus 仿真
7.自我感想
经历过这么多天不间断的课程设计,我们有挺多感触的,从最基本上说我们看到了,也意识到了自己的不足,对于不断克服的各种阻碍也让我们体会到了课程设计的意义所在。对于只接触课本只动笔杆的我们,面临实际的设计尺寸,让我们很是尴尬,都说理论联系实际,真正到联系的时候才发现挺困难的,不过正是理论知识的各种补充才让我们能最终完成任务,然后深深地体会到理论对现实的指导作用。我们现在最缺乏的就是实际工作经验,而理论联系实践并不像我们想象的那么简单,他需要坚实的理论基础和实际工作经验。坚实的理论基础决定了我必须坚持学习新的知识新的理论,完善了自己的知识结构,才能在以后的实际中轻松面对,才能设计出更好的更有益于人们生活与工作的机械,才能跟上时代的步伐,不被淘汰。在这个一边忙着复习忙着考试又要准备课程设计的日子里,真真正正的体会到了时间的宝贵,有点像高中忙忙碌碌的生活,不过能按时完成课程设计对我们来说也是一个莫大的安慰。严谨和细心是做机械设计的必要态度,要想做好一件事,就必须一丝不苟、态度认真。俗话说:“失之毫厘,谬之千里。”在机械设计上尤其应该注意。在以后的工作中,你的很小的一个疏忽将会造成一个公司很大的损失,甚至给用户带去生命危险,而自己也会为自己的不负责任行为付出代价。再者就是设计中要严谨和细心,对于机械是不能出差错的,任何的微小误差都可能产生不可预计的后果,当然对于我们来说就是设计中要走一些弯路,而且在这个严重缺少时间又惦记回家问题的我们来说也是一个很严重的后果。不过,困难虽是难免的,但我们有信心就能并且已经战胜了困难,完成了这个无比揪心的课程设计。因为时间等各种关系设计中难免有些不足还请老师助教给予批评和帮助。
8.参考文献
《MCS-51 系列单片机原理及应用》 孙涵芳 主编 《新概念 51 单片机 C 语言教程》 郭天祥 主编 《51 单片机课程设计》 周向红 主编 《单片机原理及其应用教程》 张元良 主编 附录:C 语言编程源程序
#include
uint year_data,t;//-----sbit SCLK=P3^5;//DS1302 通讯线定义 sbit DIO=P3^6;sbit RST=P3^7;sbit speak=P0^0;sbit DS=P2^0;//595 通讯线定义 sbit SH_CP=P2^1;sbit ST_CP1=P2^2;sbit ST_CP2=P2^3;sbit ST_CP3=P2^4;sbit ST_CP4=P2^5;sbit ST_CP5=P2^6;sbit ST_CP6=P2^7;sbit ST_CP7=P3^0;sbit ST_CP8=P3^1;sbit OE1=P1^0;sbit OE2=P1^1;sbit OE3=P1^2;sbit OE4=P1^3;sbit OE5=P1^4;sbit OE6=P1^5;sbit OE7=P1^6;sbit OE8=P1^7;sbit K1=P3^2;//按键接口定义 sbit K2=P3^3;sbit K3=P3^4;sbit K4=P0^1;sbit K5=P0^2;//-----void write_595(uchar temp)//写 74HC595 一个字节 { uchar temp_595,i;temp_595=temp;for(i=0;i<8;i++)
{
SH_CP=0;
_nop_();_nop_();_nop_();if(temp_595&0x80){ DS=1;} else { DS=0;} _nop_();_nop_();_nop_();SH_CP=1;temp_595<<=1;} } //--------------void delay(uint z)//Nms 延时 { uint x,y;for(x=z;x>0;x--)for(y=112;y>0;y--);} //-------------void delaynus(uint z)//ums 延时 { uint x,y;for(x=z;x>0;x--)for(y=10;y>0;y--);} //---------------void write(uchar date)//写入 DS1302 一个字节 { uchar temp,i;RST=1;SCLK=0;temp=date;for(i=0;i<8;i++){ SCLK=0;if(temp&0x01)DIO=1;else DIO=0;SCLK=1;temp>>=1;} } //-----uchar read()//读出 DS1302 一个字节 { uchar a,temp;RST=1;for(a=8;a>0;a--){ temp>>=1;SCLK=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();SCLK=0;if(DIO){ temp=temp|0x80;} else { temp=temp|0x00;} } return(temp);} //---void write_1302(uchar add,uchar dat)//写 DS1302 数据 { RST=0;SCLK=0;RST=1;write(add);write(dat);SCLK=1;RST=0;} //----------uchar read_1302(uchar add)// 读 DS1302 数据 { uchar temp;RST=0;SCLK=0;RST=1;write(add);temp=read();SCLK=1;RST=0;return(temp);} //------------void display()//显示子程序 { miao=read_1302(0x81);//读秒 fen=read_1302(0x83);//读分
shi=read_1302(0x85)&0x3f;//读时 date=read_1302(0x87);//读日 month=read_1302(0x89);//读月 year=read_1302(0x8d);//读年 day=read_1302(0x8B);//读星期 write_595(miao);//显示秒 ST_CP1=0;ST_CP1=1;ST_CP1=0;delaynus(10);write_595(fen);//显示分 ST_CP2=0;ST_CP2=1;ST_CP2=0;delaynus(10);write_595(shi);//显示时 ST_CP3=0;ST_CP3=1;ST_CP3=0;delaynus(10);write_595(date);//显示日 ST_CP4=0;ST_CP4=1;ST_CP4=0;delaynus(10);write_595(month);//显示月 读 ST_CP5=0;ST_CP5=1;ST_CP5=0;delaynus(10);write_595(year);//显示年 ST_CP6=0;ST_CP6=1;ST_CP6=0;delaynus(10);write_595(xingqi[day]);//显示星期 ST_CP7=0;ST_CP7=1;ST_CP7=0;delaynus(10);} //----------void ds1302_init()//1302 初始化 { RST=0;SCLK=0;/* write_1302(0x80,0x00);//设置初始值 SEC write_1302(0x82,0x00);//设置初始值 MIN write_1302(0x84,0x00);//设置初始值 HR write_1302(0x86,0x00);//设置初始值 DATE write_1302(0x88,0x00);//设置初始值 MONTH write_1302(0x8A,0x00);//设置初始值 DAY */ write_1302(0x8C,0x10);//设置初始值 YEAR } //--------------void PORT_INIT()//端口初始化 { P0=0XFE;P1=0X00;P2=0X00;P3=0XFC;} void time_init()//定时器初始化 { TMOD=0x11;//设置定时 器 01 都为工作方式 1 TH0=(65536-50000)/256;//装入初值 TL0=(65536-50000)%256;TH1=(65536-10000)/256;//装入初值 TL1=(65536-10000)%256;PT0=1;//T0 定时器优先级最高 EA=1;//开总中断
ET0=1;//开定时器 0 中断 ET1=1;//开定时器 1 中断 TR0=1;//启动定时器 0 TR1=1;// 启动定时器 1 } //--------------void main(void)//主程序 { PORT_INIT();ds1302_init();time_init();year=read_1302(0x8d);//读年数据 year_data=0x2000|year;write_595(year_data>>8);//显示 2010 年的 20 字样 ST_CP8=0;ST_CP8=1;ST_CP8=0;set_shi=0x09;//闹钟初始值设定 set_fen=0x39;time_flag=0;//标志位 set=0;while(1){ switch(set){ case 0: //设置秒 { display();// 显 示 子 程 序
if((shi==set_shi)&&(fen==set_fen)&&(time_flag==0))小时和分钟 { speak=~speak;if((K2==0)&&(time_flag==0))//按键 K2 停 止闹钟响 { P0&=0XFE;time_flag=1;} delay(10);} } break;} if(fen==set_fen+1)// 当 不 按 下 闹 钟 停止按键,一分钟后自动停止闹 钟 { P0&=0XFE;time_flag=0;} } } //--------void time0()interrupt 1 // 定时 器 0 中断 { TR0=0;TH0=(65536-50000)/256;TL0=(65536-50000)%256;mun++;if(mun==15){ mun=0;switch(set){ case 1: //设置秒闪烁 {OE1=1;delay(300);OE1=0;} break;case 2: //设置分闪烁 { OE2=1;delay(300);OE2=0;} break;case 3: //设置时闪烁 { OE3=1;delay(300);OE3=0;} break;case 4: //设置日闪烁 { OE4=1;delay(300);OE4=0;} break;case 5: //设置月闪烁 { OE5=1;delay(300);OE5=0;} break;case 6: //设置年闪烁 { OE6=1;OE8=1;delay(300);OE6=0;OE8=0;} break;case 7: //设置星期闪烁 { OE7=1;delay(200);OE7=0;} break;case 8: //设置闹钟闪烁 { OE2=1;OE3=1;delay(200);OE2=0;OE3=0;} break;} } TR0=1;} //-----------void time1()interrupt 3 // 定时器 1 中断 { TR1=0;//先关定时器 TH1=(65536-20000)/256;TL1=(65536-20000)%256;//-if(K1==0){ delay(10);if(K1==0){ set++;if(set==9){ set=0;write_1302(0x80,miao);//设置初始值 SEC write_1302(0x82,fen);//设置初始值 MIN write_1302(0x84,shi);//设置初始值 HR write_1302(0x86,date);//设置初始值 DATE write_1302(0x88,month);// 设置初始值 MONTH write_1302(0x8A,day);//设置初始值 DAY write_1302(0x8C,year_data);//设置初始值 YEAR } t=50000;while((!K1)&&t){ t--;} } } //-------if(K2==0){ delay(10);if(K2==0){ switch(set){ case 1: { miao++;if((miao&0x0f)>0x09){ miao+=0x10;miao&=0xf0;} if(miao==0x60){ miao=0x00;} write_595(miao);ST_CP1=0;ST_CP1=1;ST_CP1=0;} break;case 2: { fen++;if((fen&0x0f)>0x09){ fen+=0x10;fen&=0xf0;} if(fen==0x60){ fen=0x00;} ST_CP2=0;ST_CP2=1;ST_CP2=0;} break;case 3: { if((read_1302(0x85)&0x80)==0x00){ shi++;if((shi&0x0f)>0x09){ shi+=0x10;shi&=0xf0;} if(shi==0x24)//24 小时制 { shi=0x00;} } else { shi=(shi|0x80)+1;if((shi&0x0f)>0x09){ shi+=0x10;shi&=0xf0;} if(shi==0x12)//12 小时制 { shi=0X80;} } write_595(shi);//显示时 ST_CP3=0;ST_CP3=1;ST_CP3=0;} break;case 4: { date++;if((date&0x0f)>0x09){ date+=0x10;date&=0xf0;} if((date==0x32)&&((month==0x01)||(month==0x03)||(month==0x05)||(month ==0x07)||(month==0x08)||(month==0x10)||(month==0x12))){ date=0x01;} else if((date==0x31)&&((month==0x04)||(month==0x06)||(month==0x09)||(month ==0x11))){ date=0x01;} else if((date==0x29)&&(month==0x02)&&((year_data|read_1302(0x8d))%100!=0)& &((year_data|read_1302(0x8d))%400!=0)){ date=0x01;} else if((date==0x30)&&(month==0x02)&&((year_data|read_1302(0x8d))%100==0)& &((year_data|read_1302(0x8d))%400==0)){ date=0x01;} write_595(date);ST_CP4=0;ST_CP4=1;ST_CP4=0;} break;case 5: { month++;if((month&0x0f)>0x09){ month+=0x10;month&=0xf0;} if(month==0x13){ month=0x01;} write_595(month);ST_CP5=0;ST_CP5=1;ST_CP5=0;} break;case 6: { year_data++;if((year_data&0x000f)==0x0a){ year_data+=0x0010;year_data&=0xfff0;} if((year_data&0x00ff)==0xa0){ year_data+=0x0100;//向前进 1 year_data&=0xff00;//后面尾数归 0 } write_595(year_data);ST_CP6=0;ST_CP6=1;ST_CP6=0;write_595(year_data>>8);ST_CP8=0;ST_CP8=1;ST_CP8=0;} break;case 7: { day++;if((day&0x0f)==0x08){ day=0x01;} write_595(xingqi[day]);ST_CP7=0;ST_CP7=1;ST_CP7=0;} break;} t=50000;while((!K2)&&t){ t--;} } } //-------------------------if(K3==0){ delay(10);if(K3==0){ switch(set){ case 1: { miao--;if((miao&0x0f)==0x0F){ miao&=0xf9;//减到 0 后,再减一次就归 0, } if(miao==0xF9)//当全部减到 00 时,再 减一次就为 59 { miao=0x59;} write_595(miao);ST_CP1=0;ST_CP1=1;ST_CP1=0;} break;case 2: { fen--;if((fen&0x0f)==0x0F){ fen&=0xf9;} if(fen==0xF9){ fen=0x59;} write_595(fen);ST_CP2=0;ST_CP2=1;ST_CP2=0;} break;case 3: { if((read_1302(0x85)&0x80)==0x00){ shi--;if((shi&0x0f)==0x0F){ shi&=0xf9;} if(shi==0xF9)//24 小时制 { shi=0x23;} } else { shi=(shi|0x80)-1;if((shi&0x0f)==0x0F){ shi&=0xf9;} ST_CP4=0;} break;case 5: { month--;if((month&0x0f)==0x0F){ month&=0xf9;} if(month==0x00){ month=0x12;} write_595(month);ST_CP5=0;ST_CP5=1;ST_CP5=0;} break;case 6: { year_data--;if((year_data&0x000f)==0x0F){ year_data&=0xfff9;} if((year_data&0x00f0)==0xF0){ year_data&=0xf999;} write_595(year_data);ST_CP6=0;ST_CP6=1;ST_CP6=0;write_595(year_data>>8);ST_CP8=0;ST_CP8=1;ST_CP8=0;} break;case 7: { day--;if((day&0x0f)==0x00){ day=0x07;} write_595(xingqi[day]);ST_CP7=0;ST_CP7=1;ST_CP7=0;} break;} t=50000;while((!K3)&&t)//松手检测 { t--;} } } //---switch(set){ case 8: { if(K4==0){ delay(10);if(K4==0){ if((read_1302(0x85)&0x80)==0x00){ set_shi++;if((set_shi&0x0f)>0x09){ set_shi+=0x10;set_shi&=0xf0;} if(set_shi==0x24)//24 小时制 { set_shi=0x00;} } else { set_shi=(set_shi|0x80)+1;if((set_shi&0x0f)>0x09){ set_shi+=0x10;set_shi&=0xf0;} if(set_shi==0x12)//12 小时制 { set_shi=0X80;} write_595(set_shi);// 显示闹 钟的时 ST_CP3=0;ST_CP3=1;ST_CP3=0;t=50000;while((!K4)&&t){ t--;} } } //----if(K5==0){ delay(10);if(K5==0){ set_fen++;if((set_fen&0x0f)>0x09){ set_fen+=0x10;set_fen&=0xf0;}
if(set_fen==0x60)
{
set_fen=0x00;
} write_595(set_fen);ST_CP2=0;ST_CP2=1;ST_CP2=0;t=50000;while((!K5)&&t){ t--;} } set_shi+=0x10;set_shi&=0xf0;} if(set_shi==0x12)//12 小时制 { set_shi=0X80;} write_595(set_shi);// 显示闹 钟的时 ST_CP3=0;ST_CP3=1;ST_CP3=0;t=50000;while((!K4)&&t){ t--;} } } //----if(K5==0){ delay(10);if(K5==0){ set_fen++;if((set_fen&0x0f)>0x09){ set_fen+=0x10;set_fen&=0xf0;}
if(set_fen==0x60)
{
set_fen=0x00;
} write_595(set_fen);ST_CP2=0;ST_CP2=1;ST_CP2=0;t=50000;while((!K5)&&t){ t--;} } } } } //------------------------if(((K4==0)||(K5==0))&&(set==0)){ delay(10);if(((K4==0)||(K5==0))&&(set==0)){ write_595(set_shi);//显示闹钟的时 ST_CP3=0;ST_CP3=1;ST_CP3=0;write_595(set_fen);ST_CP2=0;ST_CP2=1;ST_CP2=0;P1=0XF9;while((!K4)||(!K5));P1=0X00;} } //----------TR1=1;//退出时开定时器 } } //----------
第四篇:《单片机原理及应用》课程设计简介
《单片机原理及应用》课程设计简介
1、课程编码:1302009602、英文名称:project work for 《the principle and application of single chip computer》
3、学时/学分:
总学时:1周,学分:1学分,时间安排:第五学期
4、课程负责人:石亚和
5、课程设计主要内容简介
目的: ⑴ 配合《单片机原理及应用》课程,加强实践训练,使学生巩固理论课程所学内容,加深对原本抽象的学习内容的理解深度,达到良好的教学效果。⑵ 结合专业特点,培养学生独立科研和设计开发能力,并为以后的毕业设计打下坚实的基础。
任务: ⑴ 学生围绕教师提出的设计课题进行选择论证,确定自己的方案,做必要的实验,进行原理图设计和印刷电路板设计并完成设计图纸; ⑵写出设计说明书。
要求:⑴ 学生原则独立完成设计工作,可每2-3人为一组,各组题目不同,由2-3名教师分别指导。⑵ 课程设计期间应集中统一在确定的地点进行工作,不得缺席。学生应准备专用的笔记,记录设计期间的计算数据、所查阅的资料文献、改进措施等内容以备平时检查。实施计划:第5学期期末安排进行,提前4周在课程进行中下发设计题目并要求学生分组 完毕和进行题目初选。提前1周所有指导教师与学生见面,约定活动时间地点等项。用1 周时间完成方案论证、原理图绘制和PCB印刷电路板练习,并考虑程序流程。最后写出完 整的设计说明书。
成绩评定:工作表现、设计说明书质量和答辩验收各占三分之一。由各指导教师按5级分制分别评定,并由课题组长最终审核确认。
6、先修课程:模拟电子技术,脉冲与数字电路,单片机原理及应用
7、适用专业:测控技术及仪器
8、参考教材:《单片机原理及应用》课程设计指导书
第五篇:《单片机原理及应用》课程设计任务书(2014)
《单片机原理及应用》课程设计
任务书
一、课程设计题目
见农机111《单片机课程设计》题目分配表。
二、课程设计的基本要求
1、根据给定的题目,在规定时间内完成系统硬件电路设计、系统程序设计。具体包括:
(1)在keil IDE(μvision3)中完成应用程序设计、并编译;
(2)在Proteus 7.5下的ISIS Professional中完成电路设计、调试并仿真通过。
2、课程设计结束时需要提交的材料清单:
(1)设计说明书
设计说明书包含:设计思想和设计说明,硬件原理框图,硬件原理图与其软件配合介绍(若有),程序存储器和数据存储器的单元分配,程序流程图,源程序清单,课程设计中所有涉及到的芯片资料。
(2)图纸:硬件电路图(Proteus软件仿真通过)、仿真效果图。均用彩色A3以上幅面打印。
(3)光盘:包含上述(1)、(2)的电子版。
3、多人共同完成一个题目时,只需提交上述材料一份,格式按照贵州大学课程设计相关要求装袋,姓名填写在一起即可。但要在设计说明书中说明每个人的主要分工情况。
三、课程设计时间安排
设计时间:2014年6月30日~7月7日。
课程设计材料提交、答辩时间:7月7日下午2:30。
课程设计材料提交、答辩地点:农机系办公室(机械楼618)。
四、成绩评定方式
设计说明书:40%。硬件电路原理图:40%。答辩:20%。