单片机课程设计报告模板

合集下载

单片机课程设计_报告正文

单片机课程设计_报告正文

目录1 课程设计概述 (1)1.1设计目的 (1)1.2设计内容和要求 (1)1.3设计思路 (1)1.4定时器控制门铃的系统设计 (1)1.5定时器控制门铃的功能要求 (2)1.6定时器控制门铃的系统的基本构成及原理 (2)2 硬件开发平台 (3)3 软件开发平台 (4)4 硬件电路的设计 (5)4.1系统硬件总电路构成及原理 (5)4.2主控制部分――AT89C51单片机简介 (5)4.3其它器件 (7)4.4定时器控制门铃系统原理图 (8)4.5设计的连线图 (9)4.6硬件资源及其分配 (9)4.7运行步骤 (9)4.8检测与调试 (10)5 程序设计 (12)5.1流程图 (12)5.2关键源代码 (13)6 运行结果 (14)结论 (15)参考文献 (16)1 课程设计概述1.1设计目的1.通过单片机课程设计,熟练掌握C语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。

2.通过定时器控制门铃声响的系统设计,掌握定时/计数器的使用方法,和简单程序的编写,最终提高我们的逻辑抽象能力。

1.2设计内容和要求内容:设计一个能够控制门铃声响的模拟系统。

要求:当按下开关SP1,单片机产生“叮咚”声从P3.0端口输出到喇叭。

具体实施如下:(1)按以上要求制定设计方案,并绘制出系统工作框图,绘制程序流程图;(2)按要求设计单片机的外围电路,给出电路原理图;(3)单片机仿真器、电路板、电源等硬件正确可靠地连接;(4)利用仿真器、单片机及电路板进行程序设计与调试;1.3 设计思路1.针对本课题的设计任务,进行分析得到:本次设计是利用单片机实现对扬声器发声的,控制采用按钮操作,AT89C51单片机进行控制,最后使扬声器发出“叮咚”声音。

2.绘制电路原理图,编写程序,并进行仿真,基本实现扬声器发“叮咚”声音出功能。

1.4定时器控制门铃的系统设计通过编写程序,实现对输出频率的控制,来扬声器的管理。

单片机课程设计模板

单片机课程设计模板

单片机接口设计课程报告班级:姓名:学号:指导老师:一、设计题目:彩灯控制器二、设计要求:1.花型种类不少于四种,花型自拟;2.可用键控制彩灯按预设的花型进行变换;3.可用键控制分别用快/慢两种节拍实现花型变换。

本机地址为00H,当接到上位机发的00H时,则回发00H当接到上位机发的AAH时,则将预设花型代号发出当收到55H时,则后面的数据为新的花型三、设计整体思路:彩灯控制器可分为彩灯部分、单片机、脉冲震荡部分、复位电路、按键等。

所使用的单片机型号为80C51,80C51提供了32位I/O接口、2个16位定时器/计数器、1个全双工串行口和5个中断源来供用户使用。

同时设置了脉冲电路,为系统提供稳定频率波,也使各单片机之间的时钟信号能够同步。

复位电路所提供的复位功能是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H 单元开始执行程序。

同时,复位操作也使单片机内相应的寄存器复位到初始值。

按键是由P3.4、P3.5 两个I/O口连接,在无按键按下时,P3.4、P3.5均为高电平,当有按键按下,相应的口为低电平。

四、原理图:五、程序模块(流程图):主流程图:花型1流程图:开始中断初始化选择快慢节拍花型循环变换结束花型二流程图:花型三流程图:花型四流程图:六、心得体会:在这次单片机课程设计中遇到了很多的难题,因为以前没有接触过C语言的单片机,但是在老师和同学的帮助下,以及自己通过查找一些资料,顺利的解决了遇到的问题,完成了老师布置的要求。

通过本次课程设计也时我对单片机的一些有关的知识有了更进一步的了解,单片机是一门实践性很强的课程,它必须和其它的芯片一起才能最大可能的发挥出它的各种各样的功能。

所以就需要我们的知识面要广,这样在设计过程中才能有效的解决问题。

由于我们所用的是C语言编程,所以会遇到一些问题,但通过不断的查找资料和尝试最终还是解决了问题。

本次课程设计也锻炼了我们的实践能力,通过编写程序,我们能够把所学的知识很好地应用到实际中去,从而学以致用,能够设计一些生活中很小的系统。

单片机课程设计报告排版

单片机课程设计报告排版

单片机课程设计报告排版一、教学目标本课程旨在让学生掌握单片机的基本原理、编程方法和应用技巧。

通过本课程的学习,学生将能够:1.理解单片机的基本结构和工作原理;2.掌握单片机的编程语言和编程方法;3.学会使用单片机进行简单应用的开发;4.培养动手实践能力和团队协作精神。

二、教学内容本课程的教学内容主要包括以下几个部分:1.单片机的基本原理:包括单片机的结构、工作原理和性能特点;2.单片机编程:包括编程语言、编程方法和编程技巧;3.单片机应用:包括常见应用案例分析和实践操作。

三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学,包括:1.讲授法:用于讲解单片机的基本原理和编程方法;2.案例分析法:通过分析典型应用案例,使学生更好地理解单片机的应用;3.实验法:通过动手实践,让学生熟练掌握单片机的编程和应用技巧。

四、教学资源为了支持教学内容和教学方法的实施,本课程将准备以下教学资源:1.教材:选用权威、实用的教材,为学生提供系统的学习资料;2.参考书:提供相关领域的参考书籍,丰富学生的知识体系;3.多媒体资料:制作精美的PPT和教学视频,提高学生的学习兴趣;4.实验设备:提供充足的实验设备,保证学生动手实践的机会。

五、教学评估本课程的评估方式将采用多元化、全过程的评价体系,以确保评估的客观性和公正性。

评估主要包括以下几个方面:1.平时表现:包括课堂参与度、提问回答、团队协作等,占总评的30%;2.作业:包括课后练习和实验报告,占总评的20%;3.考试成绩:包括期中和期末考试,占总评的50%。

六、教学安排本课程的教学安排将根据课程内容和学生的实际情况进行合理规划。

