所需E币: 5
时间: 2019-12-25 09:50
大小: 36.5KB
用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 0x10RESET: 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 ;送方向寄存器Cstart: wdr ;关看门狗 ldi udata,0x6a ; 设置随机数初值 ldi ddata,0x3c ; startp: out porta,udata ;输出到A口 out por……