亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ex2a.asm

?? nRF24E1程序
?? ASM
字號:
;= ex2a.asm ====================================================================
;
; Copyright (C) 2003, 2004 Nordic Semiconductor
;
; This file is distributed in the hope that it will be useful, but WITHOUT
; WARRANTY OF ANY KIND.
; 
; Author(s): Ole Saether
;
; DESCRIPTION:
;
;   This program gives an example of using the ADC and PWM together with the
;   radio. You need two nrf24E1 evaluation boards to test this program. One
;   board will act as the transmitter and the other as the receiver determined
;   by the logical level on pin P0.6.
;
;   After initializing the ADC and the radio, the transmitter enters an infinite
;   loop continuously reading the ADC and transmitting the read data.
;
;   After initializing the PWM and radio, the receiver enters an infinite loop
;   continuously waiting for a radio packet and updating the PWM with the data
;   in the received packet.
;
;   The functionality is the same as in ex2c.c.
;
; ASSEMBLER:
;
;   You need as31.exe to assemble this program. It can be downloaded from this
;   web page: http://www.pjrc.com/tech/8051/
;
; $Revision: 5 $
;
;===============================================================================

                 .equ    CKCON,      0x8e
                 .equ    EXIF,       0x91
                 .equ    P0_DIR,     0x94
                 .equ    P0_ALT,     0x95
                 .equ    RADIO,      0xA0
                 .equ    ADCCON,     0xa1
                 .equ    ADCDATAH,   0xa2
                 .equ    ADCDATAL,   0xa3
                 .equ    ADCSTATIC,  0xa4
                 .equ    PWMCON,     0xa9
                 .equ    PWMDUTY,    0xaa
                 .equ    SPI_DATA,   0xb2
                 .equ    SPI_CTRL,   0xb3
                 .equ    SPICLK,     0xb4

                 ljmp    start

start:           mov     P0_ALT, #0x00
                 mov     P0_DIR, #0x40       ; P0.6 is input, the rest output
                 mov     P0, #0x10           ; P0.4 = 1 for the rec/tran strap
                 acall   rf_init             ; Initialize radio
                 jb      P0.6, receiver

trasmitter:      acall   adc_init
                 acall   settxmode
transmitter1:    acall   read_adc
                 acall   tx_packet
                 sjmp    transmitter1

receiver:        acall   pwm_init
                 acall   setrxmode
receiver1:       acall   rx_packet
                 acall   write_pwm
                 sjmp    receiver1

read_adc:        mov     a, EXIF
                 jnb     acc.4, read_adc
                 anl     EXIF, #0xef
                 mov     a, ADCDATAH         ; Read ADC result
                 anl     ADCCON, #0x7f       ; Start new...
                 orl     ADCCON, #0x80       ; ...conversion
                 ret

write_pwm:       mov     PWMDUTY, a
                 ret

rf_init:         setb    RADIO.7             ; Turn on Radio (PWR_UP=1)
                 ; Wait at least 3ms:
                 mov     r1, #150
                 acall   delay10us
                 mov     r1, #150
                 acall   delay10us
                 mov     SPICLK, #0x00       ; SPICLK = CLK/8
                 mov     SPI_CTRL, #0x02     ; Connect SPI to RADIO CH1
                 mov     dptr, #confw
                 mov     a, #0
                 movc    a, @a+dptr          ; Get number of config bytes...
                 mov     r3, a               ; ...and store it in r3
                 setb    RADIO.3             ; RF SPI CS = 1
                 mov     r1, #1
                 acall   delay10us
rf_init1:        inc     dptr                ; Point to next data byte
                 mov     a, #0
                 movc    a, @a+dptr          ; Read next config byte
                 acall   spi_wr              ; Write byte to nrf2401
                 djnz    r3, rf_init1        ; Loop until all bytes are written
                 clr     RADIO.3             ; RF SPI CS = 0
                 ret
 
tx_packet:       setb    P0.0
                 setb    RADIO.6             ; RF CE = 1
                 mov     r7, a
                 mov     r1, #1
                 acall   delay10us
                 mov     dptr, #rxaddr
                 mov     r1, #4
tx_packet1:      mov     a, #0
                 movc    a, @a+dptr          ; Read next address byte
                 acall   spi_wr
                 inc     dptr                ; Point to next address byte
                 djnz    r1, tx_packet1
                 mov     a, r7
                 acall   spi_wr
                 clr     RADIO.6             ; RF CE = 0
                 clr     P0.0
                 ; Wait ~250us:
                 mov     r1, #25
                 acall   delay10us
                 ret

