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

发布时间:2023-03-27  

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

本文引用地址:

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

如何编写程序?

代码

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

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

使用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电路的随机数发生器的应用

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

用在噪声发生器中

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

文章来源于:电子产品世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>