C51程序设计课程设计报告Word文档格式.docx

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

C51程序设计课程设计报告Word文档格式.docx

《C51程序设计课程设计报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《C51程序设计课程设计报告Word文档格式.docx(63页珍藏版)》请在冰点文库上搜索。

C51程序设计课程设计报告Word文档格式.docx

实习报告要求

实习报告内容、格式各专业根据实习类别(技能实习、认识实习、生产实习、毕业实习等)统一规范,经教研室主任审核、主管院长审批备案。

注意:

1.实习任务书和实习指导书在实习前发给学生,实习任务书放置在实习报告封面后和正文目录前。

2.为了节省纸张,保护环境,便于保管实习报告,统一采用A4纸,实习报告建议双面打印(正文采用宋体五号字)或手写,左侧装订,订两个钉。

本作业包含以下内容:

一·

8LED点阵屏仿电梯数字滚动显示

二·

LCD160128中文显示温度与时间

三·

用ADC0832设计的两路电压表

四·

可以调控的走马灯

五·

高仿真数码管电子钟

摘要:

伴随着我国现代化程度的提高,电梯成为高层建筑中的重要交通工具,它是高层建筑中安全、可靠、垂直上下的运载工具,对改善劳动条件、减轻劳动强度起到很大的作用。

同时也给人们的生活带来了便利,为我国现代化建设的加速发展提供了强大的保障。

电梯的应用范围很广,可用于宾馆、饭店、办公大楼、商场、娱乐场所,仓库以及居民住宅大楼等。

因此,在现代社会中电梯已成为人类必不可少的垂直运输交通工具。

利用单片机控制电梯有成本低,通用性强,灵活性大以及易于实现复杂控制等优点。

基于单片机的电梯智能控制系统的设计分别从系统要求、硬件设计、软件设计等几个部分设计,介绍了以AT89C51系列单片机为核心,并结合74LS245和LED等芯片以及与之相配套的汇编语言软件等进行电梯模拟的具体实现方法,该方法不仅可以实现电梯的基本功能,而且可以设置电梯直达、急停、停电检修等功能,从而可实现电梯的智能控制及相应的最佳路线选择,提高电梯的有效利用率。

关键词:

单片机;

电梯;

系统;

控制

1.课题设计内容

本课题的主要任务是完成一个电梯系统的智能控制模块,即根据每个楼层不同顾客的按键要求,让电梯做出合理的判断,正确高效的指导电梯完成各项载客任务。

设计基于单片机的电梯智能控制系统的硬件电路与软件程序,给出硬件系统的电路原理图,对硬件电路与软件分别进行调试,得到调试成功的基于单片机的电梯智能控制系统。

根据此任务,本课题需要研究的内容有:

1、根据系统的技术要求,进行系统硬件的总体方案设计;

2、学习单片机的相关知识,并且加以运用;

3、选择适当的芯片,并对其内部协议有所掌握,便于应用。

4、研究单片机C语言编程,并且规定电梯的工作规则,用C语言加以实现;

5、对软件和硬件进行调试,让其协调工作,完成指定任务。

图1-1硬件结构框图

2.硬件电路中器件选择

A.AT89C51单片机

AT89C51是一个低电压,高性能CMOS8位单片机带有4K字节的可反复擦写的程序存储器(PENROM)。

和128字节的存取数据存储器(RAM),这种器件采用ATMEL公司的高密度、不容易丢失存储技术生产,并且能够与MCS-51系列的单片机兼容。

片内含有8位中央处理器和闪烁存储单元,有较强的功能的AT89C51单片机能够被应用到控制领域中。

本设计采用AT89C51,它提供以下的功能标准:

4K字节闪烁存储器,128字节随机存取数据存储器,32个I/O口,2个16位定时/计数器,1个5向量两级中断结构,1个串行通信口,片内震荡器和时钟电路。

另外,AT89C51还可以进行0HZ的静态逻辑操作,并支持两种软件的节电模式。

闲散方式停止中央处理器的工作,能够允许随机存取数据存储器、定时/计数器、串行通信口及中断系统继续工作。

掉电方式保存随机存取数据存储器中的内容,但震荡器停止工作并禁止其它所有部件的工作直到下一个复位。

引脚图如图1-2所示。

图1-2AT89C51引脚

VCC:

电源电压

GND:

P0口:

P0口是一组8位漏极开路双向I/O口,即地址/数据总线复用口。

作为输出口时,每一个管脚都能够驱动8个TTL电路。

当“1”被写入P0口时,每个管脚都能够作为高阻抗输入端。

P0口还能够在访问外部数据存储器或程序存储器时,转换地址和数据总线复用,并在这时激活内部的上拉电阻。

