单片机8管跑马闪烁灯控制课程设计

合集下载

单片机原理与应用课程设计-基于单片机的音乐跑马灯设计

单片机原理与应用课程设计-基于单片机的音乐跑马灯设计

单片机原理与应用课程设计设计课题:音乐跑马灯班级:小组成员:时间:2013年1月6日音乐跑马灯的设计一、实验内容:1.使用8个发光管作跑马灯,其中有3种亮灭模式。

2.有专门的开关K1~K3用来切换跑马灯的模式。

3.每一种跑马灯模式用LED数码管进行显示1、2、3。

4.当跑马灯处于某种模式时,有对应的音乐响起。

有三首曲子可以选着。

提示:亮灭模式自己设计,可以从速度或者点亮方法上设计。

响音乐的程序可以参考实验手册上《电子音响》部分。

二、实验原理:用三个开关控制音乐跑马灯的三种模式,每一种模式都是在LED数码管显示模式的号码的同时先响音乐后闪灯。

跑马灯采用P3口作为输入口,外接三个开关用来控制跑马灯的亮灭模式。

P1口做输出口,P1口接的8个发光二极管L1~L8按16进制方式点亮发光二极管,即8个发光管相当于8位的二进制位。

当数值为1时,L1点亮;数值为2=00000010B时,L2点亮;数值为4=00000100时,L3点亮,依次类推。

不同的音符对应不同的频率,所以只要用不同频率的信号驱动喇叭,就能发出不同的音符了,所以转换为使用定时器在P1.7引脚输出某一频率的方波脉冲即可。

单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,因此单片机奏乐只需弄清楚两个概念,也就是“音调”和“节拍”。

音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间,乐谱中每一个音符都与某一个特定的频率相对应,所以只需要产生不同频率的方波信号(产生不同音调),并且延时不同的时间(产生不同节拍),即可完成音乐的播放。

三、硬件原理:1.跑马灯亮灭模式原理图,如图(1)所示。

图(1) 跑马灯亮灭模式原理图2.让喇叭响音乐的原理图,如图(2)所示。

图(2) 电子音响原理图3.使第三个LED数码管显示1、2、3、4、5,如图(3)和(4)所示。

图(3) LED共阳极连接原理图图(4) LED数据显示示意图用三个开关(K1~K3)控制音乐跑马灯的三种模式,每一种模式都是在LED 数码管显示模式的号码的同时先响音乐后闪灯。

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

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

单片机闪烁灯跑马灯控制课程设计单片机闪烁灯跑马灯控制课程设计报告一、引言本课程设计旨在通过学习和实践单片机(MCU)编程,实现闪烁灯和跑马灯的控制。

我们将使用嵌入式C语言编程,通过了解单片机的内部结构、电路设计和编程流程,深入理解单片机的工作原理和应用。

二、系统硬件设计本课程设计选用51单片机作为主控芯片,外接8个LED灯和1个按键。

硬件电路设计如下:1.单片机:采用AT89C51,该芯片具有32K字节的Flash存储器,256字节的RAM,以及两个16位定时器/计数器。

2.LED灯:采用普通LED灯珠,与单片机引脚相连,通过编程控制LED灯的亮灭状态。

3.按键:采用机械按键,与单片机的外部中断0(EX0)相连,用于触发闪烁灯和跑马灯的切换。

三、系统软件设计1.闪烁灯模式:在此模式下,8个LED灯将按照一定的频率交替闪烁。

我们可以通过计时器和GPIO口控制LED灯的亮灭状态。