教学进度将保持紧凑,确保在有限的时间内完成教学任务。

具体安排如下:1.上课时间:每周一到周五,每天2课时;2.上课地点:实验室和理论教室;3.教学进度:按照教材和教学大纲进行安排,确保每个章节都有足够的学时进行讲解和实践;4.实践活动:每个章节结束后,安排一次实验实践,让学生动手操作,巩固理论知识。

单片机课程设计总结模板

单片机课程设计总结模板

单片机课程设计总结模板一、课程目标知识目标:1. 理解单片机的基本组成原理,掌握其内部结构和功能模块;2. 学会使用单片机的编程语言,如C语言或汇编语言,编写简单的控制程序;3. 了解单片机在日常生活和工业控制中的应用场景。

技能目标:1. 能够正确使用编程软件进行单片机程序的编写、编译和调试;2. 能够动手搭建简单的单片机控制系统,实现对硬件的控制和监测;3. 学会查阅相关资料,独立解决单片机编程和调试过程中遇到的问题。

情感态度价值观目标:1. 培养学生对单片机及电子技术的兴趣,激发创新意识和探索精神;2. 培养学生具备团队协作和沟通能力,善于与他人分享和交流学习经验;3. 增强学生的国家意识,认识到我国在单片机技术领域的发展,树立为国家和民族科技事业做出贡献的志向。

课程性质分析:本课程为电子信息类课程的实践环节,以单片机技术为核心,注重理论联系实际,培养学生的动手能力和实际操作技能。

学生特点分析:学生为高中生,具有一定的电子技术基础和编程能力,对新技术充满好奇,学习积极性较高。

教学要求:1. 结合实际案例,注重理论与实践相结合,提高学生的实践操作能力;2. 采用项目驱动教学,引导学生主动探索,培养学生的创新意识和解决问题的能力;3. 注重过程评价,关注学生的学习进步,激发学生的学习兴趣和自信心。

二、教学内容根据课程目标,教学内容分为以下三个部分:1. 单片机基础知识- 教材章节:第一章 单片机概述- 内容:单片机的发展历程、分类及特点;单片机的基本组成、工作原理;常用单片机型号介绍。

2. 单片机编程与控制- 教材章节:第二章 单片机编程基础;第三章 单片机控制技术- 内容:编程语言(C语言/汇编语言)基本语法;单片机I/O口编程;中断系统编程;定时器/计数器编程;串行通信编程;简易控制系统设计与实现。

3. 单片机应用实例- 教材章节:第四章 单片机应用系统设计- 内容:典型单片机应用系统案例分析;温度控制器设计;智能家居系统设计;小车控制系统设计。

单片机课程设计实习报告(共6篇)

单片机课程设计实习报告(共6篇)

单片机课程设计实习报告(共6篇)ok3w_ads(“s004”);ok3w_ads(“s005”);精选范文:单片机课程设计实习报告(共6篇)实训任务:一、实训目的和要求:(1)熟练掌握keil c51集成开发环境的使用方法(2)熟悉keil c51集成开发环境调试功能的使用和dp?单片机仿真器、编程器、实验仪三合一综合开发平台的使用。

(3)利用单片机的p1口作io口,学会利用p1口作为输入和输出口。

(4)了解掌握单片机芯片的烧写方法与步骤。

(5)学会用单片机汇编语言编写程序,熟悉掌握常用指令的功能运用。

(6)掌握利用protel 99 se绘制电路原理图及pcb图。

(7)了解pcb板的制作腐蚀过程。

二、实训器材:pc机(一台)pcb板(一块)520ω电阻(八只)10k电阻(一只)led发光二极管(八只)25v 10μf电容(一只)单片机ic座(一块)at89c51单片机芯片(一块)热转印机(一台)dp?单片机仿真器、编程器、实验仪三合一综合开发平台(一台)三、实训步骤:(2)将流水灯程序编写完整并使用tkstudy ice调试运行。

(4)打开电源,将编写好的程序运用tkstudy ice进行全速运行,看能否实现任务要求。

(6)制板。

首先利用protel 99 se画好原理图,根据原理图绘制pcb图,然后将绘制好的pcb布线图打印出来,经热转印机转印,将整个布线图印至pcb板上,最后将印有布线图的pcb板投入装有三氯化铁溶液的容器内进行腐蚀,待pcb 板上布线图外的铜全部后,将其取出,清洗干净。

(7)焊接。

将所给元器件根据原理图一一焊至pcb板相应位置。

(8)调试。

先把at89c51芯片插入ic座,再将+5v电源加到制作好的功能板电源接口上,观察功能演示的整个过程(看能否实现任务功能)。

(流水灯控制器原理图)四、流水灯控制器程序的主程序:org 0000hsjmp startorg 0030hstart: mov a,#0ffhmov r0,#1chmov r2,#12hclr cloop1: acall delaydjnz r0,loop2sjmp loop4loop2: mov p1,arlc ajnc loop3sjmp loop1loop3: acall delaymov p1,arrc ajnc loop1sjmp loop3loop4: acall delaydjnz r1,loop5sjmp loop6loop5: mov p1,arrc a[单片机课程设计实习报告(共6篇)]篇一:单片机实习报告课程设计专业综合实习总结专业班级:学生学号:学生姓名:指导教师:实习时间:机电工程学院目录1.实习目的和意义 21.1实习目的 (2)1.2实习意义 (2)2.实习内容 2 3. 硬件介绍 23.1 总原理图 (3)3.2 LED显示模块............................................................... 6 3.3 数码管显示模块............................................................ 7 3.4 键盘模块 (9)3.5 A/D转换模块............................................................... 10 3.6 D/A转换模块 (13)3.7 中断嵌套模块 (14)3.8 时钟日历芯片模块 (15)4. 程序流程图 174.1 LED显示模块……………………………………………………… 17 4.2 数码管显示模块…………………………………………………… 19 4.3 键盘模块……………………………………………………………21 4.4 A/D转换模块.................................................................. 23 4.5 D/A转换模块 (23)4.6 中断嵌套模块 (24)4.7 时钟日历芯片模块 (24)5. 实习心得体会………………………………………………… 26 附录:程序清单……………………………………………………271、实习目的和意义1.1 实习目的1、熟悉本专业自己设计的“单片机课程实习”电路板,领会、掌握该电路板的设计原理及硬件布局。

