MCS-51模块实训二 -- 流水灯

来源:互联网 发布:windows桌面图标 编辑:程序博客网 时间:2024/05/29 10:07

 

流水灯

 

 

 


一,  实训教学目的

a)        进一步了解单片机的内部结构

b)        了解单片机基本电路的组成

c)        学习proteuskeil 51protel等软件的使用

d)        编写程序控制8LED轮流点亮,间隔时间不定

 

二,  主要元件的介绍。

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,学习程序调试的方法

 

 

四,  电路原理图

 

 

五,  工作原理

前一个模块是控制一个LED,这次要控制8LED,亮灭的过程与单个LED的控制类似,复杂在有8LED,可以像控制单个LED方法一个一个的点亮熄灭点亮熄灭,这八个LED都接在P1端口,也可以用处理一个字节的方法来控制,像下面的流程图。

 

开始

A = 0xfe

P1 = A

延时100ms

A <<= 1

 

 

 

 

 

 

 

 

 

 

 

 

 

六,  物料表

 

元件序号

元件名称

规格

数量

1

CPU

AT89S51

1

2

电阻

10k 1/8W

1

3

电容

10u 16v电解电容

1

4

电阻

1k 1/8W

8

5

晶振

12.000MHz

1

6

电容

22pF 陶瓷电容

2

7

发光二极管

红色LED 5V 3ma

8

 

七,  实训步骤

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

            Mov A, #0FEH

LOOP:

            MOV P1, A

            MOV R7, #100

            MOV R6, #50

            ACALL  DELAY

            RL   A

            SJMP             LOOP

 

DELAY:

            DJNZ R5, $

            DJNZ R7, DELAY

            MOV      R7, #100

            DJNZ R6, DELAY

            RET

END      

 

原创粉丝点击