首页

使用8051的随机数发生器

在这个项目中,我将解释电路并使用随机数发生器使用8051单片机即,我会告诉你如何用8051单片机产生一个随机数。

当按下按钮时,该项目生成0到100之间的随机数。这是一个简单的项目,您可能在嵌入式项目中找不到任何重要的应用程序。这个项目工作只是一个示范。

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

随机数发生器是一种物理设备,当按下按钮时,在一定限制中随机地生成一个数字。在该项目中,LCD(液晶显示器)按下按钮(连接P3.0)时随机显示数字。

在此,计数器以高速从0递增到0到99。如果按下按钮,则LCD显示当前计数值。当计数以高速递增时,8051微控制器按下按钮时选择随机数。

相关文章:8通道测验蜂鸣器电路使用8051微控制器

电路图使用8051微控制器随机数发生器

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

所需的组件

  • AT89C51(8051微控制器)
  • 8051年程序员
  • 编程电缆
  • 5 v电源
  • 16×2个字母数字LCD
  • 2陶瓷电容器 - 33PF
  • 11.0592 MHz的水晶
  • 按钮 - 3
  • 电解电容 - 10μF,16V
  • 10KΩ电阻器(1/4瓦)- 2
  • 330Ω电阻器(1/4瓦)- 2
  • 锅 - 10kΩ.
  • 1 kΩ X 8电阻包
  • 连接电线

基于8051的随机数发生器电路设计

电路采用8051单片机,16×2字母数字液晶显示器,按键和几个无源元件。该电路的主要组成部分是AT89C51单片机。

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

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

10kΩ电阻,10μF电容和按钮将向8051微控制器提供复位电路。使用两个33pf电容器以及11.0592 MHz Quarts晶体用于向8051微控制器提供振荡器。

这里,使用连接到LCD的VEE引脚的10kΩ电位器用于控制LCD的对比度。通过调节锅的电阻,我们可以改变对比度或亮度。

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

如何编写程序?

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

将计数增加到99,当计数达到100(上限)时,使计数为0并重复该过程。如果您想要扩展随机数生成器的上限,请在循环中更改值。一旦按下按钮,计数停止,当前计数值显示在LCD上。

在这个程序中,如果你想扩展随机数生成器的上限,你可以在程序中做一些小小的改变。当我们使用LCD时,可以扩展随机数生成器的上限,然而,如果您使用2个7段显示器,则不可能扩展上限(您必须增加7段显示器的数量)。

也请阅读这篇帖子电子骰子使用LED

代码

随机数发生器使用8051 - 电路仿真视频

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

  1. 首先,在KeilμVision软件中编写随机数生成器的程序,并生成十六进制文件。
  2. 现在在8051编程器的帮助下,将这个hex文件刻录到AT89C51单片机上。
  3. 按照电路图进行连接。
  4. 确保电路的电源是5V DC。
  5. 现在接通电路的电源。
  6. 您可以在LCD上观察“随机数生成器”字符串。
  7. 然后,它会要求您按下按钮生成随机数。
  8. 按下按钮,您可以在LCD上看到随机数。在按RST按钮(连接到P3.1)之前,将显示这一点。
  9. 按RST按钮后,将再次要求您按下按钮生成随机数。
  10. 此过程继续,直到关闭电源。

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

  • 这个项目用于我们需要生成随机数的应用程序
  • 用于噪声发生器
  • 项目是用来替代传统的骰子,同时玩游戏,如大富翁,蛇梯。

随机数发生器使用8051项目输出视频

23回应

    1. 我想要这个随机数发生器的代码为什么因为我刚开发的AT89s51单片机使用7-segment显示和我想要这个代码和开发miniproject最后添加到我的实验室项目为基础的微处理器和微控制器

  1. 我需要这个项目的代码,因为我没有多少时间来创建这个项目的代码,我将做出一些改变在这个项目中我的老师的帮助下,这个项目似乎非常感兴趣,我认为我将在我的主题由于得到了好成绩

  2. a)我需要这个项目代码看看如何为随机数生成器的编码是做的。
    b)我正在vhdl工作,因为我要求使用fpga生成随机数发生器的作业
    c)我想看看逻辑,以便我将有关如何在VHDL中进行的想法。

  3. 我在VHDL上工作,所以作为一个作业,我被要求使用FPGA生成随机数。我想看看微处理器的编码,这样我就可以知道如何在FPGA中进行

  4. 这是一个有趣的项目。这有助于获得使用微控制器8051的实践经验,这在欧洲经委会第四学期的课程中。

  5. 我正在为第三年工程做这个项目
    我将在没有重复数字的情况下作为'随机核肉生成'
    所以它不一样,我会做改变..
    但是,如果你能给我发给我这个项目的基本代码,我会感到懊悔......所以它可以帮助我做修改并做自己的..谢谢你

  6. 我们正在做一个小的迷你项目,其中我们需要生成0-9之间的随机数,并将其显示在一个7段显示,,,,上,所以请将各自的代码发送给我到下面的邮件中;

    eninthala5@gmail.com

  7. 为什么需要这个项目代码?
    您是否尝试制作相同的项目或不同的项目?
    请给我们更多关于你的项目的细节。

    我需要这个项目的代码,因为我正在为我的大学做这个项目,我试图写代码,但它不起作用。如果你可以帮助我,那么我会感恩。

    我也想做同样的项目

    我尝试了LCD和7段显示。这是我的小项目,我必须在2016年4月4日之前提交到我的学院,今天是2016年3月26日。所以我需要尽快的代码,以便我可以进一步工作。

    请为我提供代码先生。

  8. 我的老师建议我这个项目在有限的时间内使其成为。这是我认为最好的。先生,我将在这个项目中带来一些更改.plz向我发送项目的代码。

  9. a)我需要这个项目代码看看如何为随机数生成器的编码是做的。
    b)我正在vhdl工作,因为我要求使用fpga生成随机数发生器的作业
    c)我想看看逻辑,以便我将有关如何在VHDL中进行的想法。

  10. 您能否详细解释代码或者如果可能的话请与我面临的评论分享代码,以了解代码帮助我!!!!!!!!!!!!!!!

留下一个回复

您的电子邮件地址不会被公开。必填字段已标记

Electronicshub图标
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu