F020基礎知識
每個(gè)端口引腳的輸出方式都可被配置為漏極開(kāi)路或推挽方式,缺省狀態(tài)為漏極開(kāi)路。(缺省Pn=0xff)
在推挽方式,向端口數據寄存器中的相應位寫(xiě)邏輯‘0’將使端口引腳被驅動(dòng)到GND,寫(xiě)邏輯‘1將使端口引腳被驅動(dòng)到VDD。
在漏極開(kāi)路方式,向端口數據寄存器中的相應位寫(xiě)邏輯‘0’將使端口引腳被驅動(dòng)到GND,寫(xiě)邏輯‘1’將使端口引腳處于高阻狀態(tài)(注:必須禁止弱上拉,內部有弱上拉)。
通過(guò)設置輸出方式為“漏極開(kāi)路”并向端口數據寄存器中的相應位寫(xiě)‘1置為數字輸入。例如,設置P3MDOUT.7為邏輯‘0’并設置P3.7為邏輯‘1‘即可將P3.7配置為數字輸入
FLASH存儲器除了用于存儲程序代碼之外還可以用于非易失性數據存儲。這就允許在程序運行時(shí)計算和存儲類(lèi)似標定系數這樣的數據。數據寫(xiě)入用MOVX指令,讀出用MOVC指令。
MCU的FLASH存儲器中有一個(gè)附加的128字節的扇區,可用于非易失性數據存儲。然而它較小的扇區容量使其尤其適于作為通用的非易失性臨時(shí)存儲器。盡管FLASH存儲器可以每次寫(xiě)一個(gè)字節,但必須首先擦除整個(gè)扇區。若要修改一個(gè)多字節數據集中的某一個(gè)字節,數據集必須被移動(dòng)到臨時(shí)存儲區域。128字節的扇區規模使數據更新更加容易,可以不浪費程序存儲器或RAM空間。
該128字節的扇區在64K字節FLASH存儲器中是雙映射的;它的地址范圍是從0x1000到0x1007F。該128B扇區是雙映射的,其邏輯地址為0x00-0x7F(該128字節無(wú)法通過(guò)JTAG讀出或寫(xiě)入,但擦寫(xiě)整片CPU時(shí),會(huì )將該區域的數據擦除),為了訪(fǎng)問(wèn)該扇區,PSCTL寄存器中的SFLE位必須被設置為邏輯‘1’。該扇區不能用于存儲程序代碼。
指令是以系統時(shí)鐘周期為單位,而不像51單片機以機器周期(12×系統時(shí)鐘周期)為單位,速度大大提高
C8051F020低端口(P0. P1. P2和P3)既可以按位尋址也可以按字節尋址。高端口(P4. P5. P6和P7)只能按字節尋址。
對于附加128字節的flash扇區,每次擦除128個(gè)字節
對于其他flash扇區,每次擦除512個(gè)字節
ADC0的轉換速率最大是100ksps,其轉換速率由SAR clock決定,而采樣速率由用戶(hù)自己決定(可通過(guò)定時(shí)器設置_),但要小于轉換速率。
C8051FXX單片機的加密方式,是通過(guò)修改FLASH存儲器的0xfdfe和0xfdff這兩個(gè)字節來(lái)實(shí)現的。其中0xfdfe是寫(xiě)保護字節。0xfdff是讀保護字節。每個(gè)字節的8個(gè)位分別對應8K的FLASH存儲空間,如果該存儲空間的對應位被清除,則該空間也被加密。
STARTUP.A51 這個(gè)文件有什么用,有必要添加到工程嗎?
如果不添加"startup.a51"文件,編譯器就會(huì )自動(dòng)加入一段初始化內存以及堆棧等的代碼,這時(shí)的內存初始化部分你就無(wú)法去控制了,當然這在大部分情況下沒(méi)什么關(guān)系。但是如果你想你的程序在復位后,內存里面的信息依然還保存著(zhù)(所說(shuō)的“熱復位”),那么你就需要添加該啟動(dòng)文件,并且去里面修改內存初始化部分,不要初始化你需要保留的部分內存。
評論