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

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

?? flash.s43

?? MSP430系列單片機資料-7冊-46.3M-pdf.zip
?? S43
字號:
//////////////////////////////////////////////////////////////////////////////
//                                                                           /
// IAR MSP430 C/C++ Compiler V3.20A/W32  [Evaluation]  03/Mar/2005  15:53:33 /
// Copyright 1996-2004 IAR Systems. All rights reserved.                     /
//                                                                           /
//    __rt_version  =  2                                                     /
//    __double_size =  32                                                    /
//    __reg_r4      =  free                                                  /
//    __reg_r5      =  free                                                  /
//    __pic         =  no                                                    /
//    __core        =  64kb                                                  /
//    Source file   =  K:\書\例\6-8\flash.c                                  /
//    Command line  =  -I "C:\Program Files\IAR Systems\Embedded Workbench   /
//                     Evaluation 4.0\430\INC\" -I "C:\Program Files\IAR     /
//                     Systems\Embedded Workbench Evaluation                 /
//                     4.0\430\INC\CLIB\" -lB K:\書\例\6-8\Debug\List\ -o    /
//                     K:\書\例\6-8\Debug\Obj\ -z2 --no_cse --no_unroll      /
//                     --no_inline --no_code_motion --no_tbaa --debug -e     /
//                     --double=32 K:\書\例\6-8\flash.c                      /
//    List file     =  K:\書\例\6-8\Debug\List\flash.s43                     /
//                                                                           /
//                                                                           /
//////////////////////////////////////////////////////////////////////////////

        NAME flash

        RSEG CSTACK:DATA:SORT:NOROOT(1)

        EXTERN ?cstart_init_zero
        EXTERN ?longjmp_r4
        EXTERN ?longjmp_r5
        EXTERN ?setjmp_r4
        EXTERN ?setjmp_r5

        PUBWEAK ?setjmp_save_r4
        PUBWEAK ?setjmp_save_r5
        PUBWEAK FCTL1
        PUBWEAK FCTL3
        PUBLIC FlashBusy
        PUBLIC FlashErase
        PUBLIC FlashWB
        PUBLIC FlashWW
        PUBLIC FlashWWA
        PUBWEAK WDTCTL
        PUBLIC dd
        PUBLIC main

// K:\書\例\6-8\flash.c
//    1 /****************************************************************************\ 
//    2                                 北京東方美源公司
//    3                             版權(quán)所有(c)2005~2007
//    4 
//    5 文件名:flash.c
//    6 編寫者:czhang
//    7 描述:用于MSP430F149。
//    8 	  FLASH存儲器讀寫、擦除。時鐘源:ACLK 32.768KHz
//    9 
//   10 版本:	1.0	2005-2-19
//   11 \****************************************************************************/
//   12 #include  <msp430x14x.h>

        ASEGN DATA16_AN:DATA:NOROOT,0120H
// unsigned short volatile __data16 WDTCTL
WDTCTL:
        DS8 2

        ASEGN DATA16_AN:DATA:NOROOT,0128H
// unsigned short volatile __data16 FCTL1
FCTL1:
        DS8 2

        ASEGN DATA16_AN:DATA:NOROOT,012cH
// unsigned short volatile __data16 FCTL3
FCTL3:
        DS8 2
//   13 #include "flash.h"
//   14 
//   15 #define ADR 0xEE00

        RSEG DATA16_Z:DATA:SORT:NOROOT(1)
	REQUIRE ?cstart_init_zero
//   16 unsigned int dd[600];
dd:
        DS8 1200
//   17 

        RSEG CODE:CODE:REORDER:NOROOT(1)
//   18 void main(void)
main:
//   19 {
	PUSH.W	R10
	PUSH.W	R11
	SUB.W	#0x4, SP
//   20 	unsigned char *pflash;
//   21 	unsigned char q0;
//   22 	unsigned int iq0,iq1;
//   23 	WDTCTL = WDTPW + WDTHOLD;             // Stop WDT
	MOV.W	#0x5a80, &0x120
//   24 
//   25 	for(iq0=0;iq0<600;iq0++)
	MOV.W	#0x0, R10
??main_0:
	CMP.W	#0x258, R10
	JC	??main_3
//   26 		dd[iq0]=0xAA;
	MOV.W	R10, R15
	RLA.W	R15
	MOV.W	#0xaa, dd(R15)
	ADD.W	#0x1, R10
	JMP	??main_0
