单片机课程设计课程设计目录

时间:2019-05-14 10:53:31下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《单片机课程设计课程设计目录》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《单片机课程设计课程设计目录》。

第一篇:单片机课程设计课程设计目录

目录

摘要...............................1

Abstract..........................2

一、实验目的........................3

二、设计要求与内容....................3

2.1设计要求..........................3

2.2设计内容..........................3

三、设计及原理....................4

3.1 总体方案设计.........................4

3.1.1 设计思路....................4

3.1.2 总电路框图.......................4

3.2 各模块设计方案及原理说明..................5

3.2.1 抢答显示模块....................5

3.2.2 倒计时电路.......................7

3.2.3硬件模块方案.....................8

3.2.4计分器的电路设计.....................8

3.2.5抢答器的电路设计...................10

四、软件设计.......................11

4.1 程序流程........................11

五、电路仿真...............错误!未定义书签。

5.1 抢答电路................错误!未定义书签。

5.2 倒计时电路....................错误!未定义书签。

六、收获、体会和建议...............错误!未定义书签。

附录.............................19

第二篇:单片机课程设计

设计题目: 单片机课程设计

学生姓名:

院: 电气与信息工程学院

级: 电子111班 指导教师:

日 期: 2014年9月20日

一、课程设计目的:

了解电子元器件的功能与原理,掌握单片机的结构和原理,学会使用单片机应用开发技术的相关软件如 keill、STC_ISP_V394等,能够使用c语言的语言编程简单的功能。

二、设计的思想:

利用所提供的单片机和开发板的原理图用keill软件编程程序以实现一些功能。然后用STC_ISP_V394.exe软件将编译完全正确的程序生成的hxe文件下载到开发板上,再调试编译的程序能否实现其所设计的功能。

1、对蜂鸣器的了解:

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,它由振荡器、电磁线圈、磁铁、振动膜片及外壳组成,接通电源后,振荡器产生的音频信号由电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性的振动发声。

2、设计:

我们所使用的开发板实物图如图一,单片机对右上角蜂鸣器的控制是加入三极管接入vcc,单片机的第22引脚和负极上,以此来控制蜂鸣器工作。单片机我们选择STC89C52RC+1602液晶来实现对蜂鸣器的控制及显示所需要的信息。

图一 调试说明:

首先用Keil软件创建一个工程,将程序源代码输入并编译生成单片可执行的.hex文件。其次,打开单片机实践板的电源,接好串口线,用STC-ISP烧录软件,将.hex文件烧录入单片机中。程序下载完毕后,单片机会自动执行程序功能。最后,观察程序功能的执行情况,看是否达到了设计要求。

如果单片机实践板硬件电路的执行结果与设计结果一致,则说明设计过程及流程没有问题,完全符合设计要求。否则,先检查单片机实践板的硬件电路是否完好,是否有断点、漏焊、虚焊以及元器件是否完好等情况,排除故障重新连接后重新进行调试。如果仍然无法正

常实现,则说明程序编写有误,需要认真检查程序流程,然后经过反复的修改与调试排除故障,实现设计要求的各项功能。编译和烧写该程序到单片机:

(1)用Keil编译上面的代码,并设置产生16进制代码文件*.hex.(2)用专用下载线,连接好实验板和电脑串口(DB9)(2)运行hex文件烧写软件STC_ISP_V394.exe

选单片机的型号,并打开编译产生好的hex文件

点击下载,给开发板上电。

3、实现的功能:使用单片机将歌曲《八月桂花》的调子通过蜂鸣器播放出来,用1602液晶将想要表达的信息有步骤地显示在液晶显示屏上,并且调子与显示内容可以任意通过修改的程序烧录到单片机内,实现设计产品的使用性与灵活性。

三、实验程序:

/************************************************************************

[主题] C51音乐程序《八月桂花》

[功能]

通过单片机演奏音乐,显示一些内容

/**********************************************************************/

#include

#include

//本例采用89C52, 晶振为11.0592MHZ

//关于如何编制音乐代码, 其实十分简单,各位可以看以下代码.//频率常数即音乐术语中的音调,而节拍常数即音乐术语中的多少拍;

//所以拿出谱子, 试探编吧!

unsigned char i=0;sbit Beep = P2^7;

unsigned char p,m;

//m为频率常数变量

unsigned char n=0;//n为节拍常数变量

unsigned char code music_tab[] ={

0x18, 0x30, 0x1C , 0x10, //格式为: 频率常数, 节拍常数, 频率常数, 节拍常数,0x20, 0x40, 0x1C , 0x10,0x18, 0x10, 0x20 , 0x10,0x1C, 0x10, 0x18 , 0x40,0x1C, 0x20, 0x20 , 0x20,0x1C, 0x20, 0x18 , 0x20,0x20, 0x80, 0xFF , 0x20,0x30, 0x1C, 0x10 , 0x18,0x20, 0x15, 0x20 , 0x1C,0x20, 0x20, 0x20 , 0x26,0x40, 0x20, 0x20 , 0x2B,0x20, 0x26, 0x20 , 0x20,0x20, 0x30, 0x80 , 0xFF,0x20, 0x20, 0x1C , 0x10,0x18, 0x10, 0x20 , 0x20,0x26, 0x20, 0x2B , 0x20,0x30, 0x20, 0x2B , 0x40,0x20, 0x20, 0x1C , 0x10,0x18, 0x10, 0x20 , 0x20,0x26, 0x20, 0x2B , 0x20,0x30, 0x20, 0x2B , 0x40,0x20, 0x30, 0x1C , 0x10,0x18, 0x20, 0x15 , 0x20,0x1C, 0x20, 0x20 , 0x20,0x26, 0x40, 0x20 , 0x20,0x2B, 0x20, 0x26 , 0x20,0x20, 0x20, 0x30 , 0x80,0x20, 0x30, 0x1C , 0x10,0x20, 0x10, 0x1C , 0x10,0x20, 0x20, 0x26 , 0x20,0x2B, 0x20, 0x30 , 0x20,0x2B, 0x40, 0x20 , 0x15,0x1F, 0x05, 0x20 , 0x10,0x1C, 0x10, 0x20 , 0x20,0x26, 0x20, 0x2B , 0x20,0x30, 0x20, 0x2B , 0x40,0x20, 0x30, 0x1C , 0x10,0x18, 0x20, 0x15 , 0x20,0x1C, 0x20, 0x20 , 0x20,0x26, 0x40, 0x20 , 0x20,0x2B, 0x20, 0x26 , 0x20,0x20, 0x20, 0x30 , 0x30,0x20, 0x30, 0x1C , 0x10,0x18, 0x40, 0x1C , 0x20,0x20, 0x20, 0x26 , 0x40,0x13, 0x60, 0x18 , 0x20,0x15, 0x40, 0x13 , 0x40,0x18, 0x80, 0x00

};

void int0()interrupt 1

//采用中断0 控制节拍

{ TH0=0xd8;

TL0=0xef;

n--;

}

void delay(unsigned char m)

//控制频率延时

{

unsigned i=3*m;

while(--i);

}

void delayms(unsigned char a)//豪秒延时子程序

{

while(--a);

//采用while(--a)不要采用while(a--);各位可编译一下看看汇编结果就知道了!

}

typedef unsigned char BYTE;typedef bit BOOL;

sbit LCD_RS = P2^0;

sbit LCD_RW = P2^1;sbit LCD_EP = P2^2;

BYTE code dis1[] = {“

WLCOME TO

”};BYTE code dis2[] = {“

DanPianJi ”};BYTE code dis3[] = {“

111iZnaiD

”};BYTE code dis4[] = {“

eiXeiX ”};

delays(int ms){

// 延时子程序 int i;while(ms--){

for(i = 0;i< 250;i++)

{

_nop_();

_nop_();

_nop_();

_nop_();

} } }

