如何开发出单片机最小系统

饲料原料 侠客 浏览 当前位置:主页 > 饲料原料 > >正文

小编:一、确定义务 开拓 单片机 最小系统 二、义务阐发: 该系统具有的功能: (1)具有2位LED数码管显示功能。 (2)具有八路 发光二极管 显示各类流水灯。 (3)可以完成各类吹打,报

一、确定义务

开拓单片机最小系统

二、义务阐发:

该系统具有的功能:

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

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

(3)可以完成各类吹打,报警等发声音类实验。

(4)具有复位功能。

三、功能阐发

(1)两位LED数码管显示功能,我们可以使用单片机的P0口接两个数码管来现这个功能;

(2)八路发光二极管显示可以使用P1口接八个发光二极管实现这个功能;

(3)各类吹打、报警等发声功能可以采纳P2.0这个引脚接一蜂鸣器来实现。

(4)使用单片机的第9脚可以设计成复位系统,我们采纳按键复位;使用单片机的18、19脚可以设计成时钟电路,我们使用单片机的内部振荡要领设计的。

四、设计框图

五、硬件电路设计

根据本系统的功能,和单片机的事情前提,我们设计出下面的电路图。

六、元件清单切实着实定:

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

电解电容:10UF的一只

30PF的电容2只

220欧的电阻9只

4.7K的电阻一只

1.2K的电阻一只

4.7K的排阻一只,

12MHz的晶振一只

有源5V蜂名器一只

AT89S51单片机一片

常开按钮开关1只

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

发光二极管(5MM血色)8只

万能板电路版15*17CM

S8550三极管一只

4.5V电池盒一只,导线多少。

七、硬件电路的焊接

按照道理图把上面的元件焊接好,具体步骤省略。

八、相关法度榜样编写

针对上面的电路道理图,设计出本系统的具体功能:

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

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

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

以上呈现的是流水灯的效果

(4)、所有的发光二极管灭了,同时数码管现实“0”。

(5)、数码管显示“1”。

(6)、数码管显示“2、……”直到“9、A、B、C、D、E、F、Y”。

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

(8)法度榜样如下:

ORG 0000H;伪指令,定义下面的法度榜样代码(机械代码)从地址为0000H的单元寄放。

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

ORG 0030H;伪指令,定义下面的法度榜样代码(机械代码)从地址为0030H的单元寄放。

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

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

CLR P2.6 ;送低电平到第二个数码管,开启数码管。

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,#6dH;让数码管显示“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 R4,#9;送蜂鸣器的报警次数。

LOOP:SETB P2.0;不发声

LCALL DELAY;调用延时子法度榜样,起到延时的目的。

CLR P2.0;发声。

LCALL DELAY;调用延时子法度榜样,起到延时的目的。

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

SETB P2.0;关闭发声

LJMP START;跳转到标号为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;停止伪指令。

九、使用KEIL C51 软件对上面的法度榜样进行调试和编译,孕育发生*.HEX文件,以便用编程器写入单片机芯片中。

十、编程器的应用:用编程器把电脑里天生的*.HEX文件写到芯片中。

十一、产品调试:通上4.5V(三节电池)的电源,可以调试本系统,假如没有差错就可以正常事情了。

当前网址:http://zhijian.org/a/siliaoyuanliao/45.html

 
你可能喜欢的: