单片机原理与应用课程设计论文文档格式.docx

上传人:b****4 文档编号:7821855 上传时间:2023-05-09 格式:DOCX 页数:29 大小:476.62KB
下载 相关 举报
单片机原理与应用课程设计论文文档格式.docx_第1页
第1页 / 共29页
单片机原理与应用课程设计论文文档格式.docx_第2页
第2页 / 共29页
单片机原理与应用课程设计论文文档格式.docx_第3页
第3页 / 共29页
单片机原理与应用课程设计论文文档格式.docx_第4页
第4页 / 共29页
单片机原理与应用课程设计论文文档格式.docx_第5页
第5页 / 共29页
单片机原理与应用课程设计论文文档格式.docx_第6页
第6页 / 共29页
单片机原理与应用课程设计论文文档格式.docx_第7页
第7页 / 共29页
单片机原理与应用课程设计论文文档格式.docx_第8页
第8页 / 共29页
单片机原理与应用课程设计论文文档格式.docx_第9页
第9页 / 共29页
单片机原理与应用课程设计论文文档格式.docx_第10页
第10页 / 共29页
单片机原理与应用课程设计论文文档格式.docx_第11页
第11页 / 共29页
单片机原理与应用课程设计论文文档格式.docx_第12页
第12页 / 共29页
单片机原理与应用课程设计论文文档格式.docx_第13页
第13页 / 共29页
单片机原理与应用课程设计论文文档格式.docx_第14页
第14页 / 共29页
单片机原理与应用课程设计论文文档格式.docx_第15页
第15页 / 共29页
单片机原理与应用课程设计论文文档格式.docx_第16页
第16页 / 共29页
单片机原理与应用课程设计论文文档格式.docx_第17页
第17页 / 共29页
单片机原理与应用课程设计论文文档格式.docx_第18页
第18页 / 共29页
单片机原理与应用课程设计论文文档格式.docx_第19页
第19页 / 共29页
单片机原理与应用课程设计论文文档格式.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机原理与应用课程设计论文文档格式.docx

《单片机原理与应用课程设计论文文档格式.docx》由会员分享,可在线阅读,更多相关《单片机原理与应用课程设计论文文档格式.docx(29页珍藏版)》请在冰点文库上搜索。

单片机原理与应用课程设计论文文档格式.docx

(1)能仪器仪表

单片机用于各种仪表,一方面提高了仪表仪器的使用功能和精度,使仪器仪表智能化,同时还简化了仪器仪表的硬件结构,从而可以方便地完成仪器仪表的升级代换。

如各种智能化电气测量仪表,智能传感器等。

(2)机电一体化

机电一体化产品是集机械技术,微电子技术,自动化技术和计算机技术于一体,具有智能化特征的各种机电产品。

单片机在机电一体化产品的开发中可以发挥巨大的作用。

典型的产品如:

机器人,数控机床,自动包装机,点钞机,医疗设备,打印机,传真机,复印机等。

(3)实时工业控制

单片机还可以用于各种物理量的采集与控制。

电流,电压,温度,液位,流量等物理参数的采集和控制均可以利用单片机方便地实现。

在这类系统中,利用单片机作为系统控制器,可以根据被控对象的不同特征采用不同的智能算法,实现期望的控制指标,从而提高生产效率和产品质量。

典型应用如电动机转速控制,温度控制,自动生产线等。

(4)分布系统的前端模式

在较复杂的工业系统中,经常要采用分布式控制系统完成大量的分布参数的采集。

在这类系统中,采用单片机作为分布式系统的前端采集模块。

系统具有运行可靠,数据采集方便灵活,成本低廉等一系列有点。

(5)家用电器

家用电器是单片机的又一重要应用领域,前景十分广泛如空调,电冰箱,洗衣机、电饭煲,高档洗浴设备,高档玩具。

另外,交通领域中,汽车,火车,飞机,航天等均有单片机的广泛应用。

