基于51单片机随机数产生
基于51单片机随机数产生
功能:可以根据需要产生给定范围内的任何数字(0--999),显 示 于数码管上。
设计方案:利用51单片机内部的定时器与中断结合,来模仿随机数的产生;单片机编程上电后,定时器便启动开始计数,计数范围可以 预先设置,其设置的上限值被储存在24c02中;当中断0口产生低电平,进入中断函数读取定时器所跑的数值,经处理送入数码管显示。
二:电路的硬件
电路搭建如下图,这里我们采用74ls595来驱动数码管,另外,为了防止电流过大这里串联一个75欧电阻用于限流;当操控"启动"按键后,三个数码管开始跑数字,操控“选择”锁定当前显示的数字,达到随机数产生的目的;考虑到,不同的人对随机数产生的范围要求不同,这里,通过操控“储存,加1,加10,”预设的上限值存储在24c02中。
三:软件设计
#include
#include
#define uchar unsigned char
#define uint unsigned int
#define delay _nop_() /* 定义空指令 */
sbit ds0= P2^0; //74ls595移位寄存器
sbit st0=P2^1;
sbit sh0=P2^2;
sbit ds1= P2^3;
sbit st1=P2^4;
sbit sh1=P2^5;
sbit d