//   27 	_NOP();
??main_3:
	NOP
//   28 //	FlashErase(ADR);
//   29 	_NOP();
	NOP
//   30 	FlashWWA(ADR,dd,2);
	PUSH.W	#0x2
	MOV.W	#dd, R14
	MOV.W	#0xee00, R12
	CALL	#FlashWWA
//   31 //   iq0=*((unsigned int *)ADR);
//   32 //	FlashWW(ADR,0xBB00);
//   33 //	_NOP();
//   34 //	iq0=*((unsigned int *)ADR);
//   35 //	_NOP();
//   36 //	FlashWB(ADR,0xCC);
//   37 //	_NOP();
//   38 //	q0=*((unsigned char *)ADR);
//   39   for(iq0=0;iq0<600;iq0++)
	MOV.W	#0x0, R10
	ADD.W	#0x2, SP
??main_1:
	CMP.W	#0x258, R10
	JC	??main_4
//   40 		dd[iq0]=0;
	MOV.W	R10, R15
	RLA.W	R15
	MOV.W	#0x0, dd(R15)
	ADD.W	#0x1, R10
	JMP	??main_1
//   41 	iq1=ADR;
??main_4:
	MOV.W	#0xee00, R11
//   42 	for(iq0=0;iq0<600;iq0++)
	MOV.W	#0x0, R10
??main_2:
	CMP.W	#0x258, R10
	JC	??main_5
//   43 	{
//   44 		dd[iq0]=*((unsigned int *)iq1);
	MOV.W	R10, R15
	RLA.W	R15
	MOV.W	@R11, dd(R15)
//   45 		iq1+=2;
	ADD.W	#0x2, R11
//   46 	}
	ADD.W	#0x1, R10
	JMP	??main_2
//   47 	_NOP();
??main_5:
	NOP
//   48 }
	ADD.W	#0x4, SP
	POP.W	R11
	POP.W	R10
	RET
//   49 /***************************************************************************
//   50 段擦除
//   51 adr:要擦除的段內(nèi)的任一地址
//   52 ***************************************************************************/

        RSEG CODE:CODE:REORDER:NOROOT(1)
//   53 void FlashErase(unsigned int adr)
FlashErase:
//   54 {
	PUSH.W	R10
	PUSH.W	R11
	MOV.W	R12, R10
//   55 	unsigned char *p0;
//   56 
//   57 	FCTL1=FWKEY+ERASE;
	MOV.W	#0xa502, &0x128
//   58 	FCTL3=FWKEY;
	MOV.W	#0xa500, &0x12c
//   59 	p0=(unsigned char *)adr;
	MOV.W	R10, R11
//   60 	*p0=0;				//向段內(nèi)地址任意寫,啟動擦除操作
	MOV.B	#0x0, 0(R11)
//   61 	FCTL1=FWKEY;
	MOV.W	#0xa500, &0x128
//   62 	FCTL3=FWKEY+LOCK;
	MOV.W	#0xa510, &0x12c
//   63 	while(FlashBusy()==1)	//等待FLASH存儲器完成操作
??FlashErase_0:
	CALL	#FlashBusy
	CMP.B	#0x1, R12
	JEQ	??FlashErase_0
//   64 	;
//   65 }
	POP.W	R11
	POP.W	R10
	RET
//   66 
//   67 /**************************************************************************
//   68 測試FLASH是否忙
//   69 返回值:  1:忙   0:不忙
//   70 **************************************************************************/

        RSEG CODE:CODE:REORDER:NOROOT(1)
//   71 unsigned char FlashBusy()
FlashBusy:
//   72 {
//   73 if((FCTL3&BUSY)==BUSY)
	BIT.W	#0x1, &0x12c
	SUBC.B	R12, R12
	ADD.B	#0x1, R12
//   74 		return 1;
//   75 	else
//   76 		return 0;
	RET
//   77 }
//   78 
//   79 /**************************************************************************
//   80 字編程
//   81 Adr:要編程的地址,注意:不是指針類型,應(yīng)當是偶地址
//   82 DataW:要編程的字
//   83 **************************************************************************/

        RSEG CODE:CODE:REORDER:NOROOT(1)
