MCS-51单片机模块实训一 LED控制

 

单片机控制单个LED

 

 

 

 

 

 

一,  实训教学目的

1,          从程序设计的角度初步了解单片机的内部结构

2,          了解单片机基本电路的组成

3,          学习proteuskeil 51protel等软件的使用

4,          编写程序控制LED闪烁,间隔时间不定

 

二,  主要元件的介绍。

1CPU AT89S51

 AT89S51是一款低功耗,高性能的8位微处理器,有4KBZ可在系统编程(ISP) Flash闪速存储器,1000次擦写周期,它与工业标准的80C5180C52的指令集及输出PIN脚完全兼容。128X8-bit片内RAM32个可编程I/O脚,216-位定时/计数器,5个中断源,可编程全双工串行口,低功耗空闲模式和掉电模式。

 

2,晶体振荡器

12M晶体振荡器

 

3,发光二极管

8只发光二极管共阳连接,阴极与CPUP1端口相连,P1口输出低电平就亮。

 

三,  实训工作制作指导

1,学习使用Proteus仿真软件画出原理图。

2,熟悉汇编语言程序设计,学习使用Keil 51进行源代码编写

3,学习程序调试的方法

 

四,  电路原理图

 

     

 

 

 

五,  工作原理

8051系列单片机工作过程大体是这样:晶体振荡器为CPU提供时序,复位电路为CPU提供复位信号,接上电源,上电复位,CPU中各特殊功能寄存器复位PC=0HSP=07H, P0=P1=P2=P3=FFH, 其他都为0CPU根据PC中的地址从ROM00H地址开始取指令,寄存到IR寄存器中,PC中的地址自动加一,指到下一个地址空间,然后CPUIR中的指令送到ID寄存器进行解码,然后CPU根据解码的结果控制执行该指令,如果是多字节指令,则CPU继续按照PC中的地址从ROM中取下一或二个字节内容送IR,再送ID解码,并控制执行。重复这样的步骤实现程序的执行。

本节模块控制一个LED,麻雀虽小,也是五脏俱全,大家要考虑的是程序中如何控制这个LED。从原理图上可以知道,P1.0脚输出低电平时,LED亮起来,P1.0输出高电平时,LED就灭掉了,我们只要让P1.0不停的变换输出电平,LED就亮,灭交替,实现了一闪一闪的效果,所以用一个循环实现之。

 

六,  物料表

 

元件序号

元件名称

规格

数量

1

CPU

AT89S51

1

2

电阻

10k 1/8W

1

3

电容

10u 16v电解电容

1

4

电阻

1k 1/8W

1

5

晶振

12.000MHz

1

6

电容

22pF 陶瓷电容

2

 

七,  实训步骤

1.     熟悉CPU的工作原理及电路结构。

2.     根据原理图准备所需元器件。

3.     熟悉单片机引脚功能及工作原理。

4.     按照原理图组装好电路板。

5.     准备电路工作时所需电源。

6.     用万用表检查电路板是否正常工作。

7.     接上电源,注意电源极性,简单的方法是接上电源的瞬间手摸CPU,如果发热应立即切断电源。

8.     根据设计好的算法写出汇编语言程序。

9.     将设计好的程序在软件上进行仿真调试,

10. 调试通过后再将程序烧录到程序存储器中进行测试

 

八,  仪器准备

5伏直流稳压电源     1

示波器               1

万表用           1

 

九,  问答题

1.     将程序烧录到程序存储器中,上电后,LED灯不工作是什么原因?(至少2种原因)

2.     考虑如何实现LED,短亮,短亮,长灭这个工作过程。

 

附程序源码:

 Org 00h

Ljmp Main

 

Org 100h

Main:

            Mov SP, #5FH

LOOP:

            CPL P1.0

            MOV R7, #100

            MOV R6, #50

            ACALL  DELAY

            SJMP             LOOP

 

DELAY:

            DJNZ R5, $

            DJNZ R7, DELAY

            MOV      R7, #100

            DJNZ R6, DELAY

            RET

END      

你可能感兴趣的:(MCS-51单片机)