随机数生成器使用8051

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

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

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

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

在这种情况下,计数器以高速从0增加到99。如果按下按钮,LCD将显示当前的计数值。当计数以高速递增时,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-
  • 锅- 10 kΩ
  • 1K.Ω×8电阻包
  • 连接电线

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

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

在上述电路中,两个按键分别连接到P3.0和P3.1,其中一个按键(Random - P3.0)产生随机数,另一个按键(RST - P3.1)复位计数。

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

一个10KΩ电阻器、一个10μF电容和一个按钮将为8051单片机提供复位电路。两个33pF电容和一个11.0592 MHz夸脱晶体用于为8051微控制器提供振荡器。

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

注意:如果要减少LCD的数据行,则可以使用4位模式。

随机数字生成器使用8051图像1
随机数字生成器使用8051图像2
随机数字生成器使用8051图像3

如何写程序?

现在,让我们来看看如何编写使用8051微控制器的随机数生成程序。最初,取整数类型的计数变量并初始化在8位模式下LCD。现在采取的无限while循环永远重复的程序。在该无限while循环取,直到按钮被按下时(通过while循环使用另一个)递增整数的值。

递增计数到99,并且当计数达到100(上限值),使计数为0,并重复该过程。如果你想延长随机数发生器的上限,改变循环的价值。一旦该按钮被按下时,停止计数和当前计数值被显示在LCD上。

在这个程序中,如果你想扩展的随机数生成器可以使程序变化不大的上限。由于我们使用LCD也能够延长随机数发生器的上限,而这是不可能如果使用2台七段显示器(你必须增加7段显示器的数量以及)延长上限。

还阅读了帖子 -使用led的电子骰子

代码

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

如何利用8051来操作随机数生成器电路?

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

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

  • 这个项目用于我们需要生成随机数的应用程序
  • 用于噪声发生器
  • 项目被用作传统骰子的替代品,同时在像垄断,蛇梯子这样的游戏时。

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

22日回复

    1. 我想用7段显示器获得这个随机数生成器,为什么,因为我刚刚开发它AT89S51的代码,我希望得到这个代码,并开发出miniproject最后添加到我的基于实验室的项目微处理器和微控制器

  1. I need this project code because i don’t have much time to create the code for this project and yes i will make some changes in this project with the help of my teacher this project seems to be very interested and i think i will got good grade in my subject thanks

  2. 一)我需要这个项目的代码看怎么对随机数生成器的编码完成。
    b)我在vhdl上工作,所以作为一个任务,我被要求使用FPGA生成一个随机数生成器
    我想看看逻辑,这样我就能知道如何在vhdl中进行。

  3. 我工作的VHDL,这样的分配我问生成采用FPGA的随机数。我希望看到在微处理器上的编码,这样我可以得到关于如何在FPGA进行一个想法

  4. 它的一个有趣的项目。它有助于获得与微控制器8051是有在ECE流中的第4个学期的课程实际上做的经验。

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

  6. 为什么需要这个项目代码?
    你是想做相同的项目还是不同的项目?
    向我们提供有关您项目的更多详细信息。亚博彩票下载

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

    我试图做同样的项目

    我尝试使用LCD和7段显示。这是我在2016年4月4日之前在我的大学提交的Mini项目,今天是2016年3月26日。所以我需要尽快提出代码,以便我进一步努力。

    请给我密码,先生。

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

  8. 一)我需要这个项目的代码看怎么对随机数生成器的编码完成。
    b)我在vhdl上工作,所以作为一个任务,我被要求使用FPGA生成一个随机数生成器
    我想看看逻辑,这样我就能知道如何在vhdl中进行。

  9. 请把代码发给我....我有一个小项目,我想把这个项目作为我的小项目

发表评论

您的电子邮件地址将不会被公布。必需的地方已做标记*