单片机课程设计—8个按键控制8个LED自动设定控制流水灯

合集下载

51八只LED灯做流水灯实验

51八只LED灯做流水灯实验

51八只LED灯做流水灯实验第一节:单片机在上电初始后,其各端口输出为高电平。

如果我们现在想让接在P1.0口的LED1亮,那么我们只要把P1.0口的电平变为低电平就可以了。

想让LED1灭,LED0亮,只需将P1.0升高,P1.1变低,LED 1就熄灭LED2随后既点亮!依始类推如下所示8只LED变会一亮一暗的做流水灯了。

本实验在“SP-5 1实验板”学习套件上的相关图纸:P1.0低、P1.0高、P1.1低、P1.1高、P1.2低、P1.2高、P1.3低、P1.3高、P1.4低、P1.4高、P1.5低、P1.5高、P1.6低、P1.6高、P1.7低、P1.7高、返回到开始、程序结束。

我们不能说P1.1你变低,它就变低了。

因为单片机听不懂我们的汉语的,只能接受二进制的“1、0......”代码。

我们又怎样来用二进制语议论使单片机按我们的意思去工作呢?为了让单片机工作,只能将程序写为二进制代码交给其执行;早期单片机开发人员就是使用人工编写的二进制代码交给单片机去工作的。

今天,我们不必用烦人的二进制去编写程序,完全可以将我们容易理解的“程序语言”通过“翻译”软件“翻译”成单片机所需的二进制代码,然后交给单片机去执行。

这里的“程序语言”目前主要有汇编和C两种;在这里我们所说的“翻译”软件,同行们都叫它为“编译器”,将“程序语言”通过编译器产生单片机的二进制代码的过程叫编译。

前面说到,要想使LED1变亮,只需将对应的单片机引脚电平变为低电平就可以了。

现在让我们将上面提到的8只LED流水灯实验写为汇编语言程序。

“汉语”语言汇编语言开始:star:P1.0低clr p1.0P1.0高setb p1.0P1.1低clr p1.1P1.1高setb p1.1P1.2低clr p1.2P1.2高setb p1.2这里用到了四条汇编指令:clr、 setb、 ljmp 、end;clr:是将其后面指定的位清为0;setb:是将其后面指定的位置成1;ljmp:是无条件跳转指令,意思是:跳转到指定的标号处继续运行。

单片机实验LED流水灯实验

单片机实验LED流水灯实验

LED流水灯实验一、实验内容将LED灯逐个点亮,然后全亮,全灭。

二、实验原理8个LED发光二极管,分别对应单片机IO口的P0.0到P0.7口,8个单片机IO口组成一个字节,用一个八位二进制的左移和右移来确定灯的亮灭,并用定时器延时。

三、描述该实验中运用的理论知识1、LED的点亮:8个LED发光二极管,分别对应单片机IO口的P0.0到P0.7口,8个单片机IO口组成一个字节,在程序编写过程中,可以直接用P0来进行操作。

2、流水效果:C语言的8位二进制数代表了8个IO口,左移,最低位填0,然后按位取反,就可以将灯逐个点亮3、延时:特殊功能寄存器TMOD,如图T1和T0分别代表单片机两个计数器。

GATE:该位被置位时为门控位。

仅当TR1被置位并且INT1脚为高,定时器开始计数。

当该位被清零时,只要TR1被置位,定时器1马上开始计数。

C/T:该位为0的时候,用作定时器,该位为1的时候,用做计数器。

0.5秒的延时12 * (65536- x)/11059200 = 0.001四、实验步骤1、流程图2、结果程序:#include <reg52.h>typedef unsigned char uint8;typedef unsigned int uint16;sbit ENLED = P1^4;sbit ADDR0 = P1^0;sbit ADDR1 = P1^1;sbit ADDR2 = P1^2;sbit ADDR3 = P1^3;main(){uint8 counter;uint16 i,j;ENLED = 0;ADDR0 = 0; ADDR1 = 1; ADDR2 = 1; ADDR3 = 1;TMOD = 0x01;TH0 = 0xB8;TL0 = 0x00;TR0 = 1;while(1){if(1 == TF0){TF0 = 0;TH0 = 0xB8;TL0 = 0x00;counter++;}if(25 == counter){counter = 0;if(8 == j){P0 = 0X00;for(i=0;i<=38000;i++);P0 = 0XFF;for(i=0;i<=38000;i++);j = 0;}P0 = ~(1 << j++);}}}。

八只LED灯做流水灯实验报告

八只LED灯做流水灯实验报告

51八只LED灯做流水灯实验第一节:单片机在上电初始后,其各端口输出为高电平。

如果我们现在想让接在P1.0口的LED1亮,那么我们只要把P1.0口的电平变为低电平就可以了。

想让LED1灭,LED0亮,只需将P1.0升高,P1.1变低,LED1就熄灭LED2随后既点亮!依始类推如下所示8只LED变会一亮一暗的做流水灯了。

本实验在“SP-51实验板”学习套件上的相关图纸:P1.0低、P1.0高、P1.1低、P1.1高、P1.2低、P1.2高、P1.3低、P1.3高、P1.4低、P1.4高、P1.5低、P1.5高、P1.6低、P1.6高、P1.7低、P1.7高、返回到开始、程序结束。

我们不能说P1.1你变低,它就变低了。

因为单片机听不懂我们的汉语的,只能接受二进制的“1、0......”代码。

我们又怎样来用二进制语议论使单片机按我们的意思去工作呢?为了让单片机工作,只能将程序写为二进制代码交给其执行;早期单片机开发人员就是使用人工编写的二进制代码交给单片机去工作的。

今天,我们不必用烦人的二进制去编写程序,完全可以将我们容易理解的“程序语言”通过“翻译”软件“翻译”成单片机所需的二进制代码,然后交给单片机去执行。

这里的“程序语言”目前主要有汇编和C两种;在这里我们所说的“翻译”软件,同行们都叫它为“编译器”,将“程序语言”通过编译器产生单片机的二进制代码的过程叫编译。

前面说到,要想使LED1变亮,只需将对应的单片机引脚电平变为低电平就可以了。

现在让我们将上面提到的8只LED流水灯实验写为汇编语言程序。

“汉语”语言汇编语言开始:star:P1.0低clr p1.0P1.0高setb p1.0P1.1低clr p1.1P1.1高setb p1.1这里用到了四条汇编指令:clr、setb、ljmp 、end;clr:是将其后面指定的位清为0;setb:是将其后面指定的位置成1;ljmp:是无条件跳转指令,意思是:跳转到指定的标号处继续运行。

单片机八个按键控制八个led灯程序

单片机八个按键控制八个led灯程序

