51单片机最小应用(交通灯控制,音乐和设计,双汉字显示屏)

发布时间:2011-12-18 13:24:28   来源:文档文库   
字号:

1. 设计题目

51单片机最小应用系统

(交通灯控制,音乐和设计,双汉字显示屏)

2.设计目的

3.设计任务

1)具有2LED数码管显示功能。

2)具有八路发光二极管显示各种流水灯。

3)可以完成各种奏乐,报警等发声音类实验。

4)具有复位功能。

4.设计思路

1)两位LED数码管显示功能,我们可以利用单片机的P0口接两个数码管来现这个功能;(2)八路发光二极管显示可以利用P1口接八个发光二极管实现这个功能;

3)各种奏乐、报警等发声功能可以采用P2.0这个引脚接一蜂鸣器来实现。

4)利用单片机的第9脚可以设计成复位系统,我们采用按键复位;利用单片机的1819脚可以设计成时钟电路,我们利用单片机的内部振荡方式设计的。

5)原理图组成框图

5硬件电路设计
根据本系统的功能,针对上面的电路原理图,设计出本系统的详细功能:

1)、第一个发光二极管点亮,同时数码管显示“1”

2)、第二个发光二极管点亮,同时数码管显示“2”

3)、依次类推到第八个发光二极管点亮,同时数码管显示“8”

以上出现的是流水灯的效果
4)、所有的发光二极管灭了,同时数码管现实“0”

5)、数码管显示“1”

6)、数码管显示“2……”直到“9ABCDEFY”

7)、蜂鸣器发出九声报警声后重复上面所有步骤。

电路图

5、元件清单的确定:

数码管:共阴极2只(分立)

电解电容:10UF的一只

30PF的电容2

220欧的电阻9

4.7K的电阻一只

1.2K的电阻一只

4.7K的排阻一只,

12MHZ的晶振一只

有源5V蜂名器一只

AT89S51单片机一片

常开按钮开关1

紧锁座一只(方便芯取下来的,绿色的)

万能板电路版15*17CM

S8550三极管一只

45V电池盒一只,导线若干

6相关程序编写

ORG 0000H;伪指令,定义下面的程序代码从地址0000H的单元存放。

LJMP START;跳转到标号为START的地方去执行。

ORG 0030H;伪指令,定义下面的程序代码从地址0030H的单元存放。

START:MOV P1,#0FEH;点亮第一个放光二极管。

CLR P2.7;送低电平到数码管,开启数码管。

MOV P0,#06H;让数码管显示“1

LCALL DELAY;调用延时子程序,起到延时的目的。

MOV P1,#0FDH;点亮第二个发光二极管。

MOV P0,#5BH;让数码管显示“2

LCALL DELAY; 调用延时子程序,起到延时的目的。

MOV P1,#0FBH; 点亮第三个发光二极管。

MOV P0,#4FH; 让数码管显示“3

LCALL DELAY; 调用延时子程序,起到延时的目的

MOV P1,#0F7H; 点亮第四个发光二极管。

MOV P0,#66H; 让数码管显示“4

LCALL DELAY;

MOV P1,#0EFH; 点亮第五个发光二极管。

MOV P0,#06DH; 让数码管显示“5

LCALL DELAY;

MOV P1,#0DFH; 点亮第六个发光二极管。

MOV P0,7DH; 让数码管显示“6

LCALL DELAY;

MOV P1,#0BFH; 点亮第七个发光二极管。

MOV P0,#07H; 让数码管显示“7

LCALL DELAY;

MOV P1,#7FH; 点亮第八个发光二极管。

MOV P0,#7FH; 让数码管显示“8

LCALL DELAY;

MOV P1,#00H;灭了所有的发光二极管。

MOV P0,#3FH; 让数码管显示“0

LCALL DELAY;

MOV P0,#06H; 让数码管显示“1

LCALL DELAY;

MOV P0,#5BH; 让数码管显示“2

LCALL DELAY;

MOV P0,#4FH; 让数码管显示“3

LCALL DELAY;

MOV P0,#66H; 让数码管显示“4

LCALL DELAY;

MOV P0,#6DH; 让数码管显示“5

LCALL DELAY;

MOV P0,#7DH; 让数码管显示“6

LCALL DELAY;

MOV P0,#07H; 让数码管显示“7

LCALL DELAY;

MOV P0,#7FH; 让数码管显示“8

LCALL DELAY;

MOV P0,#6FH; 让数码管显示“9

LCALL DELAY;

MOV P0,#77H; 让数码管显示“A”。

LCALL DELAY;

MOV P0,#7CH; 让数码管显示“B”。

LCALL DELAY;

MOV P0,#39H; 让数码管显示“C”。

LCALL DELAY;

MOV P0,#5EH; 让数码管显示“D”。

LCALL DELAY;

MOV P0,#79H; 让数码管显示“E”。

LCALL DELAY;

MOV P0,#71H; 让数码管显示“F”。

LCALL DELAY;

MOV P0,#76H; 让数码管显示“Y”。

LCALL DELAY;

MOV R4,#9;送蜂鸣器的报警次数。

L00P:SETB P2.0;不发声。

LCALL DELAY;

CLR P2.0;发声。

LCALL DELAY;

DJNZ R4,LOOP;发声九次后向下执行。

SETB P2.0;关闭发声。

LJMP START;

DELAY:MOV R7,#200;这是延时子程序。

D1:MOV R6,#200;

D2:MOV R5,#200;

D3:DJNZ R5,D3;

DJNZ R6,D2;

DJNZ R7,D1;

RET;延时子程序返回指令。

END;结束伪子令。

7.设计心得

通过这次单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。
这个设计过程中,我们通过在原有的计数器系统进行了改进,使之增添了暂停、计数、清零等的三个控制功能,使之成为一个更加适用,功能更加完备的属于自己的一个系统。设计结果能够符合题意,成功完成了此次实习要求,我们不只在乎这一结果,更加在乎的,是这个过程。这个过程中,我们花费了大量的时间和精力,更重要的是,我们在学会创新的基础上,同时还懂得合作精神的重要性,学会了与他人合作。

8.资料参考

本文来源:https://www.2haoxitong.net/k/doc/57f020ef172ded630b1cb639.html

《51单片机最小应用(交通灯控制,音乐和设计,双汉字显示屏).doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式