void blink_LED(void) {int i;while(1) {for(i = 0; i < 8; i++) {P1_0 = ~P1_0; // 翻转LED状态delay(500); // 延时,控制闪烁频率}}}2.跑马灯模式:在此模式下,8个LED灯将按照一定的顺序依次点亮。

我们可以通过计时器和GPIO口控制LED灯的亮灭状态。

void marquee_LED(void) {int i;int led_state[8] = {0, 1, 0, 1, 0, 1, 0, 1}; // LED状态数组,初始为交替亮灭while(1) {for(i = 0; i < 8; i++) {P1_0 = led_state[i]; // 设置LED状态delay(50); // 延时,控制跑马灯速度}}}四、按键处理程序我们通过外部中断0(EX0)接收按键信号,当按键按下时,将切换闪烁灯和跑马灯模式。

按键处理程序如下:void EX0_ISR(void) interrupt 0 { // EX0中断服务程序if (key_flag) { // 如果按键已经被按下过if (key_value == 0) { // 如果按键状态为低电平marquee_LED(); // 切换到跑马灯模式key_flag = 0; // 标记按键状态已经改变} else { // 如果按键状态为高电平blink_LED(); // 切换到闪烁灯模式key_flag = 0; // 标记按键状态已经改变}key_value = ~key_value; // 翻转按键状态值} else { // 如果按键还没有被按下过key_value = ~key_value; // 翻转按键状态值if (key_value == 0) { // 如果按键状态为低电平blink_LED(); // 切换到闪烁灯模式key_flag = 1; // 标记按键状态已经改变} else { // 如果按键状态为高电平marquee_LED(); // 切换到跑马灯模式key_flag = 1; // 标记按键状态已经改变}}}。

单片机闪烁灯课程设计

单片机闪烁灯课程设计

单片机闪烁灯课程设计一、课程目标知识目标:1. 学生能理解单片机的基本结构和工作原理;2. 学生能掌握单片机编程的基本语法和指令;3. 学生能了解闪烁灯电路的设计原理和实现方法。

技能目标:1. 学生能够独立完成单片机闪烁灯电路的搭建;2. 学生能够编写并调试单片机程序,实现闪烁灯的控制;3. 学生能够运用所学知识解决实际问题,具备一定的创新能力和动手操作能力。

情感态度价值观目标:1. 学生通过学习单片机闪烁灯课程,培养对电子技术的兴趣和热情;2. 学生在团队协作中,学会沟通、分享和合作,增强团队意识;3. 学生能够认识到科技发展对社会进步的重要性,树立正确的价值观。

课程性质:本课程为实践性课程,注重理论知识与实践操作相结合。

学生特点:学生具备一定的电子技术基础和编程能力,对单片机有一定了解。

教学要求:教师应关注学生的个体差异,因材施教,引导学生主动参与,培养其创新精神和实践能力。

在教学过程中,注重理论与实践相结合,提高学生的动手操作能力和问题解决能力。

通过本课程的学习,使学生能够将所学知识应用于实际项目中,达到学以致用的目的。

二、教学内容1. 单片机基础知识:介绍单片机的组成、工作原理,引导学生了解单片机的基本功能和应用领域。

- 教材章节:第一章单片机概述- 内容:单片机结构、原理、发展历程及常见型号。

2. 编程语言与指令:讲解单片机编程所需的基础知识,包括语法、指令等。

- 教材章节:第二章单片机编程基础- 内容:编程语言、数据类型、运算符、控制语句、函数等。

3. 闪烁灯电路设计:介绍闪烁灯电路的原理和实现方法,指导学生进行电路搭建。

- 教材章节:第三章单片机接口技术- 内容:I/O口编程、电路设计原理、元器件选型等。

4. 程序编写与调试:教授编写单片机程序的方法,指导学生进行程序调试,实现闪烁灯控制。

- 教材章节:第四章单片机程序设计与调试- 内容:程序结构、编程技巧、调试方法等。

5. 实践操作与创新能力培养:通过实际操作,培养学生动手能力和创新能力。

51单片机8个跑马灯程序汇编设计思路

51单片机8个跑马灯程序汇编设计思路

【51单片机8个跑马灯程序汇编设计思路】1. 引言在嵌入式系统中,跑马灯程序是一个非常常见且基础的程序设计。

通过控制LED灯的亮灭顺序,实现灯光在一组灯中顺序轮流亮起的效果。

其中,51单片机是一种常用的嵌入式系统开发评台,本文将探讨如何通过汇编语言设计实现8个跑马灯程序的思路和方法。

2. 分析题目我们需要对题目进行细致的分析。

51单片机8个跑马灯程序要求我们设计并实现一个程序,能够控制8个LED灯依次轮流亮起的效果。

这意味着我们需要对LED灯进行控制,并且需要考虑如何实现循环、延时等功能。

3. LED灯控制在实现跑马灯程序时,首先需要考虑如何控制LED灯的亮灭。

一种常见的方法是通过I/O口控制LED灯的高低电平,从而实现灯的亮灭。

我们需要了解51单片机的I/O口控制方式,并结合LED灯的连接方式进行设计。

4. 循环控制跑马灯程序的核心在于实现LED灯的依次轮流亮起。

这就需要我们设计循环控制的程序结构。

在汇编语言中,可以通过跳转指令和计数器来实现循环效果,我们需要考虑如何设计循环的次数和顺序。

5. 延时控制为了让人眼能够观察到LED灯的亮灭效果,我们需要在程序中添加延时控制。

这需要我们了解51单片机的定时器控制和时钟频率,并根据LED灯的亮度要求设计合适的延时程序。

6. 汇编设计思路在进行汇编设计时,可以按照以下步骤进行:1)设置I/O口控制LED灯的引脚,确定LED的连接方式;2)设计循环控制结构,确定LED灯的顺序和次数;3)添加延时程序,控制LED灯亮灭的时间间隔;4)编写中断程序,处理定时器中断等事件;5)调试程序,验证跑马灯效果是否符合要求。

7. 个人观点和理解通过设计这个跑马灯程序,我深切体会到了汇编语言的精妙之处。

通过对硬件的直接控制和对程序结构的精心设计,我感受到了嵌入式系统开发中的乐趣和挑战。

而对于初学者来说,设计跑马灯程序也是一个很好的学习过程,可以加深对于51单片机结构和编程思想的理解。

实验三、跑马灯的程序设计

实验三、跑马灯的程序设计

实验三、跑马灯程序设计实验(2学时)一、实验目的1、熟悉89C51单片机系列指令系统;2、掌握软件定时程序的编写方法和子程序的调用方法;3、掌握使用汇编语言来实现跑马灯设计。

二、实验内容参照如下原理图设计一个跑马灯控制程序,让8个led按照自己的设想发光,显示的样式尽可能的丰富,灯的变化延时通过调用软件延时子程序来实现,要求延时时间为0.5S。

LED灯样式参考:1、让8个灯闪烁完后,1个灯向左(RL)或向右(RR)移动(流水灯)。

2、8个灯通过取表格“T AB:DB 81H,0C3H,0E7H,0FFH,18H,3CH,7EH,0FFH”值进行变化。

三、实验设备微机1台,单片机实验板1块四、实验报告要求1、写出实验目的、实验内容、实验设备、程序流程图和源程序清单(加注释);2、写出运行结果,并分析其是否正确;3、说明实验中遇到的问题及解决的方法;4、用实验报告纸手写实验报告。

ORG 0000HSJMP MAINORG 0030H;LCALL MAINMAIN:MOV P1,#00HMOV DPTR,#LIGHTCHU:MOV R3,#06HMOV A,#00HTURN:MOV 20H,AMOVC A,@A+DPTRMOV P1,AMOV A,20HINC ALCALL DELAYDJNZ R3,TURNSJMP CHUDELAY:MOV R0,#05HD1:MOV R1,#250D2:MOV R2,#200D3:DJNZ R2,D3D4:DJNZ R1,D2DJNZ R0,D1RETLIGHT:DB 81H,42H,24H,18H,24H,42H SJMP $END本实验,使我受益良多。