rx_packet:       setb    RADIO.6             ; RF CE = 1
rx_packet1:      jnb     RADIO.2, rx_packet1 ; Wait for RF data ready
                 acall   spi_rd
                 clr     RADIO.6             ; RF CE = 0
                 ret

setrxmode:       mov     r0, #0x01           ; Set RXEN bit
                 ajmp    setrxtxmode
settxmode:       mov     r0, #0x00
setrxtxmode:     mov     dptr, #confw
                 mov     a, #0
                 movc    a, @a+dptr          ; a = #of bytes in 2401 conf word
                 movc    a, @a+dptr          ; Get last byte of conf word
                 setb    RADIO.3             ; RF SPI CS = 1
                 orl     a, r0               ; Tx if r0=0, Rx if r0=1
                 mov     r1, #1
                 acall   delay10us
                 acall   spi_wr              ; Write byte to radio
                 clr     RADIO.3             ; RF SPI CS = 0
                 ret

spi_rd:
spi_wr:          anl     EXIF, #0xdf         ; Clear SPI interrupt
                 mov     SPI_DATA, a         ; Move byte to send into SPI_DATA
spi_rdwr1:       mov     a, EXIF             ; Wait until...
                 jnb     acc.5, spi_rdwr1    ; ...SPI_RX bit is set
                 mov     a, SPI_DATA         ; Move byte received into acc...
                 ret

; adc_init: initialize ADC =====================================================
;
adc_init:        anl     ADCSTATIC, #0xfc    ; 8bit
                 orl     ADCSTATIC, #0x01
                 mov     ADCCON, #0x20       ; Ch 0, NPD=1, ADCRUN=0, EXTREF=0
                 anl     ADCCON, #0x7f       ; Start new...
                 orl     ADCCON, #0x80       ; ...conversion
                 ret


; pwm_init: initialize PWM =====================================================
;
pwm_init:        orl     P0_ALT, #0x80       ; Select P0.7 as PWM output
                 mov     PWMCON, #0xc0       ; Enable 8 bit PWM, pre=min
                 ret

; delay10us: 10 us delay function. Call with the number of 10us in r1 ==========
;
delay10us:       mov     r2, #11
delayl1:         djnz    r2, delayl1
                 nop
                 djnz    r1, delay10us
                 nop
                 ret

confw:           .db     15  ; Number of bytes that follow
                 .db     0x08, 0x08, 0x00, 0x00, 0x00, 0x00
                 .db     0x00, 0x00
