(1)rand()函数产生一个0到RAND_MAX之间的整数,产生的是伪随机数,RAND_MAX>=32767,
i=rand();
i=1+rand()%data//产生1—data之间的随机数
(2)srand()函数产生不同的随机数序列,unsigned类型整数作为参数为函数rand设置随机数种子,种子不同,rand()函数得到随机数就不同。
srand(unsigned int i);
e.g.
#include
#include
main()
{
int i;
unsinged seed;
printf("Enter seed:");
sCANf(seed);//键盘输入种子值,把该值设置为随机数种子。
//srand(time(NULL));//使计算机读取其时钟值,把该值自动设置为随机数种子。
for(i=1;i<=50;i++)
printf("%d",1+rand()%6);//产生1—6的随机数
}
关键字:C51 产生随机数
引用地址:
C51学习心得体会,产生随机数
推荐阅读最新更新时间:2024-03-16 15:51
C51按键识别,等待释放
#include reg51.h unsigned char val; unsigned char i,j,k; sbit k1=P3^4; void delayms(int ms) // 1ms { unsigned char i,j; for(;ms 0;ms--) for(i=6;i 0;i--) for(j=82;j 0;j--); } void main() { val=0xff; while(1) { if(k1==0) { delayms(10); if(k1==0) { P0=val; val--; } while(k1==0); //等待按键释放,要按信一直减,取消这一句即可 } }
[单片机]
c51 T2中断程序
//T2中断程序 #include stdio.h #include reg52.h main() { RCAP2H=(65536-50000)/256; /*T2自动重载方式,定时t=50ms,当f=12MHZ,定时常数 TC=2^L-t*10^3,此处10进制表示, */ RCAP2L=(65536-50000)%256; EA=1; //总中断允许 ET2=1; //T2开中断 TR2=1; //t2启动 while(1) { } //等待 } void time2() interrupt 5 //T2中断程序, { TF2=0; //T2中断
[单片机]
c51单片机之利用外部中断实现数字时钟,且具有调时功能
仿真图: 代码段: /*整体功能:用八位共阳极数目管作电子时钟显示,并用key0位控制进行时分秒位的选择,当按一次时代表选中时位,两次选中分位,三次选中秒位,第四次取消选中时钟正常运行 且选中时该位的小数点会亮代表该位已被选中;key1按键用来对位进行加一操作,key2用来对位进行减一操作*/ #include reg52.h #define uint unsigned int //重定义,方便使用 #define uchar unsigned char sbit key0=P3^1; //位定义,此处赋予key0设置功能,通过对key0的操作来选中时钟的三个位 sbit key1=P3^2; //赋予
[单片机]
学C51的基础 9 《 指针、结构、联合和枚举 》
指针、结构、联合和枚举 本节专门对第二节曾讲述过的指针作一详述。并介绍Turbo C新的数据类型: 结构、联合和枚举, 其中结构和联合是以前讲过的 五种基本数据类型(整型、浮点型、字符型、指针型和无值型)的组合。枚举是一个被命名为整型常数的集合。最后对类型说明 (typedef)和预处理指令作一阐述。 指 针(point) 学习Turbo C语言, 如果你不能用指针编写有效、正确和灵活的程序, 可以认为你没有学好C语言。指针、地址、数组及其相互 关系是C语言中最有特色的部分。规范地使用指针,可以使程序达到简单明了, 因此, 我们不但要学会如何正确地使
[单片机]
基于C51单片机的手动计数器设计电路图
利用 AT89S51 单片机来制作一个手动计数器,在 AT89S51 单片机的 P3.7 管脚接一个轻触开关,作为手动计数的按钮,用单片机的 P2.0 - P2.7 接一个共阴数码管,作为00-99计数的个位数显示,用单片机的 P0.0 - P0.7 接一个共阴数码管,作为 00 - 99 计数的十位数显示;硬件电路图如图所示。 1 . 把 “ 单片机系统 ” 区域中的 P0.0/AD0 - P0.7/AD7 端口用 8 芯排线连接到“ 四路静态数码显示模块 ” 区域中的任一个 a - h 端口上;要求: P0.0/A D0对应着 a , P0.1/AD1 对应着 b , …… , P0.7/AD7 对应着 h 。
[单片机]
C51单片机计数器实验
实验要求 实现一个秒表显示器,具体的画一个MSC51单片机、2个八段数码管,运行后数码管依次显示00-59,循环显示,到59后跳变回。 必须用到中断,T0还是T1不限,方式0,1,2不限。 代码部分 #include reg51.h unsigned char code table ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char second=0; bit a=0; char t=0; int0_srv() interrupt 1{ t++; if(t==20){t=0;a=1;} TH0=0x3c; TL0=0xb
[单片机]
C51学习心得体会,产生随机数
(1)rand()函数产生一个0到RAND_MAX之间的整数,产生的是伪随机数,RAND_MAX =32767, i=rand(); i=1+rand()%data//产生1—data之间的随机数 (2)srand()函数产生不同的随机数序列,unsigned类型整数作为参数为函数rand设置随机数种子,种子不同,rand()函数得到随机数就不同。 srand(unsigned int i); e.g. #include stdlib.h #include stdio.h main() { int i; unsinged seed; printf( Enter seed: ); s CAN f(seed);//键盘输入种子
[单片机]
利用全局及外部变量实现C51无能数化调用A51函数
摘要: 利用C51全局及外部变量,可实现无参数化调用A51函数,不但避免开了传统C51调用C51时繁琐的接口约定,而且把在A51中所用到的变量全部放至C51程序中而不必考虑变量在内存中的位置,使编程更加简洁。用实例验证了该方法的优越性和有效性。 关键词: C51 A51 汇编语言 无参数化调用 电子技术应用 2001年第7期发表苟帅的文章“ASM51无参数化调用C51函数的实现”,阐述了ASM51无参数化调用C51函数的实现原理并给出实例来验证该方法的优越性和可行性。作者在文章中
[传感技术]