在实验未开始之前,老师给了我们讲解了什么是跑马灯,让我们知道这跑马灯是怎么一回事;后来老师还讲了一两个例子,这让我们在设计程序的时候,有了头绪。

本实验,我的程序是P1两边同时来灯,当两灯相碰撞时,就反弹;反弹到顶/底时,再向内聚;然后再反弹……这是实验最终的程序,但在程序未出炉之前,遇到了一些问题。

单片机花样走马灯课程设计

单片机花样走马灯课程设计

花样走马灯一设计目的1.掌握单片机系统设计思路和基本步骤。

2.熟悉Keil C51高级语言集成开发环境。

3.熟练使用基于proteus的单片机系统仿真软件。

4.学会在ISIS 7 Professional下绘制电路原理图。

5.学会 Proteus VSM与uvision3 IDE的联调过程。

二设计要求实现单片机8051设计控制P1口的8个LED灯成花样走马灯。

连续实现以下四种效果:1.单灯左移2.单灯右移3.单灯逐个点亮接着逐个熄灭4.两边向中间逐个点亮接着中间向两边逐个熄灭三总体设计单片机应用系统的研制步骤一般分为:总体设计、硬件电路的构思设计、软件的编制和仿真调试四个阶段。

1.硬件电路设计根据设计要求所需的元器件为AT89C51单片机和LED灯。

该硬件部分由朱艳兵完成,故不再做详细介绍。

2.系统软件分析设计原理:规定灯亮时控制该灯的位设置为低电平,灯灭时该位设置为高电平,为了清楚的看到灯亮时的效果,要设置相应的延时函数,通过数组的引用和函数的调用来实现花样走马灯的设计。

(1)要使走马灯实现单灯左移、单灯右移、单灯逐个点亮接着逐个熄灭、两边向中间逐个点亮接着中间向两边逐个熄灭这四种效果。

(2)可根据上述的规定来设置控制8个LED灯的P1口各个引脚的电平来控制LED灯亮的效果。

①单灯左移:可将P1.0~P1.7各个引脚逐个设置为低电平,即该引脚控制的灯亮时该位就为低电平,即可设置一个数组名为table的数组来存放灯亮时的P1口各个引脚的电平。

②单灯右移:即P1.7先亮,按照P1.7~P1.0的顺序向右移,即该灯亮的时候该位就设置为低电平,反之为高电平,各引脚的电平在数组aa中存放,引用数组aa就可实现单灯右移。

③单灯逐个点亮接着逐个熄灭:可按照P1.0~P1.7的顺序点亮再按照P1.7~P1.0的顺序熄灭,实现原理同单灯左移和单灯右移,各个引脚的电平在数组bb,cc中存放。

④两边向中间逐个点亮接着中间向两边逐个熄灭:即先将P1.0和P1.7同时设置为低电平,全部点亮后再将P1.3和P1.4设置为高电平,依次直至全部熄灭,各个引脚的电平在数组dd中存放。

51单片机8个发光二极管闪烁设计方案

51单片机8个发光二极管闪烁设计方案

51单片机8个发光二极管闪烁设计方案1. 方案目标本方案旨在设计一个基于51单片机的电路和程序,实现8个发光二极管的闪烁效果。

具体目标如下:1.实现8个发光二极管的交替闪烁。

2.控制每个发光二极管的亮灭时间和频率。

3.确保方案具有可行性和高效性。

2. 实施步骤2.1 硬件设计根据目标需求,我们需要以下硬件组件:1.51单片机(如STC89C52):作为主控芯片,负责控制8个发光二极管的亮灭状态。

2.8个发光二极管:用于显示亮灭状态。

3.8个电流限流电阻:用于限制发光二极管的工作电流,防止过流损坏。

4.连接线:用于连接主控芯片、发光二极管和电流限流电阻。

硬件连接步骤如下:1.将主控芯片与发光二极管之间通过连接线连接起来。

2.将每个发光二极管与对应的电流限流电阻连接起来,确保电流在安全范围内。

2.2 软件设计软件设计包括编写主控芯片的程序代码,实现对8个发光二极管的控制。

以下是一个基本的软件设计思路:1.定义8个IO口用于连接发光二极管,并设置为输出模式。

2.定义一个变量ledState表示当前发光二极管的亮灭状态,初始值为0。

3.在主循环中,通过改变ledState的值来控制发光二极管的亮灭状态。

4.使用延时函数或定时器来控制每个发光二极管的亮灭时间和频率。

具体步骤如下:1.初始化IO口:将8个IO口设置为输出模式。

2.定义变量:定义一个整型变量ledState用于记录当前发光二极管的亮灭状态,默认为0。

3.进入主循环:–设置第一个发光二极管为亮,其他7个发光二极管为灭。

–延时一段时间(如200ms)。

–设置第一个发光二极管为灭,第二个发光二极管为亮,其他6个发光二极管为灭。

–延时一段时间(如200ms)。

–重复以上步骤,依次控制每个发光二极管的亮灭状态。

4.返回主循环。

2.3 预期结果通过上述硬件和软件设计,我们可以实现8个发光二极管的交替闪烁效果。

具体预期结果如下:1.8个发光二极管按照顺序交替亮灭。

51单片机8个跑马灯程序设计思路

51单片机8个跑马灯程序设计思路

51单片机8个跑马灯程序设计思路单片机是一种集成电路,内部包含了计算机的主要组件,如中央处理单元(CPU)、存储器等。

通过编程,可以实现各种不同的功能。

在这里,我将以设计一个8个跑马灯的程序为例,来讲解单片机程序的设计思路。

