【单片机原理与应用】课程教学总体设计

2024-08-23

【单片机原理与应用】课程教学总体设计(精选6篇)

【单片机原理与应用】课程教学总体设计 第1篇

高等职业技术教育

《单片机原理与应用》课程教学总体设计

课程名称: 《单片机原理与应用》 课程编码: 051071 适用专业: 电气自动化技术 学时数:84 其中:理论教学学时:

54课内实训学时:30 制定人:

审核人:

一、课程基本信息

(一)考核方式及成绩评定标准

二、教学设计

(二)学习效果评价

(一)学习基础分析

四、其他

(二)学习目标

(一)参考教材、讲义、设备、网络等教学

(三)教学内容(含作业设计)资源

(四)教学方法

(二)其它需要说明事项

三、考核与评价

机电工程系 2008年8月18日

一、课程基本信息

1.课程名称:单片机原理与应用 2.课程类别:专业核心课 3.课程编码:051071

4.学时:84学时(理论教学54学时,课内实训30学时)

5.适应专业:电气自动化技术专业、电力系统设备及自动化方向专业

二、教学设计

(一)学习基础分析

高等数学、物理基础知识;

已经掌握电工技术、电子技术、低压电气设备、电机拖动技术、传感器技术、自动控制原理等相关内容与技能。

(二)学习目标

1.正确理解、学会使用MCS-51单片机。

2.理解并掌握MCS-51单片机的硬件结构和原理。3.熟练使用MCS-51单片机的指令。4.掌握MCS-51单片机的中断和定时系统。5.熟悉MCS-51单片机的系统扩展原理及方法。

6.能熟练的应用MCS-51单片机指令编写简单的单片机程序。7.能跟据控制要求设计单片机控制系统,进行系统软硬件调试。8.熟悉MCS-51单片机的开发环境。

(三)教学内容(含作业设计)

模块一:公共基础模块

教学内容

●微型计算机基础; ●单片机概述; ●计算机的数制与编码;

实训与作业设计

●微型计算机的组成; ●单片机的主要特点; ●数制及其转换;

●作业1:通过搜集各种资料简述你所了解的微型计算机的应用领域;

●作业2:与同学们讨论:同一般的微型计算机相比,单片机具有哪些主要特点?应用在哪里?

模块二:基本技能模块

教学内容

●MCS-51系列单片机的引脚及其功能; ●单片机内部结构和工作原理; ●单片机中央处理单元; ●单片机存储器配置; ●单片机输入/输出端口; ●单片机时钟电路与时序; ●单片机的工作方式;

●MCS-51系列单片机指令系统概述; ●数据传送指令; ●算术运算类指令; ●逻辑运算及移位指令; ●控制转移指令; ●位操作指令; ●汇编语言程序设计;

模块三:综合技能模块

教学内容

●MCS-51系列单片机的中断系统概述; ●中断控制方式; ●定时器及定时控制; ●单片机的系统扩展结构; ●程序存储器的扩展; ●数据存储器的扩展;

●程序存储器及数据存储器的扩展; ●并行I/O口的扩展; ●键盘输入接口; ●LED显示器及接口技术; ●A/D转换器接口及应用; ●D/A转换器接口及应用; ●同步通信与异步通信; ●串行口的结构和工作原理; ●串行口的工作方式和应用;

实训与作业设计

●单片机的引脚及功能用法; ●程序存储器(ROM)的功能及用法; ●数据存储器(RAM)的功能及用法; ●P0、P1、P2、P3各个端口的功能及用法; ●时钟电路及时钟信号的产生; ●基本时序特点; ●复位及复位电路;

●程序执行方式和掉电保护方式; ●MCS-51单片机的指令格式; ●单片机的几种基本寻址方式; ●单片机指令的种类; ●顺序程序设计; ●循环程序设计; ●子程序设计;

●作业1:编制乘法口诀表的查表程序。●作业2:编制延时1S的程序。

实训与作业设计

●MCS-51系列单片机中断源的中断标志; ●定时器的4种工作方式; ●MCS-51系列单片机的总线结构; ●典型扩展电路介绍; ●程序存储器扩展方法; ●数据存储器扩展方法; ●按键输入的抖动现象;

●LED显示器与单片机的接口技术; ●逐次逼近法A/D转换器的工作原理; ●D/A转换器的基本概念;