1.4单片机的中断与定时系统

1.4.1MCS-51单片机中断系统

中断是一项重要的计算机技术,这一技术在单片机中得到了充分的继承。

Cpu在面对多项任务,但是由于资源有限,有可能出现资源竞争的局面,即多个任务来争夺一个CPU。

而中断技术就是解决资源竞争的有效方法。

采用中断技术可以使多项任务共享一个资源,所以中断技术实质上就是一种资源共享技术。

在单片机中,中断技术主要用于实时控制。

所谓实时控制,就是要求计算机能及时地响应被控对象提出的分析,计算和控制等请求,使被控对象保持在最佳工作状态,以达到预定的控制效果。

由于这些控制参量的请求都是随机发出的,而且要求单片机必须作出快速响应并及时处理,因此,只有靠中断技术才能实现。

1.4.2MCS-51单片机的定时器/计数器

的控制应用中,定时是必不可少的,可供选择的定时方法有:

(1)软件定时

软件定时是靠执行一个循环程序以进行的时间延迟.软件定时的特点是时间精确,且不需外加硬件电路。

但软件定时要占用CPU,增加CPU开销,因此软件定时的时间不易太长。

此外,软件定时方法在某些情况下无法使用。

(2)硬件定时

对于时间较长的定时,常使用硬件电路完成。

硬件定时方法的特点是定时功能全部由硬件电路完成,不占CPU时间。

但需通过改变电路中的元件参数来调节定时时间,在使用上不过灵活,方便。

(3)可编程定时器定时

这种定时的方法是对通过系统时钟脉冲的计数来实现。

计数值通过程序设定,改变计数值,也就改变了定时时间,使用起来即方便,又灵活。

此外,由于采用计数方法实现,因此,可编程定时器都兼有计数的功能,可以对外来脉冲进行计数。

单片机应用中,定时与计数的需求较多,为了使用方便并增加单片机的功能,就干脆把定时电路集成在芯片中,成为定时器/计数器。

MCS-51内部就有两个定时器/计数器。

定时器/计数器的定时和计数功能

作为基本组成内容,MCS-51单片机共有2个可编程的定时器/计数器,分别称定时器/计数器和定时器/计数器1。

它们都是16位加法计数结构,分别由TH0(地址是8CH)和TL0(地址是8AH)及TH1(地址是8DH)和TL1(地址是8BH)l两个8位计数器组成。

这4个计数器均属专用寄存器之列。

计数功能

所谓计数是指对外部时间进行计数。

外部时间的发生以输入脉冲表示,因此计数功能的实质就是对外来脉冲进行计数。

MCS-51芯片有T0和T1两个信号的引脚,分别是两个计数器的计数输入端。

外部输入的脉冲在负跳变时有效,进行计数器加1(加法计数)。

定时功能

定时功能也是通过计数器的计数来实现的,不过此时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲。

也就是每个机器周期计数器加1,由于一个机器周期等于12个振荡脉冲周期,因此计数频率为振荡频率的1/12。

如果单片机采用12MHZ晶体,则计数器频率为1Mhz,即每微妙计数器加1。

这样不但可以根据计数器计算出定时时间,也可以反过来按定时时间的要求计算出计数器的预置值。

1.5芯片简介

AT89C51单片机引脚图如下:

图1.1AT89C51引脚图

MCS-51单片机是标准的40引脚双列直插式集成电路芯片,其各引脚功能如下:

VCC:

+5V电源。

VSS:

接地。

RST:

复位信号。

当输入的复位信号延续两个机器周期以上的高电平时即为有效,用完成单片机的复位初始化操作。

XTAL1和XTAL2:

外接晶体引线端。

当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;

当使用外部时钟时,用于接外部时钟脉冲信号。

P0口:

P0口为一个8位漏极开路双向I/O口,当作输出口使用时,必须接上拉电阻才能有高电平输出;

