導航:首頁 > 操作系統 > 單片機id

單片機id

發布時間:2022-01-15 17:27:32

A. 單片機ID錯誤

一、每個單片機廠家給自己的每款單片機型號都會給定一個
ID
號,一般為四個位元組;
二、單片機的
ID
號實際上是單片機的型號的內碼,如
AT89C51、AT89S51,它們的
ID
號不同;
三、燒寫單片機程序時,一般先會校驗
CPU

ID
號,如果
ID
號不對,將會提示
ID
號出錯,也即單片機的型號與你選擇的型號不一致,這時就需要仔細查看晶元的型號與你選擇燒寫的型號是否一致

B. 單片機id號在哪裡存放

什麼型號的單片機 不同型號的不同

C. 如何獲取單片機ID號

很多單片機都沒有唯一ID號,有的那些單片機都有固定的寄存器存放,看看datasheet就找到了。

D. 如何讀取STC單片機的ID號碼

這個是通過串口讀出ID號

//讀內部R/C時鍾及ID號C語言參考程序
#include<reg51.h>
#include<intrins.h>
sfr IAP_CONTR = 0xC7;

sbit MCU_Start_Led = P1^7;
//unsigned char self_command_array[4] = {0x22,0x33,0x44,0x55};
#define Self_Define_ISP_Download_Command 0x22
#define RELOAD_COUNT 0xfb //18.432MHz,12T,SMOD=0,9600bps

void serial_port_initial();
void send_UART(unsigned char);
void UART_Interrupt_Receive(void);
void soft_reset_to_ISP_Monitor(void);
void delay(void);
void display_MCU_Start_Led(void);

void main(void)
{
unsigned char i = 0;
unsigned char j = 0;

unsigned char idata *idata_point;

serial_port_initial(); //串口初始化
// display_MCU_Start_Led(); //點亮發光二極體表示單片機開始工作
// send_UART(0x34); //串口發送數據表示單片機串口正常工作
// send_UART(0xa7); //串口發送數據表示單片機串口正常工作

idata_point = 0xF1;
for(j=0;j<15;j++)
{
i = *idata_point;
send_UART(i);
idata_point++;
}

while(1);
}

void serial_port_initial()
{
SCON = 0x50; //0101,0000 8位可變波特率,無奇偶校驗位
TMOD = 0x21; //0011,0001 設置頂時器1為8位自動重裝計數器
TH1 = RELOAD_COUNT; //設置定時器1自動重裝數
TL1 = RELOAD_COUNT;
TR1 = 1; //開定時器1
ES = 1; //允許串口中斷
EA = 1; //開總中斷
}

void send_UART(unsigned char i)
{
ES = 0; //關串口中斷
TI = 0; //清零串口發送完成中斷請求標志
SBUF = i;
while(TI ==0); //等待發送完成
TI = 0; //清零串口發送完成中斷請求標志
ES = 1; //允許串口中斷
}

void UART_Interrupt_Receive(void) interrupt 4
{
unsigned char k = 0;
if(RI==1)
{
RI = 0;
k = SBUF;
if(k==Self_Define_ISP_Download_Command) //是自定義下載命令
{
delay(); //延時1秒就足夠了
delay(); //延時1秒就足夠了
soft_reset_to_ISP_Monitor(); //軟復位到系統ISP監控區
}
send_UART(k);
}
else
{
TI = 0;
}
}

void soft_reset_to_ISP_Monitor(void)
{
IAP_CONTR = 0x60; //0110,0000 軟復位到系統ISP監控區
}

