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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? jb8_io~1.lst

?? 使用RC531讀卡芯片讀取二代身份證的模塊軟件設(shè)計(jì)部分
?? LST
?? 第 1 頁 / 共 5 頁
字號:
(0002) //本文件包含:                                                              *
(0003) //    (1)SPI0Init      : SPI0初始化                                        *
(0004) //    (2)SPI0SLAVECOM  : SPI0從機(jī)通信                                      *
(0005) //    (3)SPI1Init      : SPI1初始化                                        *
(0006) //    (4)SPI1MASTERCOM : SPI1主機(jī)通信                                      *
(0007) //硬件連接:                                                                *
(0008) //    (1)SPI0使用PTA口與外部控制芯片通信                                   *
(0009) //    (2)SPI1使用PTD口與射頻基站芯片MF RC531通信                           *
(0010) //-------------------------------------------------------------------------*
(0011) //頭文件
(0012) #include "SPI.h"         //SPI函數(shù)頭文件
(0013) 
(0014) //函數(shù)
(0015) //SPI0Init:----------------------------------------------------------------*
(0016) //功能:SPI0通信初始化函數(shù),定義為SPI從機(jī)                                    *
(0017) //參數(shù):無                                                                  *
(0018) //返回:無                                                                  *
(0019) //#define SPI0_SS    3          //從機(jī)選擇引腳位                           *
(0020) //#define SPI0_SCK   2          //時(shí)鐘引腳                                 *
(0021) //#define SPI0_MOSI  1          //主出從入                                 *
(0022) //#define SPI0_MISO  0          //主入從出                                 *
(0023) //-------------------------------------------------------------------------*
(0024) void SPI0Init()
(0025) {
_SPI0Init:
    DEAB 12 16        Bset	1,0x16
(0026)     //定義接口數(shù)據(jù)方向
(0027)     //設(shè)定SPI0_SS引腳為下降沿中斷
(0028)     DisableKBint();               //屏蔽鍵盤中斷(IMASKK = 1)
(0029)     KBIER |= (1 << SPI0_SS);      //引腳中斷使能
    DEAD 16 17        Bset	3,0x17
(0030)     KBSCR |= (1 << 2);            //清除鍵盤中斷請求(ACKK = 1)
    DEAF 14 16        Bset	2,0x16
(0031)        
(0032)     SPI0_D &= ~(1 << SPI0_SCK);   //時(shí)鐘信號
    DEB1 15 04        Bclr	2,0x04
(0033)     
(0034)     SPI0_D &= ~(1 << SPI0_MOSI);  //主出從入
    DEB3 13 04        Bclr	1,0x04
(0035)     
(0036)     SPI0_D |= (1 << SPI0_MISO);   //主入從出
    DEB5 10 04        Bset	0,0x04
(0037)     SPI0_P |= (1 << SPI0_MISO);   //初始化為高
    DEB7 10 00        Bset	0,0x00
    DEB9 81           rts	
_SPI0SLAVECOM:
  redata               --> X+0
  datalen              --> X+1
  snddata              --> X+4
    DEBA A7 FE        aiS	#-2
    DEBC 95           tSX	
(0038)     
(0039) }
(0040) 
(0041) //SPI0SLAVECOM:------------------------------------------------------------*
(0042) //功能:SPI0從機(jī)通信程序                                                    *
(0043) //參數(shù):snddata-發(fā)送數(shù)據(jù)                                                    *
(0044) //返回:接收數(shù)據(jù)                                                            *
(0045) //#define SPI0_SS    3          從機(jī)選擇引腳位                             *
(0046) //#define SPI0_SCK   2          時(shí)鐘引腳                                   *
(0047) //#define SPI0_MOSI  1          主出從入                                   *
(0048) //#define SPI0_MISO  0          主入從出                                   *
(0049) //-------------------------------------------------------------------------*
(0050) INT8U SPI0SLAVECOM(INT8U snddata)
(0051) {
    DEBD A6 08        ldA	#8
    DEBF E7 01        stA	1,X
(0052)     INT8U redata;     //接收數(shù)據(jù)
(0053)     INT8U datalen;    //數(shù)據(jù)長度
(0054)     
(0055)     datalen = 0x08;   //每次發(fā)送8位
(0056)     
(0057)     //發(fā)送數(shù)據(jù)字節(jié)最高位上線
(0058)     if((snddata & (1 << 7 )) == 0x00)
    DEC1 E6 04        ldA	4,X
    DEC3 A5 80        bit	#-128
    DEC5 26 04        bne	0xDECB
(0059)     {
    DEC7 11 00        Bclr	0,0x00
(0060)         SPI0_P &= ~(1 << SPI0_MISO);    //置低電平
(0061)     }
    DEC9 20 5B        bra	0xDF26
(0062)     else
(0063)     {
    DECB 10 00        Bset	0,0x00
(0064)         SPI0_P |= (1 << SPI0_MISO);     //置高電平
(0065)     }
    DECD 20 57        bra	0xDF26
(0066)     
(0067)     //判斷片選信號是否選中(低電平)
(0068)     while(((SPI0_P & (1 << SPI0_SS)) == 0x00) && datalen)
(0069)     {
    DECF 05 00FD      BRclr	2,0x00,0xDECF
(0070)         //從機(jī)選中
(0071)         //檢測SCK時(shí)鐘信號,空閑低電平,高電平為產(chǎn)生跳變
(0072)         while ((SPI0_P & (1 << SPI0_SCK)) == 0x00);     //為低電平則等待
(0073) 
(0074)         //SCK時(shí)鐘高電平時(shí)操作        
(0075)         //讀MOSI
(0076)         if((SPI0_P & (1 << SPI0_MOSI)) == 0x00)
    DED2 02 001A      BRset	1,0x00,0xDEEF
(0077)         {
    DED5 E6 01        ldA	1,X
    DED7 A0 01        sub	#1
    DED9 6E 0142      mov	#1,*__r2
    DEDC A4 07        and	#7
    DEDE 27 04        beq	0xDEE4
    DEE0 38 42        lsl	*__r2
    DEE2 4B FC        dbnzA	0xDF26
    DEE4 4E 4240      mov	*__r2,*__r0
    DEE7 33 40        com	*__r0
    DEE9 F6           ldA	0,X
    DEEA B4 40        and	*__r0
    DEEC F7           stA	0,X
(0078)             redata &= ~(1 << (datalen - 1));     //低電平            
(0079)         }
    DEED 20 13        bra	0xDF02
(0080)         else
(0081)         {
    DEEF E6 01        ldA	1,X
    DEF1 A0 01        sub	#1
    DEF3 6E 0142      mov	#1,*__r2
    DEF6 A4 07        and	#7
    DEF8 27 04        beq	0xDEFE
    DEFA 38 42        lsl	*__r2
    DEFC 4B FC        dbnzA	0xDF40
    DEFE F6           ldA	0,X
    DEFF BA 42        orA	*__r2
    DF01 F7           stA	0,X
(0082)             redata |= 1 << (datalen - 1 );       //高電平            
(0083)         }
    DF02 E6 01        ldA	1,X
    DF04 A1 01        cmp	#1
    DF06 23 19        bls	0xDF21
(0084)         
(0085)         //寫MISO      
(0086)         if(datalen > 1)
(0087)         {
    DF08 A0 02        sub	#2
    DF0A 6E 0142      mov	#1,*__r2
    DF0D A4 07        and	#7
    DF0F 27 04        beq	0xDF15
    DF11 38 42        lsl	*__r2
    DF13 4B FC        dbnzA	0xDF57
    DF15 E6 04        ldA	4,X
    DF17 B4 42        and	*__r2
    DF19 26 04        bne	0xDF1F
(0088)             if((snddata & (1 << (datalen - 2 ))) == 0x00)
(0089)             {
    DF1B 11 00        Bclr	0,0x00
(0090)                 SPI0_P &= ~(1 << SPI0_MISO);     //置低電平
(0091)             }
    DF1D 20 02        bra	0xDF21
(0092)             else
(0093)             {
    DF1F 10 00        Bset	0,0x00
(0094)                 SPI0_P |= (1 << SPI0_MISO);      //置高電平
(0095)             }
    DF21 04 00FD      BRset	2,0x00,0xDF21
(0096)         }
(0097)         
(0098)         while ((SPI0_P & (1 << SPI0_SCK)) != 0x00);     //等待恢復(fù)為空閑低電平
(0099)         
(0100)         datalen--;                                      //繼續(xù)下一位操作           
    DF24 6A 01        dec	1,X
(0101)     }//while
    DF26 06 0004      BRset	3,0x00,0xDF2D
    DF29 E6 01        ldA	1,X
    DF2B 26 A2        bne	0xDECF
(0102)     
(0103)     return redata;  //返回
    DF2D F6           ldA	0,X
    DF2E A7 02        aiS	#2
    DF30 81           rts	
(0104) } 
(0105) 
(0106) 
(0107) 
(0108) //SPI1Init:----------------------------------------------------------------*
(0109) //功能:SPI1通信初始化函數(shù),定義為SPI主機(jī)                                    *
(0110) //參數(shù):無                                                                  *
(0111) //返回:無                                                                  *
(0112) //#define SPI1_SS    7          //從機(jī)選擇引腳位                           *
(0113) //#define SPI1_SCK   6          //時(shí)鐘引腳                                 *
(0114) //#define SPI1_MOSI  5          //主出從入                                 *
(0115) //#define SPI1_MISO  4          //主入從出                                 *
(0116) //-------------------------------------------------------------------------*
(0117) void SPI1Init()
(0118) {
_SPI1Init:
    DF31 1E 07        Bset	7,0x07
(0119)     //定義引腳功能
(0120) 
(0121)     //1.從機(jī)選擇    
(0122)     SPI1_D |= (1 << SPI1_SS);     //輸出引腳
(0123)     SPI1_P |= (1 << SPI1_SS);     //初始化為高
    DF33 1E 03        Bset	7,0x03
(0124)     
(0125)     //2.時(shí)鐘信號   
(0126)     SPI1_D |= (1 << SPI1_SCK);    //輸出引腳   
    DF35 1C 07        Bset	6,0x07
(0127)     SPI1_P &= ~(1 << SPI1_SCK);   //初始化為低
    DF37 1D 03        Bclr	6,0x03
(0128)    
(0129)      
(0130)     //3.主出從入    
(0131)     SPI1_D |= (1 << SPI1_MOSI);   //輸出引腳
    DF39 1A 07        Bset	5,0x07
(0132)     SPI1_P |= (1 << SPI1_MOSI);   //初始化為高
    DF3B 1A 03        Bset	5,0x03
(0133)     
(0134)     //4.主入從出  
(0135)     SPI1_D &= ~(1 << SPI1_MISO);   //輸入引腳    
    DF3D 19 07        Bclr	4,0x07
    DF3F 81           rts	
_SPI1MASTERCOM:
  redata               --> X+0
  datalen              --> X+1
  i                    --> X+2
  snddata              --> X+5
    DF40 A7 FD        aiS	#-3
    DF42 95           tSX	
(0136)     //SPI1_P &= ~(1 << SPI1_MISO);   //初始化為低
(0137) 
(0138) }
(0139) 
(0140) //SPI1MASTERCOM:-----------------------------------------------------------*
(0141) //功能:SPI1主機(jī)通信程序                                                    *
(0142) //參數(shù):snddata-發(fā)送數(shù)據(jù)                                                    *
(0143) //返回:接收數(shù)據(jù)                                                            *
(0144) //#define SPI1_SS    7          //從機(jī)選擇引腳位                           *
(0145) //#define SPI1_SCK   6          //時(shí)鐘引腳                                 *
(0146) //#define SPI1_MOSI  5          //主出從入                                 *
(0147) //#define SPI1_MISO  4          //主入從出                                 *
(0148) //-------------------------------------------------------------------------*
(0149) INT8U SPI1MASTERCOM(INT8U snddata)
(0150) {
    DF43 A6 08        ldA	#8
    DF45 E7 01        stA	1,X
(0151)     INT8U redata;     //接收數(shù)據(jù)
(0152)     INT8U datalen;    //數(shù)據(jù)長度
(0153)     INT8U i;
(0154)     
(0155)     datalen = 0x08;   //每次發(fā)送8位    
(0156)     
(0157)     //操作8位
(0158)     for(i = 0; i < datalen; i++)
    DF47 6F 02        clr	2,X
    DF49 20 58        bra	0xDFA3
(0159)     {
    DF4B E6 01        ldA	1,X
    DF4D A0 01        sub	#1
    DF4F E0 02        sub	2,X
    DF51 6E 0142      mov	#1,*__r2
    DF54 A4 07        and	#7
    DF56 27 04        beq	0xDF5C
    DF58 38 42        lsl	*__r2
    DF5A 4B FC        dbnzA	0xDF9E
    DF5C E6 05        ldA	5,X
    DF5E B4 42        and	*__r2
    DF60 26 04        bne	0xDF66
(0160)         //先將MOSI數(shù)據(jù)上線,高位優(yōu)先
(0161)         if((snddata & (1 << (datalen - 1 - i ))) == 0x00)
(0162)         {
    DF62 1B 03        Bclr	5,0x03
(0163)             SPI1_P &= ~(1 << SPI1_MOSI);    //置低電平
(0164)         }
    DF64 20 02        bra	0xDF68
(0165)         else
(0166)         {
    DF66 1A 03        Bset	5,0x03
(0167)             SPI1_P |= (1 << SPI1_MOSI);      //置高電平
(0168)         } 
    DF68 08 031C      BRset	4,0x03,0xDF87
(0169)               
(0170)         //讀MISO數(shù)據(jù)
(0171)         if((SPI1_P & (1 << SPI1_MISO)) == 0x00)
(0172)         {
    DF6B E6 01        ldA	1,X
    DF6D A0 01        sub	#1
    DF6F E0 02        sub	2,X
    DF71 6E 0142      mov	#1,*__r2
    DF74 A4 07        and	#7
    DF76 27 04        beq	0xDF7C
    DF78 38 42        lsl	*__r2
    DF7A 4B FC        dbnzA	0xDFBE
    DF7C 4E 4240      mov	*__r2,*__r0
    DF7F 33 40        com	*__r0
    DF81 F6           ldA	0,X
    DF82 B4 40        and	*__r0
    DF84 F7           stA	0,X
(0173)             redata &= ~(1 << (datalen - 1 - i));     //低電平            
(0174)         }
    DF85 20 15        bra	0xDF9C
(0175)         else
(0176)         {
    DF87 E6 01        ldA	1,X
    DF89 A0 01        sub	#1
    DF8B E0 02        sub	2,X
    DF8D 6E 0142      mov	#1,*__r2
    DF90 A4 07        and	#7
    DF92 27 04        beq	0xDF98
    DF94 38 42        lsl	*__r2
    DF96 4B FC        dbnzA	0xDFDA
    DF98 F6           ldA	0,X
    DF99 BA 42        orA	*__r2
    DF9B F7           stA	0,X
(0177)             redata |= 1 << (datalen -1 - i);         //高電平            
(0178)         }       
    DF9C 1C 03        Bset	6,0x03
(0179)                     
(0180)         //SPI1_SCK空閑時(shí)為低電平,通信時(shí)置高
(0181)         SPI1_P |= (1 << SPI1_SCK); 
(0182)         asm("NOP");
    DF9E 9D           nop	
(0183)         SPI1_P &= ~(1 << SPI1_SCK);    
    DF9F 1D 03        Bclr	6,0x03
(0184)     }//for 
    DFA1 6C 02        inc	2,X
    DFA3 E6 02        ldA	2,X
    DFA5 E1 01        cmp	1,X
    DFA7 25 A2        bcs	0xDF4B
(0185)         
(0186)     return redata;
    DFA9 F6           ldA	0,X
    DFAA A7 03        aiS	#3
    DFAC 81           rts	
_RFRegRead:
  ReData1              --> X+0
  ReData2              --> X+1
  SndData              --> X+2
  addr                 --> X+5
    DFAD A7 FD        aiS	#-3

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久综合狠狠综合久久| 在线观看国产精品网站| 亚洲影院理伦片| 国产午夜精品久久久久久免费视 | 香蕉影视欧美成人| 中文一区在线播放| 日韩欧美国产1| 欧美中文字幕一区二区三区| 国产成人在线视频网址| 日韩国产成人精品| 亚洲一区二区三区影院| 中文字幕在线不卡一区| 久久综合网色—综合色88| 在线播放中文一区| 色狠狠色狠狠综合| gogogo免费视频观看亚洲一| 极品销魂美女一区二区三区| 日本特黄久久久高潮| 亚洲精品国产一区二区精华液 | 中文字幕av一区二区三区免费看 | 亚洲视频一区二区在线| 欧美国产视频在线| 国产亚洲一区二区三区四区| 欧美一区二区三区精品| 欧美片网站yy| 欧美日韩国产系列| 欧美日韩成人综合天天影院| 一本大道久久a久久综合| 成人综合婷婷国产精品久久| 国产精品综合在线视频| 国产做a爰片久久毛片| 美女脱光内衣内裤视频久久网站| 天天综合网天天综合色| 亚洲aⅴ怡春院| 午夜精品福利一区二区蜜股av| 亚洲色图在线视频| 亚洲欧美另类图片小说| 亚洲欧美日韩在线不卡| 亚洲三级小视频| 亚洲欧美日本在线| 亚洲国产综合色| 亚洲成人av一区二区三区| 日本人妖一区二区| 天堂影院一区二区| 全国精品久久少妇| 国产一区二区三区在线观看免费视频 | 国产精品视频线看| 亚洲特黄一级片| 亚洲综合在线视频| 午夜伊人狠狠久久| 免费av网站大全久久| 精品系列免费在线观看| 国产伦精品一区二区三区免费| 国产精品 日产精品 欧美精品| 国产成人免费视频网站| jizz一区二区| 欧美日韩亚洲综合在线| 欧美一区二区三区白人| 久久久久久久久久久电影| 国产欧美一区二区精品性色超碰| 国产精品二区一区二区aⅴ污介绍| 亚洲品质自拍视频| 日韩av电影天堂| 国产精品99久久久久久久女警| 成人av在线资源| 精品视频123区在线观看| 日韩欧美激情在线| 国产精品久久久久久久久果冻传媒 | 国产精品不卡在线| 亚洲妇女屁股眼交7| 美女网站视频久久| 成人精品视频网站| 欧美日韩国产首页在线观看| 欧美xxxx老人做受| 综合久久综合久久| 日本特黄久久久高潮| 成人毛片老司机大片| 在线观看视频一区| 久久色成人在线| 亚洲另类春色国产| 狠狠狠色丁香婷婷综合激情| 99国内精品久久| 日韩精品一区二区在线观看| 国产精品免费久久久久| 日韩一区精品视频| eeuss鲁片一区二区三区| 538在线一区二区精品国产| 国产欧美一区二区精品婷婷| 亚洲一区成人在线| 国产成人av电影在线观看| 日韩欧美成人一区| 国产精品成人一区二区艾草 | 欧美久久婷婷综合色| 久久日一线二线三线suv| 亚洲国产日韩a在线播放| 国产成人在线视频免费播放| 91麻豆精品国产91久久久久久久久| 国产精品国产三级国产有无不卡| 免费成人在线视频观看| 色噜噜久久综合| 国产精品无遮挡| 激情综合五月婷婷| 4438成人网| 亚洲在线视频一区| 99精品久久久久久| 久久精品人人做| 免费观看一级特黄欧美大片| 在线观看视频一区| 亚洲色欲色欲www| 懂色av一区二区夜夜嗨| 日韩女优av电影| 日韩中文字幕麻豆| 91国内精品野花午夜精品| 中文字幕不卡在线| 国产精品18久久久久久vr| 精品久久久影院| 美腿丝袜亚洲一区| 欧美一区二区视频在线观看2020| 亚洲综合色在线| 欧美亚洲国产一区二区三区va| 国产精品久久影院| 成人午夜激情视频| 中文字幕不卡的av| 成人av在线播放网址| 国产日韩三级在线| 国产精品888| 国产亚洲女人久久久久毛片| 国产一区二区三区日韩| 精品久久久久久亚洲综合网| 青椒成人免费视频| 欧美成人福利视频| 久草这里只有精品视频| 精品动漫一区二区三区在线观看| 日本91福利区| 精品剧情在线观看| 国产成人精品1024| 国产精品高潮呻吟久久| 成人美女视频在线观看18| 中文字幕一区二区三区蜜月| 成人深夜在线观看| 国产精品久久久久久一区二区三区 | 日一区二区三区| 91精品国产乱| 精彩视频一区二区三区| wwww国产精品欧美| 在线看一区二区| 亚洲综合精品自拍| 7777精品久久久大香线蕉| 久久国产精品第一页| 久久精品视频在线免费观看| 99久久精品国产导航| 亚洲美女区一区| 欧美精品tushy高清| 久久99热这里只有精品| 国产欧美一区二区三区网站| 成a人片亚洲日本久久| 亚洲综合区在线| 日韩一区二区在线看片| 国产成人99久久亚洲综合精品| 国产精品久久久久久久久免费丝袜 | 色88888久久久久久影院按摩 | 国产精品久久久久久久午夜片 | 色综合久久久久| 丝袜美腿高跟呻吟高潮一区| 日韩欧美一区在线| 成人免费毛片app| 亚洲高清免费在线| 欧美成人女星排名| www.在线成人| 奇米精品一区二区三区四区| 久久久久久日产精品| 91丨porny丨在线| 麻豆精品视频在线观看| 中文字幕 久热精品 视频在线| 欧美视频日韩视频在线观看| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲另类中文字| 2020国产精品| 精品婷婷伊人一区三区三| 国产在线国偷精品免费看| 一区二区三区美女| 亚洲精品一区二区在线观看| 91色婷婷久久久久合中文| 另类小说欧美激情| 一区二区三区在线视频观看58| 精品剧情v国产在线观看在线| 91社区在线播放| 国产成人亚洲综合a∨猫咪| 五月天网站亚洲| 一区免费观看视频| 欧美大片在线观看一区| 在线欧美小视频| 丰满少妇久久久久久久| 蜜桃av噜噜一区二区三区小说| 亚洲男人都懂的| 国产欧美综合在线| 欧美成人免费网站| 欧美人成免费网站| 色哦色哦哦色天天综合| 国产精品综合网|