当作输入口使用时,必须先向电路中的锁存器写入“1”,使FET截止,以避免锁存器为“0”状态时对引脚读入的干扰。

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,它不再需要多路转接电路MUX;

因此它作为输出口使用时,无需再外接上拉电阻,当作为输入口使用时,同样也需先向其锁存器写“1”,使输出驱动电路的FET截止。

P2口:

P2口电路比P1口电路多了一个多路转接电路MUX,这又正好与P0口一样。

P2口可以作为通用的I/O口使用,这时多路转接电路开关倒向锁丰存器Q端。

P3口:

P3口特点在于,为适应引脚信号第二功能的需要,增加了第二功能控制逻辑。

当作为I/O口使用时,第二功能信号引线应保持高电平,与非门开通,以维持从锁存器到输出端数据输出通路的畅通。

当输出第二功能信号时,该位应应置“1”,使与非门对第二功能信号的输出是畅通的,从而实现第二功能信号的输出,具体第二功能如表1所示。

第二章总体方案设计

2.1设计方案

数字钟是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。

它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能和一些显示日期、随时查看年月日等附加功能。

因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”,“日期”计数器、校时电路、和振荡器组成。

秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。

将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。

“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。

“时计数器”采用24进制计时器,可实现对一天24小时的累计。

每累计24小时,发出一个“日脉冲”信号,该信号将被送到“日期计数器”,“日期计数器”采用30进制计时器,可实现对一月30天的累计同时进位月份和年份。

译码显示电路将“时”、“分”、“秒”、“日期”计数器的输出状态送到七段显示译码器译码,通过七位LED七段显示器显示出来。

校时电路时用来对“时”、“分”、“秒”、“日期”、“月份”显示数字进行校对调整的。

数字电子钟主体电路应由以下几部分组成:

通过分频器产生标准秒信号;

60进制分秒计数器以及24小时计数器;

分、时的译码显示部分;

校时电路。

2.1程序结构框图

图2.1软件的模块实现原理图

2.1.1主程序流程图如图2.2所示:

图7系统总体流程图

图2.2主程序流程图(日期显示的年月日与时分秒同理)

2.1.2中断处理流程图如图2.3所示

N

Y

图2.3中断处理流程图

第三章系统的硬件组成

3.1硬件模块的实现

单片机系统中的时钟是一切与时间有关过程的运行基础,在实时控制系统中尤其如此。

钟有绝对时钟和相对时钟两种。

绝对时钟是与当地的时钟同步的,有月、日,时、秒等功。

相对时钟则与当地时间无关,一般只有时、分、自动控制定时时间长短的功能。

MOS-51系列单片机只有T0,T1两个16位定时器,若都用作系统时钟的绝对时钟和相对时钟定时,则当系统再用于通信等需要定时器资源的情况下,会出现定时器不够用的情况.为此,统一设计单片机的时钟系统,用一个定时器完成绝对和相对时钟等多项定时任务是有实际意义的。

3.1.1显示模块概述概述

1.功能概述

本时钟使用四个LED显示模块,显示的基本格式为:

时×

×

(秒点跳动)分×

秒×

随时可以调整时钟的时间。

当按下时钟调整模式键时,进入调整时间状态。

通过不同的按钮次数,调整不同的位置的数字。

单片机时钟的基本框图如图3.1所示:

图3.1单片机时钟的基本框图

晶振复位电路:

产生计数信号,完成时钟的运行。

输入模式键:

选择调整的位:

分,时,日,月。

输入调整键:

调整相应位的时间或日期,每按一次,加一。

2.技术方案

一个完整的数字钟电路相当于一个简单的系统,每个部分都要设计。

MCS-51单片机的片内结构由八部分组成。

微型处理机(CPU),数据存储器(RAM)。

程序存贮器(ROM,EPROM),I/O口,定时器,计数器。

中断系统及特殊的功能寄存器(SFR)。

数据存储器和程序存储器的可寻址的范围是:

64K地址范围是:

0000H-----FFFFH扩展的I/O均占用存储器的地址。

(1)LED显示原理

可供选择的方法LED显示有四种方法

⏹使用单片机芯片本身的并行口。

⏹使用单片机芯片本身的穿行口

⏹使用通用芯片接口(例如。

8255,8155等)

⏹使用专用接口芯片8279

(2)LED的分类

LED发光器一般有两类,数码管和点阵。

常用的数码管一般为8字节数码管,分别为:

a,b,c,d,e,f,g,dp。

其中dp为小数点。

数码管常用的有10根管脚。

段中间两根管脚为一个数码管的公用端。

两根之间的相互连通。

如图3.所示:

八段显示:

图3.2LED数码管图3.3八段数码管

从尺寸上分,LED数码管的种类很多,常用的有0.3,0.5,0.8,1.01.2,1.5,1.8,2.3,3.0,4.0,5.0等。

一般小1.0的单管芯。

1.2---1.5为双芯管。

1.8以上为3个以上芯管。

因而它们的要求不同,一般每个管芯压降为2.1v左右。

通常,0.8以下采用5V供电。

1.0—2.3采用12v供电,3.0以上的选择更高电压供电。

从电路上分为共阴极和共阳极两种。

图3.3为共阳极八段显示器。

(3)可供选择的LED显示的基本原理:

用单片机驱动LED的方法有很多种,按显示方式分,有静态显示和动态显示两种。

按译码方式分为硬件译码和和软件译码。

1.静态显示:

所谓静态显示就是指显示器显示某一字符时,相应段的发光二极管导通或截止。

静态显示有并行和串行输出出两种方式。

对于静态显示方式。

Led显示器由接口芯片直接驱动。

采用较小的驱动电流就可以得到较高的显示亮度。

但是,并行输出显示的十进制位数多时,需要并行的I/O接口芯片的数量较多。

采用串行输出可以大大节省单片机的内部资源。

静态显示具有锁存的能力,单片机将要显示的数据送出后不再控制LED,直到下次显示是才传送数据。

静态显示的数据稳定,占用的CPU时间少。

每一位都有锁存器和译码器。

电路如图3.4。

图3.4数码管静态显示原理图

2.动态显示:

所谓动态显示,就是一位一位的显示轮流点亮显示器的各个位(扫描)。

对于每一位而言,每隔一段时间点亮一次。

虽然在同一时刻只有一位显示器在工作(点亮)。

但是由于人眼的视觉暂留效应和发光二极管熄灭时的余晖,我们看到却是多个字符“同时”显示。

显示器亮度即与点亮时的导通电流有关,也与点亮时间长短和时间间隔有关。

调整电流和时间参数,即可以得到较稳定的显示。

动态显示接口是单片机中应用最广泛的一种显示方式。

其接口把所的LEDA—G—dp连在一起。

而公共的COM端是各自独立受I/O控制。

尽管实际上各位显示器并非同时点亮。

但是是要扫描的速度足够快,给人一种稳定的感觉,不会有闪烁感。

静态显示虽然数据显示稳定,占用cpu时间少,但是使用硬件较多。

动态显示占

用CPU时间多,但是使用硬件少。

节省电路板空间。

从上述分析,动态显示方案有

一定的实用性,也是目前单片机数码管显示较为常用的一种显示方式。

所以,在本设

计中,使用动态显示方式。

3、显示驱动电路方案

在一般情况下,单片机使用并行驱动方式进行LED显示。

并行驱动的结构较为简单,并且非常适用于说明地址和数据总线复用的情况。

LED并行驱动的电路原理图如下:

图3.5LED并行驱动的电路原理图

图中C51与8位LED显示器的接口。

74HC573的P00—P07作为段选码口,经过74LS138驱动与LED相连。

74HC573的P00—P07作为位选码口,经过74LS138驱动与LED的位相连。

将各个位选线直接连接在单片机的其中一个输出口,进行位扫描,完成动态的显示。