●作业1:扩展一片16KB程序存储器2764; ●作业2:扩展一片8KB数据存储器6264; ●作业3:利用单片机和LED接口进行动态显示;●作业4:利用单片机和键盘接口输入数据; ●作业5:进行A/D转换采集模拟量; ●作业6:进行D/A转换输出控制量;

模块四:基本技能训练模块

教学内容

●单片机应用系统的抗干扰; ●单片机应用系统的软硬件调试; ●单片机应用系统的日常维护与检查; ●单片机应用系统的常见故障及处理;

实训与作业设计

●熟悉单片机开发软件Keil的用法; ●熟悉单片机仿真软件Proteus的用法; ●作业1:在Proteus软件中设计简单流水灯电路,并仿真;

●作业2:调试几个复杂程序,记录调试过程; ●作业3:讨论单片机控制系统常见故障的原因;

模块五:工程设计应用模块

教学内容

●单片机应用系统开发的一般方法; ●单片机应用系统的开发环境安装方法; ●单片机应用系统的硬件设计; ●单片机应用系统的软件设计; ●单片机应用系统的低功耗设计; ●单片机应用系统的加密技术;

实训与作业设计

●了解单片机在工业控制领域中的应用案例 ●作业1:讨论如何进行系统需求分析

●作业2:讨论如何根据需求进行硬件选型完成硬件设计;

●作业3:讨论如何根据硬件下系统进行软件控制程序的设计;

(四)教学方法

1.专题研讨、课堂互动交流;

2.学生以任务为驱动进行自学,教师进行讲解点评; 3.在设备和生产现场进行现场教学、实际动手操作; 4.通过讲解各种实物、挂图、以及工程图纸加深理论认识; 5.采用形象生动的多媒体教学,帮助学生学习;

6.教师指导学生在实训室进行单片机系统的接线、安装、调试; 7.安排适当的参观实习,理论联系实际;

(五)教学进程 序号 2 3 4 5 公共基础模块 基本技能模块 综合技能模块 基本技能训练模块 工程设计应用模块

合计(84)

注:课时分配在具体实施时可做适当调整。内

学时(84)讲授 18 16 6 6 54

实训 18 6 2 2 30 3

三、考核与评价

(一)考核方式及成绩评定标准

序号 2 3 4 5 6平时成绩 考核项目

平时考勤 课堂活动表现 课外作业 课外小论文 实训室和现场表现 考试成绩(闭卷)合计

分值 15 15 15 15 30 100

赋分办法

缺课一次扣2分,上不封顶,可出现负分

分6等:15、12、9、6、3、0 分6等:15、12、9、6、3、0 分6等:15、12、9、6、3、0 分6等:15、12、9、6、3、0

卷面分

总成绩=平时成绩×0.7+考试成绩×0.3

(二)学习效果评价

评价具体内容包括:

1.平时考勤:强制要求学生遵守纪律、按时出勤、保证足够的学习时间,这是学习效果的基本要件。另外贯穿于课程始终的考勤也是对学生积极向上的人生态度培养,使学生潜移默化地形成遵守纪律、遵守规则的好习惯,否则将会为此付出代价,提高学生的社会生存力和竞争力。

2.课堂活动表现:包括课堂互动是否积极参与、发言、向老师提问,能否正确回答老师问题等。考核并培养学生积极参与、勤于思考、团结协作精神、解决问题能力。

3.课外作业:课外作业是检查和巩固学生学习效果的重要手段,老师在评价每次作业时不仅要进行对错考核,更要考核、检查、培养学生完成作业的认真态度。使学生能按照工程技术文件的标准完成一个图文并茂的技术文件(作业)。这个潜移默化作用使学生形成的良好习惯将会使学生受益终生。

4.实训室表现:在实训室面对实物时的表现最能培养和检验学生的运行、维护检修、安装调试等技能。表现包括两个方面:老师的讲解示范过程和学生自己实训操作过程。要求学生认真听讲、勤做纪录、积极参与、勇于动手、团结协作、吃苦耐劳。

5.考试成绩:考试成绩是对学生学习效果的总结性考核。由于试卷书面考核具有一定的局限性,需要对于该门课程的考试方式进行进一步的改革和创新,随着实训条件的改善相关政策的创新最终达到以操作取代考试。