单片机课程设计报告模板

单片机课程设计报告模板

单片机技术及应用综合训练(设计报告)题目:姓名:学院:专业:班级:学号:指导教师:2014年5 月一、选题要求临床求助呼叫监护是传送临床信息的重要手段,病房呼叫系统是病人请求值班医生或护士进行诊断和护理的紧急呼叫工具,可将病人的请求快速传送给值班医生或护士,并在值班室的监控中心电脑上留下准确完整的记录,是提高医院和病室护理水平的必备设备之一。

呼叫系统的优劣直接关系到病员的安危,要求及时、准确、可靠、简便可行。

本呼叫系统基于Ateml89C52单片机,振荡电路的晶振采用12MHz,由控制核心AT89C52单片机、电源电路、振荡电路、复位电路、数码管解码芯片、病房选择和七段数码管等部分组成,系统框图如下:二、硬件电路设计工作原理为:电源电路为单片机以及其他模块提供5V电源。

晶振模块为单片机提供时钟标准,使系统各部分能协调工作。

复位电路模块为单片机系统提供复位功能。

单片机作为主控制器,根据输入信号对系统进行相应的控制。

病房一共为四个,从1号病房到4号病房病人的情况由重到轻,即1号病房的优先级最高,4号病房的优先级最低。

所以,当有两个病房一起呼叫时,优先级高的病房号显示;当低优先级的病房呼叫完毕后高优先级的病房呼叫,系统显示的号码改变;当优先级高的病房呼叫完毕后工作人员未复位的情况下,低优先级的病房呼叫无效。

另外,当有病房呼叫时蜂鸣器响直至复位。

此次设计的电路图如下:三、软件设计1、功能介绍:启动系统后,数码管显示0。

当有一个病人呼叫时,数码管显示相应病房号,同时蜂鸣器响起;当有多个病人同时呼叫时,数码管显示优先级高的病房号,同时蜂鸣器响起;当有一个病房呼叫后另一个病房呼叫,若后呼叫的病房优先级低,则数码管显示不变,若后呼叫的病房优先级高,则数码管显示后呼叫的病房号,两种情况下蜂鸣器都会叫,只是在有别的病房呼叫时有一点变音。

2、程序流程图:3、程序源代码:#include <reg51.h>#define uchar unsigned char sbit key4=P3^0;//定义按键位置sbit key3=P3^1;sbit key2=P3^2;sbit key1=P3^3;sbit reset=P3^4;//复位sbit BEEP=P1^7;//定义蜂鸣器端口uchar flag,i;void choice();void clean();void delay();void de();void ring();void main(){while(1){P3=0xff;reset=0;BEEP=0;flag=0;choice();delay();clean();}}void choice()//确定病人{ while(reset!=1&&flag==0) {if(key1==0){de();if(key1==0){P0=0X86;flag=1;}}else if(key2==0){de();if(key2==0&&key1!=0){P0=0Xdb;flag=1;}}else if(key3==0){de();if(key3==0&&key1!=0&&key2!=0){P0=0Xcf; flag=1;}}else if(key4==0){de();if(key4==0&&key1!=0&&key2!=0&&key3!=0){P0=0Xe6; flag=1;}}}}void clean() //RESET 为高的时候复位{if(reset==1){BEEP=0;P0=0x3f;}}void delay() //RESET为低的时候延时{while(!reset){ring();}}void ring(){for(i=0;reset==0;i++)//喇叭发声的时间循环{de();BEEP=!BEEP;if(key1==0||key2==0||key3==0)//第二次呼叫{if( P0==0X86)P0=0X86;else if(P0==0Xdb&&key1==0)P0=0X86;else if(P0==0Xcf&&key1==0)P0=0X86;else if(P0==0Xcf&&key1==1&&key2==0)P0=0Xdb;else if(P0==0Xe6&&key1==0)P0=0X86;else if(P0==0Xe6&&key1==1&&key2==0)P0=0Xdb;else if(P0==0Xe6&&key1==1&&key2==1&&key3==0)P0=0Xcf;}}}void de(){for(i=300;i>0;i--);}四、软硬件调试结果1、未通电:2、通电时:3、低优先级病房先呼叫:(蜂鸣器响)高优先级病房后呼叫:(蜂鸣器响)4、高优先级病房先呼叫:(蜂鸣器响)低优先级病房后呼叫:(蜂鸣器响)呼叫有效呼叫无效5、当有三个病房同时呼叫时:1号2号4号病房同时呼叫显示1五、总结本次实验程序参考网上,但下载时程序有误,经细心验证检查得已改正,这有助于我进一步对C语言的学习和掌握。

单片机课程设计报告参考模板

单片机课程设计报告参考模板

注意:以下单片机课程设计报告格式是结合老师发来的报告要求制作的,其中正文“程序存储器和数据存储器的单元分配”没有,由于大部分同学的程序都是使用C语言编写的,单元分配可能无法知道。

本人报告中不具有这部分内容。

本版本报告给是仅供参考!仅供参考!
惠州学院
课程设计
课程:
题目:
学生系别:
学生专业:
学生班级:
学生姓名:
学生学号:
指导教师:
2013年11月25日
惠州学院课程设计任务书
摘要
目录1.设计方案
1.1设计思想
1.2设计说明
2.硬件部分
2.1原理框图
2.2 STC89C52单片机
2.3四位LED共阴数码管
2.4按键电路
2.4.1复位电路
2.4.2电源电路
2.4.3晶振电路
2.4.4调整电路
2.5 74LS373锁存器
3.软件部分
3.1程序流程图
3.1.1主程序流程图
3.1.2子程序流程图
3.2程序清单
4.调试
4.1整合过程
4.2问题与解决方法
4.3实物效果图
5.总结
6.参考文献
7.附录。

单片机课程设计报告(简易计算机)