1.硬件准备首先,我们需要准备一个适用于单片机的开发板,例如STC89C52,以及8个LED灯。

将LED灯连接到开发板的GPIO引脚上,并通过电阻进行限流。

使用跳线将GPIO引脚与LED灯的正极连接。

2.程序结构设计在单片机程序中,我们通常会使用循环结构。

因此,在设计跑马灯程序时,我们可以使用一个无限循环,来实现LED灯的闪烁效果。

具体的程序结构如下所示:```c#include <reg52.h>sbit led0 = P0 ^ 0; //第1个LED灯sbit led1 = P0 ^ 1; //第2个LED灯sbit led2 = P0 ^ 2; //第3个LED灯//...sbit led7 = P0 ^ 7; //第8个LED灯void mainwhile (1)//跑马灯代码}}```在这段代码中,我们首先引入头文件`reg52.h`,它包含了STC89C52的寄存器定义和常用函数的声明。

然后,我们定义了8个宏,用于表示8个LED灯所连接的引脚号。

接下来,在`main(`函数中,我们使用一个无限循环`while(1)`,来实现LED灯的闪烁效果。

3.跑马灯实现思路在无限循环中,我们需要通过对GPIO的控制来实现8个LED灯的闪烁。

具体的实现思路如下:- 首先,我们可以定义一个变量`index`,用于表示当前亮起的LED灯的索引值。

初始时,`index`的值为0,表示第一个LED灯亮起。

- 然后,我们可以使用`switch...case`语句来判断当前的`index`值,从而控制不同的LED灯亮起。

- 在每次循环中,我们可以通过对`index`的递增来实现灯的滚动效果。

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

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

闪烁灯跑马灯控制系统河南工院第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接口等主要部件集成在一块芯片上的微型计算机。

跑马灯课程设计

跑马灯课程设计

摘要:本设计使用89C51芯片,利用P0的8个端口连接8个发光二极管,通过P0.0到P0.7的值控制“跑马灯”的亮灭,以达到显示效果。

设计的中断程序要对多个按键动作进行响应,灯光变换的花样有4种,用4个按键k0,k1,k2,k3切换。

按下k1键,程序作左向流水灯; 按下k2按键程序作右向流水灯; 按下k3键为亮点向中间移动; 按下k4键为执行亮点向两边移动。

浏览了网上的各种作品及代码,通过各种实现代码的比较,和各种优化,总结出本程序,以较优秀的代码实现各种可控的“跑马”功能。

引言:本设计用4个开关按键控制8个发光二极管,组成为一排跑马灯进行各种样式的亮灯形式,在中断程序中处理多个按键动作的响应,以控制一排跑马灯的工作。

1设计概述本程序设计意在展示跑马灯的色彩样式及“跑马”变换效果,如果将跑马灯做大,会有很高的观赏价值。

我查阅书籍资料,浏览网上的各种作品及代码,通过各种实现代码的比较,和各种优化,总结出本程序,以较优秀的代码实现各种可控的“跑马”功能。

本设计的中断程序要对多个按键动作进行响应,灯光变换的花样有4种,用4个按键k1,k2,k3,k4切换。

进入程序后,程序作双向流水灯;按下k1键,程序作左向流水灯; 按下k2按键程序作右向流水灯; 按下k3键为亮点向中间移动; 按下k4键为执行亮点向两边移动。

2硬件电路设计及描述本设计使用89C51芯片,利用P0的8个端口连接8个发光二极管,通过P0.0到P0.7的值控制“跑马灯”的亮灭,以达到显示效果,连接图如图1所示。

图1:硬件电路连接图1利用P1.0到P1.3这4个端口作为4个控制开关的输入,控制开关连接INT0中断,按键触发中断响应以停止“跑马灯”当前的执行样式,进而改变跑马灯的显示样式。

图2:硬件电路连接图2综上所述,总体的电路连接如图3:图3:总体硬件电路连接图3软件设计流程及描述主程序的设计思路为,开始时执行左右流水灯,在中断服务程序中,首先读取按键状态,然后延时10ms,再次读取按键状态。

单片机跑马课程设计

单片机跑马课程设计

单片机跑马课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理,理解跑马灯程序的设计思路。

2. 使学生了解单片机编程的基本语法和指令,并能运用到跑马灯程序编写中。

3. 帮助学生掌握跑马灯程序中涉及的电子元件使用方法,如LED灯、电阻等。

技能目标:1. 培养学生动手操作单片机的能力,能够独立完成跑马灯程序的下载、调试和运行。

2. 提高学生的问题解决能力,能够分析并解决跑马灯程序中可能出现的故障。

3. 培养学生的团队协作能力,能够在小组内分工合作,共同完成跑马灯项目的设计与实现。

情感态度价值观目标:1. 激发学生对单片机及电子制作的兴趣,培养其创新意识和探索精神。

2. 培养学生严谨、细心的学习态度,养成良好的编程习惯。

3. 增强学生的自信心,使其在跑马灯项目实践中感受到成功的喜悦。

本课程针对单片机跑马项目设计,结合学生年级特点,注重理论与实践相结合,旨在提高学生的动手能力、问题解决能力和团队协作能力。

课程目标具体、可衡量,为后续教学设计和评估提供明确方向。

二、教学内容1. 单片机基本原理:介绍单片机的组成、工作原理,引导学生了解和掌握单片机的基本功能和应用。

- 教材章节:第1章 单片机概述- 内容:单片机的发展历程、内部结构、工作原理。

2. 单片机编程基础:讲解单片机编程的基本语法、指令和编程环境,为学生编写跑马灯程序奠定基础。

- 教材章节:第2章 单片机编程基础- 内容:C语言基础、单片机指令系统、编程环境搭建。

3. 跑马灯程序设计:分析跑马灯程序的设计思路,教授编程技巧,让学生学会编写和调试程序。

- 教材章节:第3章 单片机程序设计实例- 内容:跑马灯程序设计原理、程序编写、调试方法。

4. 电子元件应用:介绍跑马灯项目中涉及的LED灯、电阻等元件的使用方法,指导学生进行电路搭建。

- 教材章节:第4章 电子元件及其应用- 内容:LED灯、电阻、杜邦线等元件的功能和连接方法。

5. 跑马灯项目实践:引导学生分组进行跑马灯项目的设计与实现,培养其动手能力、团队协作能力和问题解决能力。

单片机课程设计--跑马灯设计

单片机课程设计--跑马灯设计

单片机课程设计(跑马灯设计)专业:电气自动化摘要AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,即单片机。

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

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

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

该设计使用AT89C51芯片作为控制芯片,利用P1口连接8个发光二极管,通过I/O的值控制“跑马灯”的亮灭,以达到显示效果。

开始时所有灯全亮,按下按键S时开始跑马灯,再按下按键S时停止,再按下S时继续,并要求有多种亮暗组合。

关键词:AT89C51单片机跑马灯按键目录摘要 (I)第一章芯片分析和设计概述 (3)第一节AT89C51芯片分析 (3)第二节设计概述 (8)第二章硬件电路设计 (9)第三章程序部分设计 (10)参考文献 (18)第一章芯片分析和设计概述第一节AT89C51芯片分析ATMEL的AT89S51是一种高效微控制器,将多功能8位CPU和闪烁存储器组合在单个芯片中,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

AT89C51的芯片引脚图如下:图1.1 AT89C51引脚图各引脚的说明和功能分析如下:VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH 编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

8管闪烁光控制系统课程设计

8管闪烁光控制系统课程设计

本文由1055434247贡献doc文档可能在WAP端浏览体验不佳。

建议您优先选择TXT,或下载源文件到本机查看。

八管闪烁灯控制系统1第 1 章概述 1.1 设计的目的与意义 1.2 单片机概述与应用第 2 章设计原理 2.1 设计要求与基本思路 2.2 设计方案选择(选择依据) 2.3 设计框图(2 或 3 号图纸,答辩使用) 2.4 设计原理图(0 号、1 号或 2 号图纸,答辩使用,简要论述)第 3 章硬件电路设计 3.1 时钟电路 3.2 复位电路 3.3 输入电路 3.4 输出电路(显示电路、报警电路)第 4 章程序设计 4.1 程序设计思路与流程图 4.2 程序清单与代码 4.3 程序调试第 5 章元件明细表总结与致谢参考文献2第 1 章概述1.1 设计的目的与意义该课程设计介绍一个采用 8031 单片机芯片上的 P0 口控制制作的闪烁灯。

采用 8 个发光二极管,一个按键开关控制发光闪烁状态。

电路使用 5V 电源供电,其设计电路简单,制作容易,设置方便,使用灵活等优点。

设计目的:了解系统的工作原理,了解系统设计的一般规律;通过课程设计培养学生的自学能力和分析能力、解决问题的能力;通过设计使学生具有一定的计算能力、制图能力以及查阅手册、使用国家标准的能力和一定的文字表达能力。

1.2 单片机概述与应用单片机诞生于 20 世纪 70 年代,所谓单片机是利用大规模集成电路技术把中央处理单元(Center Processing Unit,也即常称的 CPU)和数据存储器(RAM)、程序存储器(ROM)及其他 I/O 通信口集成在一块芯片上,构成一个最小的计算机系统,而现代的单片机则加上了中断单元,定时单元及 A/D 转换等更复杂、更完善的电路,使得单片机的功能越来越强大,应用更广泛。

随后 Intel 公司推出了影响面更大、应用更广的 MCS-48 系列单片机。

MCS-48 系列单片机的推出标志着工业控制领域进入了智能化嵌入式计算机系统的探索阶段。

单片机课程设计报告八路LED跑马灯实验

单片机课程设计报告八路LED跑马灯实验

目录一、引言—本课程设计的目的 (2)二、八路LED跑马灯实验 (2)2.1设计内容 (2)2.2电路图 (2)2.3上机程序 (3)2.4调试结果及结论: (4)三、二位数码管循环显示00~99的实验 (4)3.1设计内容 (4)3.2电路图 (4)3.3上机程序 (5)3.4调试结果及结论 (6)四、单片机演奏音乐实验 (6)4.1设计内容 (6)4.2电路图 (6)4.3上机程序 (7)4.4调试结果及结论 (9)五、心得体会 (9)六、参考文献 (10)摘要:由于单片机体积小、成本低、使用方便,所以被广泛地应用于仪器仪表、现场数据的采集和控制。

通过本次课程设计掌握单片机硬件和软件方面的知识,更深入的了解单片机的实际应用。

关键词:单片机,程序,跑马灯,数码管,测试……一、引言—本课程设计的目的以本学期对单片机的学习和认识,并通过本次课程设计加以应用,从而达到一个对所学知识的巩固、更深一步的理解,面对一个电子设计,应对出系统的方案,分析出各个板块来,再对各个板块进一步的具体的设计,先进行硬件电路设计,此时一定要考虑好要用什么元件、各个元件的具体参数、是否能实现应有功能,从而得到一个完整的硬件电路。

在根据该电路设计出软件的功能模块、从而完成程序流程图,在根据流程图完成程序的设计,并通过反复的调试、运行、更正,直至完成既定功能为止,最后将软件、硬件结合进行调试、运行,对其功能进行最终测试,并反复思考其测试中遇到相应问题的原因,并将其一一处理,从而完成本次设计的实验要求,以及本次课程设计的最终目的。

二、八路LED跑马灯实验2.1设计内容:八路发光二极管轮流点亮的实验,也就是通常所说的跑马灯实验,首先让我们来完成必须的硬件部分,我们需要焊接上8个发光二极管和8个限流电阻,可以参考下面的原理图和实物图像进行操作,需要注意的是LED是有极性的,引脚长的为正极,引脚短的为负极,负极和电阻一侧连接,如果接错那么相应的那一路可能在实验中不会点亮了。

单片机课程设计跑马灯的控制

单片机课程设计跑马灯的控制

单片机课程设计跑马灯的控制摘要:本设计选择对跑马灯的控制,先构思跑马灯实现预想效果,然后进行分析,根据要求编写程序,选择硬件端口,并进行调试致预想效果,最后浅谈课程设计的经历,以及总结。

目录一)课程设计的目的二)课程设计的要求三)流程图四)原理图五)程序语言六)总结七)参考资料设计题目:试设计一个闪烁跑马灯控制器,该控制器可以控制8个灯顺序亮灭。

当单片机上电后,8个灯依次从左向右亮,并且每个灯亮的时间为1秒钟。

这时,如果按钮K1按下,则灯亮的顺序是从右向左,同样,每个灯亮的时间是1秒钟。

这时,如果按下按钮K2,则此时,4个灯亮4个灯灭,延迟4秒钟以后,又开始从左向右点亮。

最后,若按下按钮K3,则全部灯亮。

此时若想再次点亮灯,必须重新上电。

题目分析:该题目要求控制8盏灯的亮灭,可使用单片机的P1.0到P1.8口来控制。

按钮K1用P3.4口,K2用P3.2口,及外部中断0,K3用P3.3口,及外部中断1,分别来实现。

单片机使用AT89C52,电源使用5V标准电源。

顺序亮灭使用外部中断源构成循环控制语句。

一、课程设计的目的课程设计是本专业集中实践环节的主要内容之一。

训练正确地应用单片机,培养解决工业控制、工业检测等领域具体问题的能力。

学生通过所做课题,熟悉单片机应用系统开发研制的过程,软硬件设计的工作方法、内容及步骤,对学生进行基本技能训练。

例如组成系统、编程、调试、绘图等。

使学生理论联系实际,提高动手能力和分析问题、解决问题的能力。

通过本课程设计,主要达到以下目的:1.使学生增进对单片机的感性认识,加深对单片机理论方面的理解。

2.使学生掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通讯等。

3.使学生了解和掌握单片机应用系统的软/硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。

二、课程设计的要求1.学生需认真阅读课程设计任务书,熟悉有关设计资料及参考资料,熟悉各种设计规范的有关内容,认真完成任务书规定的设计内容。

单片机跑马灯p0引脚对8盏灯的控制

单片机跑马灯p0引脚对8盏灯的控制

单片机跑马灯输入引脚对8盏灯的控制1. 简介单片机跑马灯是一种常见的电子设计,通过程序控制多个灯的亮灭顺序,实现灯光闪烁的效果。

在这个设计中,我们将着重讨论单片机跑马灯中输入引脚对8盏灯的控制方法。

2. 单片机跑马灯的原理单片机跑马灯的设计原理是通过单片机的输出引脚控制LED灯的亮灭。

通过程序控制输出引脚的电平变化,可以控制LED灯的亮度,从而实现不同的灯光效果。

3. 输入引脚对8盏灯的控制方法在单片机跑马灯中,一般使用输入引脚来控制灯光的亮灭顺序。

对于8盏灯的控制,我们可以通过以下方法实现:3.1 使用二进制控制可以通过单片机的IO口输出8位二进制数,然后通过这个二进制数的变化来控制8盏灯的亮灭顺序。

可以通过循环移位的方法来实现灯光的顺序变化,从而实现跑马灯的效果。

3.2 使用计数器可以通过单片机上的定时器或者计数器来控制灯光的亮灭顺序。

通过定时器的中断生成,可以实现灯光的循环控制,从而实现跑马灯的效果。

3.3 使用外部输入还可以通过外部的输入引脚来控制灯光的亮灭顺序。

可以通过按键或者其他传感器来控制灯光的变化,从而实现跑马灯的效果。

4. 实际案例以下是一个使用输入引脚对8盏灯进行控制的实际案例:4.1 案例描述我们使用STM32单片机来设计一个跑马灯程序,通过外部引脚控制8盏LED灯的亮灭顺序。

我们设计了一个简单的电路,将8盏LED灯连接到单片机的8个引脚上,然后通过外部的输入引脚来控制LED灯的亮灭。

4.2 实现方法我们首先编写了一个简单的程序,通过外部输入引脚来控制LED灯的亮灭顺序。

我们使用定时器的中断功能,以固定的时间间隔来控制LED灯的亮灭,从而实现跑马灯的效果。

4.3 测试结果经过测试,我们成功实现了通过外部输入引脚控制8盏LED灯的跑马灯效果。

我们可以通过外部的按键来控制LED灯的亮灭顺序,从而实现不同的灯光效果。

5. 结论通过上述案例,我们可以看到,通过输入引脚控制8盏LED灯的跑马灯效果是可行的。

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

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

闪烁灯跑马灯控制系统河南工院院系:电气工程系班级:电气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接口等主要部件集成在一块芯片上的微型计算机。

八路跑马灯程序

八路跑马灯程序

八路跑马灯一、实验目的与要求(1)熟悉单片机实验开发装置实验台上的资源,学会选用其功能电路,连接组成实验需要的系统;(2)学习并了解MCS-51单片机P1口的应用及使用方法;(3)学习编写接口应用程序及延时子程序;(4)编写实验程序,实现从P0口输出信号驱动发光二极管L1~L8动态点亮的功能;二、二、实验程序功能延时实现LED流水灯效果,p1端口的八个灯作跑马灯。