四、其他

(一)参考教材、讲义、设备、网络等教学资源

1.参考书目

[1]任益芳.单片机应用[M].北京:高等教育出版社,2006.[2]江力.单片机原理与应用技术[M].北京:清华大学出版社,2006.[3]陈桂友.单片机应用技术[M].北京:机械工业出版社,2008.[4]刘守义.单片机应用技术[M].西安:西安电子科技大学出版社,2002.[5]吴金戍.8051单片机实践与应用.[M].北京:清华大学出版社,2002.[6]李群芳.单片机原理、接口及应用.[M].北京:清华大学出版社,2005.[7]李广第.单片机基础.[M].北京:北京航空航天大学出版社,2001.[8]胡汉才.单片机原理及系统设计[M].北京:清华大学出版社,2002.[9] 曹巧媛.单片机原理及应用[M].北京:电子工业出版社,1997.[10] Proteus软件使用手册 2.教学设备 ●多媒体教学设备 ●教学挂图 ●MCS-51单片机 ●万用表 3.网络

利用http:///网站,输入关键词“MCS-51单片机”即可搜索并进入到单片机的生产、经销公司网站,了解不同单片机产品和技术发展;用关键词“单片机控制系统”搜索可进入专业组建单片机控制系统的公司网站,可以了解最前沿的单片机应用技术。

(二)其它需要说明事项

1.通过这几年的教学研究和教学实践,不论在教学理念上、教学手段上还是教学所需的设备上,基本已具备了开展“项目教学”方式的条件。为保证取得预期的效果,还需解决以下问题:

(1)更新及完成本课程的其他相关教学设备。(2)尽量安排小班教学,每课程学生不超过30人。

(3)在教学过程中,应立足于加强学生实际操作能力的训练,切实采用项目教学,以工作任务引领提高学生学习兴趣,激发学生的成就动机。

(4)在教学过程中,教师示范和学生分组操作训练互动,学生提问与教师解答、指导有机结合,让学生在教、学、做的过程中,认识单片机与控制理论的结合,同时应该掌握相应的操作技能。

(5)在教学过程中,要应用教学录像、多媒体、投影等教学资源辅助教学,帮助学生形象的了解单片机控制系统对于整个自动化控制系统的控制作用。

5(6)在教学过程中,要重视本专业自动控制技术的发展趋势,贴近工作现场。为学生提供职业生涯发展的空间,努力培养学生参与社会实践的创新精神和职业能力。

2.编制依据

(1)单片机控制系统设计、开发的步骤及对单片机系统安装检修、维护工作岗位对知识、技能、态度的需求调研;

(2)《单片机原理与应用》课程标准。3.编制人员

执笔人: 审核人:

4.编制时间2008年7月20日

完成时间:2008年8月18日

【单片机原理与应用】课程教学总体设计 第2篇

课程编号:13033070 课程类别:必修课

适用专业:电气信息类

学时:10 教研室主任:姜志成大纲执笔人:李春华

大纲审批人:付家才

一、课程设计的性质及目的

1.了解并掌握单片机的原理、结构、指令、接口及应用。

2.提高综合运用所学的理论知识独立分析和解决问题的能力。3.掌握汇编语言程序设计和调试。4.掌握C-51语言的设计和调试。

二、课程设计的要求

1. 根据设计要求,画出硬件接线图及程序的总体流程图,然后进行各控制模块的硬件设计及软件设计。

2.掌握如何应用单片机仿真器来开发应用系统及仿真调试的过程。

三、参考题目

题目一 校园作息时间控制系统

设计要求:

1.作息时间要求实现对上下课打铃、教学楼照明、学生宿舍灯、校园路灯四个开关量的精确控制。月时间累计误差≤1分钟。

2.能实时显示时间,并方便定期进行时间校准。

3.根据应用系统的要求,初步掌握总体结构设计的方法和构思,从中选择一种最佳设计方案。

4.根据应用系统结构规模的要求,掌握单片机外部扩充系统硬件设计的基本过程。

题目二 交通信号灯控制系统

设计要求:

1.设有一个南北(SN)向和东西(WE)向的十字路口,两方向各有两组相同交通控制信号灯,每组各有四盏信号灯,分别为直行信号灯(S)、左拐信号灯(L)、红灯(R)和黄灯(Y),交通控制信号灯布置如图1所示。