rxaddr:          .db     0x87, 0x65, 0x43, 0x21
                 .db     0x83, 0x6c, 0x04

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲黄色av一区| 国产喷白浆一区二区三区| 99久久99久久综合| 成人黄色综合网站| 91免费小视频| 在线观看中文字幕不卡| 欧美丝袜丝交足nylons图片| www.一区二区| 91免费视频大全| 欧美午夜在线一二页| 欧美男男青年gay1069videost| 欧美亚洲精品一区| 日韩欧美区一区二| 久久亚洲影视婷婷| 国产精品无码永久免费888| 国产精品看片你懂得| 亚洲人一二三区| 日韩国产欧美视频| 激情综合一区二区三区| 国产成人在线视频免费播放| 成人影视亚洲图片在线| 日本韩国欧美三级| 欧美一级片在线看| 国产人伦精品一区二区| 亚洲免费大片在线观看| 韩国成人福利片在线播放| 经典一区二区三区| 91在线免费看| 日韩欧美一区二区视频| 国产视频在线观看一区二区三区| 亚洲天堂精品在线观看| 美女网站一区二区| 91亚洲国产成人精品一区二区三 | 国产成人亚洲综合a∨猫咪| 成人久久久精品乱码一区二区三区| 色综合久久88色综合天天6 | 久久99精品久久久久久动态图| 国产乱码一区二区三区| 欧美三日本三级三级在线播放| www国产精品av| 亚洲一区二区三区四区的| 国产在线视频一区二区| 欧美日韩国产一二三| 欧美色电影在线| 中文字幕亚洲电影| 久久66热re国产| 欧美日韩一区国产| 中文字幕一区二区三区在线观看 | 一区二区三区在线免费播放| 久久国产精品99久久人人澡| 在线观看一区二区视频| 国产日本一区二区| 国产一区二区调教| 欧美一卡二卡三卡| 亚洲一区二区偷拍精品| 99视频有精品| 国产精品久久影院| 国产精品亚洲人在线观看| 欧美一级片在线观看| 图片区小说区国产精品视频| 99久久精品国产精品久久| 久久久久99精品国产片| 激情综合色播激情啊| 日韩欧美中文字幕精品| 三级久久三级久久| 制服丝袜av成人在线看| 天天av天天翘天天综合网| 99精品视频中文字幕| 欧美国产精品劲爆| 粉嫩欧美一区二区三区高清影视| 2021中文字幕一区亚洲| 久久精品国产秦先生| 欧美变态tickle挠乳网站| 免费国产亚洲视频| www成人在线观看| 久久99精品国产91久久来源| 欧美不卡123| 狠狠色丁香久久婷婷综合丁香| 欧美变态凌虐bdsm| 国产成人在线色| 亚洲天堂av老司机| 欧美少妇一区二区| 日韩av二区在线播放| 日韩一级在线观看| 国产伦精品一区二区三区视频青涩| 精品国产电影一区二区 | 成人欧美一区二区三区1314 | 一区二区高清视频在线观看| 91黄色激情网站| 日韩精品一二三四| 欧美大片在线观看一区| 精品无人区卡一卡二卡三乱码免费卡 | 亚洲日本va午夜在线电影| 欧美伊人久久久久久午夜久久久久| 亚洲图片一区二区| 欧美大尺度电影在线| 黑人精品欧美一区二区蜜桃| 国产精品你懂的| 欧美性生活久久| 91首页免费视频| 一区二区不卡在线播放 | 在线播放中文字幕一区| 日韩精品一区二区三区老鸭窝| 久久精品国产99国产精品| 国产日韩欧美亚洲| 色欧美88888久久久久久影院| 亚洲精品视频一区二区| 欧美一区二视频| 国产成人免费av在线| 亚洲伊人伊色伊影伊综合网| 精品国产区一区| 91电影在线观看| 国产精品一区三区| 亚洲一区av在线| 久久精品欧美一区二区三区不卡| 99精品欧美一区二区蜜桃免费| 亚洲国产精品尤物yw在线观看| 久久精品网站免费观看| 精品视频1区2区3区| 成人动漫一区二区在线| 久久爱www久久做| 亚洲午夜电影网| 国产精品入口麻豆原神| 91精品国产91久久久久久最新毛片 | 亚洲国产视频一区| 国产精品久久久一区麻豆最新章节| 51精品久久久久久久蜜臀| www..com久久爱| 国产呦萝稀缺另类资源| 天堂午夜影视日韩欧美一区二区| 国产精品不卡在线| 国产午夜精品一区二区三区嫩草| 欧美一级一级性生活免费录像| 在线视频国产一区| 99免费精品在线| 成人三级伦理片| 国产成人av自拍| 精久久久久久久久久久| 蜜桃精品视频在线观看| 日本不卡一区二区三区高清视频| 亚洲精品视频免费看| 亚洲免费在线播放| 亚洲天堂av老司机| 亚洲女同一区二区| 国产精品国产自产拍高清av王其 | 日韩色在线观看| 欧美一区二区在线视频| 欧美理论片在线| 欧美精品三级在线观看| 欧美日韩www| 这里只有精品电影| 欧美久久一区二区| 欧美一区二区三区在线视频 | 国产欧美视频一区二区三区| 欧美sm极限捆绑bd| 精品国产91乱码一区二区三区 | 欧美国产精品一区二区三区| 久久精品日韩一区二区三区| 国产三级欧美三级| 国产精品毛片大码女人| 中文字幕亚洲一区二区va在线| 亚洲欧美日韩一区二区三区在线观看| 亚洲三级免费电影| 亚洲综合激情小说| 性欧美大战久久久久久久久| 男女性色大片免费观看一区二区| 另类小说综合欧美亚洲| 国产美女精品一区二区三区| 成人性生交大片免费看中文| 91污在线观看| 欧美人与z0zoxxxx视频| 精品少妇一区二区三区视频免付费| 久久久久久久久伊人| 亚洲免费看黄网站| 日本伊人色综合网| 国产精品夜夜嗨| 日本高清成人免费播放| 91精品国产丝袜白色高跟鞋| 久久综合狠狠综合久久综合88| 国产精品夫妻自拍| 免费观看久久久4p| gogo大胆日本视频一区| 欧美乱妇15p| 中文字幕av不卡| 午夜视频在线观看一区二区三区| 激情综合网天天干| 日本精品一区二区三区高清| 欧美一区二区三区四区在线观看| www日韩大片| 天天综合天天做天天综合| 国产成人av资源| 91精品中文字幕一区二区三区| 久久久久久久久伊人| 婷婷开心激情综合| 成人在线综合网站| 日韩免费高清视频| 亚洲第一成人在线| 91视频.com| 欧美高清在线精品一区| 日韩不卡一二三区|