Design of six bit random number generator based on single chip microcomputer
School of Electronic amp; Information Engineering, Foshan University, Foshan, Guangdong, China
Abstract:This paper introduces the design of intelligent universal random data generation system based on MC51 single chip microcomputer. The system uses the method for srand function as the “seed” of rand function, so that it can avoid the random number sequence taken out every time is completely the same when the systems is re-run at a time, and can get relatively true random number. The output display of the random number is performed by 74HC595 components to achieve series in/ parallel out, and simulate manual extraction method.generated a random number. The system generating random number is simple and reliable, and the software and hardware are highly versatile.
Keywords :SCM; Random Number; Series In/Parallel Out; Display
SECTION I.
Introduction
The Random number has been widely used in the simulation, sampling, numerical analysis, the computer program design, decision-making, aesthetics, and entertainment. The most important characteristic of a random number is that the number of the following is nothing to do with the number in front of it. The common random number generator has two kinds: the pseudo-random number generator using mathematical algorithm and the true random number generator based on physical random quantity as generating source. To facilitate access to the random number, often use hardware random number generator to obtain. In 51 practical applications, the following methods are often used to generate a pseudo-random number.1) Start the timer/counter, at a time from the timer/counter count register TH or TL to read the current value, the value as a random number of the moment. The advantage of this method is simple, from large-scale repeat the experiment to see this value is akin to a random number; defect is take up a timer/counter, and from the short time to see the value of random number is increasing, there are rules to follow. Using the rand function of “stdlib. H” library, generates a pseudo-random number. The advantage of this approach is not to take up hardware resources, and in a short period of time to see these random numbers is approximate random values; the disadvantage is that from the long time to see the value of these random numbers is a rule to follow. The random number obtained with the rand function is a pseudorandom number, it behaves as per section 51 microcontroller code, and rerun every time, its take out random number sequence is exactly the same, to avoid this situation, this design use srand function to initialize the rand function. Input value of the srand function is an integer that rand as a “seed” exist when the seed is not the same, the random number sequence generated by the rand function is different, the rand function can be seen as “0” always initialized by the seeds. If the instance use fixed number to initialize the rand function, it is not a true random number sequence, if you want to get a true random number sequence can read SCM external clock, use the time as the seed to the rand function, initialization, then you can get a true random number. If there is no external clock, you can start a timer/counter inside, read the timer/counter data register value to initialize rand function, which can be compared to “random” pseudo random number
SECTION II.
System Design
A. Hardware Circuit
The random data generation system based on single chip microcomputer is a system can be in the controllers control, choose 6 digit integer random integer, and can be displayed out. The hardware circuit principle of the single chip microcomputer random data generation system is shown in Figure1, which is mainly composed of 51 single chip microcomputer, the user input module and display module, elaborate on its parts as follows::51 single chip microcomputer: the core controller of random data generation system. User input module, user start/stop to generate random number, and give the random number generation system to provide the relevant random number selection. Display module: show the results of random number. With 51 SCM P2 and P3 port the extension of six 74HC595 are needed for the digital tube display of the random number, and to the realize random digits series in/parallel out. Using a separate keys to the external interrupt 0 pins, as a start/stop the random control, using P1 port for extending a DIP switch, as “seed” control parameters of the system
Figure 1.The hardware principle circuit of generating random number
1) 51 SCM External Interrupt
51 SCM built-in a complete interrupt system, including two external interrupt, a serial port interrupt and two to three Timer/Counter interrupt, the rational use of these interrupts can let single-chip microcomputer application system in a timely manner to some external or internal events to respond.51 microcontroller external interrupt module is composed of interrup
剩余内容已隐藏,支付完成后下载完整资料
本科生毕业论文(设计)
基于单片机的六位随机数字生成器的设计
外文翻译
基于单片机的六位随机数字生成器的设计
中国广东省佛山市佛山大学电子信息工程学院。
摘要:本文介绍了基于MC51单片机的智能通用随机数据生成系统的设计。该系统将srand函数作为rand函数的“种子”,使系统每次重新运行时避免随机数序列的发生完全相同,并且可以得到相对真实的随机数。该随机数的输出显示由74HC595组件完成,以实现/并行输出,并模拟人工抽取方法。生成一个随机数。生成随机数的系统简单可靠,软件和硬件都是多功能的。
关键词:单片机;随机数;串联/并联;显示
1.介绍
随机数在仿真、采样、数值分析、计算机程序设计、决策、美学和娱乐等方面得到了广泛的应用。随机数最重要的特征是,下面的数字与前面的数字无关。常见的随机数生成器有两种:一种是利用数学算法的伪随机数生成器,另一种是基于物理随机数生成源的真随机数生成器。为了便于访问随机数,经常使用硬件随机数生成器获取。在51个实际应用程序中,通常使用以下方法生成一个伪随机数。1)启动定时器/计数器,从定时器/计数器计数寄存器TH或TL来读取当前值,值为随机数字。该方法的优点是简单,从大规模重复实验来看,该值类似于随机数;缺陷是占用一个计时器/计数器,从短时间内看到随机数的值在增加,有规则可循。使用“stdlib”的rand函数。H“库,生成一个伪随机数。这种方法的优点是不占用硬件资源,在短时间内可以看到这些随机数是近似随机值;缺点是,从长远来看,这些随机数的价值是一个规律。用rand函数获得的随机数是一个伪随机数,它的行为与第51条单片机代码一样,每次运行时,其取出随机数序列是完全相同的,为了避免这种情况,该设计使用srand函数来初始化rand函数。srand函数的输入值是rand作为“种子”存在的整数,当种子不相同的时候,由rand函数生成的随机数序列是不同的,rand函数可以被视为“0”,总是由种子初始化。如果实例使用固定数量兰德函数来初始化,它不是一个真正的随机数序列,如果你想获得一个真正的随机数序列可以读取单片机外部时钟,使用时间作为种子rand函数,初始化,然后你可以得到一个真正的随机数。如果没有外部时钟,您可以在内部启动一个计时器/计数器,读取计时器/计数器数据寄存器值来初始化rand函数,这可以与“随机”伪随机数进行比较。
- 系统设计
2.1 硬件电路
基于单片机随机数据生成系统是一个系统可以在控制器控制中,选择6位整数随机整数,并可以显示出来。单片机随机数据生成系统硬件电路原理如图1所示,主要由51个单片机、用户输入模块和显示模块组成,详细阐述了其各部分:51单片机:随机数据生成系统核心控制器。用户输入模块,用户启动/停止生成随机数,并给随机数生成系统提供相应的随机数选择。显示模块:显示随机数的结果。采用51单片机P2和P3端口,对随机数字的数字管显示需要扩展6 74HC595,并实现/并联的实现随机数字序列。使用一个单独的键到外部中断0引脚,作为开始/停止随机控制,使用P1端口扩展一个DIP开关,作为系统“种子”控制参数。
图1产生随机数的硬件原理电路
2.2 51单片机外部中断
51单片机内置一个完整中断系统,包括两个外部中断,一个串口中断和2到3个定时器/计数器中断,这些中断的合理使用可以让单片机应用系统及时地对一些外部或内部事件做出响应。51单片机外部中断模块由中断系统和外部引脚组成,P3端口的P3.2和P3.3引脚作为外部信号的输入引脚。TableI是51单片机中断控制寄存器(启用寄存器中断)的内部结构,可以处理该寄存器,寄存器的相应位可以设置为1或0,对应的中断操作。
从表1可以看出,如果要启用外部中断,则需要让IE寄存器EA位和EX1/EX0位设置为“1”。在51单片机操作中,要求使用51单片机中断优先级判断系统,首先决定中断事件响应。在处理中断优先级SCM中,SCM遵循两个原则:1)高优先级中断可中断请求,而不是低优先级中断,反之亦然。在相同的中断级别,一旦接收到响应,然后屏蔽相同级别的中断屏蔽,也就是说,同样的优先级中断不能再次触发中断。可以使用中断优先级控制寄存器IP(中断优先级寄存器)来增加中断的优先级,以便在多个中断同时发生时,首先处理中断的目的。在51单片机的外部中断进入和INT 1之后,有两个触发模式,一个是下降的边缘触发器,另一个是低级触发器,可选择这两种方式。定时器/计数器控制寄存器TCON(定时器/计数器控制寄存器)相关位设置为开关,当IT0/IT 1被设置为1时,它在pin上下降的边缘触发,或者在pin上的低水平触发。
表1中断控制寄存器的内部结构
2.3 51单片机定时器/计数器
51单片机内部集成了两个16位定时器/计数器T0和T1,可用于计时和计数操作,一些51单片机模型,还有第三个T2和略不同于前两个定时器/计数器到相关寄存器的操作,51单片机实现控制的定时器/计数器T0和Tl,这些寄存器包括工作模式寄存器TMOD,控制寄存器TCON,T0数据寄存器TH0和TLO,Tl数据寄存器,TH1和TL1。TMOD是定时器/计数器工作寄存器,地址是Ox89。它不支持位寻址,5 1微控制器重置初始值将重置所有位。TCON是一个计时器/计数器控制寄存器,地址0x88, TCON的内部结构见表II,初始值使所有位在微控制器复位后清除。数据寄存器TH0, TLO, TH1, TL1用于存储计数值。当计时器/计数器接收到一个驱动事件(计时器计数器)时,数据寄存器 1的内容,当数据寄存器的值达到最大值时,它会在51个微控制器复位后产生溢出中断,所有寄存器都初始化为0x00,这些寄存器没有位址。51单片机定时器/计数器T0和T1在Ml和M0中间的TMOD寄存器中有4种工作模式,这两个部分可以决定。
工作方法0和工作模式1:当M1M0= 00时,T0/T1运行于工作模式0,内部计数器由TH0/ TH1的8位和TL0/TL1的低5组成,由13位计数器组成。当TL0/TL1溢流将进入THO/TH1时,当TH0/ TH1溢出产生相应的溢出中断时,通过GATE bit,就可以确定驱动事件的源。当M1M0 = 01时,T0/T1在工作模式1中运行,其内部计数器由TH0/ TH1和TLO/TLl的16位计数器组成,其溢出方式和驱动事件源与工作模式0相同。当51单片机接收到驱动器事件计数器加1时,当计数器溢出时相应的中断问题产生。在计时模式模式下,定时器/反驱动事件作为单片机的机器周期,即1/12的外部时钟频率,根据工作模式0下定时器的工作原理,工作模式1可以计算出最长的时间长度T。
T=213/16times;12times;1FDSC(1)
使用定时器/计数器数据寄存器的方法,可以让定时器/计数器将定时器的长度任意地从0取到时间的最大长度,为N的初始化值计算。
N=Ttimes;FDSC213times;16times;12(2)
工作模式0和工作模式为定时器/计数器1,没有自动重新加载初始化的函数值,如果它想周期确定的时间长度,必须重新初始化数据寄存器之前每个启动计时器,通常在中断服务程序中完成这项工作。
工作模式2:M1M0=10,T0/T1工作模式2。定时器/计数器工作模式2和前两种工作模式非常不同,8位计数器的初始值可以在工作模式下自动重新加载。工作模式2,TL0 / TL1作为一个独立的8位计数器和TH0 /TH1用于存储时间常数当T0/T1溢出中断初始化值TH0/自动加载到TL0 TH1/TL1,这种方法可以大大减少程序的工作量,但时机长度是大大减少,因此,只能在短时间内重复使用时间或用作串口波特率发生器。
工作模式3:M1M0=11时,T0在工作模式3工作。在工作方式3中,T0被分割为两个独立的8位计数器TH0和TLO, TLO使用自己控制和中断资源,而TH0占用T1 TR1和TF1作为启动控制位和溢出标志。在这种情况下,T1将停止运行,而数据寄存器将保持其当前值,因此,将T0设置为工作模式3时,可以将bit TR1重置为关闭T1计时器/计数器。当EA,ET0 / ET1在51单片机中断控制寄存器即是设置为1时,计时器T0启用/ T1中断,在这种状态下,如果定时器/计数器T0 / T1计数溢出事件出现,可以触发定时器/计数器中断事件,通过修改PT0 / PT1中断优先级寄存器IP改善定时器/计数器中断优先级。
表2操作控制寄存器
2.4 74 hc595
如果51单片机串行模块需要其他用途(例如,如与PC通信),则可以使用51单片机普通I/O pin扩展移位寄存器来完成端口的扩展,最常见的扩展芯片是74HC595。74 hc595和74 hc164 SCM系统中使用的是最常见的芯片,它的作用是变频器串行信号到一个并行信号,用于各种数码管、点阵屏驱动芯片,使用74 hc595可以节省单片机IO端口资源,有三个I / O可以控制8针数码管。它也有一定的驱动能力,可以不用三极管放大电路,所以这种芯片是驱动数字管的主要设备,应用非常广泛,图2是74HC595和单片机连接原理图。
2.5 电源的噪声干扰
随着电子设备、计算机和家用电器的迅速普及和普及,电网的噪声干扰越来越严重,引起了公害。这种干扰导致了电子设备的故障。特别是瞬态噪声干扰,其速度快、持续时间短、电压范围高(几百伏到几千伏),且随机性强,会对数字电路造成严重干扰,因此设计必须考虑。电源的噪声干扰是一种电磁干扰,传输噪声的频谱约为10kHz~30MHz,最大值为150MHz。根据传输的不同方向,电源的噪声可分为两类:一是电源线路引入的外部干扰,另一种是由电子设备产生的噪声,由电源线传输的噪声。这表明噪声是一个双向干扰信号,电子器件是噪声干扰的对象,也是噪声源。在形成特征方面,有两种噪声干扰,即串联模式干扰和共模干扰,串联模式干扰是两种电源线之间的噪声,而共模干扰是两种电源线对地球的噪声。因此,电磁干扰滤波器应满足电磁兼容的要求,还必须是一个双向射频滤波器,一方面来过滤掉外部电磁干扰从交流电源行介绍,另一方面可以避免设备本身外界噪声干扰,以免影其他电子设备的正常运行与电磁环境。此外,电磁干扰滤波器应该在抑制串行和共模干扰方面发挥作用。
图2 74HC595和单片机连接原理图
EMI滤波器,又称功率噪声滤波器,是近年来广泛使用的一种抗电磁干扰电路。它能有效地抑制电网噪声,提高电子设备的抗干扰能力。因此,它可以广泛应用于开关电源、电子测量仪器、计算机开发电路等领域。电磁干扰滤波器的基本电路如图所示。5终端电路由两个输入、两个输出和一个接地端子组成。使用时,外壳应与地面相连。该电路包括一个共模扼流圈(也称为共模电感),L,滤波电容C1~C4。L不适用于串联模态干扰,但当共模干扰发生时,由于两个线圈的磁通量方向相同,耦合后总电感增加很快,所以共模信号具有较大的电感。这是不容易通过的,所谓的共模扼流圈,它的两个线圈是绕低损耗,高渗透铁氧体珠,当有电流通过时,线圈上的磁场会互相加强。L的电感与EMI滤波器的额定电流有关。当额定电流较大时,共模扼流圈的线径相应增大,从而能够承受较高的电流。此外,适当增加电感可以提高低频衰减特性。C1和C2使用薄膜电容器,以及他们的能力范围是0.01 ~ 0.47micro;F,主要是用来过滤掉串模干扰。C3和C4通过输出端连接,电容器的中性点接地,从而有效抑制共模干扰。C3和C4也可以连接在平行输入,应该使用陶瓷电容,容量范围是2200 pf ~ 0.1micro;f .降低泄漏电流,电容不应超过0.1micro;f和电容器的中点应与大地相连
图3 电磁干扰滤波器的基本电路
3软件设计
3.1 主程序设计
主要程序主要是发挥指导和决策功能,控制程序。系统的主程序采用模块化结构,对所有集中控制进行处理,提高了处理效率。在RAM中建立了控制量的映射,方便了每个函数模块的编程和修改,并且可以在不干扰干扰的情况下实现块函数模块的结构。软件模块按功能划分,以子程序的形式进行设计,对每个功能进行调用,对模块功能模块的结构进行调整,不干扰干扰。软件模块按功能划分,以子程序的形式设计,每个功能调用程序,每个模块的功能都是清晰的。整个软件包括一个输入模块、一个随机 数生成模块、显示模块、控制模块等,如图所示的流程图。
图4 程序流程图
3.2 停电保障
电力瞬时功率或电压的突然下降,将使计算机系统陷入混乱,当电网电压恢复时,很难恢复微机系统的正常状态,这类事故
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[21925],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。