2.根据交通流量不同,交通信号灯的控制可实现手动、自动两种控制。平时使用自动控制,高峰区可使用手动控制。手动控制时,用户通过键盘对交通信号灯进行人工控制;自动控制时,交通信号灯控制规律用图2状态转换图来描述。

图1十字路口交通控制信号灯示意图

图2交通控制信号灯控制规律示意图

题目三 环境温度监测系统

设计要求:

1.可以监测8点环境温度信号,可以扩充;

2.测量范围为0.00℃~99.9℃,可以扩充到-55℃~+125℃,精度为±0.5℃; 3.用4位数码管进行循环显示,其中最高位显示通道提示符A~H,低3位显示实际温度值,每秒切换一个通道进行轮流显示;

4.可以随时查看指定通道的温度值(扩充功能)。

四、教学参考文件与教学形式

教学参考文件: 〔1〕付家才,《单片机控制工程实践技术》,化学工业出版社,2003年 〔2〕胡汉才,《单片机原理及接口设计》,清华大学出版社,2002年 〔3〕康华光,《模拟电子技术》,高等教育出版社,2004年 教学形式:根据课程设计大纲的要求,采取指导的形式。

五、考核方式及成绩评定标准

考核方式采取设计报告与实际操作,根据设计的情况和实际操作效果给出成绩,其中设计报告占60%,日常管理(包括迟到、旷课、卫生等)占10%,实际操作占30%。成绩采用优、良、中、及格和不及格五级分制评定。

六、其他必要的说明

【单片机原理与应用】课程教学总体设计 第3篇

《单片机原理与应用》是电子信息工程专业的专业基础必修课程,要求以C语言和MCS-51系列单片机为基础,使学生从应用角度出发,熟练掌握单片机基本结构、指令系统、工作原理、接口技术、C语言程序设计与应用方法、单片机内部资源和外部扩展资源的C51语言编程方法及KeilμVision4集成开发环境的使用方法。为从事电子信息产业及相关领域实际工作打下坚实的基础,该课程属于应用型课程[1]。单片机原理与应用课程在实际理论教学中存在教学方法单一,理论性太强,学生对理论知识的学习兴趣不强和动手能力差的问题, 因此有必要引入后续单独的单片机原理与应用实验课程形成完整的教学体系,使学生理论联系实际,进一步巩固单片机原理的理论知识,掌握单片机开发技术和C51语言编程方法。

为解决单片机课程教学中存在的老师难教、学生难学的问题,采用“任务驱动法”,为该课程设计若干个任务,每个任务包括若干个知识点,让学生在完成任务的过程中学习,进而掌握知识点。结果表明,利用本方法教学,提高学生的学习积极性和学习效率, 培养学生的实践精神和创造精神。由浅入深、循序渐进,从提高学生兴趣出发,以实际项目为驱动,激励学生自主学习相关理论知识, 解决完成项目中碰到的各种问题,将项目驱动法引入单片机教学,结合科研项目,把要讲授的各项理论知识和实践技能按由浅入深、现学现用的原则分解到一个个具有应用目标的任务中, 让学生在规定时间内依次完成这些任务。在实验教学过程中,项目驱动法要求以完成一个个具体实验任务为线索, 把单片机理论教学内容巧妙地隐含在每个实验任务中。引导学生掌握提出问题、分析问题和解决问题的方法, 最终让学生通过自己的努力和教师的指导完成任务。

从实验出发,让学生循序渐进地掌握书本上的知识,联系实际应用。“单片机原理及应用实验”是通信工程专业“单片机原理及应用”专业课单独开设的实验课程。通过本实验课程教学,学生理论联系实际,进一步巩固单片机原理理论知识,掌握基本单片机开发技术和C语言编程方法,为后续单片机原理及应用课程设计课程打下坚实的基础。

我们首先采用Keil C51和Proteus这两款软件, 设计了4个软件实验。Keil C51是德国Keil software公司开发的用于51单片机的C51语言开发软件, 在兼容标准C的基础上增加了很多与51单片机硬件相关的编译特性,使得在51系列单片机上开发应用程序更为方便和快捷[1]。Proteus软件是英国LabcenterElectronics公司开发的电路分析与实物仿真软件。可仿真 、分析多种模拟器件和集成电路,实现单片机和电路仿真的结合,具有模拟电路仿真、数字电路仿真和仿真单片机及外围电路组成的系统仿真[2]。

