单片机闪烁灯跑马灯控制课程设计.doc

上传人:wj 文档编号:4861349 上传时间:2023-05-07 格式:DOC 页数:16 大小:209KB
下载 相关 举报
单片机闪烁灯跑马灯控制课程设计.doc_第1页
第1页 / 共16页
单片机闪烁灯跑马灯控制课程设计.doc_第2页
第2页 / 共16页
单片机闪烁灯跑马灯控制课程设计.doc_第3页
第3页 / 共16页
单片机闪烁灯跑马灯控制课程设计.doc_第4页
第4页 / 共16页
单片机闪烁灯跑马灯控制课程设计.doc_第5页
第5页 / 共16页
单片机闪烁灯跑马灯控制课程设计.doc_第6页
第6页 / 共16页
单片机闪烁灯跑马灯控制课程设计.doc_第7页
第7页 / 共16页
单片机闪烁灯跑马灯控制课程设计.doc_第8页
第8页 / 共16页
单片机闪烁灯跑马灯控制课程设计.doc_第9页
第9页 / 共16页
单片机闪烁灯跑马灯控制课程设计.doc_第10页
第10页 / 共16页
单片机闪烁灯跑马灯控制课程设计.doc_第11页
第11页 / 共16页
单片机闪烁灯跑马灯控制课程设计.doc_第12页
第12页 / 共16页
单片机闪烁灯跑马灯控制课程设计.doc_第13页
第13页 / 共16页
单片机闪烁灯跑马灯控制课程设计.doc_第14页
第14页 / 共16页
单片机闪烁灯跑马灯控制课程设计.doc_第15页
第15页 / 共16页
单片机闪烁灯跑马灯控制课程设计.doc_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机闪烁灯跑马灯控制课程设计.doc

《单片机闪烁灯跑马灯控制课程设计.doc》由会员分享,可在线阅读,更多相关《单片机闪烁灯跑马灯控制课程设计.doc(16页珍藏版)》请在冰点文库上搜索。

单片机闪烁灯跑马灯控制课程设计.doc

河南工院

院系:

电气工程系

班级:

电气0903

学号:

04010904XX

姓名:

WLM

指导教师:

赵阳

第1章概述…………………………………………….…………………………3

1.1设计的目的及意义………………………………………………………..3

1.2单片机的概述与应用……………………………………………………..3第2章设计原理…………………………..……………………………………4

2.1设计要求与基本思路……………….……………………………………4

2.2设计方案选择…………….………………………………………………5

2.3设计框图………………………….…………………………………5

第3章硬件电路设计…………………..……………………………………7

3.1时钟电路…………………………………………………………….….7

3.2扩展电路………………………………………………………………..8

第4章程序设计……………………………………………………………9

4.1程序设计思路与流程图……..…………………………………………...9

4.2程序清单与代码………………………………………………….…..…11

4.3程序调试………………………………………………………….….…12

第5章原件明细表……………………………………………………13

总结…………………………………………………………………………………14

参考文献……………………………………………………..……………………15第1章概论

1.1设计的目的与意义

当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。

单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。

竞争日益剧烈的今天,当代大学生不仅需要扎实的理论知识,还需要过硬的动手能力。

作为自动化专业的学生,更应该熟练掌握各种电路编辑软件,作为专业必需的技能更要及时地对这一类软件的更新版本进行学习,其日趋强大的功能是对我们专业技能的补充。

闪烁灯控制系统是利用8051单片机的P1控制的8个发光二极管。

可实现从右到左闪烁一次,再从左到右闪烁一次,每次亮灭1秒,如此循环,紧急情况下,控制P3.1进行报警2S停止。

闪烁灯控制系统是简易的单片机控制系统,作为课程设计课题,通过实际程序设计和调试,逐步掌握块化程序设计方法和调试技术,通过课程设计,掌握一单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法,通过完成一个包括电路设计和程序设计开发的完整过程,了解开发单片机应用系统的全过程,通过本次设计对单片机应用上有一个初步的了解,增强自我的动手、动脑能力,以及发现问题,解决问题,总计经验教训的能力,为以后走向工作岗位,以及更高更远的发展打下坚实的基础

1.2单片机概述与应用

单片机是将CPU、存储器、定时/计数器以及I/O接口等主要部件集成在一块芯片上的微型计算机。

单片机是单片微机(SingleChipMicrocomputer)的简称,但准确反映单片机本质的名称应是微控制器。

目前国外已经普遍称之为微控制器。

鉴于他完全作嵌入式应用,故又称为嵌入式微控制器

单片微机从体系结构到指令系统都是按照嵌入式应用特点专门设计的,它能最好地满足面对控制对象,应用系统的嵌入、现场的可靠运行以及非凡的控制品质等要求。