#include <reg51.h>#include <intrins.h>void delay(void){unsigned char a,b;for(a=0;a<200;a++)for(b=0;b<200;b++);}unsigned char Key_Scan();void main(void){unsigned char ledValue, keyNum;ledValue = 0x01;while (1){keyNum = Key_Scan();switch (keyNum){case(0xFE) :ledValue = 0x01;break;case(0xFD) ://返回按键K2的数据ledValue = 0x02;break;case(0xFB) ://返回按键K3的数据ledValue = 0x04;break;case(0xF7) ://返回按键K4的数据ledValue = 0x08;break;case(0xEF) ://返回按键K5的数据ledValue = 0x10;break;case(0xDF) ://返回按键K6的数据ledValue = 0x20;break;case(0xBF) ://返回按键K7的数据ledValue = 0x40;break;case(0x7F) ://返回按键K8的数据ledValue = 0x80;break;default:break;}P0 = ledValue;//点亮LED灯}}/****************************************************************************** ** 函数名: Key_Scan()* 函数功能: 扫描键盘* 输入: 无* 输出: 读取到的键值******************************************************************************* /unsigned char Key_Scan(){unsigned char keyValue = 0 , i; //保存键值//--检测按键1--//if (P1 != 0xFF)//检测按键K1是否按下{void delay(void){unsigned char a,b;for(a=0;a<200;a++)for(b=0;b<200;b++);}if (P1 != 0xFF)//再次检测按键是否按下{keyValue = P1;i = 0;while ((i<50) && (P1 != 0xFF))//检测按键是否松开{Delay10ms(1);i++;}}}return keyValue; //将读取到键值的值返回}。

51八只LED灯做流水灯实验

51八只LED灯做流水灯实验

51八只LED灯做流水灯实验第一节:单片机在上电初始后,其各端口输出为高电平。

如果我们现在想让接在P1.0口的LED1亮,那么我们只要把P1.0口的电平变为低电平就可以了。

想让LED1灭,LED0亮,只需将P1.0升高,P1.1变低,LED 1就熄灭LED2随后既点亮!依始类推如下所示8只LED变会一亮一暗的做流水灯了。

本实验在“SP-5 1实验板”学习套件上的相关图纸:P1.0低、P1.0高、P1.1低、P1.1高、P1.2低、P1.2高、P1.3低、P1.3高、P1.4低、P1.4高、P1.5低、P1.5高、P1.6低、P1.6高、P1.7低、P1.7高、返回到开始、程序结束。

我们不能说P1.1你变低,它就变低了。

因为单片机听不懂我们的汉语的,只能接受二进制的“1、0......”代码。

我们又怎样来用二进制语议论使单片机按我们的意思去工作呢?为了让单片机工作,只能将程序写为二进制代码交给其执行;早期单片机开发人员就是使用人工编写的二进制代码交给单片机去工作的。

今天,我们不必用烦人的二进制去编写程序,完全可以将我们容易理解的“程序语言”通过“翻译”软件“翻译”成单片机所需的二进制代码,然后交给单片机去执行。

这里的“程序语言”目前主要有汇编和C两种;在这里我们所说的“翻译”软件,同行们都叫它为“编译器”,将“程序语言”通过编译器产生单片机的二进制代码的过程叫编译。

前面说到,要想使LED1变亮,只需将对应的单片机引脚电平变为低电平就可以了。

现在让我们将上面提到的8只LED流水灯实验写为汇编语言程序。

“汉语”语言汇编语言开始:star:P1.0低clr p1.0P1.0高setb p1.0P1.1低clr p1.1P1.1高setb p1.1P1.2低clr p1.2P1.2高setb p1.2这里用到了四条汇编指令:clr、 setb、 ljmp 、end;clr:是将其后面指定的位清为0;setb:是将其后面指定的位置成1;ljmp:是无条件跳转指令,意思是:跳转到指定的标号处继续运行。

用AT89C51单片机实现8个彩色LED发光的流水灯电路

用AT89C51单片机实现8个彩色LED发光的流水灯电路

用 AT89C51单片机实现 8个彩色 LED发光的流水灯电路1.摘要:流水灯是常见的装饰,常见于舞台等场合,本设计主要使用AT89C51芯片,利用P1的8个端口通过74LS373驱动,连接8个发光二极管,通过P1.0到P1.7值的控制,使8个彩色LED依次发光,以达到显示的效果。

二、设计任务和要求用AT89C51芯片,设计一个能控制8个发光二极管轮流闪的流水灯电路。

四、硬件电路设计及描述本设计主要使用AT89C51芯片,利用P1的8个端口通过74LS373驱动,连接8个发光二极管,通过P1.0到P1.7值的控制,使8个彩色LED轮流亮灭,以达到显示的效果。

1.软件设计思路及描述主程序设计思路为,开始时点亮一个灯,其余全灭。

然后执行左移,8个灯依次点亮。

“RLA A”是一条左移指令,它的用途是把A累加器中的值循环左移。

设A=1111 1110,则执行一次指令后,A累加器中的值就变为1111 1101,执行第二次后就变为1111 1011,也就是各位数字不断向左移动,而最右一位由最左一位移入。

1.设计流程图1.编辑源程序将原代码生成一个后缀为.asm的文件,点击确定后,打开这一选项即可添加源程序代码。

源程序:ORG 0000HLJMP STARTORG 30HSTART:MOV A,#0FEHLOOP:MOV P1,ARL ALCALL DELAYLJMP LOOPDELAY:MOV R7,#250D1:MOV R6 #250D2:DJNZ R6,$DJNZ R7,D1RETEND八、软件编译,载入,调试1、保存文本内容后,点击源代码菜单下的全部编译,即可对程序进行编译,生成以.Hes后缀的文件。

2、程序载入CPU3、调试:程序加载完成后,点击按钮运行调试仿真。

九、运行仿真运行仿真后出现效果如下图:ledD1、D2、D3、D4、D5、D6、D7、D8依次点亮。

十、结与体会通过这次课程设计,不仅加深了对单片机控制系统及其语言的应用与理解,锻炼了自己这方面的能力,而且还学到了不少新东西,使自己的专业知识、专业技能有所提高。

8位流水灯课程设计

8位流水灯课程设计

8位流水灯课程设计一、课程目标知识目标:1. 让学生掌握8位流水灯的基本原理,理解其内部电路结构与工作流程。

2. 学会运用所学知识设计简单的8位流水灯电路,并掌握相关编程技巧。

3. 了解8位流水灯在实际应用中的场景和意义。

技能目标:1. 培养学生动手实践能力,能够独立完成8位流水灯电路的搭建与编程。

2. 提高学生问题分析、解决能力,能够在实际操作过程中发现并解决问题。

3. 培养学生团队协作能力,能够在小组合作中发挥各自优势,共同完成任务。

情感态度价值观目标:1. 激发学生对电子技术的兴趣,培养创新意识和探索精神。

2. 培养学生严谨、细致的学习态度,注重实际操作中的安全意识。

3. 引导学生关注科技发展,认识到电子技术在日常生活中的重要性。

课程性质:本课程为电子技术实践课程,以项目式教学为主,结合理论知识与实际操作。

学生特点:八年级学生,具备一定的电子技术基础,对实践操作有较高的兴趣。

教学要求:注重理论与实践相结合,以学生为主体,教师为主导,鼓励学生积极参与,培养学生的实际操作能力和创新精神。

通过本课程的学习,使学生能够将所学知识应用于实际项目中,提高学生的综合素养。