学生使用Keil C51进行汇编语言和C语言源程序的编写、调试、编译和执行,可以掌握单片机的硬件结构和内部资源。进一步地, 学生使用Proteus对单片机及外围电路组成的系统进行整机仿真,可以更直观地进行单片机整机系统设计,为合理应用单片机进行项目设计与产品开发打下基础。具体四个软件实验项目如下:

1.Keil软件认识实验。让学生采用Keil建立工程和调试工程,对汇编语言源程序进行编译、调试及执行。在程序单步执行过程中,观察包括程序存储器ROM、内部数据存储器RAM和外部数据存储器RAM在内的各内存单元中的数据变化情况。通过该实验,学生对单片机内部硬件和软件资源及Keil软件有直观印象,熟悉Keil编译环境。

2.数据排序实验。将内部数据存储器RAM中50H~5AH单元放入大小不等的数,采用经典的冒泡排序算法编写汇编语言源程序,将数据按由小到大的次序重新排列,并依次放入内部数据存储器RAM中60H~6AH单元。采用Keil软件编译、调试和执行。通过该实验,学生掌握汇编语言程序设计和调试方法。

3.Proteus认识实验。让学生采用Proteus建立工程和调试工程。首先在Proteus的ISIS模块中,建立以单片机为核心,动态LED模块为外部设备的整机仿真电路。然后在Proteus的Sourcecode模块中 ,采用C51语言编写单片机驱动LED灯进行闪烁的实验程序并采用Keilfor8051编译器对C51语言源程序进行编译,最后在ISIS中进行整机仿真,观察LED灯闪烁情况。通过该实验,学生熟悉Proteus仿真环境。

4.外中断应用实验。让学生采用Proteus建立工程和调试工程。首先在Proteus的ISIS模块中,建立以单片机为核心,单刀单掷开关和动态LED模块为外部设备的整机仿真电路。然后在Proteus的Sourcecode模块中 , 采用C51语言编写单片机外部中断0(P3.2位口)接收开关状态并驱动LED灯进行循环闪烁的实验程序并采用Keilfor8051编译器对C51语言源程序进行编译,最后在ISIS中进行整机仿真,观察LED灯闪烁情况。通过该实验,学生掌握中断控制的编程及实现方法。

在学生学习掌握相关软件知识和程序编程调试技能之后,就可以开始进行软硬件结合的综合实验学习。我们基于深圳市学林电子有限公司生产的XL2000单片机实验仪,编写四个单片机硬件实验项目。XL2000单片机综合试验仪由XL2000开发板和51tracer(追踪者)仿真器组成,集常用的单片机外围硬件、ISP下载线、单片机试验板、编程器、独立仿真器功能于

一身[1]。具体四个硬件实验项目如下:

1.小喇叭警报器实验。采用C51语言编写程序实现单片机内部定时/计数器执行定时操作,P3.3位口输出1KHz和2KHz的变频信号,采用Keil软件编译、调试并生成后缀名为.hex的文件。将.hex文件加载到XLISP软件中通过计算机USB口输入至实验箱的AT89S51单片机内。在实验箱上采用1PIN数据线连接P3.3位口和小喇叭的输入端口。由于P3.3位口输出1KHz和2KHz的变频信号 , 则喇叭里发出滴答一长一短的报警声音。通过该实验,学生掌握定时/计数器定时的编程及实现方法。

2.按键识别数码管显示实验。采用C51语言编写程序实现单片机P3的8位端口读取8位按键状态,P0的8位端口送出字段码控制8段式LED数据管显示不同数字。采用Keil软件编译、调试 并生成后 缀名为.hex的文件。 将.hex文件加载 到XLISP软件中通过计算机USB口输入至 实验箱的AT89S51单片机内。采用8PIN数据排线连接P3端口和按键模块,用8PIN数据排线连接P0端口和数码管模块。按键模块由8个轻触按键组成,一端接地,按下某个按键时,相应P3端口的某位口接收到低电平信号。通过该实验,学生掌握按键识别及数码管显示的实现方法。