单片机课程设计报告(简易计算机)

专业综合课程设计任务书班级:学号:姓名:成绩:电子与信息工程学院计算机科学系图1.2 图1.3图1.42.3键盘电路这部分有16个button构成4*4矩阵,通过p1口进行行扫描方式实现按键的读取。

硬件电路图如图1.4。

2.4总体硬件图如图1.5图1.53 软件详细设计3.1键盘扫描子程序要进行数据的计算就必须进行数据的输入,也就是确定按键输入的数值是什么,这就需要对键盘进行行扫描,从而确定究竟是那个键按下。

对于键盘的扫描,既可以使用行扫描也可以使用列扫描,这里采用行扫描的方法完成对键盘的扫描行扫描就是逐行扫描键盘,看那一行有键按下,再通过返回的见马来确定究竟是哪个按键按下。

对第一行扫描就置p1.0为底电平,其余p1口为高电平,如果有按键按下,则p1口的值就会变为别的值,再由新值来确定是那个键按下。

程序流程图如图1.6图1.6dd:mov r0,#0f7h mov r1,#0cc:mov a,r0 mov p1,amov a,p1 mov r2,asetb c mov r3,#4bb:rlc a jnc aaee:inc r1 djnz r3,bbmov a,r0 setb crrc a mov r0,ajc cc ljmp ddKAOO:LJMP KAO BBB2:LJMP BB2aa:lcall mm mov a,p1xrl a,r2 nz eeff:mov a,p1 xrl a,r2jz ff MOV A,51HCJNE A,#1,BBB2RET3.4主程序及其他部分程序下图为主程序流程图:主要有:初始化子程序,清屏子程序,固定字符显示,单元定义,端口定义,字模部分。

主程序:RG 0LJMP STARTSTART:MOV SP,#60HLCALL INT ;调用初始化子程序START1:LCALL CLEAR ;调用清屏子程序初始化子程序:INT: MOV COM,#0C0H ;设置显示起始行为第一行LCALL PRM0LCALL PRR0MOV COM,#3FH ;开显示设置LCALL PRM0LCALL PRR0RET清屏子程序:CLEAR:MOV R4,#00H。

单片机课程设计(模版)

单片机课程设计(模版)

单片机电源电路设计
单击此处添加标题
电源电路的作用:为单片机提供稳定的电源电压
单击此处添加标题
电源电路的组成:电源变压器、整流器、滤波器、稳压器等
单击此处添加标题
电源电路的设计原则:稳定、可靠、高效、低噪声
单击此处添加标题
电源电路的设计方法:根据单片机的工作电压和电流需求,选择合适的电源 变压器、整流器、滤波器、稳压器等,并进行合理的布局和布线。
解决方案:优化人机交互界面,提高用户体验
单片机课程设计总结与展望
单片机课程设计的收获和不足
收获:掌握了单 片机的基本原理 和编程方法
收获:提高了动 手实践能力和解 决问题的能力
不足:理论知识 掌握不够扎实, 需要加强学习
不足:实践经验 不足,需要更多 的实践机会
单片机技术的发展趋势和应用前景
发展趋势:智能化、微型化、低功耗、高可靠性 应用领域:智能家居、物联网、工业自动化、医疗设备 技术挑战:安全性、实时性、可扩展性 应用前景:广泛应用于各个领域,成为未来科技发展的重要方向
实施教学活动:按照教学计划, 开展教学活动,包括讲解、实 验、讨论等
评估教学效果:通过考试、作 业、项目等方式,评估学生的 学习效果和课程设计的效果
单片机基础知识
单片机的概念和特点
概念:单片机是一种集成电路芯片,将微处理器、存储器、输入/输出接口等集成在一起 特点:体积小、重量轻、功耗低、可靠性高、编程简单、应用广泛 应用领域:工业控制、家电、汽车电子、医疗设备、通信设备等 发展趋势:智能化、网络化、微型化、低功耗化
解决方案:优化硬件设计,选择合适的单片机型 号
问题:软件设计复杂,难以实现高效运行 解决方 案:优化软件设计,采用高效的算法和编程技巧

单片机课程设计报告模板

单片机课程设计报告模板

4.项目电路设计及原理介绍
(1)实验电路及接线图
(2)实验步骤:
将 KEY0、KEY1、KEY2 按键用实验系统上的 K1 ~K3 键代起,分别和 P1.0~P1.2 连接,实现秒 表的启动、停止、清零等功能。 打开试验箱开关,在计算机中打开 DJ51 程序,新建文件,输入程序代码,编译链接装载,然 后运行,观察验设备及所需元器件
(1)DJ-598KC 单片机开发系统 (2)仿真器(EASYPROBE ) (3)PC 机 1台 1只 1台
3.项目内容及实验方法。
(1)内容:利用 DJ—598KC 单片机仿真实验系统进行模拟,用六位 LED 数码管显示实时计时值,其 中时、分、秒、十分秒值从左到右各用 1 至两位 LED 数码显示,显示值为分、秒值 0~59,时和十 分秒值为 0~9,使用 KEY0、KEY1、KEY2 等 3 键分别实现启动、停止、清零等功能。 (2) 方法: 用单片机定时器 0 中断方式,实现 100ms 定时作为实时时基信号,编程实现十分秒、 秒、分计数。用动态显示方式实现秒表计时显示,采用中断或查询方式取得 KEY0、KEY1、KEY2 的 按键输入,实现秒表的启动、停止、清零等功能。
6.项目调试总结及改进意见:
经过实验的结果显示得出:显示的数字秒表和实际并不完全一样,而 且上述程序并不完美,所以需要得以改进,本次实验主要让我们学会方法。 在改进方面: 从硬件上应该选取合适的单片机, 显示器采取合适的 LED 灯,从软件上应该选取合适的程序,例如采取中断方式进行计数,降低单 片机的功耗,保证单片机的使用期,因为时间不停的在流逝!! !
单片机课程设计报告
题目:_ 数字秒表
教学单位: 专 班 学 姓 业: 级: 号: 名:

单片机课程设计报告

单片机课程设计报告

单片机课程设计报告一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握其内部结构及工作方式。

