㈠ 什麼叫51系列單片機晶元擦除
就是把51系列的單片機中的程序擦掉。成為一個空片,又可以再次燒寫新的程序進去。
㈡ STC單片機的FLASH程序存儲器、SRAM位元組、EEPROM有什麼區別與聯系
FLASH程序存儲器存程序,單片機上電後會自動從這里讀代碼開始運行。
SRAM是跑程序時候暫存臨時數據的地方,一般不太大,從128位元組到幾K位元組都有,一掉電數據就沒了。
EEPROM是掉電也不丟數據的存儲器,一般都用來存設置的。你可以一位元組一位元組的把每位元組的8位1任意編寫成0。但這片一般是按扇區為單位,一擦除就是全成1。
STC有的片FLASH也能在跑程序的時候由程序控制擦寫。
特點:
EEPROM可單位元組操作更靈活,FLASH存儲量更大些FLASH:只能塊擦除(叫塊擦除更准確吧,原文是BLOCK),舉例說明:比如你用的FLASH的BLOCK是512個位元組(不同的FLASH大小不同),那麼只有擦除過(所有位寫「1」)的BLOCK才能重新寫入。
意思就是只能從「1」寫到「0」,如果要從「0」改到「1」必須整塊擦除,而且擦除時的速度相對寫入和讀出要慢時的速度相對寫入和讀出要慢時的速度相對寫入和讀出要慢很多。FLASH主要用於程序存儲。EEPROM;可以單位元組操作,沒有塊擦除的要求。相對FLASH更為靈活。
㈢ 單片機怎麼擦除已燒錄的程序
這個要看具體單片機支持鬧族的,51系列都是不支持的,ST系列PIC、MSP430、系列都是支持的,扮手我用STM32和STM8在下載選液缺弊項,有擦除FLASH操作。
㈣ 請教單片機中一個晶元擦除的問題
正確.
如果不想把原來的東西一起擦除,先拷出來,再和你新加的做在一起寫入
㈤ 單片機STC12CXX系列EEPROM的問題
下面的代碼是官方給出的測試代碼,你不妨按這個來試下;
如果你把數據寫在了內部的EEPROM的話,在你下次下載的時候數據是會沒的,也就是說會被擦除,復位不會影響裡面的數據,可以上電讀出數據。
希望你成功!
/*
--- STC International Limited ----------------
STC12C5AxxAD 系列單片機 EEPROM/IAP 功能測試程序演示
STC12C52xxAD 系列單片機 EEPROM/IAP 功能測試程序演示
STC11xx 系列單片機 EEPROM/IAP 功能測試程序演示
STC10xx 系列單片機 EEPROM/IAP 功能測試程序演示
本演示程序在STC-ISP Ver 3.0A.PCB 的下載編程工具上測試通過,EEPROM 的數據在P1 口上顯示*/
#include <reg51.H>
#include <intrins.H>
typedef unsigned char INT8U;
typedef unsigned int INT16U;
sfr IAP_DATA = 0xC2;
sfr IAP_ADDRH = 0xC3;
sfr IAP_ADDRL = 0xC4;
sfr IAP_CMD = 0xC5;
sfr IAP_TRIG = 0xC6;
sfr IAP_CONTR = 0xC7;
//定義Flash 操作等待時間及允許IAP/ISP/EEPROM 操作的旁正扮常數
//#define ENABLE_ISP 0x80 //系統工作時鍾<30MHz 時,對IAP_CONTR 寄存器設置此值
//#define ENABLE_ISP 0x81 //系統工作時鍾<24MHz 時,對IAP_CONTR 寄存器設置此值
#define ENABLE_ISP 0x82 //系統工作時鍾<20MHz 時,對IAP_CONTR 寄存器設置此值
//#define ENABLE_ISP 0x83 //系統工作時鍾<12MHz 時,對IAP_CONTR 寄存器設置此值
//#define ENABLE_ISP 0x84 //系統工作時鍾<6MHz 時,對IAP_CONTR 寄存器設置此值
//#define ENABLE_ISP 0x85 //系統工作時鍾<3MHz 時,對IAP_CONTR 寄存器設運灶置清和此值
//#define ENABLE_ISP 0x86 //系統工作時鍾<2MHz 時,對IAP_CONTR 寄存器設置此值
//#define ENABLE_ISP 0x87 //系統工作時鍾<1MHz 時,對IAP_CONTR 寄存器設置此值
#define DEBUG_DATA 0x5A //本測試程序最終存儲在 EEPROM 單元的數值
#define DATA_FLASH_START_ADDRESS 0x00 //STC5Axx 系列 EEPROM 測試起始地址
union union_temp16
{
INT16U un_temp16;
INT8U un_temp8[2];
}my_unTemp16;
INT8U Byte_Read(INT16U add); //讀一位元組,調用前需打開IAP 功能
void Byte_Program(INT16U add, INT8U ch); //位元組編程,調用前需打開IAP 功能
void Sector_Erase(INT16U add); //擦除扇區
void IAP_Disable(); //關閉IAP 功能
void Delay();
void main (void)
{
INT16U eeprom_address;
INT8U read_eeprom;
P1 = 0xF0; //演示程序開始,讓 P1[3:0] 控制的燈亮
Delay(); //延時
P1 = 0x0F; //演示程序開始,讓 P1[7:4] 控制的燈亮
Delay() ; //延時
//將EEPROM 測試起始地址單元的內容讀出
eeprom_address = DATA_FLASH_START_ADDRESS; //將測試起始地址送eeprom_address
read_eeprom = Byte_Read(eeprom_address); //讀EEPROM的值,存到read_eeprom
if (DEBUG_DATA == read_eeprom)
{ //數據是對的,亮 P1.7 控制的燈,然後在 P1 口上將 EEPROM 的數據顯示出來
P1 = ~0x80;
Delay() ; //延時
P1 = ~read_eeprom;
}
else
{ //數據是錯的,亮 P1.3 控制的燈,然後在 P1 口上將 EEPROM 的數據顯示出來
//再將該EEPROM所在的扇區整個擦除,將正確的數據寫入後,亮 P1.5 控制的燈
P1 = ~0x08;
Delay() ; //延時
P1 = ~read_eeprom;
Delay() ; //延時
Sector_Erase(eeprom_address); //擦除整個扇區
Byte_Program(eeprom_address, DEBUG_DATA);//將 DEBUG_DATA 寫入 EEPROM
P1 = ~0x20; //熄滅 P1.3 控制的燈,亮 P1.5 控制的燈
}
while (1); //CPU 在此無限循環執行此句
}
//讀一位元組,調用前需打開IAP 功能,入口:DPTR = 位元組地址,返回:A = 讀出位元組
INT8U Byte_Read(INT16U add)
{
IAP_DATA = 0x00;
IAP_CONTR = ENABLE_ISP; //打開IAP 功能, 設置Flash 操作等待時間
IAP_CMD = 0x01; //IAP/ISP/EEPROM 位元組讀命令
my_unTemp16.un_temp16 = add;
IAP_ADDRH = my_unTemp16.un_temp8[0]; //設置目標單元地址的高8 位地址
IAP_ADDRL = my_unTemp16.un_temp8[1]; //設置目標單元地址的低8 位地址
//EA = 0;
IAP_TRIG = 0x5A; //先送 5Ah,再送A5h 到ISP/IAP 觸發寄存器,每次都需如此
IAP_TRIG = 0xA5; //送完A5h 後,ISP/IAP 命令立即被觸發起動
_nop_();
//EA = 1;
IAP_Disable(); //關閉IAP 功能, 清相關的特殊功能寄存器,使CPU 處於安全狀態,
//一次連續的IAP 操作完成之後建議關閉IAP 功能,不需要每次都關
return (IAP_DATA);
}
//位元組編程,調用前需打開IAP 功能,入口:DPTR = 位元組地址, A= 須編程位元組的數據
void Byte_Program(INT16U add, INT8U ch)
{
IAP_CONTR = ENABLE_ISP; //打開 IAP 功能, 設置Flash 操作等待時間
IAP_CMD = 0x02; //IAP/ISP/EEPROM 位元組編程命令
my_unTemp16.un_temp16 = add;
IAP_ADDRH = my_unTemp16.un_temp8[0]; //設置目標單元地址的高8 位地址
IAP_ADDRL = my_unTemp16.un_temp8[1]; //設置目標單元地址的低8 位地址
IAP_DATA = ch; //要編程的數據先送進IAP_DATA 寄存器
//EA = 0;
IAP_TRIG = 0x5A; //先送 5Ah,再送A5h 到ISP/IAP 觸發寄存器,每次都需如此
IAP_TRIG = 0xA5; //送完A5h 後,ISP/IAP 命令立即被觸發起動
_nop_();
//EA = 1;
IAP_Disable(); //關閉IAP 功能, 清相關的特殊功能寄存器,使CPU 處於安全狀態,
//一次連續的IAP 操作完成之後建議關閉IAP 功能,不需要每次都關
}
//擦除扇區, 入口:DPTR = 扇區地址
void Sector_Erase(INT16U add)
{
IAP_CONTR = ENABLE_ISP; //打開IAP 功能, 設置Flash 操作等待時間
IAP_CMD = 0x03; //IAP/ISP/EEPROM 扇區擦除命令
my_unTemp16.un_temp16 = add;
IAP_ADDRH = my_unTemp16.un_temp8[0]; //設置目標單元地址的高8 位地址
IAP_ADDRL = my_unTemp16.un_temp8[1]; //設置目標單元地址的低8 位地址
//EA = 0;
IAP_TRIG = 0x5A; //先送 5Ah,再送A5h 到ISP/IAP 觸發寄存器,每次都需如此
IAP_TRIG = 0xA5; //送完A5h 後,ISP/IAP 命令立即被觸發起動
_nop_();
//EA = 1;
IAP_Disable(); //關閉IAP 功能, 清相關的特殊功能寄存器,使CPU 處於安全狀態,
//一次連續的IAP 操作完成之後建議關閉IAP 功能,不需要每次都關
}
void IAP_Disable()
{
//關閉IAP 功能, 清相關的特殊功能寄存器,使CPU 處於安全狀態,
//一次連續的IAP 操作完成之後建議關閉IAP 功能,不需要每次都關
IAP_CONTR = 0; //關閉IAP 功能
IAP_CMD = 0; //清命令寄存器,使命令寄存器無命令,此句可不用
IAP_TRIG = 0; //清命令觸發寄存器,使命令觸發寄存器無觸發,此句可不用
IAP_ADDRH = 0;
IAP_ADDRL = 0;
}
void Delay()
{
INT8U i;
INT16U d=5000;
while (d--)
{
i=255;
while (i--);
}
}
㈥ 單片機SFISP中的擦除,查空,寫入,讀取,校驗分別是什麼意思
單片機SFISP中的擦除,查空,寫入,讀取,校驗分別是什麼意思?
FLASH型單片機內部程序存儲器是可以多次神激擦寫的,但在寫入之前需先擦除以前的內容,擦除以後查空是看FLASH裡面是不是FF,寫入就是編程,讀取就是把裡面的內容讀塵瞎和取出派盯來和燒錄的文件做對比,是不是相同,如果相同表示燒錄成功,否則燒錄失敗。
㈦ STC12C5A60S2 單片機如何擦除
#include <reg52.h>
#include <lcm12864.h>
sfr ISP_DATA = 0xe2;
sfr ISP_ADDRH = 0xe3;
sfr ISP_ADDRL = 0xe4;
sfr ISP_CMD = 0xe5;
sfr ISP_TRIG = 0xe6;
sfr ISP_CONTR = 0xe7;
#define ISP_IAP_BYTE_READ 1
#define ISP_IAP_BYTE_PROGRAN 2
#define ISP_IAP_BYTE_ERASE 3
#define WAITE_TIME 1
void Delay(int cnt)
{
int i;
for(i=0;i<cnt;i++);
}
void Sector_Erase(int addr)
{
ISP_ADDRH = addr >> 8;
ISP_ADDRL = addr & 0x0ff;
ISP_CONTR = WAITE_TIME;
ISP_CONTR = 0x80;
ISP_CMD = ISP_IAP_BYTE_ERASE;
ISP_TRIG = 0x46;
ISP_TRIG = 0xb9;
}
void Byte_Program(int addr, unsigned char dat)
{
Sector_Erase(addr);
ISP_DATA = dat;
ISP_ADDRH = addr >> 8;
ISP_ADDRL = addr & 0x00ff;
ISP_CONTR = WAITE_TIME;
ISP_CONTR = 0x80;
ISP_CMD = ISP_IAP_BYTE_PROGRAN;
ISP_TRIG = 0x46;
ISP_TRIG = 0xb9;
ISP_CMD = 0x7F;
}
unsigned char Byte_Read(int addr)
{
unsigned char dat;
ISP_ADDRH = addr >> 8;
ISP_ADDRL = addr & 0x00ff;
ISP_CONTR = WAITE_TIME;
ISP_CONTR = 0X80;
ISP_CMD = ISP_IAP_BYTE_READ;
ISP_TRIG = 0x46;
ISP_TRIG = 0xb9;
dat = ISP_DATA;
ISP_CMD = 0x00;
return dat;
}
void main(void)
{
unsigned char dat1=0;
Init_12864Word();
Byte_Program(0x2001,0x11);
dat1 = Byte_Read(0x2001);
LCM12864_wr_Cmd(0x80);
LCM12864_wr_Dat(dat1/100+0x30);
LCM12864_wr_Dat(dat1%100/10+0x30);
LCM12864_wr_Dat(dat1%10+0x30);
while(1);
}
不記得是STC12C5A60S2還是89C52的了,你看以下datasheet,主要是寄存器名稱不一樣,還有ISP_TRIG賦值不一樣,其他的都一樣。
注意:!!!!!不能位元組擦除,只能扇區擦除!!!!!!
位元組編程:只能將「1」改為「0」 ,對「0」用位元組編程是無用的。如果該位元組是「1111,1111B」 ,
則可將其中的「1 」編程為「0 」 ,如果該位元組中有位為「0 」 ,要將其改為「1 」 ,則須先將整個扇
區擦除,因為只有「扇區擦除」才可以將「0 」變為「1 」 。
扇區擦除:只有「扇區擦除」才可能將「0 」擦除為「1 」 。
所以寫之前先將扇區擦除在寫
㈧ 以51為內核的單片機有哪幾種它們與MCS-51單片機有什麼區別
求給分
市場上流行的具有 MCS-51 內核產品及其分類以及它們各自的性 能特性。 答: 目前流行的以 MCS-51 為內核的單片機產品, ATMEL 公司的 AT89C 系列 ; 如: PHILIPS 公司的 8XC51 系列 ;WINBOND 公司的 W77/78 系列。 一.AT89 系列單片機是基於 80C51(或 80C52)內核的,但內含有 AT 公司最令人注目的、 獨具特色的、FLASH 技術的程序存儲器。 AT89 系列又可分為兩種類別:一種是 ISP FLASH(In System Programmable Flash) , 可在線通過 SPI 口串列編程; 一種就是常規的 FLASH 系列, 這種單片機只能用常規的並行方 法編程。 AT89C5X/LV5X FLASH 系列是一種低功耗/低電壓、高性能的 8 位單片機,片內帶有一個 4K 或 8K 位元組的 FLASH 程序存儲器 。這類存儲器用電擦除而不是用紫外線擦除,且寫入和 擦除的速度非常快。輸出引腳和指令系統都與 MCS-51 兼容。 AT89C5X/LV5X 的主要性能特性: (1) 片內集成 4KB(AT89C51/LV51)或 8KB(AT89C52/LV52)的 FLASH 存貯器,可 反復編程/擦除 1000 次; (2)全靜態設計,時鍾頻率范圍為 0~24MHz(AT89C51、AT89C52)或 0~12MHz(LV51、 LV52);工作電壓為 5V±20%((AT89C51、AT89C52)或 2.7V~6V(LV51、LV52); (3)三個程序存貯器保密位; (4)128(AT89C51/LV51)或 256(AT89C52/LV52) 位元組的片內 RAM ; (5) 32 根可編程 I/O 線; (6) 2 個(AT89C51/LV51)或 3 個(AT89C52/LV52)16 位定時/計數器; (7) 6 個(AT89C51/LV51)或 8 個(AT89C52/LV52)中斷源; (8)可編程全雙工串列口; (9)低功耗的待機工作模式和掉電工作模式。其中:在待機工作模式下,CPU 停止工作, 但 RAM、定時器/計數器、串列口和中斷系統仍在工作;在掉電模式下,只保存 RAM 的內容,振盪器停振,關閉晶元的所有功能,直到下一次硬體復位為止; (10)採用雙列直插封裝(DIP)方式和方形封裝方式; (11)AT89C5X 和 AT89LV5X 之間的主要區別: ①AT89LV5X 的工作電壓為 2.7~6V,可在低電壓條件下工作。 單片機作業 電子信息工程 0901 班 王超 ②AT89LV5X 振盪器的最高頻率為 12MHz,而 AT89C5X 振盪器的最高頻率為 24MHz。 ③AT89LV5X 和 AT89C5X 的編程和校驗參數在編程允許電壓、振盪器頻率上不同。 ④AT89LV5X 和 AT89C5X 的內部識別碼不同 與常規的 AT89C5X 系列相比,還有以下不同之處: 1) AT89CX051 引腳為 20 個,無 P0、 口, P2 只有 15 條可編程的 I/O 線因此它不能用 「總 線」模式外擴數據存貯器、程序存貯器以及輸入/輸出口,所以它也沒有 PSEN、WR、RD、ALE 等與「匯流排」相關的控制信號。 2)AT89CX051 的供電電壓范圍為 2.7V~6.0V,不需要與之相對應的低壓供電晶元,因 此它可廣泛於低壓供電的系統中。 3)在相同的工作條件下,AT89CX051 的功耗要低於 AT89C5X,因此它常用於低成本、低 功耗、低電壓、小體積的場合。 4)AT89CX051 的每條 I/O 口線均可直接驅動 LED 顯示。 5)集成了一個模擬電壓比較器,可比較 P1.0,P1.1 倆引腳接入電平的高低。 6)AT89C2051 的指令與 AT89C51 指令兼容,但需注意的是:AT89C2051 包含 128 位元組的 RAM,這樣,棧地址空間就相應地為 128 個有效范圍。不支持外部 RAM 器件和外部編程器件, 所以,沒有 MOVX 類和 MOVC 類指令。另外,對於 LCALL、LJMP、ACALL、AJMP、SJMP、JMP 等這些無條件轉移指令和 CJNE、DJNZ、JB、JNB、JC、JNC、JBC、JZ、JNZ 等這些條件轉移 指令,定址范圍只能在(00H~7FFH)之間執行分支轉移,否則會產生不可預料的後果。 二.PHILIPS 公司的 8XC51 系列 Philips 公司的單片機從內核結構上可劃分為 16 位 XA 系列和 80C51 兼容系列。 16 位 XA 系列單片機是其 80C51 兼容系列的升級產品。80C51 兼容單片機又可分為 6 時鍾內 核類和 12 時鍾內核類。 其中 6 時鍾內核單片機又可分為四種類別: ① 基於 6 時鍾 51MX 內核的 51MX 系列,具有 16MB 的定址能力; ② 基於 6 時鍾 80C51+內核的 51LPC 系列,即 P87LPC76X; ③ 基於 6 時鍾 80C51+內核的通用 51 系列, P89C5xX2、 含 P89C6xX2、 P89C51Rx2、 P8966x 系列為主; ④ LPC900 系列,採用每機器周期 2 個時鍾的新內核。 P87LPC76X 的主要性能特性 (1)採用 6 時鍾 80C51+內核,在操作頻率為 20MHz 時,執行一條指令的時間為 300ns~ 單片機作業 電子信息工程 0901 班 王超 600ns (法和除法指令除外) VDD=4.5V ~6.0V 時, 。 時鍾頻率最高可達到 20MHz; VDD=2.7V~ 4.5V 時, 時鍾頻率最大為 10MHz。 (2)供電電壓范圍為 2.7V~ 6.0V。 (3) P87LPC760 為 1K 位元組 OTP 程序存儲器;P87LPC761、P87LPC762 為 2K 位元組 OTP 程 序存儲器;P87LPC764、P87LPC767、P87LPC768、P87LPC769 為 4K 位元組 OTP 程序存儲器。 128 位元組的片內 RAM 。 (4) 32Byte 用戶代碼區可用來存放序列碼及設置參數等。 (5) 2 個 16 位定時/計數器,每一個均可(P87LPC760 只有一個可)設置為超時溢出時切 換到相應埠輸出。 (6) 內含 1 個或 2 個精確模擬量比較器,通過外接 RC 器件可組成四路 A/D 轉換器。 (7) 增強型的全雙工通用非同步接收/發送器(UART),增加了幀錯誤檢測、自動地址識別 等功能。I2C 通信介面,極大的簡化了網路通信中的軟體設計。 (8) 四個 (P87LPC760 型) 或八個 (P87LPC764 型) 鍵盤中斷輸入, 另加 1 路 (P87LPC760 型)或 2 路(P87LPC764 型)外部中斷輸入,4 個中斷優先順序。 (9)集成了看門狗定時器(WATCHDOG) ,利用片內振盪,無需外接元件,可用來檢測 CPU 的工作情況。當遭遇大的噪音、電源毛刺或靜電放電等干擾時,會影響系統應用軟體的正常 運行,使用看門狗定時器可提高系統的可依賴型,該定時器的溢出時間有 8 種數值可供選 擇。在裝入初值後,看門狗定時器需滿足在預定的「喂狗處」不斷重裝初值,這樣該定時器 才不會溢出;當程序執行出軌,看門狗定時器未能在預定的地方「吃食」 ,則會引發該定時 器的溢出,從而引發系統內部復位,使程序重新從 0 地址開始執行。 (10)低電壓復位功能,當使用片內上電復位時不需要外接元件。除此之外,用戶還可選 擇預先設定好的兩種電壓之一復位,當系統掉電時允許系統安全關閉。也可將其設置為一個 中斷源。 (11)用戶通過對 EPROM 中相應位進行編程,可選擇片內振盪及其頻率范圍和 RC 振盪器 的其它選項,且不需外接振盪器件。 (12) 可編程 I/O 口工作模式,通過軟體設置可使 I/O 口工作於下列四種工作模式,包 括: 准雙向口工作模式,漏極開路輸出工作模式,推挽式輸出工作模式, 僅用於輸入的工作模 式。且每位 I/O 埠均有 20mA 的驅動能力,可直接驅動 LED 顯示,但要求所有埠吸收電 流之和不得超過 80mA。 (13)可通過 3 項措施降低電磁干擾(EMI):其一,限制引腳上信號快速切換時產生的噪 單片機作業 電子信息工程 0901 班 王超 聲,出廠時設置的上升和下降時間均約為 10ns;其二,ALE 引腳上平時有高頻連續脈沖信號 向外發射,所以當 ALE 引腳關閉時,不能訪問片外數據存貯器;其三,使用 6-clock 機器 周期模式,在同樣的執行速度下,可降低晶體振盪頻率減少干擾。 (14)至少有 9 個 (P87LPC760 型)11 個(P87LPC761 型),或 15 個 , (P87LPC762、 P87LPC764、 P87LPC767、P87LPC768、P87LPC769 型)I/O 口,當選擇片內振盪和片內復位時更可多達 12 個(P87LPC760 型) ,14 個(P87LPC761 型)或 18 個(P87LPC762、P87LPC764、P87LPC767、 P87LPC768、P87LPC769 型)I/O 口。 (15)EPROM 存儲器允許在線串列的程序下載, 兩個 EPROM 保密位可防止程序被非法讀出。 (16) 具有空閑和掉電兩種省電模式。提供從掉電模式中喚醒的功能,掉電工作時,掉 電工作電流僅為 1?A。 (17) P87LPC767 型在原有功能的基礎上增加了 4 通道 8 位 A/D 轉換器,P87LPC768 型又 進一步增加了 4 通道 10 位的脈沖調制輸出(PWM), P87LPC769 更進一步增加了 2 路 D/A 轉換 輸出。 (18)採用 14 引腳(P87LPC760 型) ,16 引腳(P87LPC761 型),20 引腳(P87LPC762、 P87LPC764、P87LPC767、P87LPC768、P87LPC769 型)的 DIP、 SOIC、 TSSOP 等各種形式封 裝。 80C51+內核的通用 51 系列 這個系列含有 P89C5xX2 和 P89C6xX2 子系列等。 (1) P89C60/61X2 單片機的 ISP、 IAP 功能 P89C60/61X2 型單片機的片內 FLASH 具有以 下特點: ①FLASH 可以用 5V 的工作電壓進行在系統擦除和燒錄(ISP)。 ②擦除和燒錄可以整片進行或以塊為單位進行,而燒錄還可以按位進行。 ③可以用通用的並行燒錄器燒錄, 也可以使用 ISP 進行串列在系統的擦除和燒錄, 或者 在用戶應用程序運行中使用 IAP 進行擦除和燒錄。 ④使用 ISP、IAP 進行擦除和燒錄時,位元組燒錄需 8μ s;典型快速 4KB 塊擦除需 3s;整 片擦除需 4s~11s(依型號而定). IAP 是指在用戶的應用程序中完成對 FLASH 存儲器、加密位等進行的擦除和寫入等。實 際上擦除和寫入的子程序已固化在 BOOT ROM 固件中,可供應用程序直接調用。 (2)P89C51Rx2 系列新增了片內 ERAM(擴展 RAM), 突破片內 RAM 最多 256 位元組的界限, 同時還新增了 PCA(可編程計數器陣列)。 單片機作業 電子信息工程 0901 班 王超 三.WINBOND78 系列 WINBOND 公司的 W78 系列是該公司生產的與 MCS-51 兼容的第一代產品,屬標准系列, 它繼承了 80C51(或 C52)的很多特點, 同時又新增了許多功能, 如片內集成了 FLASH 存貯器、 增加 P4 口、增加外中斷、在系統(In-System)編程、看門狗定時器等。 1. W78E5XB 的主要性能特性 (1)片內集成了 4KB(W78E51B)、8KB(W78E52B)、16KB(W78E54B)、32KB(W78E58B)、 64KB(W78E516B)的 FLASH 存貯器,可反復編程/擦除 1000 次。 (2)全靜態設計,最高時鍾頻率可達 40MHz。 (3) 128 位元組(W78E51B)、256 位元組(W78E52B、W78E54B)、512 位元組(W78E58B、W78E516B) 的片內 RAM ,64KB 的片外程序存貯器,64KB 的片外數據存貯器。 (4) 4 個 8 位雙向 I/O 口(P0~P3), 新增一個 4 位的多用途、可編程 P4 口。 (5) 2 個或 3 個 16 位定時/計數器。 (6) 1 個全雙工串列口。 (7) 7 個或 8 個中斷源(包括新增 2 個外中斷), 2 級中斷優先順序。 (8) 具有輸出口擺率控制以降低電磁干擾(EMI)。 (9) 低功耗的待機工作模式和掉電工作模式。 (10) 片內代碼保護功能可防止程序被非法拷貝。 (11) 採用雙列直插封裝(DIP)方式和方形封裝(PLCC 、PQFP)方式 。 WINBOND 公司的 W77 系列即 TURBO-51 系列,是增強型的 MCS-51 兼容單片機。 該系列的最大改進是每個機器周期只包括 4 個時鍾周期的 CPU 內核, 在相同的時鍾頻率 下,其速度提高了 2.5 倍左右。此外,該系列還提供了其它能優化單片機整體性能、提高程 序執行效率的技術和硬體資源,例如:雙數據指針和串列口、片內集成 1KB 用 MOVX 指令訪 問的靜態 RAM (SRAM) 等待狀態信號發生器 、 (可以使其和任意速度的外部數據存貯器相接) 、 還在原有的基礎上擴展了 4 個外中斷(P1.4~P1.7) ,使其總中斷源達 12 個(包括 6 個外中 斷,3 個定時器中斷,2 個串列口中斷,1 個看門狗中斷) 、有的型號還提供 2.7V~5.5V 的寬 電壓工作范圍等等。
㈨ 請教單片機一個晶元擦除的問題
在AVR寫程序時,若要保持原帆指 EERPOM 中內容不變,就要把選項中下陸指載程序
的同時清除 EERPOM 的項去掉。
具體選項是「下早轎配載程序的同時清除 EERPOM 」還是「不要同時清除」記不得了,
請看該軟體的提示。
㈩ 飛思卡爾單片機怎麼擦除eeprom
沒有辦法,只能塊擦除。
如果你想保留原搭兄來的數據,建議先把這需要擦除的1024個位元組保存到一個數組里,然後修改數組里對應的數據,通過塊擦除,知毀襲再把修改完的數據寫回原來的地址。我以前寫XS128的DATA-FLASH就是這么乾的。余碧