P0口在闪烁编程时,P0口接收指令,在程序校验时,输出指令,需要接电阻。

P1口:

P1口一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动4个TTL电路。

对端口写“1”,通过内部的电阻把端口拉到高电平,此时可作为输入口。

因为内部有电阻,某个引脚被外部信号拉低时输出一个电流。

闪烁编程时和程序校验时,P1口接收低8位地址。

P2口:

P2口是一个内部带有上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL电路。

对端口写“1”,通过内部的电阻把端口拉到高电平,此时,可作为输入口。

因为内部有电阻,某个引脚被外部信号拉低时会输出一个电流。

在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。

在访问8位地址的外部数据存储器时,P2口线上的内容在整个运行期间不变。

闪烁编程或校验时,P2口接收高位地址和其它控制信号。

P3口:

P3口是一组带有内部电阻的8位双向I/O口,P3口输出缓冲故可驱动4个TTL电路。

对P3口写如“1”时,它们被内部电阻拉到高电平并可作为输入端时,被外部拉低的P3口将用电阻输出电流。

P3口除了作为一般的I/O口外,更重要的用途是它的第二功能,如下表所示:

端口引脚

第二功能

P3.0

RXD

P3.1

TXD

P3.2

INT0

P3.3

INT1

P3.4

T0

P3.5

T1

P3.6

WR

P3.7

RD

表1-3

P3口还接收一些用于闪烁存储器编程和程序校验的控制信号。

RST:

复位输入。

当震荡器工作时,RET引脚出现两个机器周期以上的高电平将使单片机复位。

ALE/:

当访问外部程序存储器或数据存储器时,ALE输出脉冲用于锁存地址的低8位字节。

即使不访问外部存储器,ALE以时钟震荡频率的1/16输出固定的正脉冲信号,因此它可对输出时钟或用于定时目的。

要注意的是:

每当访问外部数据存储器时将跳过一个ALE脉冲时,闪烁存储器编程时,这个引脚还用于输入编程脉冲。

如果必要,可对特殊寄存器区中的8EH单元的D0位置禁止ALE操作。

这个位置后只有一条MOVX和MOVC指令ALE才会被应用。

此外,这个引脚会微弱拉高,单片机执行外部程序时,应设置ALE无效。

PSEN:

程序储存允许输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器读取指令时,每个机器周期两次PSEN有效,即输出两个脉冲。

在此期间,当访问外部数据存储器时,这两次有效的PSEN信号不出现。

EA/VPP:

外部访问允许。

欲使中央处理器仅访问外部程序存储器,EA端必须保持低电平。

需要注意的是:

如果加密位LBI被编程,复位时内部会锁存EA端状态。

如EA端为高电平,CPU则执行内部程序存储器中的指令。

闪烁存储器编程时,该引脚加上+12V的编程允许电压VPP,当然这必须是该器件是使用12V编程电压VPP。

XTAL1:

片内振荡器反相放大器和时钟发生线路的输入端。

使用片内振荡器时,连接外部石英晶体和微调电容。

XTAL2:

片内振荡器反相放大器的输出端。

当使用片内振荡器时,外接石英晶体和微调电容。

图1-4 74LS245

74LS245是我们常用的芯片,用来驱动LED或者其他的设备,它是8路相同三态双向总线收发器,可双向传输数据。

74LS245还具有双向三态功能,既可以输出,也可以输入数据。

当8051单片机的P0口总线负载达到或超过P0口最大负载能力时,必须接入74LS245等总线驱动器。

当片选端/CE低电平有效时,DIR=“0”,信号由B向A传输;

(接收)

DIR=“1”,信号由A向B传输;

(发送)当CE为高电平时,A、B均为高组态。

由于P2口始终输出地址的高8位,接口时74LS245d三态控制端1G和2G接地,P2口与驱动器输入线对应相连。

P0口与74LS245输入端相连,E端接地,保证数据线畅通。

8051的/RD和/PSEN相与后接DIR,使得RD且PSEN有效时,74LS245输入(P0.1←D1),其他时间处于输出(P01→D1)。

C.LED点阵

图1-5LED点阵外观

显示屏是由发光二极管行列组成的LED点阵模块组成显示屏体。

本设计中选择8*8的点阵是由64个发光二极管按规律组成的。

如图1-6。

图1-6LED点阵内部结构

如图1-6所示的发光二极管,行接高电平,列接低电平,发光二极管导通发光。

8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮。

3.硬件设计

基于单片机智能控制系统的设计系统电路原理图如下2-2所示。

系统由控制模块,LED显示模块,电源模块三部分组成。

图1-78×

8LED点阵屏仿电梯数字滚动显示原理图

3.1控制模块

图1-8控制模块原理图

