单片机设计报告总结(单片机课程设计报告总结)

http://www.itjxue.com  2023-02-01 00:04  来源:未知  点击次数: 

交通灯的单片机设计

查看文章

【单片机课程设计_交通灯设计报告单片机课程设计(图文教程)】2009年05月09日 星期六 14:01【单片机课程设计_交通灯设计报告单片机课程设计(图文教程)】

单片机课程设计_直流风扇电机转速测量与PWM控制

单片机课程设计_秒表的设计

单片机课程设计_交通灯设计报告

C51单片机毕业设计

基于单片机的多路数据采集系统

单片机课程设计_报警器程序

单片机课程设计_交通灯设计报告

2007-11-10 12:36

单片机课程设计_交通灯设计报告

交通灯控制系统设计

摘要:本系统由单片机系统、键盘、LED 显示、交通灯演示系统组成。系统包括人行道、左转、右转、以及基本的交通灯的功能。系统除基本交通灯功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。

关键词:AT89S51,交通规则

一、 方案比较、设计与论证

1 电源提供方案

为使模块稳定工作,须有可靠电源。我们考虑了两种电源方案

方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。

方案二:采用单片机控制模块提供电源。改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。

综上所述,我们选择第二种方案。

2 显示界面方案

该系统要求完成倒计时、状态灯等功能。基于上述原因,我们考虑了三种方案:

方案一:完全采用数码管显示。这种方案只显示有限的符号和数码字苻,无法胜任题目要求。

方案二:完全采用点阵式LED 显示。这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。

方案三:采用数码管与点阵LED 相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与LED灯分别显示时间与提示信息。这种方案既满足系统功能要求,又减少了系统实现的复杂度。权衡利弊,第三种方案可互补一二方案的优缺,我们决定采用方案三以实现系统的显示功能。

3 输入方案:

题目要求系统能手动设灯亮时间、紧急情况处理,我们讨论了两种方案:

方案一:采用8155扩展I/O 口及键盘,显示等。该方案的优点是:

使用灵活可编程,并且有RAM,及计数器。若用该方案,可提供较多I/O 口,但操作起来稍显复杂。

方案二: 直接在IO口线上接上按键开关。因为设计时精简和优化了电路,所以剩余的口资源还比较多,我们使用四个按键,分别是K1、K2、K3、K4。

由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用,故选择方案二。

二、理论分析与计算

1.交通灯显示时序的理论分析与计算

对于一个交通路口来说,能在最短的时间内达到最大的车流量,就算是达到了最佳的性能,我们称在单位时间内多能达到的最大车流为车流量,用公式:车流量= 车流 / 时间 来表示。

先设定一些标号如图2-1 所示。

说明:此图为直方图,上边为北路口灯,右边为东路口灯,下边为南路口灯,左边为西

路口灯。

图2-2 所示为一种红绿灯规则的状态图,分别设定为S1、S2、S3、S4,交通灯以这四

的状态为一个周期,循环执行(见图2-3)。

请注意图2-1b和图2-1d,它们在一个时间段中四个方向都可以通车,这种状态能在

一定的时间内达到较大的车流量,效率特别高。

依据上述的车辆行驶的状态图,可以列出各个路口灯的逻辑表,由于相向的灯的状态图

是一样的,所以只需写出相邻路口的灯的逻辑表;根据图2-3 可以看出,相邻路口的灯它

们的状态在相位上相差180°。因此最终只需写出一组S1、S2、S3、S4的逻辑状态表。

如表2-1 所示。

表中的“×”代表是红灯亮(也代表逻辑上的0),“√”是代表绿灯亮(也代表逻辑上

的1),依上表,就可以向相应的端口送逻辑值。

2.交通灯显示时间的理论分析与计算

东西和南北方向的放行时间的长短是依据路口的各个方向平时的车流量来设定,并且

S1、S2、S3、S4各个状态保持的时间之有严格的对应关系,其公式如下所示。

T-S1+T-S2=T-S3

T-S2=T-S4

T-S1=T-S3

我们可以依据上述的标准来改变车辆的放行时间。按照一般的规则,一个十字路口可分

为主干道和次干道,主干道的放行时间大于次干道的放行时间,我们设定值时也应以此为参

考。

三、电路图及设计文件

1.灯控制电路设计

由于32个LED 来实现红绿灯状态,若直接接在单片机的口线,路口倒计时的显示就不

能实现,所以本次设计中采用一种新型的电路如图3-1 所示。

图中74LS04的作用是倒相和驱动,它输出的电流大约48mA,实际测试发现足以满足要

求,而且发光管也能达到足够的亮度。

观察图可以看出:两组发光管(一组红、一组绿)由于反相器的作用,其逻辑状态恰恰

相反。

图中和电阻串联的二极管的作用是为了分压,防止因上下两组发光管分压不同导致逻辑

的错误。

共四组和上述相同的电路分别代表东西南北四个方向的红绿灯,使用两片74LS04 作为

驱动。

2.倒计时显示电路设计

前面已经分析过相向的灯的状态和倒计时都是相同的,所以为了节省,采用两组四个数码管

作为倒计时的显示;同时为了节省口资源,采用串口显示的方式驱动数码管。见图3-2 所

示。

四、程序设计思路与流程图

1.主程序流程图

主程序中主要是一个死循环,不停的循环四个状态,如图4-1 所示。

2.按键子程序流程图

它包含倒计时调整和紧急状态两个状态。

