当前位置:首页 > 单片机 > 单片机
[导读] 一、确定任务开发单片机最小系统二、任务分析:该系统具有的功能:(1)具有2位LED数码管显示功能。(2)具有八路发光二极管显示各种流水灯。(3)可以完成各种奏乐,报警等发声音类实验。(4)具有复位功

一、确定任务
开发单片机最小系统
二、任务分析:
该系统具有的功能:
(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(三节电池)的电源,可以调试本系统,如果没有错误就可以正常工作了。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Holtek隆重推出全新一代32-bit Arm® Cortex®-M0+ 5V CAN MCU - HT32F53231/HT32F53241/HT32F53242/HT32F53252。这一系列单片机带有来自Bosc...

关键字: MCU 工业自动化 单片机

Holtek精益求精,宣布推出全新5V宽电压Arm® Cortex®-M0+ 32-bit MCU系列HT32F50431/HT32F50441/HT32F50442/HT32F50452。此系列MCU经多方位升级能满...

关键字: 单片机 智能家居 工业控制

单片机小精灵是一款针对单片机开发者的辅助工具,它集成了代码编辑、编译、调试等多项功能,旨在帮助开发者更加高效地进行单片机项目的开发。本文将详细介绍单片机小精灵的使用方法,帮助读者快速掌握这款工具,提高开发效率。

关键字: 单片机 代码编辑 辅助工具

单片机和PLC将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对二者的相关情况以及信息有所认识和了解,详细内容如下。

关键字: PLC 单片机

在这篇文章中,小编将对单片机的相关内容和情况加以介绍以帮助大家增进对单片机的了解程度,和小编一起来阅读以下内容吧。

关键字: 单片机 芯片 集成电路

一直以来,单片机都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来单片机的相关介绍,详细内容请看下文。

关键字: 单片机 控制器

今天,小编将在这篇文章中为大家带来STM32单片机最小系统的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。

关键字: 单片机 单片机最小系统 STM32

51单片机将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对51单片机的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 单片机 51单片机

在这篇文章中,小编将对单片机最小系统的相关内容和情况加以介绍以帮助大家增进对它的了解程度,和小编一起来阅读以下内容吧。

关键字: 单片机 单片机最小系统

一直以来,单片机都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来单片机的相关介绍,详细内容请看下文。

关键字: 单片机 芯片
关闭
关闭