自从20世纪70年代推出单片机以来,作为微型计算机的一个分支,单片机经过30多年的发展,已经在各行各业得到了广泛的应用,由于单片机具有可靠性高、体积小、干扰能力强、能在恶劣的环境下工作等特点,具有较高的性价比,因此广泛应用于工业控制、仪器仪表智能化,机电一体化、家用电器等

(1)工业控制:

工业设备如机床、锅炉、供水系统、生产自动化、自动报警系统。

(2)智能设备:

用单片机改造普通仪器如:

仪表、读卡器、医疗器械。

(3)家用电器:

如高档洗衣机、电冰箱、微波炉、电视、音响、手机、空调器。

(4)商用产品:

如自动售货机、电子收款机、电子秤。

第2章设计原理

2.1设计要求与基本思路

这次单片机课程设计,选择了闪烁灯控制设计,通过查阅各种文献资料,再加上自己以前所学单片机课程的基础,大概的设计思路可概括为以下8个步骤:

⑴通过累加器A给P1口送二进制数,驱动八个发光二极管,低电平发光,高电平熄灭。

⑵编写延时一秒的子程序DELAY,可通过软件定时,也可通过与定时器中断配合来实现。

⑶调用DELAY延时程序。

⑷送0FFH给P1口,使发光二极管熄灭,再调用DELAY延时程序。

使发光二极管闪烁。

⑸送闪烁次数10给寄存器R0,通过DJNZ指令,配合DELAY延时程序,实现发关二极管闪烁,当闪烁十次后结束循环。

⑹执行RR(循环右移)指令,指向下一个二极管,重复第5步。

⑺当8个发光二极管从左至右依次闪烁完毕后,执行RL(循环左移)指令,重复第5步,使二极管从右至左一次循环闪烁。

⑻当从右至左循环结束后,重复第6步,循环闪烁。

由于在起初的硬件中选择了共阳的二极管接法,所以通过给P1口输送低电平0,就可以使二极管发光,输送高电平1可使二极管熄灭。

单片机中的定时器有四种工作方式,由于工作方式0和工作方式1计数溢出后,计数器都全为0,因此,循环定时或循环计数应用时就存在反复设置计数初值的问题。

这不但影响精度,而且也给程序设计带来了不便。

于是,选择工作方式2,它具有自动更新重新加载功能,即自动加载计数初值。

在这种方式下,把16位计数器分为两部分,即TL作计数器,TH作预置寄存器,初始化时把初值分别装入TL和TH中。

为了能够清晰的看见二极管闪烁,选择定时器定时500us,再通过配合DJNZ指令来实现延时1s的定时。

由于,DJNZ中操作数的范围不能达到2000,所以选择两条DJNZ指令,一次置200,一次置10,依次循环就可达到要求。

2.2设计方案选择

在做本次课程设计时,用到了8051单片机,由于其程序存储器是掩膜ROM,其编程是由半导体制造厂家完成的,即在生产过程中进行编程,当掩膜ROM制造完成后,用户不能更改其内容。

因此,选择了型号为27256(32KB)的EPROM作为它的程序存储扩展。

同时EA引脚必须有效,方可访问外扩程序存储器。

在引脚的连接时,8051单片机的PSEN引脚须接EPROM的OE端,当PESN有效时,允许读出EPROM中的指令码。

同时,ALE接74LS373译码器的G引脚,当CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号,以实现低位地址和数据的隔离。

因此,其程序存储器扩展图如图2所示。

单片机的复位操作有上电自动复位和按键自动复位两种方式。

上电复位是通过外部复位电路的电容充电来实现的。

电容C1选择10uf,电阻选择10K,这样,只要电源VCC的上升时间不超过1ms,就可实现上电复位,即接通电源就完成了系统的复位初始化。

时钟电路用于产生单片机工作所需的时钟信号。

在MCS-51系列单片机芯片外部,X1和X2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟电路。

电容器C2和C通常3取30pf,对振荡频率有微调作用,选择振荡频率为12MHZ的石英晶体。

2.3设计框图

图1闪烁灯控制设计硬件接线图

第3章硬件电路设计

3.1时钟电路

图28051内部时钟电路

图38051外部时钟电路

扩展电路

外扩程序存储器的空间地址,是由P2口提供高八位地址,P0口分时提供低8位地址和用作8位双向数据总线。

在设计硬件接线时,使27256芯片的片选信号CE始终保持有效,低八位A0~A7通过74LS373译码器连接P1口,高七位A8~A14连接P2.0~P2.6,具体连接如图2所示。

因此其地址范围位0000H~7FFFH。

其程序存储扩展图如图所示。

图48051程序存储扩展图

第四章程序设计

4.1程序设计思路与流程图

