首页

使用8051的随机数生成器

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

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

(adsense1)

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

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

在这种情况下,计数器以高速从0增加到99。如果你按下按钮,那么液晶显示当前计数值。当计数高速递增时,8051单片机按下按钮时选择一个随机数。

相关文章:8通道测试蜂鸣器电路采用8051单片机

线路图采用8051单片机的随机数发生器

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

组件的要求

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

(adsense2)

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

电路采用8051单片机,16×2字母数字液晶显示,按钮和一些无源元件。该电路的主要部件是AT89C51单片机。

在上述电路中,两个按钮分别连接到P3.0和P3.1,其中一个按钮(Random - 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微控制器提供振荡器。

这里,一个10KΩ电位器,连接到LCD的VEE引脚,用来控制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程序员的帮助下将这个十六进制文件刻录到AT89C51微控制器上。
  3. 按电路图连接。
  4. 确保电路的电源为5V DC。
  5. 现在接通电路的电源。
  6. 您可以在LCD上观察到“随机数发生器”字符串。
  7. 然后,它会要求你按下按钮来生成一个随机数。
  8. 按下按钮,你可以在LCD上看到一个随机数。这将显示,直到您按下RST按钮(连接到P3.1)。
  9. 一旦您按下RST按钮,您将再次被要求按下按钮以生成一个随机数。
  10. 这个过程会一直持续,直到断开电源。

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

  • 该项目用于需要生成随机数的应用程序
  • 用于噪声发生器
  • 在玩大富翁、蛇梯等游戏时,项目被用作传统骰子的替代品。

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

23日回复

    1. 我想要这个随机数生成器的代码,为什么,因为我刚刚开发了它在AT89s51使用7段显示器,我想要得到这个代码,并开发一个小项目,最后添加到我的实验室为微处理器和微控制器的项目

  1. 我需要这个项目代码,因为我没有太多的时间来创建这个项目的代码,是的,我会在我的老师的帮助下在这个项目中做一些改变,这个项目似乎很感兴趣,我想我会在我的科目中取得好成绩,谢谢

  2. a)我需要这个项目代码看看如何编码随机数生成器是做的。
    b)我正在研究vhdl,所以作为一项作业,我被要求使用FPGA生成一个随机数生成器
    c)我想看看逻辑,这样我就能知道如何在vhdl中进行。

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

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

  5. 这个项目是我第三年的工程项目
    我将以"无重复数字的随机数生成"的方式进行
    所以这是不一样的,我会做一些改变。
    但我将非常感谢如果你能给我你的这个项目的基本代码....这样它就可以帮助我做修改和做我自己。谢谢你!

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

    eninthala5@gmail.com

  7. 为什么需要这个项目代码?
    你是想做同一个项目还是不同的项目?
    给我们更多关于你的项目的细节。

    我需要这个项目的代码,因为我正在为我的大学做这个项目,我试着写代码,但它不工作。如果你能帮我,我会很感激的。

    我正在尝试做同样的项目

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

    先生,麻烦您给我密码。

  8. 我的老师建议我在有限的时间内完成这个项目。这是我认为最好的一个。先生,我会对这个项目做一些改变。请把项目代码发给我

  9. a)我需要这个项目代码看看如何编码随机数生成器是做的。
    b)我正在研究vhdl,所以作为一项作业,我被要求使用FPGA生成一个随机数生成器
    c)我想看看逻辑,这样我就能知道如何在vhdl中进行。

  10. 你能详细解释代码,或者如果可能的话,请分享代码和评论,我在理解代码方面遇到了一些问题,请帮助我!!!!!!!!!!!!!!!

留下回复

你的电邮地址将不会公布。

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