⑴ 如何用單片機讀寫FLASH
就是這段程序了。我一直用的。不懂的可以找我
#define CMD_IDLE 0
#define CMD_READ 1
#define CMD_PROGRAM 2
#define CMD_ERASE 3
#define ENABLE_IAP 0X82// SYSCLK<24M
#define IAP_ADDRESS 0X0000
void IAP_Disable()//Make MCU if safe state
{
//關閉IAP 功能, 清相關的特殊功能寄存器,使CPU 處於安全狀態,
//一次連續的IAP 操作完成之後建議關閉IAP 功能,不需要每次都關
IAP_CONTR = 0; //關閉IAP 功能
IAP_CMD = 0; //清命令寄存器,使命令寄存器無命令,此句可不用
IAP_TRIG = 0; //清命令觸發寄存器,使命令觸發寄存器無觸發,此句可不用
IAP_ADDRH = 0x80; // ??? 0x80 ????
IAP_ADDRL = 0;
}
//讀一位元組,調用前需打開IAP 功能,入口:DPTR = 位元組地址,返回:A = 讀出位元組
uchar Byte_Read(uint addr)
{
IAP_CONTR=ENABLE_IAP; //打開IAP 功能, 設置Flash 操作等待時間
IAP_CMD=CMD_READ; //IAP/ISP/EEPROM 位元組讀命令
IAP_ADDRL=addr; //設置目標單元地址的高8 位地址
IAP_ADDRH=addr>>8; //設置目標單元地址的低8 位地址
IAP_TRIG=0X5A;//先送 5Ah,再送A5h 到ISP/IAP 觸發寄存器,每次都需如此
IAP_TRIG=0XA5;//送完A5h 後,ISP/IAP 命令立即被觸發起動
_nop_();
IAP_Disable();//關閉IAP 功能, 清相關的特殊功能寄存器,使CPU 處於安全狀態
return IAP_DATA;
}
//位元組編程,調用前需打開IAP 功能,入口:DPTR = 位元組地址, A= 須編程位元組的數據
void Byte_Program(uint addr,uchar dat)
{
IAP_CONTR=ENABLE_IAP;//打開 IAP 功能, 設置Flash 操作等待時間
IAP_CMD=CMD_PROGRAM;//IAP/ISP/EEPROM 位元組編程命令
IAP_ADDRL=addr;//設置目標單元地址的高8 位地址
IAP_ADDRH=addr>>8; //設置目標單元地址的低8 位地址
IAP_DATA=dat;//要編程的數據先送進IAP_DATA 寄存器
IAP_TRIG=0X5A;//先送 5Ah,再送A5h 到ISP/IAP 觸發寄存器,每次都需如此
IAP_TRIG=0XA5; //送完A5h 後,ISP/IAP 命令立即被觸發起動
_nop_();
IAP_Disable();//關閉IAP 功能, 清相關的特殊功能寄存器,使CPU 處於安全狀態,
}
void Sector_Erase(uint addr) //擦除扇區, 入口:DPTR = 扇區地址
{
IAP_CONTR=ENABLE_IAP;
IAP_CMD=CMD_ERASE;
IAP_ADDRL=addr;
IAP_ADDRH=addr>>8;
IAP_TRIG=0X5A;
IAP_TRIG=0XA5;
_nop_();
IAP_Disable();
}
⑵ 單片機的讀寫分別指什麼
你說的對,讀的意義在於一般外接一個按鍵,當鍵按下後單片機讀鍵盤值,寫出就是控制IO輸出,
⑶ 單片機什麼時候用到讀寫引腳 例如讀什麼寫什麼要設置讀寫引腳
什麼時候要設置讀寫引腳?
1、將你的外設如ADC0808模數轉換設備接入單片機,即8個數字信號輸出埠和轉換啟動START信號、EOC信號、OE信號、ALE接到單片機相關引腳上
2、要使用外設,如ADC0808,則先要寫START,直接賦值為1或0,再根據需要讀EOC的值,判斷模數轉換情況
3、以上說的是通常的情況。
4、如WR、RD兩個信號口,則在外設上有相應信號時進行連接、在需要讀寫時讀寫。
⑷ 關於51單片機的讀寫操作
51單片機引腳默認輸出是高電平……直接接在引腳上……而程序沒有操作……那就說明這兩個引腳是高電平有效……就是接高電平這晶元才能工作……
⑸ 單片機的讀寫分別指什麼
單片機的讀寫是以單片機為主來說的,對於單片機來說,讀就是將管腳的信號讀進來分析,寫就是通過程序將數據寫到管腳上去。
⑹ 單片機讀寫問題
只要P0.0被改變就會。
⑺ 單片機編程中對於數據的讀取,寫入與輸入,輸出之間有什麼聯系
讀取和寫入,一般是指存儲器
輸入和輸出,一般是指單片機的IO口
⑻ 通過什麼軟體讀取單片機里的程序
如果沒有加密的話
可以通過編程器讀取機器碼
但是,它要經過反匯編,
而匯編是比較難懂的語言
要有很高的水平和耐力。。。
⑼ 如何把程序寫入單片機
現在的單片機一般:
通過USB(需要裝上配套驅動)模擬串口,將用KIEL編譯後程序寫到單片機;
也可直接用串口與PC相連,將用KIEL編譯後程序寫到單片機;
更多交流參考我空間文章發。