闪烁灯分8个发光二极管,从左到右闪烁,或者从右到左闪烁,均呈现一个亮,而其余全灭的现象,8个灯有8051统一控制,其亮灯条件说明表如下

表1闪烁灯灯亮的条件说明表

P1.7

P1.6

P1.5

P1.4

P1.3

P1.2

P1.1

P1.0

说明

L8

L7

L6

L5

L4

L3

L2

L1

1

1

1

1

1

1

1

0

L1

1

1

1

1

1

1

0

1

L2

1

1

1

1

1

0

1

1

L3

1

1

1

1

0

1

1

1

L4

1

1

1

0

1

1

1

1

L5

1

1

0

1

1

1

1

1

L6

1

0

1

1

1

1

1

1

L7

0

1

1

1

1

1

1

1

L8

流程图的绘制为编程提供了便利,通过对控制要求的理解而绘制的流程图可以让我们对控制过程更加熟悉并且编程的进行也变得有据可寻。

流水灯控制设计的流程图如图所示。

图5闪烁灯流程图4.2程序清单与代码

ORG0000H;程序存放的起始地址

AJMPMAIN;上电,转向主程序

ORG0003H;外部中断0入口地址

AJMPLOOP;转向中断服务程序

ORG0030H;主程序

MAIN:

SETBEX0;允许外部中断0中断

SETBIT0;选择边沿触发方式

SETBEA;CPU开中断

MOVR0,#10;将闪烁次数10送入R0

MOVR2,#8;将灯的数量8送入R2

MOVA,#07FH

LOOP:

MOVP1,A;使最左边的一个二极管发光

LCALLDELAY;调用延时1s的子程序

MOVP1,#0FFH;使最左边的一个二极管熄灭

LCALLDELAY;调用延时1s的子程序

DJNZR0,LOOP;循环闪烁十次

RRA;指向下一个二极管

MOVR0,#10;再次将闪烁次数10次送入R0

DJNZR2,LOOP;8个灯从左到右依次闪烁完毕

MOVR2,#8

LOOP1:

MOVP1,A;使最右边的一个二极管发光

LCALLDELAY;调用延时1s的子程序

MOVP1,#0FFH;使最右边的一个二极管熄灭

LCALLDELAY;调用延时1s的子程序

DJNZR0,LOOP;循环闪烁十次

RLA;指向下一个二极管

MOVR0,#10;再次将闪烁次数10次送入R0

DJNZR2,LOOP1;8个灯从右到左依次闪烁完毕

LJMPMAIN;转向主程序

DELAY:

MOVR5,#200;延时1s的DELAY子程序

MOVR7,#10

LOOP2:

MOVTMOD,#20H;定时器1工作于方式2

MOVTH1,#06H;送初值

MOVTL1,#06H

SETBET1;允许定时器1中断

SETBP2.0;P2.0输出置1

SETBTR1;启动定时器1

LOOP3:

JBCTF1,LOOP4;定时500us到,转向LOOP4执行

SJMPLOOP3

LOOP4:

CLRTR1;停止定时器1

CLRP2.0;P2.0输出取反

DJNZR7,$

DJNZR5,LOOP2;循环2000次定时程序,延时1s

RET;返回

END;程序结束

4.3程序调试

将编好的程序写入,单片机外部电源等调试完成后按下P1,可以看到发光二极管从左到右一次点亮,并且每个二极管再点亮到熄灭的时间维持在1秒左右。

P8点亮又熄灭后,P8再次点亮,然后按P8~P1的顺序再依次点亮,如此循环。

紧急情况下,按P3.1时扬声器发出响声,约2秒后停止。

第五章原件明细表

220Ω电阻8个

10KΩ电阻1个

普通发光二极管8个

10μF电容1个

30μF电容2个

12MHZ晶振1个

8051芯片1个

扬声器1个

导线若干

数据线

电源

总结

此次单片机课程设计,我感慨颇多,从理论到实践,在这些日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

我感触最深的当属查阅大量的设计资料了。

为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。

我们是在做单片机课程设计,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。

其次,在这次课程设计中,清晰的分析过程也起到很大的作用。

在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我受益终身。

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

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

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

我们通过查阅大量有关资料,并在同学间互相讨论,交流经验和自学,若遇到实在搞不明白的问题就会及时请教老师,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。

通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。

这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。

参考文献

[1]韩金立赵德申微机控制技术及应用.北京:

机械工业出版社,2003.

[2]李广弟.单片机基础.北京:

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

[3]房小翠.单片机实用系统设计技术.北京:

国防工业出版社,1999.

[4]彭伟.单片机C语言程序设计实训100例.北京:

北京航天航空大学,2010

[5]唐颖.单片机原理与应用.北京:

北京大学出版社,2008

[6]金建设于晓海.单片机系统及应用试验教程.北京:

北京邮电大学出版社,2010

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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