//   84 void FlashWW(unsigned int Adr,unsigned int DataW)
FlashWW:
//   85 {
	PUSH.W	R10
	PUSH.W	R11
	MOV.W	R12, R10
	MOV.W	R14, R11
//   86 	FCTL1=FWKEY+WRT;
	MOV.W	#0xa540, &0x128
//   87 	FCTL3=FWKEY;
	MOV.W	#0xa500, &0x12c
//   88    *((unsigned int *)Adr)=DataW;
	MOV.W	R11, 0(R10)
//   89 	FCTL1=FWKEY;
	MOV.W	#0xa500, &0x128
//   90 	FCTL3=FWKEY+LOCK;
	MOV.W	#0xa510, &0x12c
//   91 	while(FlashBusy()==1)	//等待FLASH存儲器完成操作
??FlashWW_0:
	CALL	#FlashBusy
	CMP.B	#0x1, R12
	JEQ	??FlashWW_0
//   92 	;
//   93 }
	POP.W	R11
	POP.W	R10
	RET
//   94 
//   95 /**************************************************************************
//   96 字節(jié)編程
//   97 Adr:指向要編程的地址,注意:不是指針類型
//   98 DataB:要編程的字節(jié)
//   99 **************************************************************************/
//  100 

        RSEG CODE:CODE:REORDER:NOROOT(1)
//  101 void FlashWB(unsigned int Adr,unsigned char DataB)
FlashWB:
//  102 {
	PUSH.W	R10
	PUSH.W	R11
	MOV.W	R12, R10
	MOV.B	R14, R11
//  103 	FCTL1=FWKEY+WRT;
	MOV.W	#0xa540, &0x128
//  104 	FCTL3=FWKEY;
	MOV.W	#0xa500, &0x12c
//  105 	*((unsigned char *)Adr)=DataB;
	MOV.B	R11, 0(R10)
//  106 	FCTL1=FWKEY;
	MOV.W	#0xa500, &0x128
//  107 	FCTL3=FWKEY+LOCK;
	MOV.W	#0xa510, &0x12c
//  108 	while(FlashBusy()==1)	//等待FLASH存儲器完成操作
??FlashWB_0:
	CALL	#FlashBusy
	CMP.B	#0x1, R12
	JEQ	??FlashWB_0
//  109 	;
//  110 }
	POP.W	R11
	POP.W	R10
	RET
//  111 
//  112 /**************************************************************************
//  113 多字編程
//  114 Adr:指向要編程的地址,注意:不是指針類型,應(yīng)當是偶地址
//  115 pDataW:指向要編程的字節(jié)的數(shù)組的指針
//  116 nWord:編程的字數(shù)
//  117 **************************************************************************/
//  118 //#pragma location="MYSET" 
//  119 

        RSEG MYSET:CODE:REORDER:NOROOT(1)
//  120 void FlashWWA(unsigned int Adr,unsigned int *pDataW,unsigned int nWord)  @ "MYSET"
FlashWWA:
//  121 {
	SUB.W	#0x6, SP
	MOV.W	0x8(SP), R15
