88LED点阵屏模仿电梯运行的楼层显示 - 图文

更新时间:2024-02-02 15:26:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《单片机原理》课

程课程设计

题 目 8x8LED点阵屏模仿电梯运行的楼层

显示

院 (系) 信息工程学院 专 业 班 级 学 生 姓 名 学 号 设 计 地 点 计算机应用实验室 指 导 教 师

起止时间: 2014年 6月 3日至 2013 年 6 月 14 日

摘 要

伴随着我国现代化程度的提高,电梯成为高层建筑中的重要交通工具,它是高层建筑中安全、可靠、垂直上下的运载工具,对改善劳动条件、减轻劳动强度起到很大的作用。同时也给人们的生活带来了便利,为我国现代化建设的加速发展提供了强大的保障。电梯的应用范围很广,可用于宾馆、饭店、办公大楼、商场、娱乐场所,仓库以及居民住宅大楼等。因此,在现代社会中电梯已成为人类必不可少的垂直运输交通工具。利用单片机控制电梯有成本低,通用性强,灵活性大以及易于实现复杂控制等优点。

本课程设计采用了一种采用单片AT89C51芯片进行电梯控制系统的设计方法,主要阐述如何使用单片机进行编程来实现电子设计的方法,利用单片机编程实现功能,简洁而又多变的设计方法,缩短了研发周期,同时使电梯控制系统体积更小功能更强大。本设计实现了电梯控制系统所需的一些基本功能,能通过数字按键选择楼层,点阵显示实时楼层数。原理图采用proteus专业软件来设计。

关键词:单片机;电梯;系统;控制;C语言

Abstract

Along

with our country's modernization degree enhancement, the

elevator as an important traffic tools in high-rise buildings, it is safe and reliable in high-rise buildings, vertical fluctuation of transport vehicles, to improve labor condition, reduce labor intensity play a big role.At the same time, it brought convenience to people's life, for the accelerated development of China's modernization construction provides a powerful guarantee.The elevator application range is very wide, can be used in hotels, restaurants, office buildings, shopping malls, entertainment venues, warehouses, residential buildings, etc.In modern society, therefore, the elevator has become a human essential vertical transportation vehicles.Using single-chip microcomputer control elevator has low cost, strong commonality, flexible and easy to realize complex control, etc.

This course design USES a single chip AT89C51 chip is adopted to improve the design method of the elevator control system, mainly elaborates how to use the MCU programming to realize the electronic design method, using single chip microcomputer programming function, concise and changeful design method, shorten the development cycle, at the same time make the elevator control system has the function of a smaller more powerful.This design to achieve the required some of the basic features of the elevator control system, can choose floor through digital key, dot matrix display real-time several floors.The schematic diagram using proteus professional software to design.

Key words: single chip microcomputer;The elevator;System;Control;The c language

目 录

1 绪 论 ................................................................................................................................... 1

1.1课程设计要求 ......................................................................................................... 1 1.2课题设计内容 ......................................................................................................... 1 2 设计原理及方案 ................................................................................................................ 2

2.1设计原理及方法 .................................................................................................... 2 2.2方案 ............................................................................................................................... 2 3 主控制器和外围器件 ..................................................................................................... 4

3.1 AT89C51单片机 ................................................................................................. 4 3.2 74LS245 ..................................................................................................................... 6 3.3.LED点阵 .................................................................................................................... 7 3.3.按键 ............................................................................................................................. 9 4 系统硬件电路设计 ......................................................................................................... 10

4.1

单片机最小系统模块 ....................................................................................... 10

4.2按键控制模块 ....................................................................................................... 11 4.3显示模块 .................................................................................................................. 12 4.4声光模块 .................................................................................................................. 12 4.5电路总图 .................................................................................................................. 13 5 软件程序设计 ................................................................................................................... 14 6 实验测试部分 ................................................................................................................... 15

6.1测试环境 .................................................................................................................. 15 6.2测试过程中的问题 ............................................................................................. 15

6.3实际效果 .................................................................................................................. 16 致 谢 ...................................................................................................................................... 18 参考文献 ................................................................................................................................... 19