二、教学内容1. 理论知识:- 8位流水灯基本原理介绍- 电路组成:LED、电阻、微控制器等- 编程语言基础:C语言或汇编语言- 8位流水灯程序设计思路及方法2. 实践操作:- 8位流水灯电路图的绘制- 电路板搭建,焊接LED和电阻- 微控制器编程与调试- 8位流水灯功能实现与优化3. 教学安排与进度:- 第一课时:8位流水灯基本原理及电路组成介绍- 第二课时:编程语言基础学习与电路图绘制- 第三课时:电路板搭建、焊接及微控制器编程- 第四课时:8位流水灯功能实现与调试优化4. 教材章节:- 《电子技术基础》第四章:数字电路基础- 《电子技术基础》第六章:微控制器原理与应用- 《C语言程序设计》第一章:C语言概述与基本语法教学内容确保科学性和系统性,结合课程目标,注重理论与实践相结合,使学生能够在实践中掌握8位流水灯的相关知识。

单片机课程设计-8个LED灯来回点亮

单片机课程设计-8个LED灯来回点亮
第一章绪论
课题简介
当今社会,随着人们物质生活的不断提高,电子产品已经走进了家家户户,无论是生活或学习,还是娱乐和消遣几乎样样都离不开电子产品。而电子LED灯已跨入了我们生活的众多电子领域。在众多场合随处可见的闪光灯,流水灯不仅大方美观而且十分节能。然而控制它们的单片机却是一个不能被忽视的角色。
单片机简介
第二章设计目的及要求
2.1设计目的
通过本次课题设计,应用《单片机原理及应用》等所学相关知识及查阅资料,完成简易计算器的设计,以达到理论与实践更好的结合、进一步提高综合运用所学知识和设计的能力的目的。
通过本次设计的训练,可以使我在基本思路和基本方法上对基于89C51单片机的系统设计有一个比较感性的认识,并具备一定程度的设计能力。
5.2编辑源程序--------------------------------------------------14
第六章系统调试与仿真结果--------------------------------16
6.1系统调试-----------------------------------------------------16
4.5工作电路------------------------------------------------------12
第五章软件设计------------------------------------------------13
5.1程序流程图--------------------------------------------------13
培养实践技能,提高分析和解决实际问题的能力。
2.2设计要求
(1)认真研究设计任务书,明确设计要求、条件、内容和步骤;复习课程有关内容,熟悉有关单元电路的设计方法和步骤;搜集、分析、消化相关资料、软件等;掌握微型计算机应用系统软件设计方法;准备好设计需要的图书、资料和工具;拟定设计计划等

课程设计8位流水灯设计

课程设计8位流水灯设计

电子技术课程设计《电子设计基础》课程报告设计题目:8位流水灯设计学生班级:通信0902学生学号:20096050学生姓名:卢朝飞指导教师:曹文、黎恒、刘春梅2011年6月21日时间:西南科技大学信息工程学院一、8位流水灯设计目的及要求1. 设计一个8位流水灯循环点亮电路。

2. 要求采用74ls42芯片。

二、流水灯功能设计分析分析:(1)要实现8个led依次循环点亮,只需要将发光二极管依次循环点亮和熄灭,8只led便会依次循环点亮熄灭了三、电路设计基本原理及主要器件1. 74ls42芯片简介74LS42 由8 个反相器和10 个4 输入端的与非门组成。

反相器成对连接以便接受4 位BCD 输入,经由与非门译码后输出,该电路为BCD—十进制的多用途译码器。

其输入为高电平有效,而输出是低电平有效。

74LS42 的逻辑设计保证了当大于9 的二进制代码加到输入端上时,所有的输出端均处于高电平(无效)。

当LS42 用作3 线—8 线译码时,最高有效输入D可产生一个有用的“禁止”功能。

D 输入还可在8 输出的解调应用中用来作为数据输入。

2.74ls1613.74ls104.8个发光二极管5.一个220欧姆电阻四、流水灯仿真图、原理图及PCB板图1.8位流水灯仿真图如下:2. 8位流水灯原理图如下:2. 8位流水灯PCB板图如下:底层:顶层:五、总结与体会1、总结在用protel设计与制板过程中自己总结了一些经验:【1】接地的标号中一定要把Net选项选为GND才可以,不然在PCB制作中将没有接地这一个选项出现;还有Dasignator的选项填写的是元件的标号,只有这个填上了在PCB制作中才会有该元件出现。

【2】对PCB制作过程的要求。

从板层的选择,到对元器件的布局最后是加入输入输出,以及对输入输出的连线,每一个都有很多的细节需要注意。

其中最为典型的就是对输入输出的连线,它需要把两端节点及连线都定义为相同的名称才行,即需要对Net进行统一命名,不然系统将不把它默认为导通的连线。

8个流水灯实验课程设计

8个流水灯实验课程设计

8个流水灯实验课程设计一、课程目标知识目标:1. 学生能理解流水灯的基本原理,掌握电路连接和编程方法。

2. 学生能描述8个流水灯实验的电路图和程序流程。

3. 学生了解并掌握数字电路的基本逻辑功能及其应用。

技能目标:1. 学生能够独立完成8个流水灯实验的电路搭建和程序编写。

2. 学生通过实验操作,提高动手能力和问题解决能力。

3. 学生通过小组合作,提高沟通和团队协作能力。

情感态度价值观目标:1. 学生对电子技术产生兴趣,激发学习积极性。

2. 学生培养耐心、细心的实验态度,养成良好的实验习惯。

3. 学生认识到科技发展对社会的重要性,增强科技创新意识。

课程性质:本课程为实践性课程,结合电子技术和编程知识,培养学生的动手操作能力和创新思维。

学生特点:学生为八年级学生,具有一定的物理知识和数学基础,好奇心强,喜欢动手操作。

教学要求:教师需引导学生掌握基本原理,注重实验操作和问题解决能力的培养,关注学生的情感态度价值观培养。

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

二、教学内容本课程依据课程目标,结合教材相关章节,组织以下教学内容:1. 流水灯基本原理:讲解电路组成、LED特性、控制器等基础知识,对应教材第3章。

2. 电路连接方法:学习电路图的识别,掌握面包板的使用,进行电路搭建,对应教材第4章。

3. 编程方法:学习C语言基础,编写流水灯程序,掌握循环和延时函数的使用,对应教材第5章。

4. 数字电路逻辑功能:介绍基本逻辑门电路,理解并应用与、或、非门等逻辑功能,对应教材第6章。

5. 8个流水灯实验:结合以上知识,进行实验操作,包括电路搭建、程序编写和调试,对应教材第7章。

教学大纲安排如下:1. 第1周:流水灯基本原理学习。

2. 第2周:电路图识别和面包板使用训练。

3. 第3周:C语言基础和编程方法教学。

4. 第4周:数字电路逻辑功能讲解。

5. 第5-6周:8个流水灯实验操作及问题解决。

教学内容科学系统,注重理论与实践相结合,使学生在掌握知识的同时,提高实际操作能力。

八个流水灯课程设计

八个流水灯课程设计

八个流水灯课程设计一、教学目标本课程的目标是让学生了解和掌握八个流水灯的工作原理和设计方法,培养学生的动手能力和创新能力。

具体来说,知识目标包括:理解流水灯的基本电路原理,掌握常用的电子元件及其功能,了解数字电路和模拟电路的基本知识。

