单片机课程结课设计报告

合集下载

(模板)51单片机课程结课设计报告

(模板)51单片机课程结课设计报告

《单片机技术》课程结课设计报告题目:电子时钟专业班级学号姓名指导教师张琦第一部分设计任务和要求1.1 设计内容利用STC89C51单片机和LCD1602电子显示屏实现电子时钟,可由按键进行调时和12/24小时切换。

1.2 设计要求1.能实现年、月、日、星期、时、分、秒的显示;2.能实现调时功能;3.能实现12/24小时制切换;4.能实现8:00—22:00整点报时功能。

1.3 系统运行流程程序首先进行初始化,在主程序的循环程序中首先调用数据处理程序,然后调用显示程序,在判断是否有按键按下。

若有按键按下则转到相应的功能程序执行,没有按键按下则调用时间程序。

若没到则循环执行。

计时中断服务程序完成秒的计时及向分钟、小时的进位和星期、年、月、日的进位。

调时闪烁中断服务程序用于被调单元的闪烁显示。

调时程序用于调整分钟、小时、星期、日、月、年,主要由主函数组成通过对相关子程序的调用,如图所示。

实现了对时间的设置和修改、LCD显示数值等主要功能。

相关的调整是靠对功能键的判断来实现的。

第二部分设计方案2.1 总体设计方案说明1.程序设计及调试根据单片机课程设计内容和要求,完成Protues仿真电路的设计和用Keil软件编写程序,并进行仿真模拟调试。

2.硬件焊接及调试根据仿真电路图完成电路板的焊接,并进行软、硬件的调试,只到达到预期目的。

3.后期处理对设计过程进行总结,完成设计报告。

2.2 单片机系统方框图2.2 单片机系统流程图主流程图 键盘扫描流程图功能键增加键减小键12/24小时制切换键STC89C51 单片机LCD 显示屏电源最小系统初始化时钟子程序结束按键扫描子程序开始时钟流程图第三部分系统硬件设计3.1 最小系统复位时单片机的初始化操作,只要给RST引脚加上两个机器周期以上的高电平信号,就可以使STC89C51单片机复位。

本次采用的是12M晶振,按钮复位电路。

3.2 LCD显示电路LCD显示屏的D0到D7与单片机P0口相连,LCD显示屏EN口与单片机P3.4口相连,RS与P3.5相连。

单片机课程报告4篇

单片机课程报告4篇

单片机课程报告4篇单片机课程报告4篇在现实生活中,越来越多的事务都会使用到报告,报告具有双向沟通性的特点。

那么一般报告是怎么写的呢?以下是小编为大家收集的单片机课程报告,欢迎大家分享。

单片机课程报告1这周我们进行了单片机实训,一周中我们通过七个项目:P 口输入输出2:继电器控制3音频控制4:子程序设计5:字符碰头程序设计6:外部中断7:急救车与交通信号灯,练习编写了子程序、熟悉了人工会汇编方法、设计和调试方法。

学习了P 口、IO端口、外部中断技术的基本的使用方法及输入输出端口控制方法。

而且初步掌握了大型程序的调试方法。

实训中首先对MCS-5 单片机开发试验系统键盘监控操作、使用及配套的仿真软件的应用进行了熟悉和了解。

该实验仪提供了许多基本实验电路和实验插孔,对于基本的实验只需要少量连线就可以进行,减少了繁琐的实验连线过程,以减轻工作量,突出实验的内涵,达到培养实际动手能力,加强对实验电路的理解。

通过本实验仪器进一步了解了单片机存储器的组织结构、单片机片内片外数据存储器读写方法、工作寄存器的应用、单片机对简单编程及调试方法进一步的掌握了调试软件的操作方法和编程环境。

编写并调试完成一个实验项目总概括起来有五大步骤:、立项目2、查找数据3、画流程图、4根据流程图进行编程5、编完后进行修改、调试、编译等。

最终要达到会写、会做、会说,编写开始几个项目的程序还比较顺利,到了编写LED灯碰头程序、字符碰头程序、急救车与交通灯呈程序时遇到了好多困难,本来还以为编程会很简单的,等到实际操作起来才知道它的复杂性,没有想像中的那么得心应手,理解流程是有思维的前提.不过经过我们最后在全组人竭尽全力,老师的精心指导下,花费的时间与精力终于没有白费,效果渐渐地出现了.这是我们共同努力的结果,在享受我们成果之时,不得不感慨单片机的重要性与高难度性,所以为期一周的单片机课程设计没有浪费,我们从中学到了很多知识.,也让我们对单片机有了更深一步的了解.虽然最后结果是出来了,可这与老师的精心指导是分不开的。