附录A 程序清单 .................................................................................................................. 20 附录B元器件目录表 ......................................................................................................... 30

6.3实际效果

本次实验的实物运行效果如图6.1,6.2所示。

图6.1实际效果图

RP19876543211nFC1C31nFX1C21nFCRYSTAL19RESPACK-8U2XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD39383736353433322122232425262728101112131415161723456789191U1A0A1A2A3A4A5A6A7CEAB/BA74LS245B0B1B2B3B4B5B6B7181716151413121118XTAL29RSTR110k293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51LS1R210kSPEAKERR310kQ1PNPD1LED-RED 图6.1实际效果图

16

总 结

本课程设计了实现单片机控制下电梯智能控制系统的设计方案。由于条件的限制,没有做成真正的电梯。但做成的电梯智能控制系统的硬件电路已能演示。可以按照乘客的要求,将乘客送到要去的目的层。但是,电梯还有很多的扩展的空间并未实现,比如电梯自动语音报站系统的设计,楼层监控系统,节能设计以及其它更多的服务。

设计的核心内容就是利用单片机C51的编程来实现控制外围各电路的运行。通过本次设计,我熟练掌握了程控系统设计的一般步骤,熟悉了编程软件的用法,并对编程能力起到了一定的提高作用。本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。

在此次设计中,我们得到以下体会:

1、在这次点阵设计的过程让我进一步熟悉KEIL及Proteus的使用。 2、通过这次点阵设计,重新复习并进一步学习了AT8951优点,明确了研究目标。

3、在之后的设计中,既要想到电路器件的联合使用,又要灵活变通,举一反三。

通过本次设计,我收获颇丰,本人的知识领域得到进一步扩展,专业技能得到进一步提高,同时提高了分析和解决实际问题的综合能力。另外,也培养了自己严肃认真的科学态度和严谨求实的作风。

由于本人水平有限,本次设计还存在一些不足之处,请评阅与答辩的各位老师批评指正。

17

致 谢

首先,很感谢学院给我们计算机科学与技术专业的学生一次把理论加深的机会,使得我们更好的理解《单片机原理及接口技术》这门课程,通过实物的焊接以及软件仿真使得自己的动手能力有了一定的提高;其次,虽然这次课程设计不是每个人制作一个实物,但是大家一起讨论,分析,最终调试成功,使大家的思维更加开阔;最后,感谢史老师给予我们焊接工具的支持,还有理论知识的指导。

18

参考文献

[1] 李朝青.单片机通讯技术与工程实践[M].北京:航空航天大学出版,2007.2

[2] 李群芳.单片机原理接口与应用[M].北京:清华大学出版社,2005.6

[3] 朱清慧,张凤蕊,翟天嵩,王志奎.Proteus教程——电子线路设计、制作与仿真[M]. 北京:清华大学出版社,2008.

[4] 谢自美.电子线路设计[M].武汉:华中科技大学出版社,2000.5

[5]康华光,陈大钦. 电子技术基础—模拟部分(第五版)[M]. 北京:高等教育出版社,2005

[6]郭天祥.51单片机C语言教程[M].北京:电子工业出版社.2009.1

[7] 刘欣铭,张广斌.LED显示屏技术综述[J].黑龙江电力,2003, 25(4):294-296.

[8] 苏凯,刘国庆,陈国平.MCS-51系列单片机系统原理与设计[J].北京:冶金工业出版社

[9] 张毅刚.单片机原理及接口技术.北京:人民邮电出版社[M].2011.8

[10] 张毅刚.基于Proteus的单片机课程的基础实验与课程设计[M].北京:人民邮电出版社,2012.4

19

附录A 程序清单

#include #include #define uchar unsigned char #define uint unsigned int uchar code Table_of_Digits[]=

//点阵显示数组