在本实验中,P1作为输出口,接8只发光二极管,编写程序,使发光二极管循环点亮。

本例实验主要用到了延时子程序,CLR、AJMP、RRC、RLC、CALL等指令,通过轮流点亮P0.0…..P0.7实现效果。

程序功能:(1)使8个跑马灯从右至左依次点亮点亮;(2)再使跑马灯从左至右依次点亮;(3)一个循环结束后接着按上面的一二步骤循环;三、实验电路原理图及硬件接线图1.1 电路原理图硬件接线:把“单片机系统”区域中的P1.0-P1.7用8芯排线连接到“八路发光二极管指示模块”区域中的L1-L8端口上,要求:P1.0对应着L1,P1.1对应着L2,……,P1.7对应着L8。

四、实验程序○1程序内容ORG 0000HAJMP STARTORG 0030hSTART:MOV A,#0FFHCLR CMOV R1,#08H ;循环八次。

LOOP: RLC A ;带进位左移。

MOV P1,A ;输出到P1口。

CALL DELAY ;延时一段时间DJNZ R2,LOOP ;反复循环MOV R2,#07H ;再往回循环。

LOOP1: RRC A ;带进位右移MOV P1,A ;输出到P1口。

CALL DELAY ;延时一段时间DJNZ R2,LOOP1 ;反复循环JMP START ;重新开始DELAY: MOV R3,#20 ;延时子程序D1: MOV R4, #20D2: MOV R5, #248DJNZ R5, $DJNZ R4, D2DJNZ R3, D1RET○2基本工作原理:我们可以运用输出端口指令MOV P1,A或MOV P1,#DATA,只要给累加器值或常数值,然后执行上述的指令,即可达到输出控制的动作。

闪烁式跑马灯课程设计

闪烁式跑马灯课程设计

闪烁式跑马灯课程设计一、课程目标知识目标:1. 学生能理解跑马灯的基本原理,掌握闪烁式跑马灯电路的设计与搭建。

2. 学生能够运用所学的电子元件知识,正确选择并使用所需的元器件。

3. 学生理解并掌握跑马灯程序设计的基本思路,能够编写简单的跑马灯程序。

技能目标:1. 学生通过动手实践,培养电路搭建和调试的能力。

2. 学生通过编程实践,提高逻辑思维能力和问题解决能力。

3. 学生能够运用团队协作,共同完成跑马灯项目的制作。

情感态度价值观目标:1. 学生培养对电子技术的兴趣,激发学习科学技术的热情。

2. 学生在学习过程中,树立正确的价值观,认识到科技进步对生活的影响。

3. 学生通过团队协作,培养沟通与合作的意识,增强团队荣誉感。

课程性质:本课程为电子技术实践课,以项目式教学为主,注重学生的动手实践能力和创新思维能力的培养。

学生特点:本课程针对的是初中年级学生,他们对电子技术有一定的好奇心,喜欢动手实践,但理论知识相对薄弱。

教学要求:结合学生特点,教师应以引导为主,让学生在实践中学习,注重培养学生的创新意识和实际操作能力。

在教学过程中,将课程目标分解为具体的学习成果,以便于教学设计和评估。

二、教学内容1. 理论知识:- 介绍跑马灯的基本原理,包括电路工作原理和程序设计思路。

- 讲解并认识所需的电子元器件,如LED灯、电阻、微控制器等。

- 概述编程基础知识,如循环结构、条件语句等。

2. 实践操作:- 搭建闪烁式跑马灯电路,学习电路连接和调试方法。

- 编写跑马灯程序,掌握程序设计的基本步骤和技巧。

- 实践团队协作,共同完成跑马灯项目制作。

3. 教学大纲:- 第一阶段(1课时):介绍跑马灯原理和电子元器件,明确学习目标。

- 第二阶段(2课时):指导学生搭建电路,讲解编程基础知识。

- 第三阶段(3课时):编写程序,调试电路,完成跑马灯制作。

- 第四阶段(1课时):成果展示,总结评价,交流经验。