控制模块原理图如图1-8所示。

主控制器采用AT89C51。

它具有4K字节闪烁存储器,128字节随机存取数据存储器,32个I/O口,2个16位定时/计数器,1个5向量两级中断结构,1个串行通信口,片内震荡器和时钟电路。

在本设计中,P1口用于对电梯按钮的控制,连接输入设备。

P3口用于对LED点阵显示器的控制。

P0口用于连接锁存器74LS245,以保护单片机的输出端口。

3.2按键模块

图1-9按键模块原理图

乘客可由按键控制电梯上升下降,按下对应楼层按键,点阵屏数字将从当前位置向下或向上平滑滚动显示到指定楼层位置。

3.3LED显示模块

图1-10LED输出显示模块

LED输出显示模块如图2-5所示,采用LED点阵显示器,其中点阵列接单片机P3口,行接锁存器74LS245。

在单片机的输出口接驱动电路74LS245,以保护单片机的输出端口。

3.4电源电路

整个系统采用的电源电压只需+5V电压,将交流电经变压器变换为12V交流电,再用整流桥得到8.5V左右的直流电,采用不可调的3端稳压器件LM7805将电源稳定在5V直流输出。

4.软件设计

图1-11电梯智能控制功能实现流程图

4.1主程序模块

系统主程序主要用于变量及其他部件的初始化,如定时器T0的初始化,以便能够准确的进行相应的操作。

同时进行相应的功能键判断,从而实现特殊功能。

其相应的流程图如下:

图1-12主程序流程图

4.2判断子程序

系统判断子程序的相应流程图如图所示。

在相应的中断子程序中,需要进行相应楼层的逻辑判断,尤其是两个楼层申请的时候,一般都需要根据现在的楼层状态以及相应的升降标志位进行相应的处理,例如在上升状态时,若第二个楼层的申请较第一个申请离现在的楼层状态更近,则应先响应第二个申请的响应,然后再对第一个申请进行响应;

若有楼层申请在当前楼层的下面,也应根据升降的标志位进行判断,如果是上升状态,应先响应上面的楼层,然后再响应其他的申请。

当然,如果处于下降状态,则以相反的顺序进行响应。

这里只是两个楼层申请时的讨论。

当有更多楼层响应时,还需进一步进行逻辑的思考与判断。

图1-13判断子程序流程图

5.结束语

本文设计了实现单片机控制下电梯智能控制系统的设计方案。

由于条件的限制,没有做成真正的电梯。

但做成的电梯智能控制系统的硬件电路已能演示。

可以按照乘客的要求,将乘客送到要去的目的层。

但是,电梯还有很多的扩展的空间并未实现,比如电梯自动语音报站系统的设计,楼层监控系统,节能设计以及其它更多的服务。

参考文献

[1]何立民.单片机应用技术选编[M].北京:

北京航空航天大学出版社,1999.

[2]陈小忠.单片机接口技术使用子程序[M].北京:

人民邮电出版社,2005.

[3]丁元杰,吴大伟.单片机微机实题集与实验指导书[M].北京:

机械工业出版社,2004.

[4]51单片机C语言教程[M].北京:

电子工业出版社,2009.

[5]黄宏安,AllegroPCBLayout.高速电路版设计[M].台科大图书股份有限公司,2003.

[6]于海生.微型计算机控制技术[M].北京:

清华大学出版社,1998.

[7]李广弟.单片机基础[M].第3版,北京:

国防工业出版社,2001.

[8]谢剑英,贾青.微型计算机控制技术[M].北京:

[9]苏凯,刘国庆,陈国平.MCS-51系列单片机系统原理与设计[J].北京:

冶金工业出版社,2003

[10]潘新民,王艳芳.微型计算机控制技术[J].北京:

电子工业出版社,2003.

[11]张毅坤,陈善久,裘雪红.单片微型机及应用[M].西安:

西安电子科技大学学出版大学出版社,1998.

[12]全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品精选[M].北京:

北京理工大学出版社,2000.

[13]赵晶主.电路设计与制版Protel99高级应用[J].北京:

人民邮电出版社,2000.

[14]何希才.新型实用电子电路400列[M].北京:

电子工业出版社,2006.

附录1

程序清单

#include<

reg51.h>

//52系列单片机头文件

intrins.h>

#defineucharunsignedchar

#defineuintunsignedint

ucharcodeTable_OF_Digits[]=