//  122 	unsigned int iq0,iq1;
//  123 	unsigned int *piq0;
//  124 
//  125 //	piq0= (unsigned int*)Adr;
//  126 //
//  127 //	while(FlashBusy()==1)	//等待FLASH存儲器完成操作
//  128 //	;
//  129 //	FCTL3=FWKEY;				 //復(fù)位LOCK位,為FLASH解鎖
//  130 //
//  131 //	FCTL1=FWKEY+WRT+SEGWRT;  //選擇段編程,進入編程狀態(tài)
//  132 //	*piq0 = 0xAA00;
//  133 //	while((FCTL3&WAIT)==0)  //等待FALSH存儲器可以接受新的編程數(shù)據(jù)
//  134 //	;
//  135 
//  136 /*
//  137 	FCTL1=FWKEY+WRT+SEGWRT;  //選擇段編程,進入編程狀態(tài)
//  138 	FCTL3=FWKEY;				 //復(fù)位LOCK位,為FLASH解鎖
//  139 
//  140 	piq0= (unsigned int*)Adr;
//  141 	for(iq0=0;iq0<nWord;iq0++)
//  142 	{
//  143 		while((FCTL3&WAIT)==0)  //等待FALSH存儲器可以接受新的編程數(shù)據(jù)
//  144 		;
//  145 
//  146 //		piq0= (unsigned int*)Adr;
//  147 		*piq0 = 0xAA00;//(*pDataW);
//  148 		piq0++;
//  149 //		pDataW++;
//  150 		//判斷是否到達段邊界
//  151 //		iq1=(Adr>>9)+1;
//  152 //		if((iq1&0x1)==0)
//  153 //		{
//  154 //			//到達段邊界
//  155 //			while((FCTL3&WAIT)==0)  //等待FALSH存儲器可以接受新的編程數(shù)據(jù)
//  156 //			;
//  157 //			FCTL1=FWKEY;	//WRT、SEGWRT復(fù)位
//  158 //			while(FlashBusy()==1)
//  159 //			;
//  160 //			FCTL1=FWKEY+WRT+SEGWRT;  //選擇段編程,進入編程狀態(tài)
//  161 //		}
//  162 //		Adr+=2;
//  163 	}
//  164 	while((FCTL3&WAIT)==0)  //等待FALSH存儲器可以接受新的編程數(shù)據(jù)
//  165 	;
//  166 	FCTL1=FWKEY;	//WRT、SEGWRT復(fù)位
//  167 	FCTL3=FWKEY+LOCK;
//  168 	while(FlashBusy()==1)	//等待FLASH存儲器完成操作
//  169 	;
//  170 	*/
//  171 }
	ADD.W	#0x6, SP
	RET

        RSEG CODE:CODE:REORDER:NOROOT(1)
?setjmp_save_r4:
	REQUIRE ?setjmp_r4
	REQUIRE ?longjmp_r4

        RSEG CODE:CODE:REORDER:NOROOT(1)
?setjmp_save_r5:
	REQUIRE ?setjmp_r5
	REQUIRE ?longjmp_r5

        END