总结上述提到的各种方式都有各自的可行性。

3.2晶振电路

单片机由其内部固化程序在12MHZ晶振的准确支持运行,将时钟芯片中的时、分读取到缓冲区内,并将时、分送到显示电路,

图所示为时钟电路原理图,在AT89S51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。

而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。

时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。

图3.6晶振电路

3.3按键模块

按建模块用来切换显示时间或日期,以及对时间和日期进行校正修改和相关设置功能,该系统只使用S1和S2两个按键,如下图所示:

图3.7按键模块原理图

图4.2STC-ISP下载软件界面

第四章程序设计

4.1相关工具软件

本次设计中与用到的相关软件如图4.1和图4.2所示:

图4.1KeiluVision2使用界面

4.2部分时钟程序(程序清单见附录):

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

/*定时器1中断*/

voidtime1_isr(void)interrupt3using0//定时器1用来动态扫描

{staticunsignedcharnum;

TH1=0xF8;

//重入初值

TL1=0xf0;

switch(num){

case0:

P2=0;

P0=StrTab[num];

break;

//分别调用缓冲区的值进行扫描

case1:

P2=1;

case2:

P2=2;

case3:

P2=3;

case4:

P2=4;

case5:

P2=5;

case6:

P2=6;

case7:

P2=7;

default:

}

num++;

//扫描8次,使用8个数码管

if(num==8)

num=0;

第五章系统功能调试与指标参数

本系统以89C51单片机作为控制核心,使用LED显示模块和按键模块,实现时间的显示,年月日显示及相应校正和设置功能.除具有括时钟显示、日期显示外,还有校正时间和日期.实际运行效果良好,并可进行进一步的扩展.数字电子钟能以秒为最小时间单位计时,同时应能用数字直观显示当前的时与分,秒,以及切换到日期显示界面,还可以手动校时和调整日期。

5.1基本功能和参数

1.时制式为24小时制。

2.采用LED数码管显示时、分,秒采用数字显示。

3.具有方便的时间调校功能。

4.计时稳定,可精确校正计时精度。

6.其它附加功能(显示日期,随时切换查看时间和日期)。

5.2测试的相关参数

(1)小计时时间单位为1s。

(2)秒和分的范围是00~59,小时的计时范围是00~23,日的计时范围是01~30,月的计时范围是01~12,年的计时范围是2000~2099。

(3)可手动将时间显示和日期显示互相切换,并可分别对分钟、小时、日期和月份进行校正。

第六章设计总结

单片机作为我们主要的专业课程之一,我觉得单片机课程设计很有必要,而且很有意义。

但当拿到题目时,确实不知道怎么着手,有些迷茫,上网查资料,问老师,在老师的帮助下,历时两个星期,解决一个又一个的困难,终于完成任务。

在这次课程设计中,运用到了很多以前的专业知识,虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的一大收获。

另外,要做好一个课程设计,就必须做到:

在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;

要有一个清晰的思路和一个完整的的软件流程图;

在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;

要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;

在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我受益终身。

发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。

设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。

在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,不能灵活运用。

通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。

另外,要非常感谢我的指导老师,是她指引我克服一个由一个的困难,让我学会对困难无所畏惧,以及对问题的一些很重要的思考方法。

我学会对困难无所畏惧,以及对问题的一些很重要的思考方法。

附录

时钟程序清单:

#include<

reg52.h>

//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

sbitkey_change=P3^0;

//定义端口参数

sbitkey=P3^1;

sbitLED=P1^2;

//定义指示灯参数

codeunsignedchartab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

//共阴数码管0-9

unsignedcharStrTab[8];

//定义缓冲区

unsignedcharminute=55,hour=20,second,date=24,change,month=12,year=10,number;

//定义并且初始化值20:

55:

0020101224

/*延时函数*/

voiddelay(unsignedintcnt)

{

while(--cnt);

/*显示处理函数*/

voiddisplay_time()

{

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2