使用8051单片机的随机数发生器

时间:2023-03-27来源:电子产品世界

在这个项目中,我将解释使用8051单片机生成随机数的电路和工作,即我将告诉你如何使用8051单片机生成一个随机数。

这个项目在按下按钮时产生一个0到100之间的随机数。这是一个简单的项目,你可能在嵌入式项目中找不到任何严肃的应用。该项目工作只是一个示范。

如何编写程序?

代码

随机数发生器是一种物理设备,当按下一个按钮时,在一定范围内随机产生一个数字。在这个项目中,当按下按钮(连接P3.0)时,LCD(液晶显示器)会随机显示数字。

在这个项目中,计数器以高速从0到99递增。如果你按下按钮,那么LCD就会显示当前的计数值。由于计数器高速递增,8051单片机在按下按钮时选择一个随机数字。

使用8051的随机数发生器电路图

Random Number Generator using 8051 Circuit Diagram

所需元件

AT89C51 (8051单片机)

8051编程器 

编程电缆

5V电源

16×2字母数字LCD

2个陶瓷电容 - 33pF

11.0592MHz晶体

按键 - 3

电解电容 - 10μF, 16V

10KΩ 电阻器(1/4瓦) - 2个

330Ω 电阻器(1/4 瓦) - 2

波特 - 10KΩ

1KΩ X 8 电阻器包

连接导线 

使用8051的随机数发生器的电路设计 

该电路使用8051微控制器,16×2字母数字液晶显示器,按钮和一些无源元件。这个电路的主要部件是AT89C51微控制器。

在上述电路中,两个按钮被连接到P3.0和P3.1,其中一个按钮(Random - P3.0)将产生随机数,而另一个按钮(RST - P3.1)将重置计数。

LCD的数据引脚连接到微控制器的PORT2,控制引脚RS、RW、En分别连接到P2.0、GND和P2.1。这里,LCD是以8位模式连接的,这就是为什么我们需要使用LCD的所有数据引脚。

一个10KΩ电阻,一个10μF电容和一个按钮将为8051微控制器提供复位电路。两个33pF的电容和一个11.0592MHz的夸特晶体被用来为8051微控制器提供振荡器。

在这里,一个10KΩ的电位器被连接到LCD的VEE引脚,用来控制LCD的对比度。通过调整电位器的电阻,我们可以改变对比度或亮度。

注意:如果你想减少LCD的数据线,你可以使用4位模式。

Random Number Generator using 8051 Image 1

Random Number Generator using 8051 Image 2

Random Number Generator using 8051 Image 3

如何编写程序?

现在让我们看看如何使用8051单片机编写随机数发生器的程序。首先,取一个整数类型的计数变量并在8位模式下初始化LCD。现在用一个无限的while循环来永远重复程序。在这个无限的WHILE循环中,增加整数的值直到按钮被按下(通过使用另一个while循环)。

递增到99,当计数达到100(上限)时,使计数为0并重复这一过程。如果你想扩大随机数发生器的上限,可以在循环中改变数值。一旦按下按钮,计数就会停止,并在LCD上显示当前的计数值。

在这个程序中,如果你想扩大随机数发生器的上限,你可以在程序中做一些小小的改动。由于我们使用的是LCD,所以有可能扩展随机数发生器的上限,而如果使用2个七段显示器,则不可能扩展上限(你也必须增加七段显示器的数量)。

代码

如何使用8051操作随机数发生器电路?

首先,在Keil μVision软件中编写随机数发生器的程序,并生成hex文件。

现在,在8051编程器的帮助下,将这个十六进制文件刻录到AT89C51微控制器上。

按照电路图的要求进行连接。

确保电路的电源是5V直流。

现在打开电路的电源。

你可以在LCD上看到 "Random Number Generator "字符串。

然后,它将要求你按下按钮来生成一个随机数。

按下按钮,你可以在LCD上看到一个随机数。这将一直显示到你按下RST按钮(连接到P3.1)。

一旦你按下RST按钮,将再次要求你按下按钮生成一个随机数。

这个过程一直持续到你关闭电源。

使用8051电路的随机数发生器的应用

这个项目用于我们需要生成随机数的应用中

用在噪声发生器中

在玩大富翁、蛇梯等游戏时,项目被用作传统骰子的替代品。

关键词: 8051 随机数发生器 单片机

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版