单片机课程结课设计报告

单片机课程结课设计报告

单片机课程结课设计报告Coca-cola standardization office【ZZ5AB-ZZSYT-ZZ2C-ZZ682T-ZZT18】《单片机技术》课程结课设计报告题目:电子时钟专业班级学号姓名指导教师张琦第一部分设计任务和要求设计内容利用STC89C51单片机和LCD1602电子显示屏实现电子时钟,可由按键进行调时和12/24小时切换。

设计要求1.能实现年、月、日、星期、时、分、秒的显示;2.能实现调时功能;3.能实现12/24小时制切换;4.能实现8:00—22:00整点报时功能。

系统运行流程程序首先进行初始化,在主程序的循环程序中首先调用数据处理程序,然后调用显示程序,在判断是否有按键按下。

若有按键按下则转到相应的功能程序执行,没有按键按下则调用时间程序。

若没到则循环执行。

计时中断服务程序完成秒的计时及向分钟、小时的进位和星期、年、月、日的进位。

调时闪烁中断服务程序用于被调单元的闪烁显示。

调时程序用于调整分钟、小时、星期、日、月、年,主要由主函数组成通过对相关子程序的调用,如图所示。

实现了对时间的设置和修改、LCD显示数值等主要功能。

相关的调整是靠对功能键的判断来实现的。

第二部分设计方案总体设计方案说明1.程序设计及调试根据单片机课程设计内容和要求,完成Protues仿真电路的设计和用Keil 软件编写程序,并进行仿真模拟调试。

2.硬件焊接及调试根据仿真电路图完成电路板的焊接,并进行软、硬件的调试,只到达到预期目的。

3.后期处理对设计过程进行总结,完成设计报告。

单片机系统方框图单片机系统流程图主流程图 键盘扫描流程图功能键 增加键 减小键 12/24小时制切换STC89C51 单片机LCD 显示屏电源最小系统初始化时钟子程序结束按键扫描子程序 开始时钟流程图第三部分系统硬件设计最小系统复位时单片机的初始化操作,只要给RST引脚加上两个机器周期以上的高电平信号,就可以使STC89C51单片机复位。

单片机课程设计报告

单片机课程设计报告

单片机课程设计报告单片机课程设计报告一、设计目的本次课程设计的目的是通过实践操作,了解和掌握单片机的基本原理、控制方法和应用技术,提高学生的综合素质和实践能力。

二、设计内容本次课程设计的内容是设计一个基于单片机的温度控制系统。

系统通过读取温度传感器的数据,对温度进行监测,并根据设定的温度范围控制加热和制冷设备的开关。

三、设计原理1. 硬件设计:本设计采用STC89C52单片机作为控制核心,并使用LM35温度传感器进行温度检测。

另外,还需要接入一个电阻加热器和一个制冷装置,用于温度控制。

2. 软件设计:单片机程序的设计主要包括以下几个部分:(1) 温度获取:通过ADC接口读取温度传感器的模拟信号,并转换为数字信号。

(2) 温度比较:将获取到的温度值与设定的温度上下限进行比较,判断是否需要开启加热或制冷设备。

(3) 加热控制:若温度低于设定上限,单片机将控制电阻加热器开启,加热提高温度。

(4) 制冷控制:若温度高于设定下限,单片机将控制制冷装置开启,制冷降低温度。

(5) 显示功能:将当前温度值和控制状态通过数码管显示出来,方便观察和调试。

四、设计步骤1. 硬件搭建:将STC89C52连接好电源和调试下载线,将温度传感器和数码管连接到对应的引脚,并连接电阻加热器和制冷装置。

2. 软件开发:使用Keil C51软件进行编程。

根据设计原理,逐步实现温度获取、温度比较、加热控制、制冷控制和显示功能。

3. 调试测试:将程序下载到单片机,进行硬件和软件的调试测试。

通过串口调试助手观察温度变化和控制状态是否正确。

4. 优化改进:根据测试结果,对程序进行优化和改进,提高系统的性能和可靠性。

五、设计总结通过本次单片机课程设计,我对单片机的原理和应用有了更深入的了解。