2. 学生能掌握单片机编程的基本语法,具备编写简单程序的能力。

3. 学生能了解单片机在各种实际应用中的功能,如智能家居、机器人等。

技能目标:1. 学生能够运用所学知识,独立完成单片机的硬件连接与调试。

2. 学生能够运用编程软件,编写简单的单片机程序并进行烧录。

3. 学生能够通过小组合作,完成一个具有实际应用价值的单片机项目。

情感态度价值观目标:1. 学生培养对单片机及电子技术的兴趣,激发探索精神。

2. 学生通过课程学习,提高问题解决能力和团队协作能力。

3. 学生能够认识到单片机技术在实际应用中的价值,增强社会责任感和创新意识。

课程性质:本课程为实践性较强的学科,要求学生结合理论知识,动手实践,培养实际操作能力。

学生特点:六年级学生具备一定的逻辑思维能力,对新事物充满好奇,但需加强团队协作和问题解决能力的培养。

教学要求:注重理论与实践相结合,关注学生的个体差异,提高学生的动手能力和创新能力。

通过课程学习,使学生在知识、技能和情感态度价值观方面均取得明显成果。

教学设计和评估将围绕具体学习成果展开,确保课程目标的实现。

二、教学内容1. 单片机基础理论:包括单片机的基本原理、内部结构、工作方式等,对应教材第一章内容。

- 单片机的发展历程与分类- 单片机的内部结构与功能- 单片机的工作原理与指令系统2. 单片机编程语言:学习单片机编程的基本语法和编程技巧,对应教材第二章内容。

- 汇编语言的编写与烧录- C语言的编写与烧录- 常用编程指令的应用3. 单片机硬件连接与调试:学习如何搭建单片机硬件系统并进行调试,对应教材第三章内容。

- 单片机最小系统搭建- 外围电路的设计与连接- 硬件调试方法与技巧4. 单片机应用案例:分析并实践单片机在各种实际应用中的功能,对应教材第四章内容。

- 智能家居系统设计- 机器人控制程序编写- 物联网应用案例分析5. 实践项目:结合所学知识,完成一个具有实际应用价值的单片机项目,为期4周。

《单片机课程设计》报告格式

《单片机课程设计》报告格式

封面格式如下:《单片机原理及应用课程设计》报告——X X X X X X设计专业:班级:姓名:学号:指导教师:2011年月日报告正文部分:(要求:正文部分一律用小四号字,宋体,1.5倍行距。

一级大标题靠左,加粗。

二级大标题靠左,不加粗。

)课程设计的内容如下:1.课程设计目的1.1巩固和加深对单片机原理和接口技术知识的理解;1.2培养根据课题需要选学参考书籍、查阅手册和文献资料的能力;1.3学会方案论证的比较方法,拓宽知识,初步掌握工程设计的基本方法;1.4掌握常用仪器、仪表的正确使用方法,学会软、硬件的设计和调试方法;1.5能按课程设计的要求编写课程设计报告,能正确反映设计和实验成果,能用计算机绘制电路图和流程图。

2.课程设计要求2.1 XXXXXXXXXXXXXXXX2.2 XXXXXXXXXXXXXXXX•••••3.硬件设计3.1 设计思想•••••3.2主要元器件介绍•••••3.3 功能电路介绍••••••••••4.软件设计4.1 设计思想•••••4.2软件流程图•••••4.3 源程序••••••••••5.调试运行5.1 XXXXXXXXXXXXXXXX5.2 XXXXXXXXXXXXXXXX•••••6.设计心得体会参考书目:(五号,宋体加粗)[1] 肖金球. 单片机原理与接口技术.[M].北京:清华大学出版社,2004.12[2]………………………………………………………………………..•••••(要求:五号字,宋体,单倍行距。

按作者、书名、出版社、地点、出版时间格式逐一列出,中间用逗号格开)蓝色字一律不要打印参考题目题目1 智能电子钟(LCD显示)设计要求:以AT89C51单片机为核心,制作一个LCD显示的智能电子钟:(1) 计时:秒、分、时、天、周、月、年。

(2) 闰年自动判别。

(3) 五路定时输出,可任意关断(最大可到16路)。

(4) 时间、月、日交替显示。

(5) 自定任意时刻自动开/关屏。

单片机课程设计报告[5篇]

单片机课程设计报告[5篇]

单片机课程设计报告[5篇]第一篇:单片机课程设计报告《单片机课程设计报告》学校:专业:班级:姓名:学号:指导教师:摘要由于单片机体积小、成本低、使用方便,所以被广泛地应用于仪器仪表、现场数据的采集和控制。

通过本次课程设计掌握单片机硬件和软件方面的知识,更深入的了解单片机的实际应用。

关键词单片机,程序,流水灯,数码管,温度计,键盘扫描,定时器等。

实验内容一、课程设计的目的以本学期对单片机的学习和认识,并通过本次课程设计加以应用,从而达到一个对所学知识的巩固、更深一步的理解,面对一个电子设计,应对出系统的方案,分析出各个板块来,再对各个板块进一步的具体的设计,先进行硬件电路设计,此时一定要考虑好要用什么元件、各个元件的具体参数、是否能实现应有功能,从而得到一个完整的硬件电路。

在根据该电路设计出软件的功能模块、从而完成程序流程图,在根据流程图完成程序的设计,并通过反复的调试、运行、更正,直至完成既定功能为止,最后将软件、硬件结合进行调试、运行,对其功能进行最终测试,并反复思考其测试中遇到相应问题的原因,并将其一一处理,从而完成本次设计的实验要求,以及本次课程设计的最终目的。

实验一:键盘操作实验实验要求:通过本次实验实现对键盘的控制,操作数码管的显示数字。