3.DAC0832转换实验。采用C51语言编写程序实现单片机输出数字信号控制DAC0832输出锯齿波模拟信号。采用Keil软件编译、调试并生成后缀名为.hex的文件。将.hex文件加载到XLISP软件中通过计算机USB口输入至实验箱的AT89S51单片机内。采用1PIN数据线连接P3.6位口和DAC0832的WR端口,采用1PIN数据线连 接P2.7位口和DAC0832的CS端口 , 采用8PIN数据排线连接P0端口与DAC0832的数据输入端口 , 采用示波器观察DAC0832输出的锯齿波模拟信号。通过该实验,学生掌握DA转换编程及实现方法。

4.期末考查综合实验。要求学生在2个小时以内 ,采用C51语言编程、Keil编译, 仿真完成单片机接口电路的一个综合实验。使用定时器/计数器T0,采用方式2定时,实现P1.0位口输出周期为400us占空比为1:9的矩形脉冲 (设晶振振荡周期fosc=12MHz)。采用Keil中的Logic Analyzer窗口观察P1.0位口的电平输出。通过该实验考查学生综合运用所学知识解决实际问题的能力。

【单片机原理与应用】课程教学总体设计 第4篇

【关键词】单片机原理;应用课程;教学改革;实践教学

在现代电子工程领域中,单片机是一种比较常见的技术,并在很多的家用电器中得到了较为广泛的应用。而作为电气信息类专业的学生,必须充分掌握该课程的技术知识,也是必备的技能之一。但是,由于单片机原理和应用原本就是一门应用性、实践性都很强的课程内容,只有将实践教学与理论教学灵活运用在一起,才能保证达到理想的教学效果。以下,本文重点对单片机原理与应用课程教学改革与实践进行了探讨分析。

1.教学中存在的问题及原因

在传统的单片机教学过程中,教师们通常比较侧重于对单片机原理知识和各零部件的介绍,教材内容也相对枯燥单一,缺乏对学生实践能力方面的培养。并且,在对教学课程进行安排时,也是将理论教学与实践教学相互分离,虽然充分保证了课程体系结构的完整性,却忽视了课程实用性的重要性,最终导致理论与实践出现脱节的现象。以下本文就具体归纳了在当前单片机应用课程教学中主要存在的问题,并对其原因进行了详细的阐释。

1.1教学安排不适应现行单片机原理与应用的教学

传统的教学方案中基本是由教师对单片机的工作原理、工作流程以及内部构造等进行介绍,学生们只是被动的学习。并且,这样的教学方法并不能让学生更好的了解到单片系统是怎样设计和组成的。而单片机工作原理内容又与微机原理课程存在着很多的相似点,如果教师一直过多的叙述这方面的知识,很难再激发学生的学习积极性,甚至还会让学生产生一种厌学的心理情绪。

1.2實践环节重视不够

由于缺少实践课程,使得学生无法更加全面的掌握到单片机系统的设计方法,导致学生实践操作能力较差。而在传统的实践教学中,一般是以验证性试验为主,只是让学生们大致了解一下单片机的系统构造、输出输入等方面的实验。并且,还有大部分的验证性实验都是根据相关的指导书完成的。这样一来,学生通过指导书上的步骤就可以完成实验,非常不利于对学生创新性思维的拓展,更无法有效提高实践动手能力,久而久之,学生还很可能形成敷衍的学习态度和学习习惯。

1.3教学手段有待提高

现如今,单片机技术的飞速发展,多样性的单片机集成芯片不断涌现,随之而来的大量山寨的仿真软件也越来越多。如果教师还是依旧采用传统的教学方式和教师,不仅无法提高学生的学习积极性,还大大降低了教学质量。

1.4 教师自身能力有待提高

众所周知,单片机原理和应用是一门实践性较强的课程。然而,就我国当前单片机课程教学现状来看,其中大多数是以青年教师为主,一直都没有对单片机系统进行过深入的研究开发,缺乏这方面的实践经验。所以,在实际的教学过程中,也只会照本宣读,很难达到较为理想的教学效果。

2.理论教学改革

2.1适当调整课程学时以顺应单片机技术的快速发展