BOOL lcd_bz(){

// 测试LCD忙碌状态 BOOL result;LCD_RS = 0;LCD_RW = 1;LCD_EP = 1;_nop_();_nop_();_nop_();_nop_();result =(BOOL)(P0 & 0x80);LCD_EP = 0;return result;}

lcd_wcmd(BYTE cmd){

while(lcd_bz());LCD_RS = 0;LCD_RW = 0;LCD_EP = 0;_nop_();_nop_();P0 = cmd;_nop_();_nop_();_nop_();_nop_();LCD_EP = 1;_nop_();_nop_();_nop_();_nop_();LCD_EP = 0;

}

lcd_pos(BYTE pos){

lcd_wcmd(pos | 0x80);

// 写入指令数据到LCD //设定显示位置

}

lcd_wdat(BYTE dat)

{

//写入字符显示数据到LCD while(lcd_bz());LCD_RS = 1;LCD_RW = 0;LCD_EP = 0;P0 = dat;_nop_();_nop_();_nop_();_nop_();LCD_EP = 1;_nop_();_nop_();_nop_();_nop_();LCD_EP = 0;}

lcd_init(){

lcd_wcmd(0x38);

delays(1);lcd_wcmd(0x0c);

delays(1);lcd_wcmd(0x06);

delays(1);lcd_wcmd(0x01);

delays(1);}

void main()

{

BYTE j;

lcd_init();

delays(10);

//LCD初始化设定

//16*2显示,5*7点阵,8位数据//显示开,关光标 //移动光标 //清除LCD的显示内容

// 初始化LCD

lcd_wcmd(0x06);

//向右移动光标

lcd_pos(0);

//设置显示位置为第一行的第1个字符

j = 0;

while(dis1[ j ]!= '')

{

//显示字符“Welcome TO”

lcd_wdat(dis1[ j ]);

j++;

delays(30);

//控制两字之间显示速度

}

lcd_pos(0x40);

j = 0;

while(dis2[ j ]!= '')

{

lcd_wdat(dis2[ j ]);

j++;

delays(30);

}

delays(800);

lcd_wcmd(0x01);

delays(1);

lcd_wcmd(0x04);

lcd_pos(15);

j = 0;

while(dis3[ j ]!= '')

{

lcd_wdat(dis3[ j ]);

j++;

delays(30);

}

lcd_pos(0x4F);

j= 0;

while(dis4[ j ]!= '')

{

lcd_wdat(dis4[ j ]);

j++;

delays(30);

}

delays(800);

//设置显示位置为第二行第1个字符 //显示字符“ DanPianJi ”

//控制两字之间显示速度

//控制停留时间

//清除LCD的显示内容

//向左移动光标

//设置显示位置为第一行的第16个字符

//显示字符“DianZi111”

//控制两字之间显示速度

//设置显示位置为第二行的第16个字符//显示字符“ XieXie ”

//控制两字之间显示速度

//控制停留时间

TMOD&=0x0f;

TMOD|=0x01;

TH0=0xd8;TL0=0xef;

IE=0x82;

play:

while(1)

{

a: p=music_tab[i];

if(p==0x00)

{ i=0, delayms(1000);goto play;}

//如果碰到结束符,延时1秒,回到开始再来一遍

else if(p==0xff){ i=i+1;delayms(100),TR0=0;goto a;} //若碰到休止符,延时100ms,继续取下一音符

else

{m=music_tab[i++], n=music_tab[i++];} //取频率常数 和 节拍常数

TR0=1;

//开定时器1

while(n!=0)Beep=~Beep,delay(m);

//等待节拍完成, 通过P1口输出音频(可多声道哦!)

TR0=0;

//关定时器1

}

}

四、电路图的protue仿真

五、单片机课程设计心得体会:

这个学期的单片机课已经早早的上完了,但是理论纯属理论,没有与实践的结合总让我们学的不踏实,感觉没有达到学以致用的效果。所庆幸的是在课程介绍考试完之后,老师给我们安排了这次单片机课程设计,给了我们学以致用的做好的实践

关于这次课程设计,我们花费了比较多的心思,既是对课程理论内容的一次复习和巩固,还让我们丰富了更多与该专业相关的其他知识,比如软件应用等,在摸索中学习,在摸索中成长,在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获,在真正设计之前我们做了相当丰富的准备,首先巩固一下课程理论,再一遍熟悉课程知识的构架,然后结合加以理论分析、总结,有了一个清晰的思路和一个完整的的软件流程图之后才着手设计。在设计程序时,我们不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;养成注释程序的好习惯是非常必要的,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也能为资料的保存和交流提供了方便;我觉得在设计课程过程中遇到问题是很正常,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计又出错了。

除了对此次设计的准备工作之外,我们还学到了很多平时难得的东西,首先是团队协作,在这次设计当中,难免和同学产生观点和意见的分歧,以及分工明细、时间安排等不合理,通过这次设计,我们体会到了团结合作的重要性及力量之强大,还有让我们处理事情更加有条理,思路更加清晰明了了,发现、提出、分析、解决问题和实践能力的提高都将受益于我在以后的学习、工作和生活中。

除了对此次设计的准备工作之外,我们还学到了很多平时难得的东西,首先是团队协作,在这次设计当中,难免和同学产生观点和意见的分歧,以及分工明细、时间安排等不合理,通过这次设计,我们体会到了团结合作的重要性及力量之强大,还有让我们处理事情更加有条理,思路更加清晰明了了,发现、提出、分析、解决问题和实践能力的提高都将受益于我在以后的学习、工作和生活中。

第三篇:单片机课程设计

基于单片机的火灾智能报警控制系统的设计

前言

在各种灾害中,火灾是最经常、最普通地威胁公众安全和社会发展的灾害之一。人类能够对火进行利用和控制,是文明进步的一个重要标志。火,给人类带文明进步、光明和温暖。但是,失去控制的火,就给人类造成灾害。据统计,我国 70 年代火灾年平均损失不到 2.5 亿元,80 年代火灾年平均损失不到

3.2 亿元。进入 90 年代,特别是 1993 年以来,火灾造成的直接财产损失上升到年均十几亿元,年均死亡 2000 多人。2010年上海静安区高层住宅着火,导致58人死亡,70余人受伤。2014年1月云南香格里拉大火,烧毁房屋100多栋,直接经济损失1亿多元人民币。火灾事件经常发生,防止火灾事故关系到人民群众的生命财产安全和社会和谐稳定。现在各种电子产品的普及,再加上人们防火意识的不强,这些都给火灾的发生带来了巨大的安全隐患。

对于火灾最关键的问题在于预防,目前防火报警系统趋于智能化、自动化,灵敏程度也越来越高。在这种背景下,基于单片机的火灾智能报警控制系统能突显出其巨大的优越性。目前,国内大多数偏重于商场、宾馆、高级写字楼、大型仓库等大型火灾报警系统的研发和设计。本系统侧重于小型火灾智能报警系统的设计,可在火灾发生初期检测到并且报警,还能够实时显示温度和烟雾浓度。

第四篇:单片机课程设计

单片机课程设计

课题: 简易电子琴设计

院:

电气与信息工程学院 专

业:

电子信息工程 姓

名:

李琳琳 学

号:

093411106

指导老师:

田巍

河南城建学院

2014年

01 月

01 日

第五篇:单片机课程设计

单片机课程设计

---------

机电汽车工程学院

同组成员:(机091-1)姓名(学号):

下载单片机课程设计课程设计目录word格式文档
下载单片机课程设计课程设计目录.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    单片机课程设计

    单片机课程设计_报警器 报警器 ORG 0010H START:MOV DPTR,#TAB CLR P3.1 SETB P1 MOV A,P1 CPL A ANL A,#0F0H SWAP A MOV R0,A LCALL DISP1 MOV A,P1 CPL A ANL A,#0FH MOV......

    单片机课程设计

    单片机课程设计报告 专业:电气工程及其自动化 班级:电0901-4班 姓名:代红新 学号:20092444 指导老师:石彦辉 电气与电子工程学院 2012/6/22 一、 设计题目:电子时钟 二、 设计要求......

    单片机课程设计

    武汉理工大学单片机实训报告 第一章 绪论 ...............................................................................................................................

    单片机课程设计

    镇江高等专科学校课程设计1 项目要求 基于AT89S51单片机的密码锁设计,具体功能如下: (1)总共可以设置8位密码,每位密码值范围为1~8。 (2)用户可自行设定和修改密码。 (3)按每个......

    单片机课程设计

    中北大学单片机原理及接口技术课程设计说明书 1 绪论 电子钟已成为人们日常生活中必不可少的物品,广泛用于个人、家庭以及车站、影院、办公室等公共场所,给人们的生活、学习、......

    单片机课程设计

    《单片机技术》课程设计说明书 音乐盒 院、部:电气与信息工程学院 学生姓名:刘亮 指导教师:凌云职称讲师 专业:电子信息工程 班级:电子1302班 学号:1330340220 完成时间: 2016年1......

    单片机课程设计

    课 程 设 计 设计题目: 基于单片机的8*8点阵显示数字设计 学生姓名: 指导教师: 二级学院: 专业: 班级: 学号: 目 录 摘要„„„„„„„„„„„„„„„„„„„„„„„„„„......

    单片机课程设计

    单片机课程设计 跑马灯的控制 摘要:本设计选择对跑马灯的控制,先构思跑马灯实现预想效果,然后进行分 析,根据要求编写程序,选择硬件端口,并进行调试致预想效果,最后浅谈课程设计的......