技能目标包括:能够独立设计并制作一个简单的流水灯电路,具备分析和解决问题的能力。

情感态度价值观目标包括:培养学生对科学的热爱和好奇心,增强学生的团队合作意识和动手实践能力。

二、教学内容本课程的教学内容主要包括流水灯的基本电路原理、电子元件的功能和使用方法、数字电路和模拟电路的基本知识。

具体安排如下:1.第一课时:介绍流水灯的基本电路原理,讲解电路图的阅读和分析方法。

2.第二课时:学习常用的电子元件,如电阻、电容、二极管、三极管等,并进行实物演示。

3.第三课时:讲解数字电路的基本知识,如逻辑门、触发器等,并分析其应用。

4.第四课时:讲解模拟电路的基本知识,如放大器、滤波器等,并分析其应用。

5.第五课时:引导学生进行八个流水灯的设计和制作,并进行展示和评价。

三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法、实验法等。

具体安排如下:1.讲授法:用于讲解流水灯的基本电路原理、电子元件的功能和使用方法、数字电路和模拟电路的基本知识。

2.讨论法:用于引导学生探讨和分析流水灯的设计方法和电路图的阅读技巧。

3.案例分析法:通过分析实际案例,使学生更好地理解和掌握电子元件的功能和应用。

4.实验法:让学生亲自动手制作流水灯,培养学生的动手能力和创新能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:选用《电子技术基础》等教材,用于引导学生学习电子元件的功能和使用方法、数字电路和模拟电路的基本知识。

2.参考书:推荐《数字电路设计》等参考书,为学生提供更多的学习资料。

3.多媒体资料:制作课件和教学视频,用于讲解流水灯的基本电路原理、电子元件的功能和使用方法、数字电路和模拟电路的基本知识。

8位流水灯课课程设计

8位流水灯课课程设计

8位流水灯课课程设计一、教学目标本课程旨在让学生了解8位流水灯的工作原理和设计方法,通过学习,学生能掌握数字电路的基本知识,培养动手实践能力和创新思维。

1.了解8位流水灯的电路结构和工作原理。

2.掌握数字电路的基本知识,如逻辑门、触发器等。

3.学习常用的数字电路设计方法。

4.能够使用电子设计软件进行简单的电路设计。

5.能够独立完成8位流水灯的组装和调试。

6.培养分析问题和解决问题的能力。

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

2.培养团队合作精神,提高沟通与协作能力。

3.培养学生热爱科学、追求真理的品质。

二、教学内容本课程的教学内容主要包括以下几个部分:1.数字电路基本知识:逻辑门、触发器、计数器等。

2.8位流水灯电路原理:了解流水灯的电路结构,理解其工作原理。

3.设计方法与实践:学习常用的数字电路设计方法,并应用于8位流水灯的设计与制作。

4.电路调试与优化:学习如何对电路进行调试,提高电路的性能。

三、教学方法为了提高教学效果,我们将采用多种教学方法进行授课:1.讲授法:讲解数字电路的基本知识和设计方法。

2.讨论法:学生进行小组讨论,分享设计经验和心得。

3.案例分析法:分析典型的流水灯设计案例,引导学生学会分析电路。

4.实验法:让学生动手实践,组装和调试8位流水灯。

四、教学资源为了保证教学质量,我们将准备以下教学资源:1.教材:选用权威、实用的教材,为学生提供理论知识的学习。

2.参考书:提供丰富的参考资料,帮助学生拓展知识面。

3.多媒体资料:制作精美的PPT,直观展示电路原理和设计过程。

4.实验设备:准备充足的实验设备,确保每个学生都能动手实践。

5.在线资源:利用网络资源,为学生提供更多学习途径和交流平台。

五、教学评估本课程的评估方式包括平时表现、作业、考试等,以全面客观地评价学生的学习成果。

1.平时表现:评估学生在课堂上的参与度、提问回答等情况,以考查其对课程内容的掌握程度。

单片机课程设计—8个按键控制8个LED自动设定控制流水灯

单片机课程设计—8个按键控制8个LED自动设定控制流水灯

东北石油大学之杨若古兰创作实习总结陈述实习类型生产实习实习单位东北石油大学实习基地实习起止时间 2018 年 7 月 7 日至 2018 年 7 月 16 日指点教师刘东明、孙鉴所在院(系) 电子科学学院班 级电子科学与技术 15-2先生姓名学 号 1509012402 2018 年 7 月 16 日目录第 1 章 按键控制流水灯设计 1 1.1 实习目的错误!未定义书签。

1.2 实习请求错误!未定义书签。