实验程序:#include #include #include #include #define WR273 XBYTE[0XC000] #define RD244 XBYTE[0XC000] #define uchar unsigned char #define uint unsigned int sbit DQ =P1^0;uint count=0,x,buf[20],tim,flag;uchar fen,shi;uchar codetable_16_1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80 ,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};uchar codetable_16_2[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x0 0,0x10,0x08,0x03,0x46,0x21,0x06,0x0e};voidled_clc(void){ XBYTE[0X8000]=0XFF;XBYTE[0X9000]=0XFF;XBYTE [0XA000]=0XFF;XBYTE[0XB000]=0XFF;}void delay(unsigned int i){ while(i--);} void delay_1ms(uint z){ uint i,j;for(i=z;i>0;i--)for(j=110;j>0;j--);} uchar key_test(){ WR273=0XF0;if((RD244&0X0F)!=0X0F)return 1;else return 0;}void time_init(){ TMOD=0X01;TH0=(65536-46080)/256;TL0=(65536-46080)%256;TR0=1;ET0=1;EA=1;} void time_display(){if(count==10000)count=0;XBYTE[0X8000]=table_16_1[coun t%10];XBYTE[0X9000]=table_16_1[count%100/10];XBYTE[0XA00 0]=table_16_1[count%1000/100];XBYTE[0XB000]=table_16_1[co unt/1000];} void TIME_SET(){ uchar a,b,c,d,key;while(flag==1){ led_clc();while(!key_test());a=keyscan();XBYTE[0XB000]=table_16_1[a];while(!key_test());b=keyscan();XBYTE[0XA000]=table_16_2[b];while(!key_test());c=keyscan();XBYTE[0X9000]=table_16_1[c];while(!key_test());d=keyscan();XBYTE[0X8000]=table_16_1[d] ;while(!key_test());key=keyscan();if(key==11){shi = a*10+b;fen = c*10+d;flag=0;} } } void TIME_DIS(){if(tim==60){ fen++;tim=0;if(fen==60){ shi++;fen=0;if(shi==24)shi=0;} } XBYTE[0X8000]=table_16_1[fen%10];XBYTE[0X9000]=table_16_1 [fen/10];XBYTE[0XA000]=table_16_2[shi%10];XBYTE[0XB000]=ta ble_16_1[shi/10];} void main(){ uint temp;led_clc();// serial_init();time_init();while(1){ temp=keyscan();if(temp==10)fla g=1;TIME_SET();//XBYTE[0X8000]=table_16_1[temp];//time_display();TIME_DIS();} } void time()interrupt 2 { uchar m;TH0=(65536-46080)/256;TL0=(65536-46080)%256;m++;if(m==20){ m=0;count++;tim++;} } void serial()interrupt 4 { if(RI==1){ x=SBUF;RI=0;} put_char(x);delay_1ms(5);}实验心得体会:通过本次实验,让我对单片机实验有了更深的了解,认为这个实验还是比较容易的,没有花太多的时间。

单片机应用技术课程设计报告模板

单片机应用技术课程设计报告模板

单片机应用技术课程设计实训报告专业:年级/班级:姓名:实训时间:实训地点:指导教师:一、实训题目:基于51单片机电子时钟设计二、实训目的:三、所用器件工作原理及控制方法:四、软硬件设计五、实训总结:附件:#include <reg52.h>#include <intrins.h> //有_nop_的头文件/***********变量定义*********************************************/#define uchar unsigned char#define uint unsigned intvoid shezhi_display(void);void led_display(uchar m);void zhengdian(void);void delay(void);void delayms(uchar ms);uchar time1s=0,time50ms; //定时1s计数器uchar time1f=0,time1x=0;uchar a,b,k,m,num=0;#define ledbit P0 //P0.0-P0.7--A~Gextern uchar code smg[]= {//共阳极0-9显示代码//-0-----1-----2-----3-----4-----5-----6-----7-----8---9--0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F };sbit wx_0=P2^0;sbit wx_1=P2^1;sbit wx_2=P2^2;sbit wx_3=P2^3;sbit wx_4=P2^4; // 数码管位选sbit wx_5=P2^5;sbit zd=P1^4;sbit shezhi=P1^1;sbit jia=P1^2;sbit sub=P1^5;sbit yiwei=P1^0;void init () //对应定时器和外部中断1; {TMOD = 0x01; //T0T1方式控制 TH0=0x3c;TL0=0xb0; //计时50msEA=1; //开全局中断ET0=1; //开定时中断0TR0=1;}void delay(void) //延时函数,延时约0.6ms {unsigned char j;for(j=0;j<200;j++);}void delayms(uchar ms){uchar i;while(ms--)for(i=0;i<200;i++);}/*************** ******************************************* /函数名:led_display()/功能:数码管显示数据,驱动芯片74LS244/输入:dat ---8位数据/输出:无/说明:输入十进制数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计成果说明书题目:低频信号发生器学生姓名:蔡超学号:111311106学院:东海科学技术学院班级:c11电信指导教师:东海科学技术学院教务处2014年1月7日第1章系统总体方案选择与说明1.1总体设计方案因输出信号的频率较低,可使用单片机作为信号数据产生源,中断查表法完成波形数据的输出,再用DA转换器输出规定的波形信号。

另外也可利用多余的端口经DA转换输出0度~360度的移相波形,同时也可输出一路方波信号。

系统实现的结构框图1.2设计要求及意义50Hz的正弦波、三角波信号,其中正弦波和1.低频信号发生器要求输出0.1~50Hz的范围内调三角波信号可以用按键选择输出,输出信号的频率可以在0.1~整。

2.原理图设计:根据所确定的设计电路,利用Proteus软件绘制电路原理图。

3.软件设计:根据电路工作过程,画出软件流程图,根据流程图编写相应的程序。

利用Proteus与Kiel μVision4联调,直到实验现象正确为止。

第2章系统硬件与工作原理2.1 系统硬件概述低频信号发生器要求能输出0.1~50HZ的正弦波、三角波信号,其中正弦波和三角波信号可以用按键选择输出,输出信号的频率可以在0.1~50HZ的范围内调整。

控制部分控制芯片选择89C52系列单片机。

P3.3~P3.5口接3个按键,其中P3.3口按键为频率增加键,P3.4口按键为频率减小键为正弦波与三角波选择键。

P1口输出正弦波或三角波数据,P2口输出移相波数据,P3.2输出方波。