以某院校为例,其结合单片机技术的发展与多年来单片机教学的经验,对该院 5 个专业的教学大纲与学时进行了修订。从原有的 32 学时调整为 48 学时,实践教学环节从 4 学时调整为 8 学时,并且加上了一个周的课程设计。学生在先修完微机原理及应用课程之后才开设单片机原理与应用课程,这样可以大大节约单片机内部结构、工作原理、汇编语言的教学学时,这部分的内容既可以类比微机原理又可以作为基础,使学生易于入门。经过修订,MCS-51 单片机的硬件、指令系统压缩为 10 学时;单片机的扩展、接口电路与应用为 12 学时;其他类型的单片机原理及应用为 8学时;单片机系统的开发调整为 10 学时;实践环节为 8 学时。

2.2以实际应用为主,培养学生学习兴趣

想要有着激起学生的学习兴趣,教师在对单片机原理与应用课程进行教学时,要向学生详细的讲述单片机这门课程与本专业之间的联系,并重点对其重要性、应用和发展等方面进行系统的介绍,同时制定出明确的教学目标。其次,教师要高度重视对学生实践能力的培养,多多开展实践教学活动,可以先将单片机事物展现在学生面前,通过利用数字电路观点进行叙述。这样一来,学生就能够迅速了解到单片机的工作原理是与集成块的工作原理十分相似,以此来增强自己的学习信息。并且,教师还应该对一些简单的驱动系统进行演示,让学生们直接观察单片机的应用过程,促使学生自发主动的参与其中。另外,教师还应该加强实践教学与理论教学的相互结合,采用先进有效的教学方法,并在平时的理论教学过程中,加入大量演示性实验,从而加深学生对所学知识内容的印象。

在实际的操作动手过程中,教师可以允许学生使用计算机和网络,通过从多种渠道来或缺更多的单片机资料,从而不断丰富自己的知识资源,促进学生向着复合型人才而发展。

2.3加强C51语言的教学

多年来,单片机的教学和单片机系统的开发,大多都以汇编语言作为开发工具,这是由于汇编语言具有代码紧凑、执行时间短、控制及时且易于记忆等优点。但是随着单片机技术的发展也出现了一些问题,主要表现在对硬件结构的过分依赖,不同类型的单片机汇编指令有所不同,而且程序比较繁琐,可移植性差等。与汇编相比,C语言在功能上、结构上、可读性和可维护性上有明显的优势,而且C语言有丰富的函数库,可以有效减少编程工作量,对单片机的硬件稍作了解即可进行系统开发,特别是C语言对寄存器的分配与寻址方式都是由编译系统自动完成,由此可见,将C语言引入单片机的教学是很有必要的。在教学过程中,汇编语言与C语言并重。让学生能看懂汇编语言,可以用汇编语言完成简单程序的设计,但不要求完成复杂系统的程序设计,这样大大降低了学生学习的难度。同时,要求学生能够用C语言完成简单和复杂程序的设计,从对比中加深对汇编语言和C语言的理解。

3.结束语

由于该门课程相对比较抽象,学生普遍反映开始学习的时候入门较难且难以理解单片机的内部结构,因此如何使学生循序渐进地掌握单片机技术?怎样使理论教学与实践教学有机结合?这些问题已成为单片机原理与应用课程体系建设的重要议题。 [科]

【参考文献】

[1]李建忠.单片机原理与应用[M].2版.西安:西安电子科技大学出版社,2008:12-25.

[2]杨立林.单片机原理与应用课程教学的实践与思考[J].江苏技术师范学院学报:自然科学版,2009,15(2):62-66.

单片机原理及应用课程设计 第5篇

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 #include //--------#define uint unsigned int #define uchar unsigned char //--------/*ucharcode table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf 8, 0x80,0x98,0x88,0x83,0xc6,0xa1,0x86,0x8e};// 共 阳极数码管代码 */ ucharcode xingqi[8]={0x00,0x07,0x01,0x02,0x03,0x04,0x05, 0x06};//星期显示代码 uchar miao,shi,fen,date,month,day,year,year10,set,mun,set_shi,set_fen,time_ flag;// 全 局 定 义

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;

【单片机原理与应用】课程教学总体设计 第6篇

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、适用专业:测控技术及仪器

上一篇:便仓小学安保处工作计划下一篇:坚守本心高中800字作文