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

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

?? mmc.lst

?? SD MMC 的一個讀卡程序,大家可以自已寫一個讀卡器
?? LST
?? 第 1 頁 / 共 3 頁
字號:
__text_start:
__start:
    0044 EFCF      LDI	R28,0xFF
    0045 E0D4      LDI	R29,4
    0046 BFCD      OUT	0x3D,R28
    0047 BFDE      OUT	0x3E,R29
    0048 51C0      SUBI	R28,0x10
    0049 40D0      SBCI	R29,0
    004A EA0A      LDI	R16,0xAA
    004B 8308      STD	Y+0,R16
    004C 2400      CLR	R0
    004D E0E0      LDI	R30,0
    004E E0F1      LDI	R31,1
    004F E013      LDI	R17,3
    0050 30E0      CPI	R30,0
    0051 07F1      CPC	R31,R17
    0052 F011      BEQ	0x0055
    0053 9201      ST	R0,Z+
    0054 CFFB      RJMP	0x0050
    0055 8300      STD	Z+0,R16
    0056 E8E8      LDI	R30,0x88
    0057 E0F0      LDI	R31,0
    0058 E0A0      LDI	R26,0
    0059 E0B1      LDI	R27,1
    005A E010      LDI	R17,0
    005B 38E8      CPI	R30,0x88
    005C 07F1      CPC	R31,R17
    005D F021      BEQ	0x0062
    005E 95C8      LPM
    005F 9631      ADIW	R30,1
    0060 920D      ST	R0,X+
    0061 CFF9      RJMP	0x005B
    0062 D001      RCALL	_main
_exit:
    0063 CFFF      RJMP	_exit
