重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
如果没有外界因素介入,51 单片机是不会出现随机数的。C 语言的随机数函数,一般是从定时器取值。但是,单片机的程序是固定的,执行到 random() 时的时刻,也是固定的。
深圳网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联公司自2013年创立以来到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司。
启动定时器,需要随机数时从定时器里读一个值出来当作随机数。或者调用random()函数,不过得到的是伪随机数。
因为51单片机IO口的灌电流能力比较强,而拉电流能力比较弱(即IO口的低平驱动能力较强而高电平驱动能力较差),所以最好不要用IO高电平进行驱动。你的图就是用低电平驱动的。
你只要先定义 sbit P0^0=LED0;...一定定义下去 然后再定义一个按钮 比如P1 sbit P1^1=key;代码里写 while(true){if(key==1){LED0=0;LED1=0;..//把你要亮的灯置0就行了。
P0、P1,都是控制 LED 的?试试下面的程序:include reg5h sbit led = P1^0;sbit key = P1^7;void main(){ while(1) led = key;} P1,不知道怎么用。
C语言提供了一些库函数来实现随机数的产生。
1、使用rand函数生成随机数,rand随机生成一个位于0 ~ RAND_MAX之间的整数。如下图中,我们直接使用rand方法生成10个随机数。
2、\x0d\x0a\x0d\x0aC++中常用rand()函数生成随机数,但严格意义上来讲生成的只是伪随机数(pseudo-random integral number)。
3、c语言本身并不能产生随机数。介绍一个比较简单的随机数获取方法:启动单片机的定时器,让它自己跑不要发生溢出中断,用户操作时直接读计数器数值,那基本上就是个随机数。
下面是用C产生0-9的随机数,rand()函数产生的是伪随机数,反复调用函数rand所产生的一系列数似乎是随机的,但每次执行程序所产生的序列则是重复的。
额,其实最标准的应该把那个地方改成9-i,把没选的数字往前推,但是已经出现的过的就不必推了。。
10]里面放10个数,然后你设计一个函数,函数里随机生成一个0-9的随机数i,然后a[0]和a[i]交换,然后在你20次循环的一次循环里,跑100次这个函数,生成一组新数组。
C语言可不可以,你要汇编,可以将C语言转成汇编。