Ⅰ 合泰單片機匯編語言的DC什麼意思
表格數據 定義 符號, 說白點就是 在單片機的ROM 里自己做一個數據表格.
一般這樣 用,
org 1F00h ; 表格開始的地址
dc 00Ah
dc 00Bh
dc 00Ch
dc 00Dh
dc 00Eh
dc 00Fh
dc 01Ah
dc 01Bh
讀取表格數據的匯編軟體:
讀取表格指針 低八位tblp 和高八位tbhp , 讀取表格命令 tabrd
看看下面的讀取表格的例子,就明白的了.
mov a,06h ;
mov tblp,a ; 表格指針低地址=06H
mov a,7fh ;
mov tbhp,a ; 表格指針高地址=7FH
tabrd tempreg1 ; 把表格地址 7F06H 的數字放到tempreg1
dec tblp ;
tabrd tempreg2 ; 把表格地址 7F05的數據放到tempreg2 里
表格讀取結果是 tempreg1 = 01AH , tempreg2 = 0FH
Ⅱ 有關單片機的分類,型號的種種疑問
呵呵,一樓二樓四樓說的對,三樓有漏洞,五樓就是一派胡言。
就我用過的一些單片機,做一下介紹吧。
因為不同廠家不同內核不同位數,單片機的型號也是不同的。
比如國內用的多的是國產宏晶的STC系列的單片機,因為學校教學使用的比較多。STC系列的全部都是51內核的,8位機,有STC89系列,STC12、STC15等等系列,因為資源不同所以分成很多的型號。
其次是Atmel公司生產的AT89系列的51內核的單片機,STC的單片機與之兼容。一般的前綴都是公司代號STC代表宏晶公司,AT代表atmel公司。當然還有恩智浦(即NXP)、SST都有生產51內核的單片機,它們的指令什麼都兼容,因為它們使用的都是intel公司授權的8051內核,這些廠家都沒有對8051內核做出過大的修改,無非是在外設上動些手腳。
C8051F是Silicon Lab公司的,它生產的C8051F已經不是原來的8051內核了,它對8051內核做出過修改,它們稱之為增強型的51。
以上是51內核的單片機,它們都是8位機,指令一致(C8051F可能會有些不同),都是CISC(復雜指令集)。
AVR單片機是ATMEL公司A先生和V先生設計的RISC單片機,故稱之為AVR,當然ATMEL公司的命名規則很有意思,AT89系列是51,AT90系列是AVR,AT91是ARM,當然AVR不止是AT90系列,還包括ATTiny系列,ATmega系列,ATXmega系列,AVR32。tiny和mega是8位的,xmega是16位,AVR32是32位的。當然你說的avr的atmega128是屬於atmega系列的8位機。
PIC單片機是microchip公司生產的,它是擁有自己獨立的pic內核的RISC(精簡指令集)單片機,其型號有pic10、pic12、pic16、pic18系列,以上型號都是8位機,pic24是16位單片機,pic32系列是32位的。
msp430單片機是TI公司生產的,它也擁有自己的msp430內核,430系列都是16位單片機,msp430f1xx系列、msp430f2xx系列、msp430f3xx系列……當然還有4、5、6xx系列,根據功能不同,當然一般的單片機命名規則是f代表了內部是flash,當然還有otp的。430裡面g系列是超值系列,比較廉價。
當然16位的單片機還有飛思卡爾的單片機MC打頭的,如mc9s12x什麼的,還有台灣凌陽單片機也是16位的,如SPCE061A 什麼的(所謂的61單片機),他們都擁有自己的內核。
還有後起之秀stm8系列的單片機,是st(意法半導體)公司生產的,8位單片機,也是擁有自己的內核,stm8s、stm8l系列等。
雖然51依然占據的大部分市場,但是在一些特殊的應用場合,還有資源,速度,抗干擾的要求,如控制電機,一般AVR、PIC、ST用的會比較多,msp430系列用於低功耗場合,一般水電表,手持設備會用到。如果成本要求高市場上流行的還有台系的單片機,如義隆單片機,一般EM78P打頭的,合泰單片機,一般ht打頭的,當然還有其他chip-on什麼的都是很便宜的,以上這些內核都是仿pic的,或者是日系單片機如瑞薩,常用的R8C打頭的等等。
介紹了一些常用的單片機,如還有問題,可以追問
Ⅲ 合泰ht46r47單片機源文件怎麼編譯出OTP文件
#include <HT66F2390.h>
#include "MyType.h"
#define LED_Port _pg //宏定義引腳
#define LED_PortC _pgc //宏定義引腳屬性的方向
void Delayms(u16); //延時函數
void main()
{ _wdtc=0b10101111; //關狗
LED_PortC=0x0; //設置 LED_Port 為輸出模式
LED_Port=0xFE; //設置 LED_Port 初值
while(1)
{ while(LED_Port & 0b10000000) //若MSB不為0返回繼續
{ Delayms(500);
GCC_RL(LED_Port); //左移
}
while(LED_Port & 0b00000001) //若LSB不為0返回繼續
{ Delayms(500);
GCC_RR(LED_Port); //右移
}
}
}
void Delayms(u16 del) //延時del*200指令周期
{ u16 i; //fSYS=8MH,延時del*1ms
for(i=0;i<del;i++) GCC_DELAY(2000);
}
Ⅳ 學習單片機有前途嗎
各行各業都有自己的前途,要看個人的愛好和能力了。
一般來說,前景是很不錯的,這行吃的是技術飯,屬於是越老越香型,就是經驗越高,能力越強,相應的工資待遇和福利是比較高的。熟悉一款,難的是與單片機相關的硬體設計和與設計有關的技術難點,還有經驗的積累。所以一開始你可能會感覺非常吃力,因為要不斷的學習。所做的工作也有未知性,就是拿到一個項目,你不知道這個項目的確切完成時間,而且項目周期長,往往是幾個月時間,期間要查閱很多資料。不過在這一行立足了,找工作很容易。
從事的工作跟一樓說的,非常廣泛,電子,自動控制,通信,機械,汽車電子,安防 這些行業都有。主要的工作有兩方面:軟體編程和硬體設計。
Ⅳ 合泰單片機內置eeprom只能讀不能寫,要怎麼解決
我也遇到這樣的問題。沒人給出答案,我來說一下吧。(主要是針對V3編譯C)
根據Holtek_C_Compiler_V3_FAQ(950).pdf的描述,V3不保證編譯後的指令符合EEPROM寫入順序。根據BS86的數據手冊,WREN 和 WR一定要符合順序。
我編譯後的指令出現的是LSET WREN以及LSET WR,這個就出問題了。晶元需要的是SET。
解決方法是根據官方FAQ的描述
"5.5 對於寫 EEPROM 有限制的 MCU ( 需連續 set wren, wr, flag),如何使用
V3 寫 EEPROM?"
下面是代碼
//RefertoHoltek_C_Compiler_V3_FAQ(950).pdf
typedefstruct{
unsignedcharbit0:1;
unsignedcharbit1:1;
unsignedcharbit2:1;
unsignedcharbit3:1;
unsignedcharbit4:1;
unsignedcharbit5:1;
unsignedcharbit6:1;
}iar_bits;
DEFINE_SFR(iar_bits,iar1,0x02);
#defineiar1_3 iar1.bit3
#defineiar1_2 iar1.bit2
#defineiar1_1 iar1.bit1
#defineiar1_0 iar1.bit0
...
uint8_tbkup;
_eea=u8Addr;
_eed=u8NewData;
_mp1l=0x40;
bkup=_mp1h;
_mp1h=0x01;
_emi=0;
iar1_3=1;
iar1_2=1;
_emi=1;
while(iar1_2)
{
}
_iar1=0;
_mp1h=bkup;
...
官方的解決方案產生的代碼跟數據手冊中的一直:
;129 iar1_3=1;
0D0D 3182 set__iar1[0].3《《以前這里是LSETWREN
;130 iar1_2=1;
0D0E 3102 set__iar1[0].2《《以前這里是LSETWR
Ⅵ 單片機的 分類
從應用的角度,單片機大致可分為四種。
(1)通用型/專用型。
(2)匯流排型/非匯流排型。
(3)CISC/RISC指令結卡構。
(4)OTPROM型/EPROM型/FLash ROM型
硬體特徵
(1)單片機的體積比較小, 內部晶元作為計算機系統,其結構簡單,但是功能完善,使用起來十分方便,可以模塊化應用。
(2)單片機有著較高的集成度,可靠性比較強,即使單片機處於長時間的工作也不會存在故障問題。
(3) 單片機在應用時低電壓、低能耗,是人們在日常生活中的首要選擇, 為生產與研發提供便利。
(4)單片機對數據的處理能力和運算能力較強,可以在各種環境中應用,且有著較強的控制能力。
Ⅶ c8051f系列單片機加密後能不能破解
橙盒科技還提供以下晶元解密服務:
疑難型IC解密
橙盒科技目前已成功突破CY8C單片機解密、STC單片機破解、C8051晶元解密、凌陽IC解密、MSP430破解、FREESCALE晶元解密等疑難型IC晶元破解技術。
日系高難度晶元解密
橙盒科技獨家優勢提供NEC單片機破解、瑞薩系列晶元解密、三菱單片機解密、日立晶元破解、東芝系列IC破解、富士通晶元解密等日系高難度IC破解服務。
ARM核晶元破解
橙盒科技目前已具備NXP系列ARM解密、STM系列ARM破解、飛思卡爾ARM晶元解密、三星ARM晶元破解、AT91SAM系列晶元解密等ARM晶元破解方案開發能力。
51單片機破解
依靠成熟解密方案,橙盒科技優勢提供PIC單片機解密、ATMEL晶元解密、合泰IC解密、新茂晶元破解、華邦IC破解、SST系列IC解密等51單片機解密服務。
掩膜單片機破解
橙盒科技可針對客戶需求提供日立掩膜晶元解密、NEC掩膜晶元破解、三菱掩膜單片機解密等系列高難度掩膜IC解密以及運算放大器等各類IC反向設計服務。
冷偏門IC解密方案開發
依靠強大的IC解密方案開發能力,橙盒科技可針對HAIER單片機解密、SANYO晶元解密、UBICOM系列IC解密、ABOV系列IC破解等冷偏門IC提供優質破解方案。
單片機(MCU)一般都有內部EEPROM/FLASH供用戶存放程序和工作數據。為了防止未經授權訪問或拷貝單片機的機內程序,大部分單片機都帶有加密鎖定位或者加密位元組,以保護片內程序。如果在編程時加密鎖定位被使能(鎖定),就無法用普通編程器直接讀取單片機內的程序,這就叫單片機加密或晶元加密。單片機攻擊者藉助專用設備或者自製設備,利用單片機晶元設計上的漏洞或軟體缺陷,通過多種技術手段,就可以從晶元中提取關鍵信息,獲取單片機內程序這就叫晶元解密。
晶元解密又叫單片機解密,單片機破解,晶元破解,IC解密,但是這嚴格說來這幾種稱呼都不科學,但已經成了習慣叫法,我們把CPLD解密,DSP解密都習慣稱為晶元解密。單片機只是能裝載程序晶元的其中一個類。能燒錄程序並能加密的晶元還有DSP,CPLD,PLD,AVR,ARM等。也有專門設計有加密演算法用於專業加密的晶元或設計驗證廠家代碼工作等功能晶元,該類晶元也能實現防止電子產品復制的目的。