通过实践操作,我掌握了单片机的编程方法和调试技巧。

在设计过程中,我也遇到了一些问题,如温度传感器的误差和加热控制的精度等,但通过不断学习和改进,最终完成了设计任务。

单片机 课程设计报告(完成版)

单片机  课程设计报告(完成版)

单片机课程设计报告
题目:音乐门铃
院系:电气信息工程系专业:通信工程
组长:吴楠学号: 20100606019
组员 1 :刘静静学号: 20100606017
组员 2 :张琳娜学号: 20100606018
组员 3 :李元学号: 20100606020
组员 4 :黄智鑫学号: 20100606049
组员 5 :学号:
组员 6 :学号:
指导教师:李宁
2011年01月06日
电气信息工程系课程设计总结报告
PCB原理图
电气信息工程系
单片机课程设计元器件清单指导教师:李宁课题名称:音乐门铃
参考文献:
[1]徐爱钧.单片机原理实用教程[M].北京:电子工业出版社,2009:267-285.
[2]刘焕平.单片机原理及应用[M].北京:北京邮电大学出版社,2008:246-260.
[3]刘南平.单片机实训与开发教程[M].北京:科学出版社,2008:199-209.
[4]吴金戌.8051单片机实践与应用[M].北京:清华大学出版社,2002:242-253.
[5]刘海成.单片机及应用系统设计原理与实践[M].北京:北京航空航天大学出版社,2009:273-281.
[6]杨振江.单片机应用于实践指导[M].西安:西安电子科技大学出版社,2010:378-380.。

单片机应用设计课程设计小结

单片机应用设计课程设计小结

单片机应用设计课程设计小结一、课程目标知识目标:1. 让学生掌握单片机的基本原理和功能,理解其在工程实践中的应用。

2. 使学生掌握单片机编程的基本方法,能独立完成简单的程序编写。

3. 让学生了解单片机与其他电子元件的连接方式,能设计简单的电路图。

技能目标:1. 培养学生运用单片机解决实际问题的能力,提高学生的动手实践能力。

2. 培养学生团队协作能力,能在小组合作中发挥个人特长,共同完成项目任务。

3. 提高学生的编程水平,使其能熟练使用编程软件进行程序设计。

情感态度价值观目标:1. 培养学生对单片机应用设计的兴趣,激发学生探索新技术、新领域的热情。

2. 培养学生严谨、细致的学习态度,使其养成良好的学习习惯。

3. 增强学生的创新意识,鼓励学生勇于尝试,发挥创意,提高解决问题的能力。

课程性质:本课程为实践性较强的课程,注重理论知识与实际操作相结合,旨在培养学生的动手能力、创新能力和团队合作能力。

学生特点:本课程针对的是高年级学生,具备一定的电子技术基础和编程能力,对单片机有一定了解,求知欲强,喜欢动手实践。

教学要求:结合学生特点,课程设计应注重理论与实践相结合,以项目为导向,引导学生主动探索,提高学生的实际操作能力和解决问题的能力。

在教学过程中,关注学生的个体差异,提供有针对性的指导,确保每位学生都能在课程中取得良好的学习成果。

二、教学内容1. 单片机基础理论:介绍单片机的基本组成、工作原理和功能特点,结合教材第一章内容,让学生建立单片机的基本概念。

- 单片机硬件结构- 单片机的工作原理- 单片机的性能参数2. 单片机编程语言:学习单片机编程所需的基础知识,包括指令系统、编程语法等,参考教材第二章内容。

- 指令系统及其应用- 编程语法和规则- 简单程序案例分析3. 单片机外围电路设计:了解单片机与其他电子元件的连接方式,学习电路图设计,参考教材第三章内容。

- 常用电子元件及其功能- 单片机与外围电路的连接- 简单电路图设计实例4. 单片机项目实践:以小组形式开展项目实践,结合教材第四章内容,培养学生的动手能力和团队协作能力。

51单片机课程设计报告

51单片机课程设计报告

51单片机课程设计报告一、课程目标知识目标:1. 理解51单片机的硬件结构、工作原理及其功能特点;2. 学会使用51单片机的指令系统进行程序设计;3. 掌握51单片机与外围电路的接口技术,能实现简单的硬件控制功能;4. 了解51单片机在嵌入式系统中的应用及发展趋势。