{

0x00,0x3C,0x66,0x42,0x42,0x66,0x3C,0x00,//0

0x00,0x08,0x38,0x08,0x08,0x08,0x3E,0x00,//1

0x00,0x3C,0x04,0x04,0x3C,0x20,0x3C,0x00,//2

0x00,0x3C,0x04,0x3C,0x04,0x04,0x3C,0x00,//3

0x00,0x20,0x28,0x28,0x3C,0x08,0x08,0x00,//4

0x00,0x3C,0x20,0x20,0x3C,0x04,0x3C,0x00,//5

0x00,0x20,0x20,0x20,0x3C,0x24,0x3C,0x00,//6

0x00,0x3C,0x04,0x04,0x04,0x04,0x04,0x00//7

};

uintr=0;

charoffset=0;

ucharCurrent_Level=1,Dest_Level=1,x=0,t=0;

//------------------------------------------

//主程序

voidmain()

P3=0x80;

Current_Level=1;

Dest_Level=1;

TMOD=0x01;

TH0=-4000/256;

TL0=-4000%256;

TR0=1;

IE=0x82;

while

(1);

}

//------------------------------

//TO中断

//-------------------------------

voidLED_Screen_Display()interrupt1

uchari;

if(P1!

=0xFF&

&

Current_Level==Dest_Level)

if(P1==0xFE)Dest_Level=5;

if(P1==0xFD)Dest_Level=4;

if(P1==0xFB)Dest_Level=3;

if(P1==0xF7)Dest_Level=2;

if(P1==0xEF)Dest_Level=1;

P3=_crol_(P3,1);

i=Current_Level*8+r+offset;

P0=~Table_OF_Digits[i];

//上升显示

if(Current_Level<

Dest_Level)

{

if(++r==8)

r=0;

if(++x==4)

x=0;

if(++offset==8)

offset=0;

Current_Level++;

}

//下降显示

else

if(Current_Level>

{

if(--offset==-8)

Current_Level--;

//停止滚动,保持稳定的刷新显示

if(++r==8)r=0;

附录2:

基于单片机的电梯智能控制系统的元器件目录表

序号

型号(名称)

数量

作用

1

AT89C52

单片机

2

74LS245

锁存器

3

10kΩ排阻

上拉电阻

4

8*8LED点阵显示器

显示数字

5

按钮

6

复位按钮等

22pF瓷片电容

12

晶振电路用

7

10μF电解电容

26

上电复位

8

12MHz

13

晶振

摘要:

本文主要内容是利用AT89C51单片机与160*128的液晶、DS18B20和DS1302组合设计的显示温度与时间系统,在160*128的液晶上显示当前的时间、日期和DS18B20中的温度值。

温度;

时间;

PG160128A;

DS18B20;

DS1302

0引言

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。

概括的讲:

一块芯片就成了一台计算机。

它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。

单片机应用的重要意义在于,它从根本上改变了传统的控制系统设计思想和设计方法。

从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。

这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。

利用单片机显示当前时间与温度是单片机与PG160128、DS18B20和DS1302的组合应用,对于开发单片机更深层次应用有非常现实的意义。

1系统总体方案设计

单片微型计算机简称单片机,是典型的嵌入式微控制器(MicrocontrollerUnit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。

单片机由芯片内仅有CPU的专用处理器发展而来。

最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。

AT89C51作为单片机中最早的技术相对成熟的产品,即使在各种更加高级,功能更加强劲的芯片如MSP430,HCS12,已经各种FPGA,ARM的日益成熟的今天,51以其易学,易用,可扩展性强仍然被广泛用于简单工控系统和最佳的初学者芯片。

LCD160128液晶,作为与51单片机兼容的液晶,像素高达160*128,可寻址,可以通过编程实现字库设置和图像显示,并有丰富的命令字可以实现各种丰富的显示效果,用简单的51单片机结合软件就能模拟各种实际功能,本设计主要研究如何模拟使通过51单片机与PG160128LCD的联合应用,利用AT89C51单片机与160*128的液晶、DS18B20和DS1302组合设计的显示温度与时间系统,在160*128的液晶上显示当前的时间、日期和DS18B20中的温度值。

2系统硬件方案设计

整个硬件电路由单片机的复位和晶振电路,PG160128液晶显示器,电阻,2个独立LED温度警示灯,DS18B20和DS1302组成。

本硬件系统的子系统下面单独介绍。

2.1实验原理图

图2-1系统原理图

2.2AT89C51单片机

 

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除100次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

2.2.1主要特性:

·

与MCS-51兼容

4K字节可编程闪烁存储器

寿命:

1000写/擦循环

数据保留时间:

10年

全静态工作:

0Hz-24Hz

三级程序存储器锁定

128*8位内部RAM

32可编程I/O线

两个16位定时器/计数器

5个中断源

可编程串行通道

低功耗的闲置和掉电模式

片内振荡器和时钟电路

2.2.2管脚说明:

供电电压。

接地。

P0

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

当前位置:首页 > 自然科学 > 物理

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

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