电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

用单片机产生随机数的两种方法

用单片机产生随机数的两种方法_第1页
1/6
用单片机产生随机数的两种方法_第2页
2/6
用单片机产生随机数的两种方法_第3页
3/6
方法一:定时器直接随机取值 每按一次按键生成一个随机数,这个随机数实际是把定时器的值给取出来了,并不能算绝对的随机、方法二才是真正意义上的随机。 仿真如下: #include sbit k1=P1^0; void delay(unsigned int i) { unsigned int j,k; for(j=0;j #include //包含 rand()随机函数的头文件 unsigned char t,k,i,j,a,f,n[10]; //t 是计时变量,k 是按键标志,i 是数组下标,f 是随机数重复标志,n[10]是存放随机数的数组 void init() //初始化函数 { t=0; i=0; f=0; k=0; TMOD=0x02; //设置定时器0 为工作方式 2 TH0=7; //装初值 TL0=7; EA=1; //开总中断 ET0=1; //开定时器0 中断 TR0=1; //启动定时0 EX0=1; //开外部中断0,同按键的效果一样 IT0=1; //下降沿触发 } void main() { init(); while(1) { while(k) //外部中断0 触发循环 { if(!i) //i=0 时取第一个随机数放入数组 n[0] { srand(t); //随机数初始化 a=(char)(rand()%10); //取随机数(0~9) n[0]=a; //存入数组 i++; //数组下标加 1 } else while(i<10) //存放剩下的9 个随机数 { srand(t); //随机数初始化 a=(char)(rand()%10); //取随机数 for(j=0;j

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

用单片机产生随机数的两种方法

确认删除?
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群