您当前的位置:五五电子网电子知识单片机-工控设备AVR单片机用AVR单片机8位数据产生随机数 正文
用AVR单片机8位数据产生随机数

用AVR单片机8位数据产生随机数

点击数:7888 次   录入时间:03-04 11:44:18   整理:http://www.55dianzi.com   AVR单片机
        ldi     zh,high(dpfstb*2)  
        ldi     zl,low(dpfstb*2)  
dspfm0: rcall   ldtb8            ;调用从Z指向的程序区取数据送到内存0080-0087中
        ldi     temp2,0xa0        ;显示次数
dspfm1a:rcall   scan1            ;调用从内存0080-0087中取数据显示一次
        dec     temp2            ;-1
        brne    dspfm1a            ;不为0转
        dec     dspn            ;显示初始动画次数-1
        brne    dspfm0            ;不为0转
        dec     rdata9            ;显示动画三次-1
        brne    start0            ;不为0转
        rjmp    next                ;转显示8个不同的随机数
dspnumber:                         ;显示一个0-9数字的子程序
        ldi     zh,high(numbertb*2)
        ldi     zl,low(numbertb*2)
        add     zl,rdata9
        rcall   ldtb8            ;取数
        ldi     temp2,0xa0       ;该数字重复显示A0H次
dspn1:  rcall   scan1
        dec     temp2
        brne    dspn1
        ret
scan1:  push    xl                 ;从内存0080-0087中取数据显示一次
        ldi     temp,0b01111111
        mov     scndp,temp
        ldi     cnt,0x08
col1:   out     portc,scndp       ;显示屏幕的一列
        ld      r1,x+
        out     porta,r1
        rcall   delay
        sec
        ror     scndp
        dec     cnt
        brne    col1
        pop     xl
        ret
ldtb8:  ldi    xl,0x80     ;从Z指向的程序区取数据送到内存0080-0087中
        ldi    xh,0x00
        ldi    temp1,0x08
        push   xl  
nexld1: lpm
        st     x+,r0
        ld     r0,z+
        dec    temp1
        brne   nexld1
        pop    xl
        ret
delay:           ;通用延时子程序从略
....
randm:  mov    temp,rdata    ;产生8N(0≤N≤9)随机数子程序
        mov    temp1,rdata
        swap   temp1
        eor    temp,temp1
        rol    temp1
        eor    temp,temp1
        rol    temp1
        eor    temp,temp1
        rol    temp
        rol    rdata
        mov    rdata9,rdata
        andi   rdata9,0x0f
        cpi    rdata9,0x0a
        brsh   randm         ;产生了一个0≤RDATA9≤9的随机数
        lsl    rdata9
        lsl    rdata9
        lsl    rdata9
        ret

.cseg
.org      dpfstb;            ;大小方框字形表
;small  o
.db       0b00000000,0b00000000,0b00000000,0b00011000
.db       0b00011000,0b00000000,0b00000000,0b00000000
.db       0b00000000,0b00000000,0b00111100,0b00100100
.db       0b00100100,0b00111100,0b00000000,0b00000000
.db       0b00000000,0b01111110,0b01000010,0b01000010
.db       0b01000010,0b01000010,0b01111110,0b00000000
;big   o
.db       0b11111111,0b10000001,0b10000001,0b10000001
.db       0b10000001,0b10000001,0b10000001,0b11111111

上一页  [1] [2] [3] [4]  下一页


本文关键字:单片机  AVR单片机单片机-工控设备 - AVR单片机