// 
//   270 bytes in segment CODE
//     6 bytes in segment DATA16_AN
// 1 200 bytes in segment DATA16_Z
//    14 bytes in segment MYSET
// 
//   284 bytes of CODE memory
// 1 200 bytes of DATA memory (+ 6 bytes shared)
//
//Errors: none
//Warnings: 6

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产jizzjizz一区二区| 欧美成人福利视频| 日韩一级黄色片| 亚洲欧美在线aaa| 蜜桃av噜噜一区| www.亚洲人| 久久亚区不卡日本| 日韩精品国产欧美| 色哟哟亚洲精品| 亚洲国产精品精华液ab| 男人的天堂亚洲一区| 欧美猛男男办公室激情| 中文av字幕一区| 国内外成人在线视频| 91精品国产免费| 亚洲电影一区二区三区| 色婷婷av一区二区三区gif | 欧美精品一区二区蜜臀亚洲| 亚洲激情自拍视频| av在线这里只有精品| 国产午夜精品久久久久久免费视| 人人超碰91尤物精品国产| 色综合天天综合网天天狠天天| 国产日韩欧美在线一区| 久久er99精品| 精品欧美乱码久久久久久1区2区| 午夜电影久久久| 欧美日本在线一区| 亚洲成在线观看| 欧美综合天天夜夜久久| 亚洲三级在线观看| 色综合久久综合网| 亚洲精品成人少妇| 欧美色爱综合网| 亚洲国产欧美在线| 欧美日韩大陆在线| 日韩高清一区二区| 日韩欧美一区二区免费| 精品一区二区在线看| 2014亚洲片线观看视频免费| 蜜桃视频一区二区三区| 精品国产一区二区精华| 黑人巨大精品欧美黑白配亚洲| 久久久美女毛片| 成人免费观看视频| 日韩伦理电影网| 精品视频在线视频| 久久精品国产免费看久久精品| 日韩欧美在线网站| 国产精品一区二区无线| 日本一区免费视频| 91国模大尺度私拍在线视频| 亚洲午夜电影在线| 日韩午夜激情视频| 国产成人av一区二区三区在线观看| 久久久久久99精品| 色综合av在线| 免费观看在线综合色| 国产精品不卡在线观看| 91视频观看视频| 男男视频亚洲欧美| 日本一区二区动态图| 欧美日韩精品一区二区三区蜜桃| 麻豆精品在线观看| 亚洲欧洲一区二区三区| 4438x成人网最大色成网站| 国模一区二区三区白浆| 亚洲欧美日韩精品久久久久| 4438成人网| 97精品超碰一区二区三区| 日韩高清不卡在线| 成人免费一区二区三区视频| 欧美精品一二三| 成人avav在线| 麻豆精品一区二区三区| 亚洲精品大片www| 久久一区二区视频| 欧美日韩国产高清一区二区| 国产精品亚洲午夜一区二区三区 | 国产欧美一二三区| 欧美视频在线不卡| 国产精品资源网站| 天堂蜜桃91精品| 亚洲视频一二三| 久久久久久久综合狠狠综合| 欧美视频一区在线| kk眼镜猥琐国模调教系列一区二区| 日本免费新一区视频| 国产成人在线看| 国产999精品久久久久久| 国产精品色眯眯| 91精品一区二区三区在线观看| 99天天综合性| 国产老女人精品毛片久久| 天天综合色天天综合| 亚洲欧洲中文日韩久久av乱码| 久久久亚洲精品石原莉奈| 91麻豆精品91久久久久久清纯| 91麻豆福利精品推荐| 国产91精品一区二区麻豆亚洲| 青青国产91久久久久久| 亚洲一区二区三区四区中文字幕| 中文字幕不卡在线观看| 国产午夜三级一区二区三| 日韩亚洲欧美一区| 欧美一级免费大片| 欧美精品v国产精品v日韩精品 | 麻豆精品视频在线观看视频| 一区二区三区在线观看欧美| 国产精品卡一卡二卡三| 国产精品色在线| 国产性色一区二区| 国产视频不卡一区| 国产欧美一区二区三区网站| 久久久久久麻豆| 国产日韩精品一区二区三区在线| 日韩免费视频一区| 欧美xxxxxxxxx| 精品99一区二区三区| 日韩免费高清av| 精品国产一区二区亚洲人成毛片| 欧美sm美女调教| 久久午夜国产精品| 国产精品视频一二三| 国产女主播一区| 国产精品麻豆网站| 亚洲欧洲另类国产综合| 亚洲精品国产一区二区三区四区在线| 国产精品久久久久三级| 亚洲免费在线观看视频| 一区二区三国产精华液| 五月激情综合网| 免费高清视频精品| 国产传媒日韩欧美成人| 99热在这里有精品免费| 在线观看视频一区二区| 51精品秘密在线观看| 精品久久久久久久久久久久久久久久久| 日韩欧美国产成人一区二区| 久久―日本道色综合久久| 亚洲欧洲一区二区在线播放| 亚洲一区二区三区爽爽爽爽爽| 日本在线不卡视频| 国产大片一区二区| 色88888久久久久久影院按摩 | 成人高清视频在线| 欧美自拍丝袜亚洲| 欧美xxx久久| 亚洲视频一区二区在线观看| 午夜精品免费在线观看| 国产原创一区二区| 色狠狠一区二区三区香蕉| 欧美一区二区精品在线| 国产精品国产自产拍高清av王其| 一个色综合av| 国产精品一二一区| 欧美剧情片在线观看| 中文字幕免费观看一区| 日韩高清不卡一区二区三区| 成人一区二区三区视频在线观看| 欧美在线影院一区二区| 久久久亚洲精品石原莉奈| 亚洲一区视频在线观看视频| 国产美女av一区二区三区| 91成人在线免费观看| 国产网站一区二区| 美女任你摸久久| 欧美性受极品xxxx喷水| 亚洲国产岛国毛片在线| 免费成人av在线播放| 91国产视频在线观看| 中文av一区特黄| 国内精品免费在线观看| 欧美日韩在线播| 亚洲欧洲日本在线| 国产99久久久久| 久久综合色综合88| 秋霞成人午夜伦在线观看| 91国产福利在线| 国产精品白丝在线| 大尺度一区二区| 久久久精品天堂| 久久99国产乱子伦精品免费| 日本韩国欧美三级| 亚洲视频狠狠干| 成年人午夜久久久| 国产亚洲成aⅴ人片在线观看| 青青草伊人久久| 91精品国产综合久久精品图片| 一区二区三区精品| 91久久精品一区二区| 亚洲三级在线播放| 91亚洲国产成人精品一区二区三| 中文天堂在线一区| 粗大黑人巨茎大战欧美成人| 国产色综合久久| 国产伦精品一区二区三区在线观看| 日韩欧美三级在线| 精品午夜一区二区三区在线观看| 日韩亚洲电影在线|