单片机c语言随机数的产生,基于51单片机随机数产生.doc

本文介绍如何在51单片机上利用定时器和中断产生随机数,并展示详细的设计方案和硬件电路。电路中使用74ls595驱动数码管显示随机数,同时提供操作按键预设上限值并存储于24c02中。软件部分包含初始化、数码管显示及中断处理等函数,实现了随机数的生成与显示功能。
摘要由CSDN通过智能技术生成

基于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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值