{ 0x3C,0x24,0x24,0x3C,0x24,0x24,0x3C,0x00, //8 0x00,0x3C,0x04,0x04,0x04,0x04,0x04,0x00, //7 0x00,0x3C,0x20,0x20,0x3C,0x24,0x24,0x3C, //6 0x00,0x3C,0x20,0x20,0x3C,0x04,0x3C,0x00, //5

0x00,0x0C,0x14,0x24,0x7E,0x04,0x04,0x00, //4 0x00,0x3C,0x04,0x3C,0x04,0x04,0x3C,0x00, //3 0x00,0x3C,0x04,0x04,0x3C,0x20,0x3C,0x00, //2

0x00,0x08,0x38,0x08,0x08,0x08,0x3E,0x00, //1 0x00,0x3C,0x66,0x42,0x42,0x66,0x3C,0x00, //0 };

uchar i=0,t=0,j=0,a=0; char offset=0;

static int Current_floor=0,Pressed_key_up=0,Pressed_key_down=0,b=0,c=0,max=0,min=0;

//Current_floor-当前楼层,Pressed_key_up-上升请求,Pressed_key_down-下降请求

//i-行扫描,t-延迟

int flag;

int floor_up[8]={9,9,9,9,9,9,9,9}; int floor_down[8]={0,0,0,0,0,0,0,0}; sbit KEY1=P1^0; sbit KEY2=P1^1; sbit KEY3=P1^2; sbit KEY4=P1^3; sbit KEY5=P1^4;

20

//上升请求存放数组 //下降请求存放数组 //定义P1口按键

sbit KEY6=P1^5; sbit KEY7=P1^6; sbit KEY8=P1^7; sbit LED=P3^7; 蜂鸣器

sbit SPEAK=P3^6;

void Key_up_comparison(); 把floor_up[]按从小到大排列 void Key_down_comparison(); 按从大到小排列

void max_min_comparison(); 最小值(min) // //主函数 //

void main() { P2=0x7f; LED=0; SPEAK=0;

TMOD=0x01;

TH0=(-6000)/256;

TL0=(-6000)%6; IT0=1;

IE=0x83; TR0=1;

ET0=1;

Pressed_key_up=floor_up[0]; while(1)

{

//定义LED跟

//函数声明 , //把floor_down[]

//比较出floor_up[]的最大值(max)和floor_down[]的

//初始化

//T0方式

//6ms定时

//循环排列

21

P0=0x00;

if(KEY1==0) j=8; else if(KEY2==0) j=7;

else if(KEY3==0) j=6; else if(KEY4==0) j=5; else if(KEY5==0) j=4; else if(KEY6==0) j=3; else if(KEY7==0) j=2; else if(KEY8==0) j=1; if(j>Current_floor)

{

if(floor_down[0]==0) flag=1;

floor_up[b++]=j; if(b==8) b=0; }

else if(j

{

if(floor_up[0]==9) flag=0;

floor_down[c++]=j; if(c==8) c=0; }

else if(j==Current_floor);

//判断请求

//将上升请求放入数组 //将下降请求放入数组

22

Key_up_comparison();

Key_down_comparison(); max_min_comparison(); }

}

void LED_Screen_Display() interrupt 1

楼层 { TH0=(-6000)/256;

TL0=(-6000)%6; P0=0x00;

Pressed_key_up=floor_up[0]; Pressed_key_down=floor_down[0];

if(flag==1)

{

if(Pressed_key_up!=9)

{

if(Pressed_key_up>Current_floor)

升显示 { P0=Table_of_Digits[(8-Current_floor)*8+i+offset]; P2=_crol_(P2,1);

if(++i==8) { i=0; P2=0x7f;

}

if(++t==25)

23

//进入中断,显示

//6ms

//上升标志

//有上升请求

//点阵平滑上

//

延迟 { t=0;

if (--offset == -8)

{

offset = 0; ++Current_floor;

}

}

}

else if(Pressed_key_up

else if(Pressed_key_up==Current_floor)

楼层 { P0=Table_of_Digits[(8-Current_floor)*8+i]; P2=_crol_(P2,1);

if(++i==8) {i=0;P2=0x7f;}

LED=~LED;SPEAK=~SPEAK;

闪烁 if(++t==250)

{ t=0;

if(Current_floor==Pressed_key_up) { Current_floor=Pressed_key_up;

if(Current_floor==max||Pressed_key_down!=0)

{

flag=0;

24

//到达请求

//蜂鸣器响,LED

}

floor_up[0]=9; } }

}

}

else if(Pressed_key_up==9)

楼层 { P0=Table_of_Digits[(8-Current_floor)*8+i]; P2=_crol_(P2,1);

if(++i==8) { i=0; P2=0x7f;

}

if(++t==250)

t=0;

}

}

else if(flag==0)

{

if(Pressed_key_down!=0)

{ if(Pressed_key_down>Current_floor);

else if(Pressed_key_down

显示

{

25

//无请求,扫描显示当前

//下降标志

//有下降请求

//点阵平滑下降

P0=Table_of_Digits[(8-Current_floor)*8+i+offset]; P2=_crol_(P2,1);

if(++i==8) { i=0; P2=0x7f; }

if(++t==25)

{ t=0;

if (++offset == 8)

{

offset = 0; --Current_floor;

}

}

}

else if(Pressed_key_down==Current_floor) { P0=Table_of_Digits[(8-Current_floor)*8+i]; P2=_crol_(P2,1);

if(++i==8) {i=0;P2=0x7f;}

LED=~LED;SPEAK=~SPEAK;

烁 if(++t==250)

{

t=0;

26

//到达请求楼层

//蜂鸣器响,LED闪

if(Current_floor==Pressed_key_down||Pressed_key_up!=9) {

Current_floor=Pressed_key_down; if(Current_floor==min) { flag=1;

}

floor_down[0]=0; } }

}

}

else if(Pressed_key_down==0)

楼层 { P0=Table_of_Digits[(8-Current_floor)*8+i]; P2=_crol_(P2,1);

if(++i==8) { i=0; P2=0x7f; }

if(++t==250)

t=0;

}

}

}

27

//无请求,扫描显示当前

void Key_up_comparison() 排列 { int a1,a2,a3=0; for(a2=0;a2<7;a2++) { for(a1=0;a1<7;++a1) { if(floor_up[a1]>floor_up[a1+1]) {

a3=floor_up[a1];

floor_up[a1]=floor_up[a1+1]; floor_up[a1+1]=a3; }

if(floor_up[a1]==floor_up[a1+1]) floor_up[a1+1]=9;

}

}

}

void Key_down_comparison() 到小排列 { int a1,a2,a3=0; for(a2=0;a2<7;a2++) { for(a1=0;a1<7;++a1) {

if(floor_down[a1]

28

//把floor_up[]按从小到大

//把floor_down[]按从大

{

a3=floor_down[a1];

floor_down[a1]=floor_down[a1+1]; floor_down[a1+1]=a3; }

if(floor_down[a1]==floor_down[a1+1]) floor_down[a1+1]=0;

}

}

}

void max_min_comparison()

//求出的最小(min) {int j; for(j=1;j<=7;j++) if(floor_down[j]==0); else if(floor_down[j+1]==0)

min=floor_down[j];

else if(floor_down[j]>floor_down[j+1])

min=floor_down[j+1];

else min=floor_down[j];

for(j=1;j<=7;j++) if(floor_up[j]==9); else if(floor_up[j+1]==9)

max=floor_up[j];

else if(floor_up[j]

max=floor_up[j+1];

else max=floor_up[j];

}

29

floor_up[]的最大(max)和floor_down[]

附录B元器件目录表

序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

型 号(名称) AT89C51 74LS245 74LS21 74LS09 10kΩ排阻 8*8LED点阵显示器 按钮 22pF瓷片电容 10μF电解电容 11.0592MHz 蜂鸣器 LED 47k欧电阻 100欧电阻 三极管 数量 1 1 2 1 1 1 9 2 1 1 1 1 1 2 1 作用 单片机 锁存器 判断按键 判断按键 上拉电阻 显示数字 复位按钮等 晶振电路用 上电复位 晶振 提示 提示 驱动

30

本文来源:https://www.bwwdw.com/article/k9vw.html

Top