主程序中放了一个按键的判断指令,当有按键按下的时候,程序就自动的跳转到按键子

程序处理。当检测到K2键按下的时候就自动返回到主程序。

当出现紧急的情况的时候,按下K3或者K4 就切换到紧急状态,当紧急事件处理完毕

的时候,按下K2,就可以返回正常状态。

五、测试、数据及结果分析

1.状态灯显示测试

当电路连接完毕后,将写好的测试程序刷写到芯片内,K1 和K2分别给端口送高电平和

低电平,通电即可检测。

2.数码管的测试

将串口的和电路板上的接口连接,将写好的测试程序刷写到芯片内,开电源即可测试。

3.整体电路测试

系统上电,刷写好程序即可开始测试,观测一个周期(共计S1~S4四个状态,默认140

秒)灯的显示状态是否正常,同时观察倒计的计数是否正常。

六、总结

由于使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,

而且可以随时的更新系统,进行不同状态的组合。

但是在我们设计和调试的过程中,也发现了一些问题,譬如红灯和绿灯的切换还不够迅

速,红绿灯规则不效率还不是很高等等,这需要在实践中进一步完善。

参考文献

[1] 李朝青.单片机原理及接口技术(修订版).北京:北京航空航天大学出版社,1998

[2] 李广弟.单片机基础.北京:北京航空航天大学出版社,1992

[3] 何立民.单片机应用技术大全.北京:北京航空航天大学出版社, 1994

[4] 张毅刚. 单片机原理及接口技术.哈尔滨:哈尔滨工业大学出版社,1990

[5] 谭浩强.单片机课程设计. 北京:清华大学出版社,1989

Abstract

This system is made up of single-chip microcomputer ,keyboard,lcd displaying module

and Traffic lights system.The system includes pavement,left truning,right truning,and the basic

traffic lights function.Excepting the basic traffic lights function,italso includes couting,time

installing,emergency disposaling,speech cluing,lcd information displaying,adjusting the lighting

time of lights based on different time and controlling with hand in accordance with circumstances

and so on

单片机课程设计(数字时钟) 麻烦大家不要发链接 直接帮我把程序写过来。

哈哈?有个1602显示的?不过程序太长?贴不上?给你个数码管的吧?不行再联系

1302.c

#includeDS1302.h

#includekey.h

uchar?bit_ser[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};