技能目标:1. 能够运用C语言编写51单片机的程序,实现基础控制功能;2. 能够运用仿真软件对51单片机程序进行调试,分析并解决简单问题;3. 能够设计简单的51单片机硬件系统,进行电路连接和功能测试;4. 培养学生的动手能力、创新能力和团队协作能力。

情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发学习热情;2. 培养学生严谨、务实的科学态度,提高自主学习能力;3. 培养学生关注社会发展,了解科技在生活中的应用,增强社会责任感;4. 培养学生团队合作精神,尊重他人意见,善于沟通交流。

课程性质:本课程为实践性较强的电子技术课程,以51单片机为核心,结合硬件和软件,培养学生的实际操作能力和创新能力。

学生特点:学生具备一定的电子技术基础知识,对单片机有一定了解,但实践经验不足。

教学要求:结合学生特点,注重理论与实践相结合,强调动手实践,提高学生的实际操作能力和解决问题的能力。

通过课程学习,使学生能够独立完成简单的51单片机控制系统设计。

二、教学内容根据课程目标,教学内容分为以下几个部分:1. 51单片机硬件结构及原理- 熟悉51单片机的内部结构、引脚功能;- 掌握51单片机的工作原理及性能特点。

2. 51单片机指令系统与编程- 学习51单片机的指令集,理解各指令的功能和使用方法;- 掌握C语言在51单片机编程中的应用。

3. 51单片机外围接口技术- 学习51单片机与常见外围电路(如LED、LCD、键盘等)的接口技术;- 掌握外围设备的控制原理及编程方法。

4. 仿真软件的使用- 学习使用Keil、Proteus等仿真软件进行51单片机程序设计和调试;- 掌握仿真软件的操作方法,提高程序调试效率。

单片机课程设计总结范文精选3篇(全文)

单片机课程设计总结范文精选3篇(全文)

单片机课程设计总结范文精选3篇(全文) 在开发单片机嵌入式系统时,使用最多的软件就是Keilc51软件,此软件是由Keil公司研发出来的,软件以uVision2为开发平台,具有的功能包括项目治理、编码、程序生成器等。

Keilc51的优点在于:其界面的友好性较高、操作便捷,支持对汇编语言、C语言及混合语言的编程、编译和调试工作,可以在很大程度上缩短设计周期,在对程序进行修改时也是很方便的。

与此同时,Keilc51还能够加载Proteus软件的VSM 仿真器,加载之后就可以和Proteus软件进行联机调试。

一、课程设计流程1.编写相关指导文件在对课程设计着手之前,需要对课程设计的流程进行文档编写,为扎实掌握单片机技术打下基础。

相关指导文件包括:单片机项目开发的相关教程和例程材料,Keilc51和Proteus软件的教程和例程材料,单片机课程设计完成程度的标准,课程设计大纲等。

2.选择题目在制作课程计划时,需要根据每个章节内容的不同和课程进展程度对学生的实际学习情况进行考量,通过对学生掌握情况的推断再对课程设计进行拟题。

课程设计的题目包括针对各章内容的,也包括针对综合应用的:关于MSC-51与A/D转换方面的课程设计题目,关于MCS-51串口方面的课程设计题目,关于定时器与中断方面的课程设计题目,关于I/O接口方面的课程设计题目,关于MCS-51的综合使用方面的题目等。

除此之外,还要列出详细的元件表,供学生选择和参考,并对课程设计题目的实现提出相应的具体要求。

3.使用仿真软件和实现电路功能在课程设计实现中,教师可指导学生分组进行,根据学生所选题目对学生如何在软件和硬件等方面进行设计给予指导,以完成设计的初步内容。

在对学生进行指导时,可按照以下步骤进行:(1)绘制程序流程图,可以使用Visio或Word进行绘制。

学生在绘制程序流程图时,不但要依据所选题目的设计要求,还要结合教师的指导内容进行绘制,为接下来的程序设计做铺垫。

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

蜂鸣器的作用为准点报时产生报警声,LED在秒钟为偶数时或者功能键被按下时亮。蜂鸣器与单片机口相连,LED灯与单片机口相连。

