请问怎么在MPLAB + PICC9.8开发平台下随机取数,知道的友友麻烦指点一二啦,谢谢……

2020-02-08 09:21发布

我正在做PIC芯片开发,想知道:如何在限定的范围内随机取数?
例如:在0~9中随机取1个值。

在《PIC单片机的HT-PICC语言编程指南》文档中找到以下两个函数,但具体不知道怎么编程,想大家给个程序参考下,或者说说解决方法。。。谢谢了!






rand()函数用来产生一个随机数数据。它返回一个0~32767 的整数,并且这个整
数在每次被调用后,  以随机数据形式出现。这一运算规则将产生一个从同一起点
开始的确定顺序。起点通过调用srand()函数获得。下面的例程说明了每次通过调
用time()函数获得不同的起点。

srand()函数是在调用rand()函数时被用来初始化随机数据发生器的。它为rand()函
数产生不同起点虚拟数据顺序提供一个机制。在z80 上,随机数据最好从新的寄
存器获得。否则,控制台的响应时间或系统时间将充当这一数据。

例    程      
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
void main (void)
{
    time_t toc;
    int i;
    time(&toc);
    srand((int)toc);
    for(i = 0 ; i != 10 ; i++)
    printf("%d ", rand());
    putchar(’ ’);
}     
注意:例程中需要用户自己提供time()函数,因为它不能由汇编器产生。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。