uchar?seven_seg[]?=?{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

/***********************时间显示*****************/

void?timer0_init(void) ?//T0初始化函数,用于时间的动态显示

{

TMOD?=?0x21;

TL0?=?(65536-5000)?%?256;

TH0?=?(65536-5000)?/?256;

EA?=?1;

ET0?=?1;

TR0?=?1;

}

void?timer0_isr(void)?interrupt?1 ?//T0中断处理函数

{

char?flag;? ?//flag用于表示调整时闪烁的亮或灭

TR0?=?0;

TL0?=?(65536-5000)?%?256;

TH0?=?(65536-5000)?/?256;

TR0?=?1;

flag?=?x?/?100?*?0xff; //设置闪烁标志,如果x大于100则flag为0xff,小于100则为0x00

x++;

if(x??200)

x?=?0;

switch(i)

{

case?0:

P2?=?bit_ser[0];

if(setflag?==?3) ?//根据setflag的值判断当前位是否需要闪烁

P0?=?flag?|?seven_seg[dis_buffer[0]];

else

P0?=?seven_seg[dis_buffer[0]];

break;

case?1:

P2?=?bit_ser[1];

if(setflag?==?3)

P0?=flag?|?seven_seg[dis_buffer[1]];

else

P0?=seven_seg[dis_buffer[1]];

break;

case?2:

P2?=?bit_ser[2];

if(setflag?==?2)

P0?=flag?|?seven_seg[dis_buffer[2]];

else

P0?=seven_seg[dis_buffer[2]];

break;

case?3:

P2?=?bit_ser[3];

if(setflag?==?2)

P0?=flag?|?seven_seg[dis_buffer[3]];

else

P0?=seven_seg[dis_buffer[3]];

break;

case?4:

P2?=?bit_ser[4];

if(setflag?==?1)

P0?=flag?|?seven_seg[dis_buffer[4]];

else

P0?=seven_seg[dis_buffer[4]];

break;

case?5:

P2?=?bit_ser[5];

if(setflag?==?1)

P0?=flag?|?seven_seg[dis_buffer[5]];

else

P0?=seven_seg[dis_buffer[5]];

break;

}

i++;

if(i?=?6)

{

i?=?0;

if(j?==?10)

{

j?=?0;

if(setflag?==?0)

DS1302_GetTime(Time); //如果setflag是0,就从1302中读出时间,因为setflag不是0时,说明处于调整状态,不需要读时间

dis_buffer[5]?=?Time.Second?%?10; //把当前时间放入显示缓冲区

dis_buffer[4]?=?Time.Second?/?10;

dis_buffer[3]?=?Time.Minute?%?10;

dis_buffer[2]?=?Time.Minute?/?10;

dis_buffer[1]?=?Time.Hour?%?10;

dis_buffer[0]?=?Time.Hour?/?10;

}

j++;

}

}

void?main()

{

Initial_DS1302(Time);

timer0_init();

while(1)

{

set_down();

timer_down();

up_down();

down_down();

beepflag_down();

if(setflag?==?0??Time.Hour?==?romhour??Time.Minute?==?romminute??Beepflag?==?1) //判断蜂鸣器是否要响

Beep?=?!Beep;

}

}

//key.c

#includereg51.h

#define?uchar?unsigned?char

#define?uint?unsigned?int

uchar?i?=?0,j?=?0,x?=?0,setflag,flag_set,flag_timer;???//setflag用来表示调整的位置,flag_set和flag_timer分别表示当前处于调整状态还是定时状态

SYSTEMTIME?Time={0,20,15,3,30,6,10}; ???//系统时间的初始值2010年6月30日星期三,15时20分0秒

char?dis_buffer[6]; ???//存放显示数据的缓冲区

sbit?Beep_flag?=?P3^2; ???//蜂鸣器的接口

sbit?key_timer?=?P3^4; ???//定时按钮

sbit?key_set?=?P3^5; ???//调整按钮

sbit?key_up?=?P3^6; ???//增加按钮

sbit?key_down?=?P3^7; ???//减小按钮

char?romhour,romminute,romsec; ???//分别存放定时的时,分,秒

bit?Beepflag; ???//标记闹钟是否开启

//延时函数

void?delays(uchar?x)

{

while(x)?x--;

}

//设置键的处理函数

void?set()

{

setflag?++;

flag_set?=?1;

if(setflag?=?4)

{

setflag?=?0;

flag_set?=?0;

Initial_DS1302(Time);

}

}

//定时间的处理函数

void?timer()

{

setflag?++;

flag_timer?=?1;

if(setflag?==?1)

{

Time.Hour?=?romhour;

Time.Minute?=?romminute;

Time.Second?=?romsec;

}

else?if(setflag?=?4)

{

setflag?=?0;

flag_timer?=?0;

romhour?=?Time.Hour;

romminute?=?Time.Minute;

romsec?=?Time.Second;

}

}

//增加键的处理函数

void?up()

{

switch(setflag)

{

case?0:

break;

case?1:

Time.Second?++;

if(Time.Second?=?60)

Time.Second?=?0;

break;

case?2:

Time.Minute?++;

if(Time.Minute?=?60)

Time.Minute?=?0;

break;

case?3:

Time.Hour?++;

if(Time.Hour?=?24)

Time.Hour?=?0;

break;

}

}

//减小键的处理函数

void?down()

{

switch(setflag)

{

case?0:

break;

case?1:

Time.Second?--;

if(Time.Second??0)

Time.Second?=?59;

break;

case?2:

Time.Minute?--;

if(Time.Minute??0)

Time.Minute?=?59;

break;

case?3:

Time.Hour?--;

if(Time.Hour??0)

Time.Hour?=?23;

break;

}

}

//设置键的扫描函数

void?set_down()

{

if(key_set?==?0??flag_timer?==?0)

{

delays(100);

if(key_set?==?0)

{

set();

}

while(!key_set);

}

}

//定时键的扫描函数

void?timer_down()

{

if(key_timer?==?0??flag_set?==?0)

{

delays(100);

if(key_timer?==?0)

{

timer();

}

while(!key_timer);

}

}

//增加键的扫描函数

void?up_down()

{

if(key_up?==?0??setflag?!=?0)

{

delays(100);

if(key_up?==?0)

{

up();

while(!key_up);

}

}

}

//减少键的处理函数

void?down_down()

{

if(key_down?==?0??setflag?!=?0)

{

delays(100);

if(key_down?==?0)

{

down();

while(!key_down);

}

}

}

//定时开关的扫描处理函数

void?beepflag_down()

{

if(Beep_flag?==?0)

{

delays(100);

{

Beepflag?=?!Beepflag;

while(!Beep_flag);

}

}

}

//ds1302.h

#ifndef?_REAL_TIMER_DS1302

#define?_REAL_TIMER_DS1302

#include?REG51.h

sbit??DS1302_CLK?=?P1^1;??????????????//实时时钟时钟线引脚

sbit??DS1302_IO??=?P1^2;??????????????//实时时钟数据线引脚

sbit??DS1302_RST?=?P1^3;??????????????//实时时钟复位线引脚

sbit??ACC0?=?ACC^0;

sbit??ACC7?=?ACC^7;

sbit??Beep?=?P2^7;

typedef?struct?__SYSTEMTIME__

{?? char?Second;

char?Minute;

char?Hour;

char?Week;

char?Day;

char?Month;

char?Year;

}SYSTEMTIME; //定义的时间类型

#define?AM(X) X

#define?PM(X) (X+12)???????????? ??//?转成24小时制

#define?DS1302_SECOND 0x80??????????//秒寄存器

#define?DS1302_MINUTE 0x82??????????//分寄存器

#define?DS1302_HOUR 0x84

#define?DS1302_WEEK 0x8A

#define?DS1302_DAY 0x86

#define?DS1302_MONTH 0x88

#define?DS1302_YEAR 0x8C

#define?DS1302_RAM(X) (0xC0+(X)*2)??? //用于计算?DS1302_RAM?地址的宏

void?DS1302InputByte(unsigned?char?d)? //实时时钟写入一字节(内部函数)

{???unsigned?char?i;

ACC?=?d;

for(i=8;?i0;?i--)

{ DS1302_IO??=?ACC0;??????????? //相当于汇编中的?RRC

DS1302_CLK?=?1;

DS1302_CLK?=?0;?????????????????//发一个高跳变到低的脉冲

ACC?=?ACC??1;

}

}

unsigned?char?DS1302OutputByte(void)? //实时时钟读取一字节(内部函数)

{? unsigned?char?i;

for(i=8;?i0;?i--)

{ ACC?=?ACC?1;????????? //相当于汇编中的?RRC

ACC7?=?DS1302_IO;

DS1302_CLK?=?1;

DS1302_CLK?=?0;?????????????????//发一个高跳变到低的脉冲

}

return(ACC);

}

void?Write1302(unsigned?char?ucAddr,?unsigned?char?ucDa)//ucAddr:?DS1302地址,?ucData:?要写的数据

{ DS1302_RST?=?0;

DS1302_CLK?=?0;

DS1302_RST?=?1;

DS1302InputByte(ucAddr);??????? //?地址,命令

DS1302InputByte(ucDa);??????? //?写1Byte数据

DS1302_CLK?=?1;

DS1302_RST?=?0;??????????????????//RST?0-1-0,CLK?0-1

}

unsigned?char?Read1302(unsigned?char?ucAddr) //读取DS1302某地址的数据

{ unsigned?char?ucData;

DS1302_RST?=?0;

DS1302_CLK?=?0;

DS1302_RST?=?1;??????????????????????//enable

DS1302InputByte(ucAddr|0x01);????????//?地址,命令

ucData?=?DS1302OutputByte();?????????//?读1Byte数据

DS1302_CLK?=?1;??????????????????????//RST?0-1-0,CLK?0-1

DS1302_RST?=?0;

return(ucData);

}

void?DS1302_SetProtect(bit?flag)????????//是否写保护

{ if(flag)

Write1302(0x8E,0x80);?//WP=1,不能写入

else

Write1302(0x8E,0x00);//WP=0,可以写入

}

void?DS1302_SetTime(unsigned?char?Address,?unsigned?char?Value)????????//?设置时间函数

{ DS1302_SetProtect(0);

Write1302(Address,?((Value/10)4?|?(Value%10)));?//高4位为十位,低4位为个位

DS1302_SetProtect(1);

}

//获取时间函数,从DS1302内读取时间然后存入Time内

void?DS1302_GetTime(SYSTEMTIME?*Time)

{ unsigned?char?ReadValue;

ReadValue?=?Read1302(DS1302_SECOND);

Time-Second?=?((ReadValue0x70)4)*10?+?(ReadValue0x0F);//转换成10进制的秒

ReadValue?=?Read1302(DS1302_MINUTE);

Time-Minute?=?((ReadValue0x70)4)*10?+?(ReadValue0x0F);

ReadValue?=?Read1302(DS1302_HOUR);

Time-Hour?=?((ReadValue0x70)4)*10?+?(ReadValue0x0F);

ReadValue?=?Read1302(DS1302_DAY);

Time-Day?=?((ReadValue0x70)4)*10?+?(ReadValue0x0F);

ReadValue?=?Read1302(DS1302_WEEK);

Time-Week?=?((ReadValue0x70)4)*10?+?(ReadValue0x0F);

ReadValue?=?Read1302(DS1302_MONTH);

Time-Month?=?((ReadValue0x70)4)*10?+?(ReadValue0x0F);

ReadValue?=?Read1302(DS1302_YEAR);

Time-Year?=?((ReadValue0x70)4)*10?+?(ReadValue0x0F);

}

//利用STime初始化DS1302

void?Initial_DS1302(SYSTEMTIME?STime)

{ unsigned?char?Second=Read1302(DS1302_SECOND);

if(Second0x80)?? DS1302_SetTime(DS1302_SECOND,0);??//如果第七为1(表明没有启动),?则启动时钟

DS1302_SetTime(DS1302_SECOND,STime.Second); ?//设定起始时间

DS1302_SetTime(DS1302_MINUTE,STime.Minute);

DS1302_SetTime(DS1302_HOUR,STime.Hour);

DS1302_SetTime(DS1302_DAY,STime.Day);

DS1302_SetTime(DS1302_MONTH,STime.Month);

DS1302_SetTime(DS1302_YEAR,STime.Year);

DS1302_SetTime(DS1302_WEEK,STime.Week);

}

#endif

单片机秒表毕业设计的总结与展望怎么写

毕业设计(论文)是学生毕业前最后一个重要学习环节,是学习深化与升华的重要过程。它既是学生学习、研究与实践成果的全面总结,又是对学生素质与能力的一次全面检验,而且还是对学生的毕业资格及学位资格认证的重要依据。为了保证我校本科生毕业设计(论文)质量,特制定“同济大学本科生毕业设计(论文)撰写规范”。

一、毕业设计(论文)资料的组成A.毕业设计(论文)任务书;B.毕业设计(论文)成绩评定书;C.毕业论文或毕业设计说明书(包括:封面、中外文摘要或设计总说明(包括关键词)、目录、正文、谢辞、参考文献、附录);D.译文及原文复印件;E.图纸、软盘等。

二、毕业设计(论文)资料的填写及有关资料的装订毕业设计(论文)统一使用学校印制的毕业设计(论文)资料袋、毕业设计(论文)任务书、毕业设计(论文)成绩评定书、毕业设计(论文)封面、稿纸(在教务处网上下载用,学校统一纸面格式,使用A4打印纸)。

毕业设计(论文)资料按要求认真填写,字体要工整,卷面要整洁,手写一律用黑或蓝黑墨水;任务书由指导教师填写并签字,经院长(系主任)签字后发出。毕业论文或设计说明书要按顺序装订:封面、中外文摘要或设计总说明(包括关键词)、目录、正文、谢辞、参考文献、附录装订在一起,然后与毕业设计(论文)任务书、毕业设计(论文)成绩评定书、译文及原文复印件(订在一起)、工程图纸(按国家标准折叠装订)、软盘等一起放入填写好的资料袋内交指导教师查收,经审阅评定后归档。

三、毕业设计说明书(论文)撰写的内容与要求一份完整的毕业设计(论文)应包括以下几个方面:

1.标题

标题应该简短、明确、有概括性。标题字数要适当,不宜超过20个字,如果有些细节必须放进标题,可以分成主标题和副标题。

2.论文摘要或设计总说明论文摘要以浓缩的形式概括研究课题的内容,中文摘要在300字左右,外文摘要以250个左右实词为宜,关键词一般以3~5个为妥。

设计总说明主要介绍设计任务来源、设计标准、设计原则及主要技术资料,中文字数要在1500~2000字以内,外文字数以1000个左右实词为宜,关键词一般以5个左右为妥。

3.目录

目录按三级标题编写(即:1……、1.1……、1.1.1……),要求标题层次清晰。目录中的标题应与正文中的标题一致,附录也应依次列入目录。

4.正文

毕业设计说明书(论文)正文包括绪论、正文主体与结论,其内容分别如下:绪论应说明本课题的意义、目的、研究范围及要达到的技术要求;简述本课题在国内外的发展概况及存在的问题;说明本课题的指导思想;阐述本课题应解决的主要问题,在文字量上要比摘要多。

正文主体是对研究工作的详细表述,其内容包括:问题的提出,研究工作的基本前提、假设和条件;模型的建立,实验方案的拟定;基本概念和理论基础;设计计算的主要方法和内容;实验方法、内容及其分析;理论论证,理论在课题中的应用,课题得出的结果,以及对结果的讨论等。学生根据毕业设计(论文)课题的性质,一般仅涉及上述一部分内容。

结论是对整个研究工作进行归纳和综合而得出的总结,对所得结果与已有结果的比较和课题尚存在的问题,以及进一步开展研究的见解与建议。结论要写得概括、简短。

5.谢辞

谢辞应以简短的文字对在课题研究和设计说明书(论文)撰写过程中曾直接给予帮助的人员(例如指导教师、答疑教师及其他人员)表示自己的谢意,这不仅是一种礼貌,也是对他人劳动的尊重,是治学者应有的思想作风。

6.参考文献与附录

参考文献是毕业设计(论文)不可缺少的组成部分,它反映毕业设计(论文)的取材来源、材料的广博程度和材料的可靠程度,也是作者对他人知识成果的承认和尊重。一份完整的参考文献可向读者提供一份有价值的信息资料。一般做毕业设计(论文)的参考文献不宜过多,但应列入主要的文献可10篇以上,其中外文文献在2篇以上。

附录是对于一些不宜放在正文中,但有参考价值的内容,可编入毕业设计(论文)的附录中,例如公式的推演、编写的程序等;如果文章中引用的符号较多时,便于读者查阅,可以编写一个符号说明,注明符号代表的意义。一般附录的篇幅不宜过大,若附录篇幅超过正文,会让人产生头轻脚重的感觉。

四、毕业设计(论文)要求

我校毕业设计(论文)大致有设计类、理论研究类(理科)、实验研究类、计算机软件设计类、经济、管理及文科类、综合类等,具体要求如下:

1.设计类(包括机械、建筑、土建工程等):学生必须独立绘制完成一定数量的图纸,工程图除了用计算机绘图外必须要有1~2张(2号以上含2号图)是手工绘图;一份15000字以上的设计说明书(包括计算书、调研报告);参考文献不低于10篇,其中外文文献要在2篇以上。

2.理论研究类(理科):对该类课题工科学生一般不提倡,各院系要慎重选题,除非题目确实有实际意义。该毕业设计报告或论文字数要在20000字以上;根据课题提出问题、分析问题,提出方案、并进行建模、仿真和设计计算等;参考文献不低于15篇,其中外文文献要在4篇以上。

3.实验研究类:学生要独立完成一个完整的实验,取得足够的实验数据,实验要有探索性,而不是简单重复已有的工作;要完成15000字以上的论文,其包括文献综述,实验部分的讨论与结论等内容;参考文献不少于10篇,包括2篇以上外文文献。

4.计算机软件类:学生要独立完成一个软件或较大软件中的一个模块,要有足够的工作量;要写出10000字以上的软件说明书和论文;毕业设计(论文)中如涉及到有关电路方面的内容时,必须完成调试工作,要有完整的测试结果和给出各种参数指标;当涉及到有关计算机软件方面的内容时,要进行计算机演示程序运行和给出运行结果。

5.经济、管理及文科类:学生在教师的指导下完成开题报告;撰写一篇20000字以上的有一定水平的专题论文(外国语专业论文篇幅为5000个词以上。);参考文献不少于10篇,包括1-2篇外文文献。

6.综合类:综合类毕业设计(论文)要求至少包括以上三类内容,如有工程设计内容时,在图纸工作量上可酌情减少,完成10000字以上的论文,参考文献不少于10篇,包括2篇以上外文文献。

每位学生在完成毕业设计(论文)的同时要求:(1)翻译2万外文印刷字符或译出5000汉字以上的有关技术资料或专业文献(外语专业学生翻译6000~8000字符的专业外文文献或写出10000字符的外文文献的中文读书报告),内容要尽量结合课题(译文连同原文单独装订成册)。(2)使用计算机进行绘图,或进行数据采集、数据处理、数据分析,或进行文献检索、论文编辑等。绘图是工程设计的基本训练,毕业设计中学生应用计算机绘图,但作为绘图基本训练可要求一定量的墨线和铅笔线图。毕业设计图纸应符合制图标准,学生应参照教务处2004年3月印制的《毕业设计制图规范》进行绘图。

五、毕业设计(论文)的写作细则

1.书写

毕业设计(论文)要用学校规定的文稿纸书写或打印(手写时必须用黑或蓝墨水),文稿纸背面不得书写正文和图表,正文中的任何部分不得写到文稿纸边框以外,文稿纸不得随意接长或截短。汉字必须使用国家公布的规范字。

2.标点符号毕业设计(论文)中的标点符号应按新闻出版署公布的"标点符号用法"使用。3.名词、名称科学技术名词术语尽量采用全国自然科学名词审定委员会公布的规范词或国家标准、部标准中规定的名称,尚未统一规定或叫法有争议的名称术语,可采用惯用的名称。使用外文缩写代替某一名词术语时,首次出现时应在括号内注明其含义。外国人名一般采用英文原名,按名前姓后的原则书写。一般很熟知的外国人名(如牛顿、达尔文、马克思等)可按通常标准译法写译名。

4.量和单位

量和单位必须采用中华人民共和国的国家标准GB3100~GB3102-93,它是以国际单位制(SI)为基础的。非物理量的单位,如件、台、人、元等,可用汉字与符号构成组合形式的单位,例如件/台、元/km。

5.数字

毕业设计(论文)中的测量统计数据一律用阿拉伯数字,但在叙述不很大的数目时,一般不用阿拉伯数字,如"他发现两颗小行星"、"三力作用于一点",不宜写成"他发现2颗小行星"、"3力作用于1点"。大约的数字可以用中文数字,也可以用阿拉伯数字,如"约一百五十人",也可写成"约150人"。

6.标题层次

毕业设计(论文)的全部标题层次应有条不紊,整齐清晰。相同的层次应采用统一的表示体例,正文中各级标题下的内容应同各自的标题对应,不应有与标题无关的内容。章节编号方法应采用分级阿拉伯数字编号方法,第一级为"1"、"2"、"3"等,第二级为"2.1"、"2.2"、"2.3"等,第三级为"2.2.1"、"2.2.2"、"2.2.3"等,但分级阿拉伯数字的编号一般不超过四级,两级之间用下角圆点隔开,每一级的末尾不加标点。

各层标题均单独占行书写。第一级标题居中书写;第二级标题序数顶格书写,后空一格接写标题,末尾不加标点;第三级和第四级标题均空两格书写序数,后空一格书写标题。第四级以下单独占行的标题顺序采用A.B.C.…和a.b.c.两层,标题均空两格书写序数,后空一格写标题。正文中对总项包括的分项采用⑴、⑵、⑶…单独序号,对分项中的小项采用①、②、③…的序号或数字加半括号,括号后不再加其他标点。

7.注释

毕业设计(论文)中有个别名词或情况需要解释时,可加注说明,注释可用页末注(将注文放在加注页的下端)或篇末注(将全部注文集中在文章末尾),而不可行中注(夹在正文中的注)。注释只限于写在注释符号出现的同页,不得隔页。

8.公式

公式应居中书写,公式的编号用圆括号括起放在公式右边行末,公式和编号之间不加虚线。9.表格

每个表格应有表序和表题,表序和表题应写在表格上放正中,表序后空一格书写表题。表格允许下页接写,表题可省略,表头应重复写,并在右上方写"续表××"。

10.插图

毕业设计的插图必须精心制作,线条粗细要合适,图面要整洁美观。每幅插图应有图序和图题,图序和图题应放在图位下方居中处。图应在描图纸或在白纸上用墨线绘成,也可以用计算机绘图。

11.参考文献

参考文献一律放在文后,参考文献的书写格式要按国家标准GB7714-87规定。参考文献按文中出现的先后统一用阿拉伯数字进行自然编号,一般序码宜用方括号括起,不用园括号括起。

单片机开题报告范文

随着单片机由于其较小的体积和很高的性价比,而在各种电子产品中受到广泛的应用和发展,单片机的研发人员也在不断的进行技术上的革新。下面是我为大家整理的单片机开题报告范文,欢迎阅读。

单片机开题报告范文篇1:

基于单片机数字频率计设计开题报告

一、选题的依据及意义:

本课题主要研究如何用单片机来设计数字频率计。因为在电子技术中,频率的测量十分重要,这就要求频率计要不断的提高其测量的精度和速度。在科技以日新月异的速度向前发展,经济全球一体化的社会中,简洁、高效、经济成为人们办事的一大宗旨。在电子技术中这一点表现的尤为突出,人们在设计电路时,都趋向于用竟可能少的硬件来实现,并且尽力把以前由硬件实现的功能部分,通过软件来解决。因为软件实现比硬件实现具有易修改的特点,如简单的修改几行源代码就比在印制电路板上改变几条连线要容易的多,故基于微处理器的电路往往比传统的电路设计具有更大的灵活性。

因为数字频率计是计算机、通讯设备、音频视频等科研生产领域必不可少的测量仪器,所以频率的测量就显得更为重要。在数字电路中,频率计属于时序电路,它主要由具有记忆功能的触发器构成。在计算机及各种数字仪表中,都得到了广泛的应用。本课题采用的是直接测频式的频率计,设计原理简单、电路稳定、测量精度高,大大的缩短了生产周期。

二、国内外研究概况及发展趋势(含文献综述):

由于当今社会的需要,对信息传输和处理的要求不断提高,对频率的测量的精度也需要更高更准确的时频基准和更精密的测量技术。而频率测量所能达到的精度,主要取决于作为标准频率源的精度以及所使用的测量设备和测量方法。目前,测量频频的方法有直接测频法、内插法、游标法、频差倍增法等等。直接测频的方法较简单,但精度不高。频差倍增多法和周期法是一种频差倍增法和差拍法相结合的测量方法,这种方法是将被测信号和参考信号经频差倍增使被测信号

的相位起伏扩大,再通过混频器获得差拍信号,用电子计数器在低频下进行多周期测量,能在较少的倍增次数和同样的取样时间情况下,得到比测频法更高的系统分辨率和测量精度,但是仍然存在着时标不稳而引入的误差和一定的触发误差。

在电子系统广泛的应用领域中,到处看见处理离散信息的数字电路。供消费用的冰箱和电视、航空通讯系统、交通控制雷达系统、医院急救系统等在设计过程中都用到数字技术。 数字频率计是现代通信测量设备系统中必不可少的测量仪器,不但要求电路产生频率的准确度和稳定度都高的信号,也要能方便的改变频率。

数字频率计的实现方法主要有:直接式、锁相式、直接数字式和混合式

(1)直接式

优点:速度快、相位噪声低,但结构复杂、杂散多,一般只应用在地面雷达中。

(2)锁相式

优点:相位同步的自动控制,制作频率高,功耗低,容易实现系列化、小型化、模

块化和工程化。

(3)直接数字式

优点:电路稳定、精度高、容易实现系列化、小型化、模块化和工程化。

三、研究内容及实验方案:

研究内容:本课题设计以单片机为核心,设计一种数字频率计,应用单片机中的定时器/计数器和中断系统等完成频率的测量。

实验方案:

图1 频率计总体设计框图

四、目标、主要特色及工作进度

目标:

基于单片机的数字频率计,画出电路图并用软件仿真

工作特色:

(1)运用了单片机技术;

(2)运用了C语言、电路等知识;

(3)采用电脑等工具;

(4)采用显示模块、分频模块、单片机模块等;

(5)简单易理解,十分实用。

工作进度:

1、查阅文献,翻译英文资料,书写开题报告; 第1---4周

2、相关资料的获取和必要知识的学习 ; 第5---9周

3、设计系统的硬件和软件模块并调试 第10--14周

4、撰写论文; 第15--16周

5、总结,准备答辩; 第17周

五、参考文献

[1]李学海著.标准80C51单片机基础教程.北京航空航天大学出版社,2006

[2] 戴仙金主编.51单片机及其C语言程序开发实例.清华大学出版社,2008

[3] 李诚人.高宏洋等.嵌入式系统及单片机应用,清华大学出版社,2005

[4] 龚运新编著.单片机C语言开发技术.清华大学出版社,2006

[5] 张天凡等编著.51单片机C语言开发详解.电子工业出版社,2008

[6] 张义和.王敏男等.例说51单片机(C语言版).人民邮电出版社,2008

[7] 张洪润、刘秀英、张亚凡等.单片机应用设计200例 .北京航空航天大学出版社,2006

[8] 彭为、黄科、雷道仲等.单片机典型系统设计实例精讲.电子工业出版社, 2006

[9] 李学海著.标准80C51单片机基础教程.北京航空航天大学出版社,2006

[10] 李朝青.单片机原理及接口技术[M].北京航天航空大学出版社,1998.

[11] 余发山,王福忠.单片机原理应用技术[M].徐州:中国矿业大学出版社,2003.

[12]V.Yu.Teplov,A.V. Anisimov.Thermostatting System Using a Single-Chip Microcomputer and Thermoelectric Modules Based on the Peltier Effect[J] ,2002

[13] Yeager Brent.How to troubleshoot your electronic scale[J]. Powder and Bulk Engineering. 1995

[14]WeiXiaoRu,JuJianZhi.Design of a CCD's driving circuit based on ATmega16.MicrocomputerIts Applications,2010,(16).

[15]HeLianYun,The Traffic Signal Lamp System Controlled with Single Chip Microcomputer.Computer Study,2008,(01).

单片机开题报告范文篇2:

基于单片机的火灾报警器

一、毕业设计(论文)课题来源、类型

课题来源:生产(社会)实践

课题类型:毕业设计

二、选题的目的及意义

对于广大居民,尤其是单独居住的老人,无人看护的病人、婴幼儿童等弱势群体在遇到火灾时,行动不便,逃生能力不强,逃生所需时间相对较长,对他们来说火灾的早期报警,争取更多的逃生时间或者及时通知救援人员,避免造成人员伤亡,显得更为重要。

火灾报警器可以让百姓的家居生活更加安全,本报警器是一个由单片机控制的火灾烟雾浓度、温度检测系统,它将传感器输出地电压信号进行A/D转换、滤波、线性化,由单片机将电压值转换为气体浓度和温度送LCD1602液晶显示,并判断是否超过报警上限,若超过,则发出声光报警[1],并将报警情况通过GSM模块发出,同时可以实现消防局对火灾报警的集中接警,专业化处警,以最少的投资实现最快的接警和处警。同时还为接处警人员提供方便快捷的辅助决策手段,提高消防队伍快速反应的能力,密切警民关系。高效的工作,还可以减少火灾给居民带来的人生安全的危害和财产的损失。

三、本课题在国内外的研究状况及发展趋势

以火灾自动报警技术为核心的建筑消防系统,是预防和遏制建筑火灾的重要保障。近年来,我国火灾自动报警工程应用技术实现了较快发展。但由于在实际应用中,火灾自动报警系统的通讯协议不一致,火灾自动报警工程技术水平还相对落后,还存在着一些比较突出的问题。

(1)适用范围过小。我国火灾自动报警系统技术比美、英等发达国家起步较晚,安装范围主要是《高层民用建筑设计防火规范》、《建筑设计防火规范》规定的场所和部位,而在易造成群死群伤的中小型公众聚集场所和社区居民家庭甚至部分高层住宅都没有规定安装火灾自动报警系统,适用范围过小,防范措施不到位。

(2)智能化程度低。我国使用的火灾探测器虽然都进行了智能化设计,但由于传感器探测的参数较少、支持系统的软件开发不成熟、各种算法的准确性缺乏足够验证、火灾现场参数数据库不健全等,火灾自动报警系统难以准确判定粒子(烟气)的浓度、现场温度、光波的强度以及可燃气体的浓度、电磁辐射等指标,造成迟报、误报、漏报情况较多。

(3)网络化程度低。我国应用的火灾119动报警系统形式基本上以区域火灾自动报警系统、集中火灾自动报警系统和控制中心火灾自动报警系统为主,安装形式主要是集散控制方式,自成体系,自我封闭,尚未形成区域性网络化火灾自动报警系统。

(4)组件连接方式有待改善。火灾自动报警系统以多线制和总线制连接方式为主,探测器和报警器及控制器之间是采用两条或多条的铜芯绝缘导线或铜芯电缆穿管相接,存在耗材多、成本高、抗干扰能力差的缺点。同时,铜导线耐高温性能差、易磨损,系统施工维修复杂,影响了火灾自动报警系统的可靠性和更广泛的应用。

(5)火灾自动报警系统误报、漏报问题较多。由于火灾探测器的安装环境极其复杂,加之各种传感器在探测火灾方面存在着某些先天不足,无法准确地感应各种物质在燃烧过程中所特有的声波、光谱、辐射、气味等诸多方面发生的微妙变化,对火灾发生过程中所产生的不同粒径和颜色的烟存在探测“盲区”,误报、漏报现象时有发生。

(6)超早期火灾探测器技术应用还几乎处于空白。国外已开发出适合洁净空间高灵敏度感烟火灾探测报警系统,如激光式高灵敏度烟火灾探测器,吸气式高灵敏度感烟火灾探测报警系统和气体火灾探测报警系统,与普通火灾探测报警系统相比,其探测灵敏度提高了两个数量级,甚至更多,这些系统采用了激光粒子计

数、激光散射等原理监视被保护空间,以单位体积内粒子增加的多少来判断是否发生火灾,系统可在火灾发生前几小时或几天内识别潜在的火灾危险性,实现超早期火灾报警。而该技术我国目前还处于起步阶段,有待进一步研究开发使用[2]。

针对上述问题,火灾自动报警应用技术进一步着眼于当前国际发展的新形势,加快更新改造进程,加强对数字技术和新工艺、新材料的应用,改进系统能力,使火灾自动报警应用技术向着高可靠、低误报和网络化、智能化方向发展。当前,国外火灾自动报警应用技术的发展趋势主要表现为网络化、智能化、多样化、小型化、社区化、蓝牙化、高灵敏化等。这也是火灾自动报警应用技术的研究发展趋势。

四、本课题主要的研究内容

设计一种以STC89C52单片机为核心的火灾检测与报警系统,可以通过气体传感器实时获取可燃气体浓度、温度传感器获得火灾现场温度,并通过LCD1602液晶显示,当浓度或温度超过限定值时则报警并且把报警情况发送到报警器所设定的终端上。以方便人们更好的掌握安全状况,提高生活质量。

五、拟采取的方法、技术或设计(开发)工具

本设计主要以MCS-51系列单片机STC89C52为控制核心,它自带8K的FLASH程序存储器,它的核心处理单元为8位。数据处理主要是对数字温度传感器18B20采集温度数据和对MQ-2烟物传感器进行AD采集,并进行逻辑判断,根据数据的具体情况输出到数码管显示和使蜂鸣器动作[3]。整个单片机应用系统的设计分为硬件电路设计和软件编程设计两大部分;其中硬件电路设计包括温度采集电路,MQ-2烟物传感器电路,单片机控制电路,显示电路,报警与控制电路和GSM模块。软件设计部分包括系统主程序,温度采集子程序,数码管显示子程序,GSM模块子程序和输出驱动子程序,均采用51系列C语言编程实现。

六、本课题进度安排、各阶段预期达到的目标

进度计划:

2014.12.15 - 2015.3.1: 查找资料、搜集相关素材

2015.3.2 - 2015.3.6:完成需求分析

2015.3.7 - 2015.3.12: 完成概要设计

2015.3.13 - 2015.4.1:完成详细设计

2015.4.2 - 2015.4.10完成编码

2015.4.11 - 2015.4.13: 完成软件测试

2015.4.14 - 2015.4.25:整理资料、撰写设计报告

2015.4.26 - 2015.4.30:根据导师要求,完善毕业设计和设计报告

(责任编辑:IT教学网)

更多

推荐新手入门文章