用AVR单片机8位数据产生随机数 星星灯 源程序:SLAVR737.ASM 用AVR单片机8位数据产生随机数,由PORTA 口及PORTC 口输出随机数,在8X8 LED上显示, 硬件接线电路见“7.3.8按钮猜数”。随机数的种子由程序设定(也可外接开关设定),启动 种子后,由移位寄存器以互斥的异或逻辑组合返回循环产生。 .include"8515def.inc" rjmp RESET .def temp =r16 ;暂存器 .def temp1 =r17 ;暂存器1 .def udata =r21 ;存随机数送A口 .def ddata =r22 ;存随机数送C口 .cseg .org 0x10 RESET: ldi temp,high(RAMEND);设堆栈指针 out SPH,temp ldi temp,low(RAMEND) out SPL,temp ldi temp,0xff ;设A口、C口为输出 out ddra,temp ;送方向寄存器A out ddrc,temp ;送方向寄存器C start: wdr ;关看门狗 ldi udata,0x6a ; 设置随机数初值 ldi ddata,0x3c ; startp: out porta,udata ;输出到A口 out por……