void delay(void)
{
unsigned int j = 0;
unsigned int g = 0;
for(j=0;j<5;j++)
{
for(g=0;g<60000;g++)
{
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
}
}

void display_MCU_Start_Led(void)
{
unsigned char i = 0;
for(i=0;i<3;i++)
{
MCU_Start_Led = 0; //頂亮MCU開始工作指示燈
delay();
MCU_Start_Led = 1; //熄滅MCU開始工作指示燈
delay();
MCU_Start_Led = 0; //頂亮MCU開始工作指示燈
}
}

E. 每個單片機的器件ID是不是都不同

單片機本身不需要什麼ID

F. 單片機帶id是什麼意思呢

是不是晶元識別字啊?根據ATMEL的數據手冊,在存儲器編程這一節里,
All Atmel microcontrollers have a three-byte signature code which identifies the device.
中文資料里這樣翻譯:所有的 Atmel 微控制器都具有一個三位元組的標識代碼用來區分器件型號。
FLASH編程時必須用的

G. 單片機中StdId是什麼意思

是stdio,不是stdid。C語言標准輸入輸出庫。程序里用到printf和scanf函數的話就要include上stdio

H. 有哪些單片機具有唯一的ID號

ST的單片機大多都有唯一的ID
8位單片機,比如STM8S103F3、STM8S105C6
32位單片機,比如STM32F103C8、STM32F103RC
對於ST單片機的唯一ID,是96位,對於某些應用來說太長了,ST的下載程序軟體或者淘寶上賣離線下載器的都有「滾碼」這個功能,其實就是下載程序的時候給每個單片機的flash寫入一個不同的數,這個數的位元組數可以根據需要設定,這樣可以得到符合我們要求的唯一ID。

I. stc的單片機怎麼用id號來加密

STC讀內部ID號工具組(自解壓文件:103K), 原文件是一個自解壓文件,這里改為RAR,只有5K,也幫你貼到這里來了。(注意:該工具組好像只能使用在有物理串口的單片機使用。例如STC15F系列因串口需IO模擬,應該是運行後無效的)
解開後有一個EXE文件和一個HEX文件。將HEX文件 ISP寫入單片機,運行ShowID.exe, 設置好串口號,波特率隨便設,例如9600,按【讀取信息】鍵即可讀取ID等信息。

(該工具組主要是方便檢驗唯一ID的,實際應用請看官方數據表裡有C語言的範例。圖中為一塊STC12C5A08S2為例,請看其顯示的結果與使用編程讀取以上15位數據通過串口發送,用最新的程序匠人的「串口獵人」V26接收顯示是一樣的!:) )

不同的晶元的ID都是唯一的,上圖是兩個不同批次的STC12C5410AD的ID。該ID使用7位字元,可以描述的總數為: 256^7=72,057,594,037,927,936個(天文數字)!應該不會重復了吧。。呵呵。。。

J. 我們使用的STC 51單片機是不是都有一個全世界唯一的ID號

我們使用的STC 51單片機是不是都有一個全世界唯一的ID號?
不是全系列都有,早期產品就沒有。

是不是將ID與HEX程序進行捆綁就可以實現程序無法被拷貝復制?

道高一次魔高一丈,保護能力有限。

是不是可以起到一個開發知識產權保護?
那就是一個記號,高手分分鍾就抹掉。

但是我現在使用STC 51單片機時,好像沒有提到這個ID號啊?
不是全系列都有。

如果要捆綁我該如何操作啊?
看相應版本技術手冊。

閱讀全文

與單片機id相關的資料

熱點內容
java與sqlserver資料庫連接 瀏覽:21
鐵路解壓視頻全過程 瀏覽:442
主備核心交換機如何連接伺服器 瀏覽:704
白金卡哪個app最靠譜 瀏覽:666
本田汽車空調壓縮機保險絲 瀏覽:155
康佳led47r5500pdf通病 瀏覽:821
cad圓相切命令 瀏覽:69
bmp文件夾打開 瀏覽:502
u盤裝系統文件下載到哪個文件夾 瀏覽:21
es系統封裝教程程序員大本營 瀏覽:523
程序員聚餐喝什麼酒好 瀏覽:608
編譯程序生成安裝文件 瀏覽:955
linux查看usb設備 瀏覽:284
安卓怎麼禁止app充值 瀏覽:559
動盪對加密貨幣的影響 瀏覽:358
國家反詐app哪裡看注冊時間 瀏覽:563
打孔式文件夾怎麼裝視頻 瀏覽:29
php怎麼學比較好 瀏覽:381
python中關於函數調用 瀏覽:362
debian系統命令行如何排序 瀏覽:407