用Keil和Protues进行仿真调试,仿真结果完全达到预期目的。
第五部分
#include<>
#define uchar unsigned char
#define uint unsigned int
void delay(uint z) //延时函数
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void zhuanhuan()
{
if(shi==0)
pshi=12;
if(shi<=12&&shi>=1)
pshi=shi;
if(shi>12)
pshi=shi-12;

复位时单片机的初始化操作,只要给RST引脚加上两个机器周期以上的高电平信号,就可以使STC89C51单片机复位。本次采用的是12M晶振,按钮复位电路。
LCD
LCD显示屏的D0到D7与单片机P0口相连,LCD显示屏EN口与单片机口相连,RS与相连。通过滑动变阻器改变LCD显示屏的显示对比度。
本次设计采用独立键盘,键盘按下时,相应的I/O口电平由高变低,一次检测按键是否被按下。4个独立按键与单片机—口相连。
第二部分
1.程序设计及调试
根据单片机课程设计内容和要求,完成Protues仿真电路的设计和用Keil软件编写程序,并进行仿真模拟调试。
2.硬件焊接及调试
根据仿真电路图完成电路板的焊接,并进行软、硬件的调试,只到达到预期目的。
3.后期处理
对设计过程进行总结,完成设计报告。
主流程图键盘扫描流程图
时钟流程图
sbit lcdrs=P3^5; //定义1602液晶RS端
sbit lcden=P3^4;//定义1602液晶LCDEN端
sbit s1=P3^0; //定义按键--功能键
sbit s2=P3^1;//定义按键--增加键
sbit s3=P3^2;//定义按键--减小键
sbit s4=P3^3;//定义按键--闹钟键
write_date('E');
break;
case 3:write_date('W');delay(5);
write_date('E');delay(5);
write_date('D');
《单片机技术》
课程结课设计报告
题目:电子时钟
专业
班级
学号
姓名
指导教师张 琦
第一部分
利用STC89C51单片机和LCD1602电子显示屏实现电子时钟,可由按键进行调时和12/24小时切换。
1.能实现年、月、日、星期、时、分、秒的显示;
2.能实现调时功能;
3.能实现12/24小时制切换;
4.能实现8:00—22:00整点报时功能。
{
write_com(0x80+12);
switch(week)
{
case 1:write_date('M');delay(5);
write_date('O');delay(5);
write_date('N');
break;
case 2:write_date('T');delay(5);
write_date('U');delay(5);
void write_date(uchar date)//液晶写数据函数
{
lcdrs=1;
lcden=0;
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void _shi()//写"AM"、"PM"函数
{
if(shi>=12)
{
write_com(0x80+0x40+1);//写出"PM"
write_date('P');
write_date('M');
}
else
{
write_com(0x80+0x40+1);//写出"AM"
write_date('A');
write_date('M');} Nhomakorabea}
void write_ymd(uchar add1,uchar date1)//写年月日函数
{
程序首先进行初始化,在主程序的循环程序中首先调用数据处理程序,然后调用显示程序,在判断是否有按键按下。若有按键按下则转到相应的功能程序执行,没有按键按下则调用时间程序。若没到则循环执行。计时中断服务程序完成秒的计时及向分钟、小时的进位和星期、年、月、日的进位。调时闪烁中断服务程序用于被调单元的闪烁显示。调时程序用于调整分钟、小时、星期、日、月、年,主要由主函数组成通过对相关子程序的调用,如图所示。实现了对时间的设置和修改、LCD显示数值等主要功能。相关的调整是靠对功能键的判断来实现的。
uchar shi,ge;
shi=date1/10;//分解一个2位数的十位和个位
ge=date1%10;
write_com(0x80+add1);//设置显示位置
write_date(0x30+shi);//送去液晶显示十位
write_date(0x30+ge); //送去液晶显示个位
}
void write_sfm(uchar add,uchar date)//写时分秒函数
}
void di()//蜂鸣器发声函数
{
beep=0;
delay(300);
beep=1;
delay(300);
}
void write_com(uchar com)//液晶写命令函数
{
lcdrs=0;
lcden=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
sbit beep=P2^2; //定义蜂鸣器端
sbit led=P2^3; //定义LED灯端
uchar count,s1num,s4num;
char year,month,day,week,miao,shi,fen,pshi;
uchar code table[]=" 20 - - ";//定义初始上电时液晶默认显示状态
{
uchar shi,ge;
shi=date/10;//分解一个2位数的十位和个位
ge=date%10;
write_com(0x80+0x40+add);//设置显示位置
write_date(0x30+shi);//送去液晶显示十位
write_date(0x30+ge); //送去液晶显示个位
}
void write_week(char week)//写液晶星期显示函数
相关文档
最新文档