数模(D/A)转换部分DAC0832是CMOS工艺制造的8位D/A转换器,属于8位电流输出型D/A转换器,转换时间1us,片内带输入数字锁存器。

DAC0832与单片机接成数据直接写入方式,当单片机吧一个数据写入DAC寄存器时,DAC0832的输出模拟电压信号随之相应变化。

利用D/A转换器可以产生各种波形,如方波、三角波、锯齿波等以及它们组合产生的复合波形和不规则波形。

这些复合波形。

这些复合波形标准的测试设备室很难产生的。

2.2 主要单元电路设计第3章软件程序与说明3.1 程序设计1.初始化程序初始化程序的主要工作是设置定时器的工作模式、初值预置、开中断、打开定时器等。

在这里定时器T0工作于16位定时模式,单片机按定时时间重复地把波形数据送到DAC0832的寄存器。

初始化流程图:2键扫描程序键扫描程序的任务是检查3个按键是否被按下,如有按下则执行相正弦波和相应的功能。

这里3个按键分别于频率增加、频率减小和正弦波与三角波的选择功能。

其程序流程图:3.波形数据产生程序波形数据产生程序是定时器T0的中断程序,当定时器计数溢出时发生一次中断,当发生中断时,单片机将按次序将波形数据表中的波形数据一一送入DAC0832,DAC0832根据输入的数据大小的数据输出相应的电压,波形数据产生程序流程图。

第4章调试结果与必要的调试说明4.1软件调试本设计主要是用 proteus 软件绘图以及kell-c软件进行编程仿真的。

调试步骤由两个部分组成:首先,确定程序中错误的确切性质和位置;然后,对程序代码进行分析,确定问题的原因,并设法改正这个错误。

具体地说,由以下步骤组成:1.从错误的外部表现入手,确定程序中出错的位置;2.分析有关程序代码,找出错误的内在原因;修改程序代码,排除这个错误;重复进行暴露了这个错误的原始测试以及某些回归测试,以确保该错误确实被排除且没有引入新的错误。

用proteus软件仿真时,注意连线清晰,便于后期检查线路,不要漏连、错连,元器件须做到布局合理,不拖沓凌乱。

最后将程序载入进行仿真,注意观察仿真结果,确定整个程序是否正确。

4.2调试说明依据调试后得出的结果来看,本设计能够完成基本要求,电路需要键盘输入数字判断是否与初始化的密码相符,密码输入时,数码管显示“-”,防止密码泄露,系统支持输入错误之后的回退,也支持密码错误之后的声音报警,还能够在输入密码正确的情况下修改用户密码,基本功能都实现了。

第5章系统使用说明该系统只需接上5V的直流电即可正常工作。

通电后,数码管显示时间,按相应的输入密码键可以输入密码,初始密码为“123456”。

密码输入完毕之后,按确认键确定,系统显示PASS。

5左右回到时间界面。

如果密码错误则显示NO,当错误次数超过三次,蜂鸣器将报警。

确认输入完之后,如果密码正确,则启动相应功能,在本系统中是启动红色LED,若输入错误密码,则蜂鸣器报名提示。

输入正确密码后可以对时间及密码重新设定。

第6章总结随着科学技术的迅猛发展,单片机被广泛应用于人们生活的各个领域,社会需要大量掌握单片机技术的人才,单片机的使用方法应该是我们熟练掌握的内容,密码锁应用于现代种种方面,人们为了守住秘密,就离不开它。

课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。

因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。

本次设计的作品基本上实现了基本功能,达到了作品的设计要求,能够应用到实际生活中。

在整个作品的制作中,比较困难的就是调试代码与电路的连接,从一开始调试连接就遭到失败,电路出现的种种的问题,但是我还是不怕失败,到最后终于把电路调试成功了,虽说电路小,但它也是我们本次作品的重要电路之一,要是调试不出来也就不、无法检测到密码是否正确虽然在作品制作过程中也出现了很多难解决的问题,但我们还是坚持到最后了,积极的去想方案解决,在解决问题的过程中,得到了很多锻炼,学会发挥我们的主观能动性,通过寻求不同的渠道去弄懂和了解一些原理和电路。

在作品制作的过程中,遇到了很多我不懂的知识点,但经过互联网和图书馆查阅资料,也懂得了很多新的知识点,学到了很多知识。