4. 教材关联:- 本教学内容与教材中关于电子技术基础、编程入门等章节相关。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#define Key_ON 0
#define Beep_ON 1
#define Beep_OFF 0
if(Key==Key_ON)
{
Beep=Beep_ON;
}
else
{
Beep=Beep_OFF;
}
//5秒延时函数
void delay5s()
{
unsigned charI;
TMOD=0x10;
For(i=0;i<0x64;i++){
temp=0x01;
for(i=0;i<8;i++) //8个流水灯逐个闪动
{
P1^=temp;
delay0.5s(); //调用延时函数
temp<<=1;
}
temp=0x80;
for(i=0;i<8;i++) //8个流水灯反向逐个闪动
{
P1^=temp;
delay0.5s(); //调用延时函数
2.1设计要求与基本思路……………….……………………………………4
2.2设计方案选择…………….………………………………………………5
2.3设计框图………………………….…………………………………5
第3章 硬件电路设计…………………..……………………………………7
3.1时钟电路…………………………………………………………….….7
竞争日益剧烈的今天,当代大学生不仅需要扎实的理论知识,还需要过硬的动手能力。作为自动化专业的学生,更应该熟练掌握各种电路编辑软件,作为专业必需的技能更要及时地对这一类软件的更新版本进行学习,其日趋强大的功能是对我们专业技能的补充。
闪烁灯控制系统是利用8051单片机的P1控制的8个发光二极管。可实现从右到左闪烁一次,再从左到右闪烁一次,每次亮灭0.5秒,如此循环,紧急情况下,控制P3.1进行报警5S停止。
2.3设计框图
图1闪烁灯控制设计硬件接线图
第3章硬件电路设计
3.1时钟电路
图2 8051内部时钟电路
扩展电路
外扩程序存储器的空间地址,是由P2口提供高八位地址,P0口分时提供低8位地址和用作8位双向数据总线。在设计硬件接线时,使27256芯片的片选信号CE始终保持有效,低八位A0~A7通过74LS373译码器连接P1口,高七位A8~A14连接P2.0~P2.6,具体连接如图2所示。因此其地址范围位0000H~7FFFH。
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
流程图的绘制为编程提供了便利,通过对控制要求的理解而绘制的流程图可以让我们对控制过程更加熟悉并且编程的进行也变得有据可寻。流水灯控制设计的流程图如图所示。
⑻当从右至左循环结束后,重复第6步,循环闪烁。
由于在起初的硬件中选择了共阳的二极管接法,所以通过给P1口输送低电平0,就可以使二极管发光,输送高电平1可使二极管熄灭。
单片机中的定时器有四种工作方式,由于工作方式0和工作方式1计数溢出后,计数器都全为0,因此,循环定时或循环计数应用时就存在反复设置计数初值的问题。这不但影响精度,而且也给程序设计带来了不便。于是,选择工作方式2,它具有自动更新重新加载功能,即自动加载计数初值。在这种方式下,把16位计数器分为两部分,即TL作计数器,TH作预置寄存器,初始化时把初值分别装入TL和TH中。为了能够清晰的看见二极管闪烁,选择定时器定时500us,再通过配合DJNZ指令来实现延时0.5s的定时。由于,DJNZ中操作数的范围不能达到1000,所以选择两条DJNZ指令,一次置200,一次置5,依次循环就可达到要求。
图5闪烁灯流程图
4.2源程序
#include<reg51.h> //51系列单片机定义文件
#define unsigned char //定义无符号字符
void delay(unsigned char i); //声明延时函数
void main()
{
char i;
chartemp;
while(1)
{
第5章 原件明细表……………………………………………………13
总结…………………………………………………………………………………14
参考文献……………………………………………………..……………………15
第章 概论
1.1设计的目的与意义
当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。
单片微机从体系结构到指令系统都是按照嵌入式应用特点专门设计的,它能最好地满足面对控制对象,应用系统的嵌入、现场的可靠运行以及非凡的控制品质等要求。
自从20世纪70年代推出单片机以来,作为微型计算机的一个分支,单片机经过30多年的发展,已经在各行各业得到了广泛的应用,由于单片机具有可靠性高、体积小、干扰能力强、能在恶劣的环境下工作等特点,具有较高的性价比,因此广泛应用于工业控制、仪器仪表智能化,机电一体化、家用电器等
⑶调用DELAY延时程序。
⑷送0FFH给P1口,使发光二极管熄灭,再调用DELAY延时程序。使发光二极管闪烁。
⑸送闪烁次数10给寄存器R0,通过DJNZ指令,配合DELAY延时程序,实现发关二极管闪烁,当闪烁十次后结束循环。
⑹执行RR(循环右移)指令,指向下一个二极管,重复第5步。
⑺当8个发光二极管从左至右依次闪烁完毕后,执行RL(循环左移)指令,重复第5步,使二极管从右至左一次循环闪烁。







院系:电气工程系
班级:电气1002
学号:0401100207
姓名:
第1章概述…………………………………………….…………………………3
1.1设计的目的及意义………………………………………………………..3
1.2单片机的概述与应用……………………………………………………..3第2章 设计原理…………………………..……………………………………4
2.2设计方案选择
在做本次课程设计时,用到了8051单片机,由于其程序存储器是掩膜ROM,其编程是由半导体制造厂家完成的,即在生产过程中进行编程,当掩膜ROM制造完成后,用户不能更改其内容。因此,选择了型号为27256(32KB)的EPROM作为它的程序存储扩展。同时EA引脚必须有效,方可访问外扩程序存储器。在引脚的连接时,8051单片机的PSEN引脚须接EPROM的OE端,当PESN有效时,允许读出EPROM中的指令码。同时,ALE接74LS373译码器的G引脚,当CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号,以实现低位地址和数据的隔离。因此,其程序存储器扩展图如图2所示。
3.2扩展电路………………………………………………………………..8
第4章 程序设计……………………………………………………………9
4.1程序设计思路与流程图……..…………………………………………...9
4.2源程序………………………………………………….…..…11
4.3程序调试………………………………………………………….….…12
这次单片机课程设计,选择了闪烁灯控制设计,通过查阅各种文献资料,再加上自己以前所学单片机课程的基础,大概的设计思路可概括为以下8个步骤:
⑴通过累加器A给P1口送二进制数,驱动八个发光二极管,低电平发光,高电平熄灭。
⑵编写延时0.5秒的子程序DELAY,可通过软件定时,也可通过与定时器中断配合来实现。
(1)工业控制:工业设备如机床、锅炉、供水系统、生产自动化、自动报警系统。
(2)智能设备:用单片机改造普通仪器如:仪表、读卡器、医疗器械。
(3)家用电器:如高档洗衣机、电冰箱、微波炉、电视、音响、手机、空调器。
(4)商用产品:如自动售货机、电子收款机、电子秤。
第2章 设计原理
2.1设计要求与基本思路
其程序存储扩展图如图所示。
图38051程序存储扩展图
第四章程序设计
4.1程序设计思路与流程图
闪烁灯分8个发光二极管,从左到右闪烁,或者从右到左闪烁,均呈现一个亮,而其余全灭的现象,8个灯有8051统一控制,其亮灯条件说明表如下
表1闪烁灯灯亮的条件说明表
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。我们是在做单片机课程设计,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。
其次,在这次课程设计中,清晰的分析过程也起到很大的作用。在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我受益终身。
相关文档
最新文档