第 2 章 电路工作道理 22.5 本章小结 6 第 3 章 C 程序设计 73.1 程序设计流程图 73.3 本章小结 9 总结及体会 10 参考文献 11 附录 12第1章 按键控制流水灯设计1.1 实习目的本次实习以 STC89C52 单片机为控制核心.通过它实现对八盏 LED 灯的亮灭进 行设定,并在设定完成以后能够按照之前的设定实现流水灯后果.内部电路为按键 控制流水灯.P0 口控制八盏灯,P1 口控制矩阵键盘,P2 口控制独立按键,程序利 用单片机内部计时器间断实现流水后果.请求流水灯能够自行设定、暂停、复位, 工作波动,可靠性高.生产实习的次要目的是培养理论联系实际的能力,提高实际动手操纵能力.本 专业的生产实习旨在广泛了解实际单片机电子产品工作的全过程,熟悉电子产品 的次要技术管理模式,并在实习的操纵过程中进修把握电子产品的焊接安装调试 的实际操纵技能.巩固和加深理解所学的理论,开阔眼界,提高潜力,为培养高素 质大学本科人才打下须要的基础.透过进修,是理论与实际相结合,能够使先生加 深对所学常识的理解,并为后续专业课的进修带给须要的感性常识,同时直接了 解本业的生产过程和生产材料,为将来走上工作岗位带给须要的实际生产常识.1.2 实习请求1.深入进修单片机开发软件 Keil 的使用,熟悉单片机电路设计,根据实际利 用电路对程序进行调试.2.熟悉单片机硬件开发平台的利用,把握单片机编程器、仿真器的使用,能 检查和分析软硬件故障.3.体会单片机内部资本的功能使用,以单片机开发板现有资本进行利用性设 计.把握单片机经常使用核心器件的使用.4.对去年生产实习焊接的 51 开发板的程序有更深入的了解.第2章 电路工作道理2.1 STC89C52 单片机工作道理单片机(Microcontrollers)是一种集成电路芯片,是采取超大规模集成电路技 术把具无数据处理能力的地方处理器 CPU、随机存储器 RAM、只读存储器 ROM、 多种 I/O 口和间断零碎、定时器/计数器等功能(可能还包含显示驱动电路、脉宽 调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个 小而完美的微型计算机零碎.例如 STC89C52 单片机是通过 32 个输入输出口的高低电平变更来实现对内部 电路的控制,痛过响应的程序实现对 32 个输入输出口的控制,这就是单片机工作 的最基来源根基理.如图 2-1 所示为 STC89C52 单片机工作的最小零碎电路图.图 2-1 STC89C52 最小工作零碎 全部电路使用 5V 直流电源供电,其中复位电路能够使单片机复位;晶振电路 相当于单片机的心脏,为单片机提供 12MHz 的高频脉冲使单片机正常工作; MAX232 是将单片机输出的 TTL 电平转换成 PC 机能接收的 232 电平或将 PC 机输 出的 232 电平转换成单片机能接收的 TTL 电平,实现单片机与 PC 机之间的通信, 以便于下载程序.2.2 LED 工作道理LED(light-emitting diode),即发光二极管,俗称 LED 小灯,51 开发板使用 的是普通贴片发光二极管.这类二极管通常的正导游通电压是 1.8~2.2V 之间,工作 电流普通在 1~20mA 之间.其中当电流在 1~5mA 之间变更时,随着通过 LED 的电 流愈来愈大,肉眼会感觉到这个灯愈来愈亮,而当电流从 5~20mA 变更时,看到 的发光二极管的亮度变更不明显了.当电流超出 20mA 时,LED 就有烧坏的风险. 所以在 51 开发板的使用中须要根据响应的电流参数设计一个与 LED 串联的限流 电阻.如图 2-2 所示为单片机 I/O 口控制 LED 的电路道理图.图 2-2 单片机控制 LED 电路图 图中 PR2 为排阻,在电路中起到限流感化,防止 LED 被烧毁.由于单片机是可 以编程控制的,即 P00~P07 的高低电平也是能够控制的,所以对应的 8 个 LED 的 亮灭形态也是能够控制的,这就达到了单片机控制 LED 的目的.2.3 按键工作道理 2.3.1 独立按键工作道理独立式按键比较简单,它们各自与独立的输入线相连接,如图 2-3 所示.图 2-3 独立式按键道理图 4 条输人线接到单片机的 I/O 口上,当按健 K1 按下时,+5V 通过电阻然后再 通过按键 K1 终极进人 GND 构成一条通路,这条线路的全部电压都加到这个电阻 上,P20 这个引脚就是个低电平.当松开按健后,线路断开,就不会有电值通过, P20 和+5V 就应当是等电位,是个高电平.我们就可以通过 P20 这个 10 口的高低电 平来判断是否有按键按下.2.3.2 矩阵按键工作道理在某一个零碎设计中,如果须要使用很多按键时,做成独立按键会占用大量 I/O 口,是以援用了矩阵键盘的设计.如图 2-4 所示为 51 开发板上的矩阵按键电路 道理图,使用 8 个 I/O 口来实现 16 个按键.图 2-4 矩阵按键道理图 在程序设计平分别用四个 I/O 口扫描 4 行,另外 4 个扫描 4 列,确定了按键在 哪行哪列也就确定了按键的具体地位.2.4 全体电路图如图 2-5 所示为键盘控制 LED 流水灯全体电路图.图 2-5 总电路道理图2.5 本章小结本章次要介绍了单片机最小零碎、LED 工作道理、按键工作道理.并从硬件电 路的设计出发,简单分析单片机控制 LED 的工作过程.理论分析基本完成,接上去 就是具体的程序设计与调试,通过具体的程序来实现响应的功能,这也是单片机 开发中最具技术含量的环节之一.第3章 C 程序设计3.1 程序设计流程图如图 3-1 所示为主程序流程图.开始 开计时器间断K1 是否按下 否是扫描矩阵键盘选 择须要点亮的 LED是K2 是否按下 否K3 是否按下 否是保管选择的数据 择须要点亮的 LED计时器间断程序选择 数据实现 LED 流水灯图 3-1 程序设计框图 主程序由 3 个独立按键控制,K1,K2 和 K3.开始从主函数履行程序语句,不 竭轮回扫描按键,当 K1 按下时,进入选择形态,程序会不竭地扫描矩阵键盘,通 过矩阵键盘选择须要点亮的 LED;选择结束后按下 K2,程序会将选定后的数据送 入间断程序,间断程序根据接收的数据选泽对应的 LED 实现流水灯后果;当按下K3 后程序又会进入矩阵键盘扫描从头选择 LED.3.2 实验结果如图 3-2 所示,当按下 K1 后进入选择定形态.图 3-2 选择 LED 如图 3-2,控制矩阵键盘分别选择了第 1,6,8 盏灯. 再按下 K2 键,让选择的第 1,6,8 盏灯实现流水灯后果.如图 3-3 所示.图 3-3 流水灯 如图 3-3,按下 K2 以后,LED 由之前第 1,6,8 盏灯亮变成第 1,2,7 盏灯 亮,实现了流水灯右移的后果. 当按下 K3 键,实验结果如图 3-4 所示.图3-4回到初始形态由图3-4可知,当按下K3键以后,程序又回到了设定LED的形态.3.3本章小结由实验结果可以看出,本次单片机课程设计已达到预期请求,电路工作波动,满足设计请求.在全部设计过程中,程序设计与调试最为复杂,出现过按键灯不亮,没有出现滚动流水等景象等一系列程序成绩.但终极在不竭地检查、调试以后,成绩也逐步得到解决.终极实现按键控制流水灯的后果.总结及体会本次设计通过对单片机进行编程控制,进而控制内部电路,成功地设计了八个按键控制八盏灯亮灭实现流水灯的后果.深入了解到单片机开发软件Keil的使用,熟悉单片机电路设计,根据实际利用电路对程序进行调试.熟悉单片机硬件开发平台的利用,把握了单片机编程器、仿真器的使用,能检查和分析软硬件故障.体会到单片机内部资本的功能使用,以单片机开发板现有资本进行利用性设计.通过此次实习使我进一步弄懂所学到的课本常识,巩固和深化对单片机的结构、指令零碎、间断零碎、键盘/显示零碎、接口技术、零碎扩展、定时/控制、程序设计、利用开发、等基本理论常识的理解,提高单片机利用于技术的实践操纵技能,把握单片机利用零碎设计、研制的方法,培养利用单片机进行科技革新、开发和创新的基天性力,为结业后从事与单片机相干的工作打下必定的基础.参考文献[1]童诗白,华成英.模拟电子技术基础(第四版)[M].北京:高等教育出版社,2006.[2]阎石.数字电子技术基础(第五版)[M].北京:高等教育出版社,2006.[3]韩建,全星慧,四周.电子技术课程设计指点[M].哈尔滨:哈尔滨工程大学出版社,2014.[4]黎小桃.数字电子电路分析与利用[M].北京:北京理工大学出版社,2014.[5]高吉祥. 电子技术基础实验与课程设计[M].北京:电子工业出版社,2002.[6]陈明义.电子技术课程设计实用教程(第3版) [M]. 长沙:中南大学出版社,2010.[7]程春雨. 模拟电子技术实验与课程设计[M].北京:电子工业出版社,2016.[8]宋雪松,李东明,崔长胜. 手把手教你学51单片机(C说话版)[M]. 北京:清华大学出版社,2014.附录:#include <reg52.h>#include <intrins.h>#define KEY P1sbit k1=P2^0;sbit k2=P2^1;sbit k3=P2^2;sbit k4=P2^3;unsigned char LED=0x00,LED1=0x00;unsigned char x=0;unsigned char KeyValue;unsigned char A1=0x00,A2=0x00,A3=0x00,A4=0x00,A5=0x00,A6=0x00,A7=0x00,A8=0x00;void Delay10ms(unsigned int c);void KeyDown(); //矩阵键盘检测void kongzhil();void kongzhi2();void main(void){ TMOD=0x01; //定时器工作形态为1 TH0=(65536-50000)/256;TL0=(65536-50000)%6;EA=1; //开总间断ET0=1; //开定时器间断TR0=1; //开启定时器while(1){ int n=0;if(k1==0){Delay10ms(1);if(k1==0)n=1;}if(k3==0){Delay10ms(1);if(k3==0)n=3;}if(k4==0){Delay10ms(1);if(k4==0)n=4;}switch(n){case 1:KeyDown();break;case 3:kongzhil();break;case 4:kongzhi2();break;default:break;}}}void KeyDown(void){ int k=1;while(k){char a=0;KEY=0x0f;if(KEY!=0x0f){Delay10ms(1); //延时消抖if(KEY!=0x0f){KEY=0X0F;switch(KEY) //扫描行{case(0X07): KeyValue=0;break;case(0X0b): KeyValue=4;break;case(0X0d): KeyValue=8;break;case(0X0e): KeyValue=12;break;}KEY=0XF0;switch(KEY) //扫描列{case(0X70): KeyValue=KeyValue+3;break;case(0Xb0): KeyValue=KeyValue+2;break;case(0Xd0): KeyValue=KeyValue+1;break;case(0Xe0): KeyValue=KeyValue;break;}while((a<50) && (KEY!=0xf0)) //松手检测{Delay10ms(1);a++;}switch(KeyValue) //选择须要亮的灯{case(0):A1=~A1;break;case(1):A2=~A2;break;case(2):A3=~A3;break;case(3):A4=~A4;break;case(4):A5=~A5;break;case(5):A6=~A6;break;case(6):A7=~A7;break;case(7):A8=~A8;break;default:break;}}}if (A1==0xff) //保管数据(LED1=LED1|0x80);else if(A1==0x00)(LED1=LED1&0x7f);if (A2==0xff)(LED1=LED1|0x40);else if(A2==0x00)(LED1=LED1&0xbf);if (A3==0xff)(LED1=LED1|0x20);else if(A3==0x00)(LED1=LED1&0xdf);if (A4==0xff)(LED1=LED1|0x10);else if(A4==0x00)(LED1=LED1&0xef);if (A5==0xff)(LED1=LED1|0x08);else if(A5==0x00)(LED1=LED1&0xf7);if (A6==0xff)(LED1=LED1|0x04);else if(A6==0x00)(LED1=LED1&0xfb);if (A7==0xff)(LED1=LED1|0x02);else if(A7==0x00)(LED1=LED1&0xfd);if (A8==0xff)(LED1=LED1|0x01);else if(A8==0x00)(LED1=LED1&0xfe);LED=LED1;if(k2==0){Delay10ms(1);if(k2==0){k=0;LED=LED1;};};if(k4==0){Delay10ms(1);if(k4==0){k=0;kongzhi2();};};}}void kongzhil(void){int m=1;LED1=LED,LED=0x00;while(m){if(k3==0){Delay10ms(1);if(k3==0){m=0,LED=LED1;};}}}void kongzhi2(void){LED1=0x00;LED=0x00;A1=0;A2=0;A3=0;A4=0;A5=0;A6=0;A7=0;A8=0;}void timer0() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%6;x++;if(x==6) //6*50MS=300MS{x=0;P0=LED;LED = _crol_(LED,1);//if(++i==8) i=0;}}void Delay10ms(unsigned int c) {unsigned char a, b;for (;c>0;c--){for (b=38;b>0;b--){for (a=130;a>0;a--);}}}。

8盏流水灯课程设计

8盏流水灯课程设计

8盏流水灯课程设计一、课程目标知识目标:1. 学生能理解流水灯的工作原理,掌握基本电子元件的功能和使用方法。

2. 学生能描述8盏流水灯电路的设计步骤,了解编程控制原理。

3. 学生能运用已学知识分析并解决流水灯制作过程中遇到的问题。

技能目标:1. 学生能够独立完成8盏流水灯电路的搭建,提高动手实践能力。

2. 学生能够运用编程软件编写程序,实现流水灯的点亮与熄灭效果。

3. 学生能够通过团队协作,共同完成流水灯项目,提高沟通与协作能力。

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

2. 学生能够在实践过程中,培养解决问题的耐心和毅力,增强自信心。

3. 学生能够认识到团队合作的重要性,培养团队精神和集体荣誉感。

课程性质:本课程为电子技术实践课程,结合理论知识与动手操作,培养学生的创新思维和实践能力。

学生特点:八年级学生已具备一定的物理知识和电子元件认知,具有较强的动手能力和好奇心。

教学要求:教师需关注学生的个体差异,引导他们通过实践发现问题、解决问题,注重培养学生的团队合作意识和创新能力。

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

二、教学内容本课程教学内容围绕以下三个方面展开:1. 理论知识:- 电路基础知识:回顾电路的基本概念,如电流、电压、电阻等。

- 电子元件功能:介绍常用电子元件,如电阻、电容、二极管、三极管等,并讲解其功能。

- 流水灯工作原理:分析8盏流水灯的工作原理,理解电路设计与编程控制。

2. 实践操作:- 电路搭建:指导学生按照电路图搭建8盏流水灯电路。

- 程序编写:教授学生使用编程软件,编写控制流水灯的程序。

- 调试优化:引导学生分析电路和程序可能出现的问题,并进行调试优化。

3. 教学大纲与进度安排:- 第一课时:回顾电路基础知识,介绍电子元件,分析流水灯工作原理。

- 第二课时:讲解电路搭建方法,学生动手实践,搭建流水灯电路。

- 第三课时:教授编程方法,学生编写程序,实现流水灯效果。

8led流水灯课程设计

8led流水灯课程设计

8led流水灯课程设计一、课程目标知识目标:1. 让学生理解并掌握8LED流水灯的基本原理和电路设计。

2. 让学生掌握数字电路中逻辑门的使用方法,并能运用到8LED流水灯的制作中。

3. 让学生了解并掌握编程控制LED流水灯的方法。

技能目标:1. 培养学生动手搭建电路的能力,学会使用面包板进行电路连接。

2. 培养学生运用逻辑门进行数字电路设计的能力。

3. 培养学生编写简单的控制程序,实现对LED流水灯的控制。

情感态度价值观目标:1. 培养学生对电子制作的兴趣,激发创新精神。

2. 培养学生合作学习的意识,增强团队协作能力。

3. 培养学生关注科技发展,认识到科技对生活的改变。

课程性质:本课程为实践性课程,结合理论教学,注重培养学生的动手能力和实际操作技能。

学生特点:本课程针对初中生,学生对电子制作有一定兴趣,具备基本的电路知识,但对编程和控制较为陌生。

教学要求:课程要求学生在理解理论知识的基础上,注重实践操作,将所学知识应用于实际制作中,提高学生的综合能力。

教学过程中,教师需引导学生主动探究,鼓励学生提问和解决问题,培养学生的自主学习能力。

通过课程目标的实现,使学生在知识与技能、过程与方法、情感态度价值观等方面得到全面提升。

二、教学内容1. 电路基础知识回顾:讲解电路的基本元件,如电阻、电容、二极管等,并回顾电路的基本连接方式,为学习8LED流水灯电路打下基础。

教材章节:第一章 电路基础知识2. 逻辑门电路:详细介绍与门、非门、或门等基本逻辑门的功能和应用,引导学生运用逻辑门设计电路。

教材章节:第二章 数字电路基础3. 8LED流水灯电路设计:讲解8LED流水灯的电路原理,指导学生使用面包板搭建电路,并学会调试电路。

教材章节:第三章 实用数字电路设计与制作4. 编程控制:介绍简单的编程知识,让学生学会使用编程软件编写控制程序,实现对8LED流水灯的控制。

教材章节:第四章 单片机基础与应用5. 实践操作:安排学生分组进行实践操作,从电路搭建、编程到调试,逐步完成8LED流水灯的制作。

单片机实验报告流水灯

单片机实验报告流水灯

单片机实验报告流水灯单片机实验报告:流水灯引言:单片机是现代电子技术中非常重要的一部分,它广泛应用于各个领域,如家电、汽车、通信等。

单片机实验是学习单片机的基础,通过实际操作来理解单片机的原理和应用。

本报告将介绍一个常见的单片机实验项目——流水灯实验。

一、实验目的流水灯实验旨在通过控制单片机的IO口,实现多个LED灯按照顺序依次点亮和熄灭的效果。

通过这个实验,可以加深对单片机IO口的控制和编程的理解。

二、实验器材1. 单片机开发板:我们使用的是STC89C52开发板,它是一种基于8051内核的单片机开发板。

2. LED灯:我们使用了8个LED灯,分别连接到单片机开发板的8个IO口上。

3. 连接线:用于连接单片机开发板和LED灯。

三、实验原理流水灯实验的原理很简单,通过控制单片机的IO口输出高低电平来控制LED灯的亮灭。

当某个IO口输出高电平时,对应的LED灯点亮;当IO口输出低电平时,对应的LED灯熄灭。

四、实验步骤1. 连接电路:将8个LED灯分别连接到单片机开发板的8个IO口上,确保连接正确。

2. 编写程序:使用C语言编写单片机程序,控制IO口的高低电平变化。

程序的主要逻辑是通过一个循环,依次将某个IO口输出高电平,然后延时一段时间,再将该IO口输出低电平,再延时一段时间,以此循环实现流水灯的效果。

3. 烧录程序:将编写好的程序烧录到单片机开发板中,确保程序能够正确运行。

4. 调试实验:将单片机开发板连接到电源,观察LED灯是否按照预期的顺序点亮和熄灭。

如果有问题,可以通过调试程序或检查电路连接来解决。

五、实验结果经过调试和实验,我们成功地实现了流水灯的效果。

8个LED灯按照顺序依次点亮和熄灭,形成了一个流动的灯光效果。

这个实验不仅让我们学习了单片机的IO口控制,还提高了我们的动手能力和解决问题的能力。

六、实验总结通过这个实验,我们深入了解了单片机的原理和应用。

单片机作为一种微型计算机,具有体积小、功耗低、成本低等优点,广泛应用于各个领域。

单片机课程设计 8个LED灯来回点亮分析

单片机课程设计 8个LED灯来回点亮分析

目录第一章绪论--------------------------------------------------------3 第二章设计目的及要求-----------------------------------------5 1.1 设计目的--------------------------------------------------------5 1.2 设计要求--------------------------------------------------------5 第三章设计电路原理----------- -------------------------------7 3.1 控制部分的设计与选择-------------------------------------7 3.2 LED显示方案-----------------------------------------------8 第四章硬件系统------------------------------------------------9 4.1 原件清单-------------------------------------------------------9 4.2 单片机AT89C51---------------------------------------------9 4.3 单片机时钟电路--------------------------------------------104.4 单片机复位电路---------------------------------------------11 4.5 工作电路------------------------------------------------------12 第五章软件设计------------------------------------------------135.1 程序流程图--------------------------------------------------13 5.2 编辑源程序--------------------------------------------------14 第六章系统调试与仿真结果--------------------------------166.1系统调试-----------------------------------------------------16 6.2仿真结果----------------------------------------------------16 总结------------------------------------------------------------- 19 参考文献--------------------------------------------------------20第一章绪论课题简介当今社会,随着人们物质生活的不断提高,电子产品已经走进了家家户户,无论是生活或学习,还是娱乐和消遣几乎样样都离不开电子产品。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电子课程设计东北石油大学实习总结报告实习类型生产实习实习单位东北石油大学实习基地实习起止时间 2018 年 7 月 7 日至 2018 年 7 月 16 日指导教师刘东明、孙鉴所在院(系) 电子科学学院班 级 电子科学与技术 15-2学生姓名学号15090124022018 年 7 月 16 日I 页脚内容电子课程设计目录第 1 章 按键控制流水灯设计 ....................................... 1 1.1 实习目的 .............................................. 1 1.2 实习要求 .............................................. 1第 2 章 电路工作原理............................................. 2 2.1 STC89C52 单片机工作原理 ............................... 2 2.2 LED 工作原理 .......................................... 3 2.3 按键工作原理 .......................................... 3 2.4 整体电路图 ............................................ 5 2.5 本章小结 .............................................. 6第 3 章 C 程序设计 ............................................... 7 3.1 程序设计流程图 ........................................ 7 3.2 实验结果 .............................................. 8 3.3 本章小结 .............................................. 9总结及体会..................................................... 10 参考文献 ...................................................... 11 附录: ........................................................ 12I 页脚内容电子课程设计第1章 按键控制流水灯设计1.1 实习目的本次实习以 STC89C52 单片机为控制核心。

通过它实现对八盏 LED 灯的亮灭进 行设定,并在设定完成之后能够按照之前的设定实现流水灯效果。

外部电路为按 键控制流水灯。

P0 口控制八盏灯,P1 口控制矩阵键盘,P2 口控制独立按键,程序 利用单片机内部计时器中断实现流水效果。

要求流水灯能够自行设定、暂停、复 位,工作稳定,可靠性高。

生产实习的主要目的是培养理论联系实际的能力,提高实际动手操作能力。

本专业的生产实习旨在广泛了解实际单片机电子产品工作的全过程,熟悉电子产 品的主要技术管理模式,并在实习的操作过程中学习掌握电子产品的焊接安装调 试的实际操作技能。

巩固和加深理解所学的理论,开阔眼界,提高潜力,为培养 高素质大学本科人才打下必要的基础。

透过学习,是理论与实际相结合,能够使 学生加深对所学知识的理解,并为后续专业课的学习带给必要的感性知识,同时 直接了解本业的生产过程和生产资料,为将来走上工作岗位带给必要的实际生产 知识。

1.2 实习要求1.深入学习单片机开发软件 Keil 的使用,熟悉单片机电路设计,根据实际 应用电路对程序进行调试。

2.熟悉单片机硬件开发平台的应用,掌握单片机编程器、仿真器的使用,能 检查和分析软硬件故障。

3.体会单片机内部资源的功能使用,以单片机开发板现有资源进行应用性设 计。

掌握单片机常用外围器件的使用。

4.对去年生产实习焊接的 51 开发板的程序有更深入的了解。

1 页脚内容电子课程设计第2章 电路工作原理2.1 STC89C52 单片机工作原理单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电 路技术把具有数据处理能力的中央处理器 CPU、随机存储器 RAM、只读存储器 ROM、 多种 I/O 口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽 调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个小 而完善的微型计算机系统。

例如 STC89C52 单片机是通过 32 个输入输出口的高低电平变化来实现对外部 电路的控制,痛过相应的程序实现对 32 个输入输出口的控制,这就是单片机工作 的最基本原理。

如图 2-1 所示为 STC89C52 单片机工作的最小系统电路图。

图 2-1 STC89C52 最小工作系统整个电路使用 5V 直流电源供电,其中复位电路能够使单片机复位;晶振电路 相当于单片机的心脏,为单片机提供 12MHz 的高频脉冲使单片机正常工作;MAX232 是将单片机输出的 TTL 电平转换成 PC 机能接收的 232 电平或将 PC 机输出的 232 电平转换成单片机能接收的 TTL 电平,实现单片机与 PC 机之间的通信,以便于下 载程序。

2 页脚内容电子课程设计2.2 LED 工作原理LED(light-emitting diode),即发光二极管,俗称 LED 小灯,51 开发板使 用的是普通贴片发光二极管。

这种二极管通常的正向导通电压是 1.8~2.2V 之间, 工作电流一般在 1~20mA 之间。

其中当电流在 1~5mA 之间变化时,随着通过 LED 的 电流越来越大,肉眼会感觉到这个灯越来越亮,而当电流从 5~20mA 变化时,看到 的发光二极管的亮度变化不明显了。

当电流超过 20mA 时,LED 就有烧坏的危险。

所以在 51 开发板的使用中需要根据相应的电流参数设计一个与 LED 串联的限流电 阻。

如图 2-2 所示为单片机 I/O 口控制 LED 的电路原理图。

图 2-2 单片机控制 LED 电路图图中 PR2 为排阻,在电路中起到限流作用,防止 LED 被烧毁。

因为单片机是 可以编程控制的,即 P00~P07 的高低电平也是能够控制的,所以对应的 8 个 LED 的亮灭状态也是能够控制的,这就达到了单片机控制 LED 的目的。

2.3 按键工作原理 2.3.1 独立按键工作原理独立式按键比较简单,它们各自与独立的输入线相连接,如图 2-3 所示。

3 页脚内容电子课程设计图 2-3 独立式按键原理图4 条输人线接到单片机的 I/O 口上,当按健 K1 按下时,+5V 通过电阻然后再 通过按键 K1 最终进人 GND 形成一条通路,这条线路的全部电压都加到这个电阻上, P20 这个引脚就是个低电平。

当松开按健后,线路断开,就不会有电值通过,P20 和+5V 就应该是等电位,是个高电平。

我们就可以通过 P20 这个 10 口的高低电平 来判断是否有按键按下。

2.3.2 矩阵按键工作原理在某一个系统设计中,如果需要使用很多按键时,做成独立按键会占用大量 I/O 口,因此引用了矩阵键盘的设计。

如图 2-4 所示为 51 开发板上的矩阵按键电 路原理图,使用 8 个 I/O 口来实现 16 个按键。

4 页脚内容电子课程设计图 2-4 矩阵按键原理图在程序设计中分别用四个 I/O 口扫描 4 行,另外 4 个扫描 4 列,确定了按键 在哪行哪列也就确定了按键的具体位置。

2.4 整体电路图如图 2-5 所示为键盘控制 LED 流水灯整体电路图。

图 2-5 总电路原理图5 页脚内容电子课程设计2.5 本章小结本章主要介绍了单片机最小系统、LED 工作原理、按键工作原理。

并从硬件电 路的设计出发,简单分析单片机控制 LED 的工作过程。

理论分析基本完成,接下 来就是具体的程序设计与调试,通过具体的程序来实现相应的功能,这也是单片 机开发中最具技术含量的环节之一。

6 页脚内容电子课程设计第3章 C 程序设计3.1 程序设计流程图如图 3-1 所示为主程序流程图。

开 始 开计时器中断K1 是否按下否是扫描矩阵键盘选 择需要点亮的 LED是K2 是否否按下K3 是否按下否是保存选择的数据 择需要点亮的 LED计时器中断程序选择 数据实现 LED 流水灯图 3-1 程序设计框图主程序由 3 个独立按键控制,K1,K2 和 K3。

开始从主函数执行程序语句,不 断循环扫描按键,当 K1 按下时,进入选择状态,程序会不断地扫描矩阵键盘,通 过矩阵键盘选择需要点亮的 LED;选择结束后按下 K2,程序会将选定后的数据送 入中断程序,中断程序根据接收的数据选泽对应的 LED 实现流水灯效果;当按下7 页脚内容电子课程设计K3 后程序又会进入矩阵键盘扫描重新选择 LED。

3.2 实验结果如图 3-2 所示,当按下 K1 后进入选择定状态。

图 3-2 选择 LED如图 3-2,控制矩阵键盘分别选择了第 1,6,8 盏灯。

再按下 K2 键,让选择的第 1,6,8 盏灯实现流水灯效果。

如图 3-3 所示。

图 3-3 流水灯如图 3-3,按下 K2 之后,LED 由之前第 1,6,8 盏灯亮变为第 1,2,7 盏灯 亮,实现了流水灯右移的效果。

当按下 K3 键,实验结果如图 3-4 所示。

8 页脚内容图3-4 回到初始状态由图3-4可知,当按下K3键之后,程序又回到了设定LED的状态。

3.3本章小结由实验结果可以看出,本次单片机课程设计已达到预期要求,电路工作稳定,满足设计要求。

在整个设计过程中,程序设计与调试最为复杂,出现过按键灯不亮,没有出现滚动流水等现象等一系列程序问题。

但最终在不断地检查、调试之后,问题也逐渐得到解决。

最终实现按键控制流水灯的效果。

总结及体会本次设计通过对单片机进行编程控制,进而控制外部电路,成功地设计了八个按键控制八盏灯亮灭实现流水灯的效果。

深入了解到单片机开发软件Keil的使用,熟悉单片机电路设计,根据实际应用电路对程序进行调试。

熟悉单片机硬件开发平台的应用,掌握了单片机编程器、仿真器的使用,能检查和分析软硬件故障。

体会到单片机内部资源的功能使用,以单片机开发板现有资源进行应用性设计。

通过这次实习使我进一步弄懂所学到的课本知识,巩固和深化对单片机的结构、指令系统、中断系统、键盘/显示系统、接口技术、系统扩展、定时/控制、程序设计、应用开发、等基本理论知识的理解,提高单片机应用于技术的实践操作技能,掌握单片机应用系统设计、研制的方法,培养利用单片机进行科技革新、开发和创新的基本能力,为毕业后从事与单片机相关的工作打下一定的基础。

相关文档
最新文档