FILE: E:\SOUCER~1\M162MMC\main.c
(0001) /******************************************
(0002) * 程序名稱: MMC(SD)卡讀寫程序
(0003) * 程序功能: 主函數
(0004) * 目標硬件: AVR MCU "ATMEGA162" 16.0000MHz
(0005) * 創建日期: 2007-12
(0006) * 原創作者: XuGuoHong 
(0007) *           kk20y@yahoo.com.cn
(0008) * 修改記錄: 無
(0009) ******************************************/
(0010) 
(0011) /* INCLUDE參數  */
(0012) #include <iom162v.h>
(0013) 
(0014) /* 全局變量 */
(0015) unsigned char sector[512];
(0016) 
(0017) /*******************************
(0018) *          主 函 數
(0019) *******************************/
(0020) void main(void)
(0021) {
(0022) 	unsigned int i;
(0023)     SPL = 0XFF;    				/* 堆棧初始化 */
_main:
  i                    --> R20
    0064 EF8F      LDI	R24,0xFF
    0065 BF8D      OUT	0x3D,R24
(0024)     SPH = 0X04;
    0066 E084      LDI	R24,4
    0067 BF8E      OUT	0x3E,R24
(0025)     uart1_init();
    0068 D160      RCALL	_uart1_init
(0026)     spi_init();
    0069 D178      RCALL	_spi_init
(0027) 	DelayMs(100);
    006A E604      LDI	R16,0x64
    006B E010      LDI	R17,0
    006C D026      RCALL	_DelayMs
(0028) 	MMCInit();
    006D D06A      RCALL	_MMCInit
(0029)     //asm("sei");             /* 系統總中斷開 */
(0030) 
(0031) 	
(0032) 	// 測試1:將數據寫入第255個扇區
(0033) 	for(i=0; i<512; i++)
    006E 2744      CLR	R20
    006F 2755      CLR	R21
    0070 C006      RJMP	0x0077
(0034) 	   sector[i]=0X88;
    0071 940E02A5  CALL	0x2A5
    0073 E888      LDI	R24,0x88
    0074 8380      STD	Z+0,R24
    0075 5F4F      SUBI	R20,0xFF
    0076 4F5F      SBCI	R21,0xFF
    0077 3040      CPI	R20,0
    0078 E0E2      LDI	R30,2
    0079 075E      CPC	R21,R30
    007A F3B0      BCS	0x0071
(0035) 	MMCWrBlock1(255);
    007B EF0F      LDI	R16,0xFF
    007C E010      LDI	R17,0
    007D D0F1      RCALL	_MMCWrBlock1
(0036) 	
(0037) 	// 測試2:將第1個扇區的數據讀出
(0038) 	MMCRdBolck1(0);
    007E 2700      CLR	R16
    007F 2711      CLR	R17
    0080 D0A1      RCALL	_MMCRdBolck1
(0039)     for(i=0; i<512; i++)
    0081 2744      CLR	R20
    0082 2755      CLR	R21
    0083 C007      RJMP	0x008B
(0040) 	    uart1_send(sector[i]);
    0084 940E02A5  CALL	0x2A5
    0086 8100      LDD	R16,Z+0
    0087 2711      CLR	R17
    0088 D14A      RCALL	_uart1_send
    0089 5F4F      SUBI	R20,0xFF
    008A 4F5F      SBCI	R21,0xFF
    008B 3040      CPI	R20,0
    008C E0E2      LDI	R30,2
    008D 075E      CPC	R21,R30
    008E F3A8      BCS	0x0084
    008F C001      RJMP	0x0091
(0041) 		
(0042) 	while(1)
(0043) 	{
(0044) 	   asm("nop");
    0090 0000      NOP
    0091 CFFE      RJMP	0x0090
    0092 9508      RET
_DelayMs:
  count                --> R20
  temp                 --> R22
  time                 --> R16
    0093 D172      RCALL	push_gset2
(0045) 	}
(0046) }
(0047) 
(0048) /******************************************
(0049) * 名稱:  DelayMs
(0050) * 描述:  軟件延時函數,單位ms
(0051) ******************************************/
(0052) void DelayMs(unsigned int time)
(0053) {
(0054)     unsigned int temp;
(0055) 	unsigned int count;
(0056) 	count = 2663;
    0094 E647      LDI	R20,0x67
    0095 E05A      LDI	R21,0xA
    0096 C009      RJMP	0x00A0
(0057) 	while(count--)
(0058) 	{
(0059) 	   for (temp=0; temp<time; temp++);
    0097 2766      CLR	R22
    0098 2777      CLR	R23
    0099 C002      RJMP	0x009C
    009A 5F6F      SUBI	R22,0xFF
    009B 4F7F      SBCI	R23,0xFF
    009C 1760      CP	R22,R16
    009D 0771      CPC	R23,R17
    009E F3D8      BCS	0x009A
(0060) 	   {
(0061)            asm("nop");	
    009F 0000      NOP
    00A0 011A      MOVW	R2,R20
    00A1 5041      SUBI	R20,1
    00A2 4050      SBCI	R21,0
    00A3 2022      TST	R2
    00A4 F791      BNE	0x0097
    00A5 2033      TST	R3
    00A6 F781      BNE	0x0097
    00A7 D154      RCALL	pop_gset2
    00A8 9508      RET
FILE: E:\SOUCER~1\M162MMC\mmc.c
(0001) /******************************************
(0002) * 程序名稱: MMC(SD)卡讀寫程序
(0003) * 程序功能: MMC(SD)卡接口操作
(0004) * 目標硬件: AVR MCU "ATMEGA162" 16.0000MHz
(0005) * 創建日期: 2007-12
(0006) * 原創作者: XuGuoHong 
(0007) *           kk20y@yahoo.com.cn
(0008) * 修改記錄: 無
(0009) ******************************************/
(0010) 
(0011) /* INCLUDE參數  */
(0012) #include <iom162v.h>
(0013) 
(0014) /* 全局變量 */
(0015) extern unsigned char sector[512];
(0016) 
(0017) /************************************
(0018) *         MMC卡片選-1選中/0不選中
(0019) ************************************/
(0020) void MMCCS(unsigned char cs)
(0021) {
(0022)    if(cs==0)
_MMCCS:
  cs                   --> R16
    00A9 2300      TST	R16
    00AA F411      BNE	0x00AD
(0023)        PORTB|=(1<<PB4);           /* SS=1 */
    00AB 9AC4      SBI	0x18,4
    00AC C001      RJMP	0x00AE
(0024)    else
(0025)        PORTB&=~(1<<PB4);          /* SS=0 */
    00AD 98C4      CBI	0x18,4
    00AE 9508      RET
_MMCWrCmd:
  k                    --> R20
  i                    --> R22
  temp                 --> R10
  cmd                  --> R12
    00AF D152      RCALL	push_gset4
    00B0 0168      MOVW	R12,R16
(0026) }
(0027) 
(0028) /*******************************
(0029) *        MMC命令發送
(0030) *******************************/
(0031) unsigned char MMCWrCmd(unsigned char *cmd)
(0032) {
(0033)     unsigned char i=0,k=0;
    00B1 2766      CLR	R22
    00B2 2744      CLR	R20
(0034) 	unsigned char temp=0XFF;
    00B3 EF8F      LDI	R24,0xFF
    00B4 2EA8      MOV	R10,R24
(0035)     MMCCS(0);		   			/* 片選無效 */
    00B5 2700      CLR	R16
    00B6 DFF2      RCALL	_MMCCS
(0036) 	spi_send(0XFF);				/* 發送8個時鐘 */
    00B7 EF0F      LDI	R16,0xFF
    00B8 E010      LDI	R17,0
    00B9 D135      RCALL	_spi_send
(0037) 	MMCCS(1);		   			/* 片選有效 */
    00BA E001      LDI	R16,1
    00BB DFED      RCALL	_MMCCS
(0038) 	asm("nop");
    00BC 0000      NOP
(0039) 	for(i=0; i<6; i++)
    00BD C006      RJMP	0x00C4
(0040) 	{
(0041) 	    spi_send(*(cmd++));		/* 發送命令 */   
    00BE 01F6      MOVW	R30,R12
    00BF 9101      LD	R16,Z+
    00C0 016F      MOVW	R12,R30
    00C1 2711      CLR	R17
    00C2 D12C      RCALL	_spi_send
    00C3 9563      INC	R22
    00C4 3066      CPI	R22,6
    00C5 F3C0      BCS	0x00BE
    00C6 C00B      RJMP	0x00D2
(0042) 	}
(0043) 	while(temp==0XFF)
(0044) 	{
(0045) 	    temp = spi_send(0XFF);  /* 等待回復 */
    00C7 EF0F      LDI	R16,0xFF
    00C8 E010      LDI	R17,0
    00C9 D125      RCALL	_spi_send
    00CA 2EA0      MOV	R10,R16
(0046) 		if(k++>200)             /* 超時返回 */
    00CB 2E24      MOV	R2,R20
    00CC 2433      CLR	R3
    00CD 5F4F      SUBI	R20,0xFF
    00CE EC88      LDI	R24,0xC8
    00CF 1582      CP	R24,R2
    00D0 F408      BCC	0x00D2
(0047) 		{
(0048) 		    return temp;
    00D1 C004      RJMP	0x00D6
    00D2 2D8A      MOV	R24,R10
    00D3 3F8F      CPI	R24,0xFF
    00D4 F391      BEQ	0x00C7
(0049) 		}
(0050) 	}
(0051)     return temp;
    00D5 2F08      MOV	R16,R24
    00D6 D127      RCALL	pop_gset4
    00D7 9508      RET
_MMCInit:
  temp                 --> R22
  timeout              --> R20
  cmd                  --> Y+0
  i                    --> R20
    00D8 D12D      RCALL	push_gset2
    00D9 9726      SBIW	R28,6
(0052) }
(0053) 
(0054) 
(0055) /*******************************
(0056) *        MMC初始化
(0057) *******************************/
(0058) unsigned char MMCInit(void)
(0059) {
(0060)     unsigned int timeout;
(0061) 	unsigned char i=0,temp=0;
    00DA 2744      CLR	R20
    00DB 2766      CLR	R22
(0062)     unsigned char cmd[]={0x40,0x00,0x00,0x00,0x00,0x95};  
    00DC E780      LDI	R24,0x70
    00DD 940E027C  CALL	<created procedures>
    00DF D183      RCALL	asgncblk
(0063) 	DelayMs(500);
    00E0 EF04      LDI	R16,0xF4
    00E1 E011      LDI	R17,1
    00E2 DFB0      RCALL	_DelayMs
(0064) 	/* 發送一定數量的時鐘脈沖 */
(0065)     for(i=0;i<0x10;i++) 
    00E3 C004      RJMP	0x00E8
(0066)     {
(0067)         spi_send(0XFF);
    00E4 EF0F      LDI	R16,0xFF
    00E5 E010      LDI	R17,0
    00E6 D108      RCALL	_spi_send
    00E7 9543      INC	R20
    00E8 3140      CPI	R20,0x10
    00E9 F3D0      BCS	0x00E4
(0068)     }
(0069) 	/* 發送CMD0 */
(0070) 	if(MMCWrCmd(cmd)!=0X01)
    00EA 018E      MOVW	R16,R28
    00EB DFC3      RCALL	_MMCWrCmd
    00EC 3001      CPI	R16,1
    00ED F011      BEQ	0x00F0
(0071) 	   return 0;
    00EE 2700      CLR	R16
    00EF C015      RJMP	0x0105
(0072) 	/* 發送CMD1 */
(0073) 	cmd[0]=0X41;
    00F0 E481      LDI	R24,0x41
    00F1 8388      STD	Y+0,R24
(0074) 	cmd[5]=0XFF;
    00F2 EF8F      LDI	R24,0xFF
    00F3 838D      STD	Y+5,R24

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆精品在线看| 欧美一三区三区四区免费在线看 | 欧美日精品一区视频| 日韩欧美中文字幕公布| 99久免费精品视频在线观看| 国产1区2区3区精品美女| 日本道精品一区二区三区| 久久久久九九视频| 奇米一区二区三区| 91在线播放网址| 久久久青草青青国产亚洲免观| 偷拍亚洲欧洲综合| 日本精品免费观看高清观看| 国产视频在线观看一区二区三区 | 国产精品精品国产色婷婷| 久久免费国产精品| 中文字幕一区二区三区蜜月| 亚洲精品福利视频网站| 国产高清不卡一区| 久久免费午夜影院| 激情综合网激情| 99精品欧美一区二区三区小说 | 欧美视频你懂的| 欧美三区免费完整视频在线观看| 欧美精品九九99久久| 亚洲黄色免费电影| 色综合av在线| 日韩免费视频一区二区| 欧美激情综合在线| 国产成人超碰人人澡人人澡| 26uuu精品一区二区在线观看| 国产亚洲一区二区三区四区| 久久99精品国产.久久久久 | 国产日韩欧美综合在线| 亚洲色图在线看| 色综合一区二区| 一区二区三区在线视频观看58| 日韩有码一区二区三区| 91精品国产综合久久婷婷香蕉| 欧美成人精品福利| 精品一区二区三区视频 | 日本成人中文字幕在线视频| 欧美精品久久久久久久多人混战 | 欧美一区二区不卡视频| 日韩在线一区二区| www.在线成人| 欧美精品一区视频| 亚洲午夜精品一区二区三区他趣| 国产一区在线看| 国产精品久线在线观看| 91麻豆自制传媒国产之光| 日韩免费在线观看| 丁香激情综合五月| 亚洲免费资源在线播放| 国产福利91精品一区二区三区| 欧美性色欧美a在线播放| 日本一道高清亚洲日美韩| 99精品视频在线免费观看| 一区二区三区美女视频| 日韩午夜在线观看| 一区二区三区在线免费| 欧美一区二区性放荡片| 亚洲一本大道在线| 欧美tickling网站挠脚心| 成人小视频在线观看| 亚洲成av人影院在线观看网| 日韩免费性生活视频播放| 亚洲老司机在线| 欧美精品一区二区三区蜜桃| av成人动漫在线观看| 中文幕一区二区三区久久蜜桃| 在线免费观看日本欧美| 精品一区二区av| 一区二区不卡在线视频 午夜欧美不卡在 | zzijzzij亚洲日本少妇熟睡| 久久久.com| 国产精品自在在线| 亚洲小说春色综合另类电影| 色美美综合视频| 精品一区二区免费| 国产欧美一区二区三区网站 | 亚洲免费av观看| 欧美哺乳videos| 久久97超碰国产精品超碰| 亚洲视频免费观看| 欧日韩精品视频| 粗大黑人巨茎大战欧美成人| 久久亚洲一区二区三区四区| 国产精品亚洲第一| 欧美激情一二三区| 精品福利视频一区二区三区| 国内精品视频666| 亚洲一区二区三区四区中文字幕| 欧美国产精品一区二区三区| 欧美日韩精品欧美日韩精品一 | 久久精品国产一区二区三区免费看| 国产黄色精品网站| 亚洲品质自拍视频| 中文字幕免费在线观看视频一区| 宅男噜噜噜66一区二区66| 亚洲成人午夜电影| 欧美久久久久久久久| 色欧美乱欧美15图片| 亚洲视频一二三| 国产精品久久久久一区二区三区 | 国产一区二区三区四区在线观看| 9191久久久久久久久久久| 日韩成人一级大片| 中文子幕无线码一区tr| 久久久噜噜噜久噜久久综合| 欧美一区二区视频在线观看2022 | 国产日韩欧美麻豆| 91美女视频网站| 色综合天天综合网天天狠天天| 成人免费毛片片v| 成人激情小说网站| 亚洲一区国产视频| 亚洲一区在线电影| 亚洲自拍偷拍网站| 午夜精品福利视频网站| 免费在线欧美视频| 激情久久五月天| 国产精品一区一区| 亚洲黄色免费网站| 久久精品综合网| 国产精品情趣视频| 欧美一区二区黄色| 成人开心网精品视频| 91一区二区三区在线播放| 久久黄色级2电影| 高清不卡一二三区| av一区二区不卡| 欧美性猛交xxxx黑人交| 欧美一区二区视频在线观看| 国产福利一区二区| 久久国产精品区| 亚洲电影激情视频网站| 蜜桃精品视频在线| 懂色一区二区三区免费观看| 91片在线免费观看| 3d动漫精品啪啪| 欧美日韩中字一区| 日韩免费一区二区| 在线不卡中文字幕| 欧美精品一区二区三区久久久| 欧美另类高清zo欧美| 日韩欧美色电影| 日本一区二区动态图| 亚洲香蕉伊在人在线观| 最新热久久免费视频| 亚洲成在线观看| 中文字幕中文字幕在线一区 | 欧美日韩一级片网站| 日韩一区二区精品| 欧美高清一级片在线| 久久久精品蜜桃| 亚洲国产综合色| 国产激情91久久精品导航| 国产精品一级在线| 欧美另类变人与禽xxxxx| 欧美国产精品v| 国产精品人成在线观看免费| 日产欧产美韩系列久久99| 国产成a人亚洲| 91精品福利在线一区二区三区| 国产精品盗摄一区二区三区| 亚洲天天做日日做天天谢日日欢| 亚洲丝袜另类动漫二区| 亚洲婷婷在线视频| 樱花影视一区二区| 国产伦精品一区二区三区免费| 欧美视频你懂的| 91麻豆精品国产91久久久久久久久 | 亚洲女厕所小便bbb| 国产成人av一区二区三区在线观看| 欧美日韩五月天| 最新热久久免费视频| 国产高清一区日本| 日韩一区二区三区精品视频| 一区二区三区在线免费视频| av亚洲精华国产精华精华| 欧美高清www午色夜在线视频| 亚洲狼人国产精品| 一区二区三区在线播| 中文字幕一区二区三区在线播放 | 国产精品欧美精品| 中文字幕免费不卡| 国产一区二区三区电影在线观看| 国产91在线观看| 在线亚洲一区二区| 中文字幕在线不卡一区二区三区| 亚洲在线视频一区| 成人黄色777网| 国产免费观看久久| 丰满少妇在线播放bd日韩电影| 日韩欧美精品三级| 日韩视频免费观看高清完整版在线观看 | 欧美精品成人一区二区三区四区| 欧美日韩激情一区二区| 亚洲精品久久嫩草网站秘色|