参考文献1、教材《单片微型计算机技术》刘国荣编机械工业出版社2、片微型计算机原理、应用及接口技术》张迎新编国防工业出版社3、《单片机实用系统设计技术》房小翠编国防工业出版社4、《单片机应用系统设计》何立民编北航出版社5、单片机原理及接口技术》曹琳琳编国防科技大学出版社附录1 程序①主程序#include<intrins.h>#include<reg52.h>#include"top.h"#include"keyscan.h"#include"leddisp.h"#include"dydisp.h"#include"test.h"//uchar temp1[8],temp2[8];void main (){num=16;su=1;start: hel();loop: cddisp(4);dydisp();if(esc==1){esc=0;count=0;goto start;}num1=next();while(num1){if(esc==1){esc=0;count=0;goto start;}j=chang();if(j==1){ok=0; su=0;delay(500);su=1; ok=1;break;}}while(!num1){if(esc==1){if(num2==2){while(1){ disp(CLOSED,6);}}er=1;esc=0;num2++;break;}}goto loop;}②Top.h#ifndef _top_H__#define __top_H__#include<intrins.h>#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit ok=P3^3;sbit er=P3^5;sbit su=P3^4;uchar code CODE[8]={0x3f,0x38,0x5e,0x40,0x39,0x3f,0x5e,0x79} ;uchar code HELLO[]={21,21,17,14,18,18,0,21};uchar code OPENED[]={0,19,14,20,14,13};uchar code CLOSED[]={12,18,0,5,14,13};uchar code ERROR[]={14,10,10,0,10};uchar min[8]={1,2,3,4,5,6,7,8};uchar fill[8]={0,0,0,0,0,0,0,0};uchar temp1[8],temp2[8],temp3[8];uchar num,temp,num1,num2,i,j,count,keyflag; uchar esc,alter,save,del,ent,open;uchar code leddisp[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x37,0x76,0xb8,0x73,0x37,0x00};void delay(uint z)//延时程序//{uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}uchar keyscan();#endif③keyscan.h#ifndef _keyscan_H__#define __keyscan_H__uchar keyscan() //键盘扫描{P1=0xfe;temp=P1;temp=temp&0xf0;while(temp!=0xf0){delay(20);temp=P1;temp=temp&0xf0;while(temp!=0xf0){temp=P1;switch(temp){case 0xee:num=7;su=0;break;case 0xde:num=8;su=0;break;case 0xbe:num=9;su=0;break;case 0x7e:num=15;su=0;esc=1;break;default : break;}while(temp!=0xf0){temp=P1;temp=temp&0xf0;}}}P1=0xfd;temp=P1;temp=temp&0xf0;while(temp!=0xf0){delay(20);temp=P1;temp=temp&0xf0;while(temp!=0xf0){temp=P1;switch(temp){case 0xed:num=4;su=0;break;case 0xdd:num=5;su=0;break;case 0xbd:num=6;su=0;break;case 0x7d:num=14;su=0;alter=1;break;default : break;}while(temp!=0xf0){temp=P1;temp=temp&0xf0;}}}P1=0xfb;temp=P1;temp=temp&0xf0;while(temp!=0xf0){delay(20);temp=P1;temp=temp&0xf0;while(temp!=0xf0){temp=P1;switch(temp){case 0xeb:num=1;su=0;break;case 0xdb:num=2;su=0;break;case 0xbb:num=3;su=0;break;case 0x7b:num=12;su=0;save=1;break;default : break;}while(temp!=0xf0){temp=P1;temp=temp&0xf0;}}}P1=0xf7;temp=P1;temp=temp&0xf0;while(temp!=0xf0){delay(20);temp=P1;temp=temp&0xf0;while(temp!=0xf0){temp=P1;switch(temp){case 0xe7:num=0;su=0;break;case 0xd7:num=10;su=0;del=1;break;case 0xb7:num=11;su=0;ent=1;break;case 0x77:num=12;su=0;open=1;break;default : break;}while(temp!=0xf0){temp=P1;temp=temp&0xf0;}}}su=1;return num;}#endif④leddisp.h#ifndef _leddisp_H__#define __leddisp_H__void disp(uchar *wd,int z){int k,n=0x01;for(k=0;k<z;k++){P2=~n;P0=leddisp[wd[k]];delay(5);n=n<<1;}}void hel() //欢迎界面//{er=1;ok=1;while(1){disp(HELLO,8);num=keyscan();if(open==1){ open=0; break;}}}void cddisp(uchar z) //密码输入界面// {while(1){P2=0xfe;for(i=z;i<8;i++){P0=CODE[i];delay(5);P2=_crol_(P2,1);}num=keyscan();if((num<=9&&num>=0)||esc==1) break;}#endif⑤nclude"dydisp.h#ifndef __dydisp_H__#define __dydisp_H__void move(uchar wd[]){uchar k;for(k=7;k>0;k--){wd[k]=wd[k-1];}}void mov(uchar wd[],uchar pw[]) {uchar k;for(k=0;k<8;k++){wd[k]=pw[k];}}uchar scdisp(){esc=0;alter=0;save=0;num=keyscan();if(num<10){temp2[count]=num;move(temp1);temp1[0]=num;num =16;count++;}return count;}//删除键处理函数查询删除标志位void delete()uchar k;if(del==1){del=0;if(count>0){count--;for(k=0;k<count;k++){temp1[k]=temp1[k+1];}if(count==0){P0=leddisp[16];P2=0x80;}temp2[count]=0;}if(count==0){temp2[0]=0;temp1[0]=0;}}}/*-----密码输入动态显示------*/ void dydisp(){ok=1;er=1;mov(temp2,fill);while(1){int k;int n=0x80;count=scdisp();delete();for(k=0;k<count;k++){P2=~n;P0=leddisp[temp1[count]];delay(5);n=n>>1;}num=keyscan();if(ent==1||esc==1){ent=0;count=0; break;} }}#endif⑥include"test.h#ifndef __test_H__#define __test_H__/*-----密码检测------*/uchar test(){uchar flag;for (i=0;i<8;i++){if (min[i]==temp2[i]){flag = 1;ok=0;er=1;}else{flag = 0;i = 8;ok=1;er=0;su=0;}}return(flag);}uchar next(){uchar flag1;num1=test();if(num1==1){su=0;delay(500);su=1;delay(500);su=0;delay(500);su=1;while(1){disp(OPENED,6);flag1=1;num=keyscan();if(alter==1||esc==1){alter=0;break;}}}else{mov(temp2,fill);while(!esc){su=0;disp(ERROR,6);P2=0x80;flag1=0;keyscan();}}return flag1;}/*-----密码修改------*/ uchar chang(){uchar k,flag2=0;ok=1;loop0: cddisp(0);dydisp();j=test();if(j==1){mov(temp2,fill);loop1: cddisp(3);ok=1;dydisp();mov(temp3,temp2);cddisp(3);dydisp();for(k=0;k<8;k++){if(temp2[k]==temp3[k]){flag2=1;}else{ k=8;mov(temp2,fill);flag2=0;goto loop1; }}mov(min,temp2);mov(temp2,fill);}else {mov(temp2,fill);goto loop0;} return flag2;}#endif附录2 仿真效果图东海科学技术学院课程设计成绩评定表20 12—20 13学年第 1学期系机电工程班级 C10电气1 专业电气工程及其自动化学生姓名(学号)陈迪101310126课程设计名称电子密码锁题目电子密码锁指导教师评语指导教师签名:年月日答辩评语及成绩答辩小组教师签名:年月日东海科学技术学院课程设计任务书20 12 —20 13 学年第1 学期系机电工程班级 C10电气1 专业电气工程及其自动化学生姓名(学号)陈迪101310126课程名称单片机原理及应用设计题目电子密码锁完成期限自 2012 年 12 月 29日至2013 年 1 月 9 日共 1.5 周设计依据1.单片机原理及应用课程教学大纲。

相关文档
最新文档