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

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

?? spi.lis

?? 用AVR端口模擬SPI和AD9517的通信
?? LIS
字號:
                        .module spi.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\avr_first\spi.c
 0000                   .dbfunc e spisend _spisend fV
 0000           ;              i -> R20
 0000           ;           data -> R16
                        .even
 0000           _spisend::
 0000 00D0              rcall push_gset1
 0002                   .dbline -1
 0002                   .dbline 26
 0002           ; #include <iom48v.h>
 0002           ; #include <macros.h>
 0002           ; 
 0002           ; #define uint unsigned  int
 0002           ; #define ulong unsigned long
 0002           ; #define uchar unsigned char
 0002           ; 
 0002           ; #define clk       PD0//AD_clk
 0002           ; #define data_IO   PD1//AD數據輸入輸出口
 0002           ; #define cs        PD2//AD片選
 0002           ; 
 0002           ; #define IO_DDR    DDD1//數據讀入讀出口 
 0002           ; 
 0002           ; #define IO_PIN    PIND
 0002           ; 
 0002           ; //#define clk_s       PD3
 0002           ; //#define ss_s        PD4
 0002           ; //#define data_s      PD5
 0002           ; //#define data_sPIN   PIND5
 0002           ; //#define data_sDDR   DDD5
 0002           ; 
 0002           ; 
 0002           ; 
 0002           ; 
 0002           ; void spisend(uchar data)//寫入
 0002           ; {   
 0002                   .dbline 29
 0002           ;     uchar i; 
 0002           ;     //IO_DDR=1;
 0002           ;       DDRD |= 0x02;
 0002 519A              sbi 0xa,1
 0004                   .dbline 31
 0004           ;     //clk=0;
 0004           ;       PORTD &= 0xfe;
 0004 8BB1              in R24,0xb
 0006 8E7F              andi R24,254
 0008 8BB9              out 0xb,R24
 000A                   .dbline 32
 000A           ;     for(i=8;i>0;i--)
 000A 48E0              ldi R20,8
 000C 10C0              rjmp L5
 000E           L2:
 000E                   .dbline 33
 000E           ;  {
 000E                   .dbline 34
 000E           ;   if ((data&0x01)==1)
 000E 802F              mov R24,R16
 0010 8170              andi R24,1
 0012 8130              cpi R24,1
 0014 11F4              brne L6
 0016                   .dbline 35
 0016           ;    { 
 0016                   .dbline 37
 0016           ;    //data_IO=1;
 0016           ;    PORTD |= 0x02;
 0016 599A              sbi 0xb,1
 0018                   .dbline 38
 0018           ;    }
 0018 03C0              rjmp L7
 001A           L6:
 001A                   .dbline 41
 001A           ;   else 
 001A           ;    //data_IO=0;
 001A           ;    PORTD &= 0xFD;
 001A 8BB1              in R24,0xb
 001C 8D7F              andi R24,253
 001E 8BB9              out 0xb,R24
 0020           L7:
 0020                   .dbline 42
 0020 0000              nop
 0022                   .dbline 44
 0022 589A              sbi 0xb,0
 0024                   .dbline 47
 0024 8BB1              in R24,0xb
 0026 8E7F              andi R24,254
 0028 8BB9              out 0xb,R24
 002A                   .dbline 48
 002A 0695              lsr R16
 002C                   .dbline 49
 002C           L3:
 002C                   .dbline 32
 002C 4A95              dec R20
 002E           L5:
 002E                   .dbline 32
 002E 2224              clr R2
 0030 2416              cp R2,R20
 0032 68F3              brlo L2
 0034                   .dbline -2
 0034           L1:
 0034 00D0              rcall pop_gset1
 0036                   .dbline 0 ; func end
 0036 0895              ret
 0038                   .dbsym r i 20 c
 0038                   .dbsym r data 16 c
 0038                   .dbend
 0038                   .dbfunc e spiread _spiread fc
 0038           ;           data -> R20
 0038           ;           temp -> R22
 0038           ;              i -> R10
                        .even
 0038           _spiread::
 0038 00D0              rcall push_gset3
 003A                   .dbline -1
 003A                   .dbline 53
 003A           ;    _NOP();
 003A           ;   //clk=1;
 003A           ;   PORTD |= 0x01;
 003A           ;  //_NOP(); 
 003A           ;   //clk=0;
 003A           ;   PORTD &= 0xfe;   
 003A           ;   data>>=1;//右移一位
 003A           ;  } 
 003A           ; } 
 003A           ; 
 003A           ; uchar spiread(void) //讀取
 003A           ; {
 003A                   .dbline 55
 003A           ;  uchar i;
 003A           ;  uchar data=0x00; 
 003A 4427              clr R20
 003C                   .dbline 58
 003C           ;  uchar temp;  
 003C           ;  //IO_DDR=0;  //IO口作為輸入,DDR要寫0
 003C           ;  DDRD &= 0xfd;  
 003C 8AB1              in R24,0xa
 003E 8D7F              andi R24,253
 0040 8AB9              out 0xa,R24
 0042                   .dbline 61
 0042           ;  //ss_r=0;
 0042           ;  //clk=0; 
 0042           ;  PORTD &= 0xfe;    
 0042 8BB1              in R24,0xb
 0044 8E7F              andi R24,254
 0046 8BB9              out 0xb,R24
 0048                   .dbline 62
 0048           ;  for(i=0;i<8;i++)
 0048 AA24              clr R10
 004A 0CC0              rjmp L12
 004C           L9:
 004C                   .dbline 63
 004C           ;  {   
 004C                   .dbline 65
 004C           ;   //clk=1;
 004C           ;   PORTD |= 0x01; 
 004C 589A              sbi 0xb,0
 004E                   .dbline 67
 004E           ;   //clk=0;
 004E           ;   PORTD &= 0xfe;       
 004E 8BB1              in R24,0xb
 0050 8E7F              andi R24,254
 0052 8BB9              out 0xb,R24
 0054                   .dbline 68
 0054           ;   temp=IO_PIN; 
 0054 69B1              in R22,0x9
 0056                   .dbline 69
 0056           ;         if (temp&0x02)       //下降沿采集數據,調換則會出錯 
 0056 61FF              sbrs R22,1
 0058 04C0              rjmp L13
 005A                   .dbline 70
 005A           ;  data|=(0x01<<i);
 005A 01E0              ldi R16,1
 005C 1A2D              mov R17,R10
 005E 00D0              rcall lsl8
 0060 402B              or R20,R16
 0062           L13:
 0062                   .dbline 71
 0062           L10:
 0062                   .dbline 62
 0062 A394              inc R10
 0064           L12:
 0064                   .dbline 62
 0064 8A2D              mov R24,R10
 0066 8830              cpi R24,8
 0068 88F3              brlo L9
 006A                   .dbline 73
 006A           ;  } 
 006A           ;  //IO_DDR=1;
 006A           ;  DDRD |= 0x02;
 006A 519A              sbi 0xa,1
 006C                   .dbline 76
 006C           ;  //ss_r=1;  //讀完數據后,SS拉高,同時時鐘拉高一次,上升沿重新置數
 006C           ; // clk=1;
 006C           ; PORTD |= 0x01; 
 006C 589A              sbi 0xb,0
 006E                   .dbline 77
 006E           ; return(data);
 006E 042F              mov R16,R20
 0070                   .dbline -2
 0070           L8:
 0070 00D0              rcall pop_gset3
 0072                   .dbline 0 ; func end
 0072 0895              ret
 0074                   .dbsym r data 20 c
 0074                   .dbsym r temp 22 c
 0074                   .dbsym r i 10 c
 0074                   .dbend
                        .area lit(rom, con, rel)
 0000           L16:
 0000 0000              .byte 0,0
 0002 0000              .byte 0,0
 0004           L17:
 0004 0000              .byte 0,0
                        .area text(rom, con, rel)
 0074                   .dbfile E:\avr_first\spi.c
 0074                   .dbfunc e main _main fV
 0074           ;           data -> y+2
 0074           ;     instrution -> y+0
 0074           ;              j -> R20,R21
 0074           ;              i -> R22,R23
 0074           ;        spidata -> y+6
                        .even
 0074           _main::
 0074 2697              sbiw R28,6
 0076                   .dbline -1
 0076                   .dbline 81
 0076           ; }
 0076           ; 
 0076           ; void main(ulong spidata)
 0076           ; {
 0076                   .dbline 83
 0076           ;  uint i,j;
 0076           ;  uchar data[4]={0,0,0,0};
 0076 80E0              ldi R24,<L16
 0078 90E0              ldi R25,>L16
 007A FE01              movw R30,R28
 007C 3296              adiw R30,2
 007E 04E0              ldi R16,4
 0080 10E0              ldi R17,0
 0082 FA93              st -y,R31
 0084 EA93              st -y,R30
 0086 9A93              st -y,R25
 0088 8A93              st -y,R24
 008A 00D0              rcall asgncblk
 008C                   .dbline 84
 008C           ;  uchar instrution[2]={0,0};
 008C 80E0              ldi R24,<L17
 008E 90E0              ldi R25,>L17
 0090 FE01              movw R30,R28
 0092 02E0              ldi R16,2
 0094 10E0              ldi R17,0
 0096 FA93              st -y,R31
 0098 EA93              st -y,R30
 009A 9A93              st -y,R25
 009C 8A93              st -y,R24
 009E 00D0              rcall asgncblk
 00A0                   .dbline 97
 00A0           ;  /*PORTA="0x00";   //燈指示
 00A0           ;  DDRA="0XFF";
 00A0           ;  
 00A0           ; PORTB="0x00";//0101 0000
 00A0           ;  DDRB="0x07";//0000 0111接口作為模擬SPI口輸出接口要寫1
 00A0           ;  
 00A0           ;  PORTC="0x00";
 00A0           ;  DDRC="0x80";
 00A0           ; 
 00A0           ;  DDRD="0xff";//0000 0001 
 00A0           ; PORTD="0x00";*///0100 1000 
 00A0           ;     //cs = 0;
 00A0           ;       PORTD &= 0xfc;
 00A0 8BB1              in R24,0xb
 00A2 8C7F              andi R24,252
 00A4 8BB9              out 0xb,R24
 00A6                   .dbline 98
 00A6           ;     for(i=0;i<2;i++)
 00A6 6627              clr R22
 00A8 7727              clr R23
 00AA 08C0              rjmp L21
 00AC           L18:
 00AC                   .dbline 99
 00AC                   .dbline 100
 00AC CE01              movw R24,R28
 00AE FB01              movw R30,R22
 00B0 E80F              add R30,R24
 00B2 F91F              adc R31,R25
 00B4 0081              ldd R16,z+0
 00B6 A4DF              rcall _spisend
 00B8                   .dbline 101
 00B8           L19:
 00B8                   .dbline 98
 00B8 6F5F              subi R22,255  ; offset = 1
 00BA 7F4F              sbci R23,255
 00BC           L21:
 00BC                   .dbline 98
 00BC 6230              cpi R22,2
 00BE E0E0              ldi R30,0
 00C0 7E07              cpc R23,R30
 00C2 A0F3              brlo L18
 00C4                   .dbline 102
 00C4           ;         {
 00C4           ;            spisend(instrution[i]);
 00C4           ;         }
 00C4           ;     if(instrution[0]&0x8000)
 00C4 2880              ldd R2,y+0
 00C6 3324              clr R3
 00C8 37FE              sbrs R3,7
 00CA 11C0              rjmp L22
 00CC                   .dbline 103
 00CC           ;          {
 00CC                   .dbline 104
 00CC           ;           for(j=0;j<4;j++)
 00CC 4427              clr R20
 00CE 5527              clr R21
 00D0 09C0              rjmp L27
 00D2           L24:
 00D2                   .dbline 105
 00D2                   .dbline 106
 00D2 B2DF              rcall _spiread
 00D4 CE01              movw R24,R28
 00D6 0296              adiw R24,2
 00D8 FA01              movw R30,R20
 00DA E80F              add R30,R24
 00DC F91F              adc R31,R25
 00DE 0083              std z+0,R16
 00E0                   .dbline 107
 00E0           L25:
 00E0                   .dbline 104
 00E0 4F5F              subi R20,255  ; offset = 1
 00E2 5F4F              sbci R21,255
 00E4           L27:
 00E4                   .dbline 104
 00E4 4430              cpi R20,4
 00E6 E0E0              ldi R30,0
 00E8 5E07              cpc R21,R30
 00EA 98F3              brlo L24
 00EC                   .dbline 108
 00EC           ;                  {
 00EC           ;                   data[j]=spiread();
 00EC           ;                  }
 00EC           ;          }
 00EC 10C0              rjmp L23
 00EE           L22:
 00EE                   .dbline 109
 00EE           ;      else  {
 00EE                   .dbline 110
 00EE           ;           for(j=0;j<4;j++)
 00EE 4427              clr R20
 00F0 5527              clr R21
 00F2 09C0              rjmp L31
 00F4           L28:
 00F4                   .dbline 111
 00F4                   .dbline 112
 00F4 CE01              movw R24,R28
 00F6 0296              adiw R24,2
 00F8 FB01              movw R30,R22
 00FA E80F              add R30,R24
 00FC F91F              adc R31,R25
 00FE 0081              ldd R16,z+0
 0100 7FDF              rcall _spisend
 0102                   .dbline 113
 0102           L29:
 0102                   .dbline 110
 0102 4F5F              subi R20,255  ; offset = 1
 0104 5F4F              sbci R21,255
 0106           L31:
 0106                   .dbline 110
 0106 4430              cpi R20,4
 0108 E0E0              ldi R30,0
 010A 5E07              cpc R21,R30
 010C 98F3              brlo L28
 010E                   .dbline 114
 010E           ;                  {
 010E           ;                   spisend(data[i]);
 010E           ;                  }
 010E           ;             }
 010E           L23:
 010E                   .dbline 116
 010E           ;     // cs = 1;
 010E           ;       PORTD |= 0x40;
 010E 5E9A              sbi 0xb,6
 0110                   .dbline -2
 0110           L15:
 0110 2696              adiw R28,6
 0112                   .dbline 0 ; func end
 0112 0895              ret
 0114                   .dbsym l data 2 A[4:4]c
 0114                   .dbsym l instrution 0 A[2:2]c
 0114                   .dbsym r j 20 i
 0114                   .dbsym r i 22 i
 0114                   .dbsym l spidata 6 l
 0114                   .dbend

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
97久久精品人人爽人人爽蜜臀| 欧美性猛交xxxx黑人交 | 国产一区二区影院| 天天影视色香欲综合网老头| 亚洲另类春色国产| 一区二区激情小说| 一区二区三区国产| 亚洲综合色成人| 亚洲一区二区三区国产| 亚洲国产视频直播| 亚洲国产中文字幕| 午夜精品一区二区三区三上悠亚| 午夜精品免费在线观看| 日本伊人午夜精品| 国产一级精品在线| 成人理论电影网| 97精品国产97久久久久久久久久久久| 91视频免费播放| 欧美天堂一区二区三区| 欧美日高清视频| 日韩视频123| 久久亚洲精品小早川怜子| 久久久久久免费网| 国产精品乱人伦中文| 亚洲人成精品久久久久| 亚洲第一会所有码转帖| 免费看日韩精品| 国产成人午夜99999| 99久久国产综合精品女不卡| 欧美少妇一区二区| 欧美mv日韩mv亚洲| 综合激情网...| 日韩黄色在线观看| 国产精品1区二区.| 欧美在线免费播放| 日韩精品自拍偷拍| 国产精品高潮呻吟久久| 亚洲成年人影院| 国产欧美一区二区三区在线看蜜臀 | 一区二区三区在线观看动漫| 性做久久久久久久久| 九色综合国产一区二区三区| 成人免费看黄yyy456| 欧美日韩亚洲综合在线| www一区二区| 一区二区激情视频| 国产精品2024| 8x8x8国产精品| 亚洲天堂中文字幕| 极品少妇一区二区三区精品视频| av电影天堂一区二区在线观看| 欧美日韩精品福利| 国产精品国产a| 精品一区二区三区在线观看国产| 91在线免费看| 久久午夜色播影院免费高清| 一区二区三区免费在线观看| 久久成人18免费观看| 欧美中文字幕不卡| 国产亚洲综合性久久久影院| 亚洲高清免费一级二级三级| 国产成人精品午夜视频免费| 欧美精品v国产精品v日韩精品| 国产精品美女久久久久久2018| 婷婷综合久久一区二区三区| 99国产精品视频免费观看| 欧美成人精品福利| 亚洲乱码日产精品bd| 国模娜娜一区二区三区| 欧美日韩日日摸| 亚洲欧美综合色| 国产精品一区二区久激情瑜伽| 制服丝袜日韩国产| 一级中文字幕一区二区| 成人精品免费网站| 精品剧情v国产在线观看在线| 亚洲大片一区二区三区| 91亚洲精华国产精华精华液| 久久嫩草精品久久久精品一| 美女久久久精品| 欧美军同video69gay| 亚洲精品综合在线| av在线综合网| 国产女主播一区| 国产美女精品人人做人人爽| 日韩欧美精品三级| 日韩高清欧美激情| 欧美三级三级三级爽爽爽| 亚洲欧美偷拍三级| 成人国产亚洲欧美成人综合网| 精品盗摄一区二区三区| 人人精品人人爱| 制服丝袜日韩国产| 青青草原综合久久大伊人精品优势| 在线看国产日韩| 亚洲综合在线观看视频| 91美女在线视频| 亚洲欧美日韩精品久久久久| 成人app下载| **欧美大码日韩| 99国产精品久久| 亚洲人成网站在线| 日本久久电影网| 亚洲一二三四区不卡| 欧美在线免费观看视频| 午夜天堂影视香蕉久久| 欧美午夜精品理论片a级按摩| 亚洲午夜精品17c| 欧美羞羞免费网站| 日本aⅴ免费视频一区二区三区 | 国产成人免费网站| 久久美女艺术照精彩视频福利播放 | 久久人人97超碰com| 国产精品一区三区| 中文字幕免费不卡| 成人深夜在线观看| 亚洲欧美综合网| 欧美色图一区二区三区| 午夜精品福利一区二区蜜股av| 欧美日韩国产精品成人| 蜜桃视频一区二区三区| 欧美xxxxx裸体时装秀| 国产高清亚洲一区| 最新国产精品久久精品| 色视频成人在线观看免| 亚洲二区在线观看| 日韩午夜电影av| 成人av网站免费| 亚洲成在人线免费| 69av一区二区三区| 国产成人在线电影| 亚洲一区二区精品3399| 这里只有精品99re| 国产一区美女在线| 亚洲青青青在线视频| 91精选在线观看| 高清在线成人网| 亚洲一区二区三区在线| 日韩欧美国产综合一区| 99久久精品久久久久久清纯| 婷婷综合另类小说色区| 久久伊99综合婷婷久久伊| 91麻豆国产香蕉久久精品| 五月天中文字幕一区二区| 精品少妇一区二区三区在线播放| 99久久免费视频.com| 无码av免费一区二区三区试看| 久久久久国色av免费看影院| 欧美在线观看视频在线| 久久99精品久久久久婷婷| 国产精品成人网| 欧美一区二区人人喊爽| 不卡一二三区首页| 欧美a级一区二区| 国产亚洲一二三区| 欧美性三三影院| 国产成人免费视频精品含羞草妖精 | 亚洲精品一二三| 亚洲精品在线三区| 在线观看欧美黄色| 自拍偷拍亚洲激情| 91亚洲精品久久久蜜桃| 久久福利视频一区二区| 亚洲乱码国产乱码精品精的特点 | 精品日韩99亚洲| 在线观看视频一区| 国产成人精品aa毛片| 午夜精品123| 亚洲免费观看在线视频| 久久精品网站免费观看| 欧美日韩久久一区二区| 97se亚洲国产综合在线| 国产一区二区三区| 天天射综合影视| 悠悠色在线精品| 国产精品全国免费观看高清 | 在线欧美日韩精品| 国产精品综合一区二区三区| 丝袜亚洲精品中文字幕一区| 中文字幕一区三区| 久久久久久久久久看片| 日韩欧美黄色影院| 欧美人与禽zozo性伦| 91啪亚洲精品| 不卡的电影网站| 岛国一区二区在线观看| 精品综合久久久久久8888| 性欧美疯狂xxxxbbbb| 亚洲一区在线看| 亚洲人成在线观看一区二区| 国产精品国产三级国产普通话蜜臀| 精品少妇一区二区三区免费观看 | 99精品热视频| gogo大胆日本视频一区| 国产经典欧美精品| 国产精品99久久久久久有的能看 | 日韩视频一区二区| 欧美另类z0zxhd电影| 欧美日韩一区二区三区不卡| 欧美亚洲综合在线|