完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>
標(biāo)簽 > STC
STC是單片機(jī)是一款基于8位單片機(jī)處理芯片STC89C51RC的系統(tǒng)。本章詳細(xì)介紹了stc單片機(jī)原理及應(yīng)用,單片機(jī)晶振頻率,stc12c5a60s2,stc系列單片機(jī)簡(jiǎn)介,stc芯片解密,stc單片機(jī)教程,stc單片機(jī)官網(wǎng),stc型號(hào),stc單片機(jī)編程器
STC是單片機(jī)是一款基于8位單片機(jī)處理芯片STC89C51RC的系統(tǒng)。
原理
STC89C51RC是采用8051核的ISP(In System Programming)在系統(tǒng)可編程芯片,最高工作時(shí)鐘頻率為80MHz,片內(nèi)含4K Bytes的可反復(fù)擦寫(xiě)1000次的Flash只讀程序存儲(chǔ)器,器件兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,具有在系統(tǒng)可編程(ISP)特性,配合PC端的控制程序即可將用戶(hù)的程序代碼下載進(jìn)單片機(jī)內(nèi)部,省去了購(gòu)買(mǎi)通用編程器,而且速度更快。STC89C51RC系列單片機(jī)是單時(shí)鐘/機(jī)器周期(1T)的兼容8051 內(nèi)核單片機(jī),是高速/ 低功耗的新一代8051 單片機(jī),全新的流水線/精簡(jiǎn)指令集結(jié)構(gòu),內(nèi)部集成MAX810 專(zhuān)用復(fù)位電路。
STC是單片機(jī)是一款基于8位單片機(jī)處理芯片STC89C51RC的系統(tǒng)。
原理
STC89C51RC是采用8051核的ISP(In System Programming)在系統(tǒng)可編程芯片,最高工作時(shí)鐘頻率為80MHz,片內(nèi)含4K Bytes的可反復(fù)擦寫(xiě)1000次的Flash只讀程序存儲(chǔ)器,器件兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,具有在系統(tǒng)可編程(ISP)特性,配合PC端的控制程序即可將用戶(hù)的程序代碼下載進(jìn)單片機(jī)內(nèi)部,省去了購(gòu)買(mǎi)通用編程器,而且速度更快。STC89C51RC系列單片機(jī)是單時(shí)鐘/機(jī)器周期(1T)的兼容8051 內(nèi)核單片機(jī),是高速/ 低功耗的新一代8051 單片機(jī),全新的流水線/精簡(jiǎn)指令集結(jié)構(gòu),內(nèi)部集成MAX810 專(zhuān)用復(fù)位電路。
stc單片機(jī)和51單片機(jī)有什么大的區(qū)別
就和華為榮耀手機(jī)與智能手機(jī)之間的區(qū)別似得,根本沒(méi)法比較,STC是深圳宏晶公司產(chǎn)的單片機(jī)的名稱(chēng)前綴,就像華為的榮耀手機(jī)名稱(chēng)一樣,51是單片機(jī)的種類(lèi),就像手機(jī)里的智能手機(jī),老人機(jī)似得,屬于種類(lèi),這有的比么。
STC單片機(jī)STC單片機(jī)是以51內(nèi)核為主的系列單片機(jī),STC單片機(jī)是宏晶生產(chǎn)的單時(shí)鐘/機(jī)器周期的單片機(jī),是高速、低功耗、超強(qiáng)抗干擾的新一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)8051,但速度快8—12倍,內(nèi)部集成MAX810專(zhuān)用復(fù)位電路。4路PWM 8路高速10位A、D轉(zhuǎn)換,針對(duì)電機(jī)控制,強(qiáng)干擾場(chǎng)合。
STC單片機(jī)主要性能
●高速:1 個(gè)時(shí)鐘/ 機(jī)器周期,增強(qiáng)型8051 內(nèi)核,速度比普通8051 快8~12 倍
●寬電壓:5.5~3.8V,2.4~3.8V(STC12LE5410AD 系列)
●低功耗設(shè)計(jì):空閑模式,掉電模式(可由外部中斷喚醒)
●工作頻率:0~35MHz,相當(dāng)于普通8051:0~420MHz
--- 實(shí)際可到48MHz,相當(dāng)于8051: 0~576MHz
●時(shí)鐘:外部晶體或內(nèi)部RC 振蕩器可選,在ISP 下載編程用戶(hù)程序時(shí)設(shè)置
● 12K/10K/8K/6K/4K/2K 字節(jié)片內(nèi)Flash 程序存儲(chǔ)器,擦寫(xiě)次數(shù)10 萬(wàn)次以上
● 512 字節(jié)片內(nèi)RAM 數(shù)據(jù)存儲(chǔ)器
●芯片內(nèi)EEPROM 功能
● ISP / IAP,在系統(tǒng)可編程/ 在應(yīng)用可編程,無(wú)需編程器/ 仿真器
● 10 位ADC,8 通道,STC12C2052AD 系列為8 位ADC。4 路PWM 還可當(dāng)4 路D/A 使用
● 4 通道捕獲/ 比較單元(PWM/PCA/CCU),STC12C2052AD 系列為2 通道
--- 也可用來(lái)再實(shí)現(xiàn)4 個(gè)定時(shí)器或4 個(gè)外部中斷(支持上升沿/ 下降沿中斷)
● 2 個(gè)硬件16 位定時(shí)器,兼容普通8051 的定時(shí)器。4 路PCA 還可再實(shí)現(xiàn)4 個(gè)定時(shí)器
●硬件看門(mén)狗(WDT)
●高速SPI 通信端口
●全雙工異步串行口(UART),兼容普通8051 的串口
●先進(jìn)的指令集結(jié)構(gòu),兼容普通8051指令集
4 組8 個(gè)8 位通用工作寄存器(共32 個(gè)通用寄存器)
有硬件乘法/ 除法指令
●通用I/O 口(27/23/15 個(gè)),復(fù)位后為: 準(zhǔn)雙向口/ 弱上拉(普通8051 傳統(tǒng)I/O 口)
可設(shè)置成四種模式:準(zhǔn)雙向口/ 弱上拉,推挽/ 強(qiáng)上拉,僅為輸入/ 高阻,開(kāi)漏每個(gè)I/O 口驅(qū)動(dòng)能力均可達(dá)到20mA,但整個(gè)芯片最大不得超過(guò)55mA
2STC單片機(jī)特點(diǎn) 1 、I / O 口經(jīng)過(guò)特殊處理
2 、輕松過(guò)2KV/4KV 快速脈沖干擾(EFT 測(cè)試)
3 、寬電壓, 不怕電源抖動(dòng)
4 、寬溫度范圍, - 4 0 ℃~8 5 ℃
5 、高抗靜電(E S D 保護(hù))
6 、單片機(jī)內(nèi)部的時(shí)鐘電路經(jīng)過(guò)特殊處理
7 、單片機(jī)內(nèi)部的電源供電系統(tǒng)經(jīng)過(guò)特殊處理
8 、單片機(jī)內(nèi)部的看門(mén)狗電路經(jīng)過(guò)特殊處理
9 、單片機(jī)內(nèi)部的復(fù)位電路經(jīng)過(guò)特殊處理
3STC單片機(jī)AD和EEPROM的驅(qū)動(dòng)C程序 STC單片機(jī)具有在應(yīng)用編程,調(diào)試起來(lái)比較方便;帶有10位AD;內(nèi)部eeprom;可在1T/機(jī)器周期下工作,速度是傳統(tǒng)51單片機(jī)的12倍;下面是我寫(xiě)的AD和EEPROM的驅(qū)動(dòng)C代碼:
/*----------------------------------------------------------------
*File Name: stc_AD.c -
*Description: A/D 轉(zhuǎn)換程序
*Project: -
*MCU type: STC12C5410AD -
-
*Company: WY -
*Compiler: KEIL C51 -
*DESINER: 郭準(zhǔn) 06.2.7 -
-----------------------------------------------------------------------*/
#include 《global.h》 //定義的 系統(tǒng)頭文件和全局變量
/*A/D SFR*/
sfr ADC_LOW2 = 0xBE;
sfr ADC_CONTR = 0xC5;
sfr ADC_DATA = 0xC6;
sfr CLK_DIV = 0xC7; ////////
//定義變量
uchar CODe display_AD_channel_ID[2] = {0x00,0x01};
uchar data AD_channel_result[2][5]; //各通道A/D轉(zhuǎn)換結(jié)果。前是通道號(hào);后是轉(zhuǎn)換的值
//定義引用外部
extern void Delay(uint number);//晶振=11059200,機(jī)器周期=1.085069444us,“加”的機(jī)器周期=1
extern void send_char_com(uchar ch);
extern void send_string_com(uchar *str,uchar strlen);
void Ad_Change(uchar channel);
//------------------------------------------------------
//功能:A/D轉(zhuǎn)換
//入口:channel = 通道號(hào) .0:0通道;1:1通道。。。。。。。
//出口:AD_channel_1_result: 10位的數(shù)據(jù),16進(jìn)制。
//設(shè)計(jì):郭準(zhǔn),偉業(yè),2006/2/7
//------------------------------------------------------
void Ad_Change(uchar channel)
{
uint AD_Result_Temp = 0 ;
//---------------------將P1.0--P1.1設(shè)置成適合AD轉(zhuǎn)換的模式
/// P1 = 0xff; //將P1口置高,為A/D轉(zhuǎn)換作準(zhǔn)備
ADC_CONTR = ADC_CONTR|0x80; //1000,0000打開(kāi)A/D轉(zhuǎn)換電源
P1M0 = 0x03; //0000,0011用于A/D轉(zhuǎn)換的P1.x口,先設(shè)為開(kāi)漏
P1M1 = 0x03; //0000,0011P1.0--P1.1先設(shè)為開(kāi)漏。斷開(kāi)內(nèi)部上拉電阻
Delay(20); //20
ADC_CONTR = ADC_CONTR&0xE0; //1110,0000 清ADC_FLAG,ADC_START位和低3位
ADC_CONTR = ADC_CONTR|(display_AD_channel_ID[channel]&0x07); //設(shè)置當(dāng)前通道號(hào)
Delay(1); //延時(shí)使輸入電壓達(dá)到穩(wěn)定
ADC_DATA = 0; //清A/D轉(zhuǎn)換結(jié)果寄存器
ADC_LOW2 = 0;
ADC_CONTR = ADC_CONTR|0x08; //0000,1000ADCS = 1,啟動(dòng)轉(zhuǎn)換
do { ; }
while((ADC_CONTR & 0x10)==0); //0001,0000等待A/D轉(zhuǎn)換結(jié)束
ADC_CONTR = ADC_CONTR&0xE7; //1110,0111清ADC_FLAG位,停止A/D轉(zhuǎn)換
AD_Result_Temp = ((AD_Result_Temp|ADC_DATA)《《2)|(ADC_LOW2&0x03);
//保存返回AD轉(zhuǎn)換的 結(jié)果
//----------------------------轉(zhuǎn)換成可由串口顯示的字符
AD_channel_result[channel][0] = AD_Result_Temp/1000+0x30;
AD_channel_result[channel][1] = (AD_Result_Temp%1000)/100+0x30;
AD_channel_result[channel][2] = (AD_Result_Temp%100)/10+0x30;
AD_channel_result[channel][3] = AD_Result_Temp%10+0x30;
//------------------------串口監(jiān)視
// send_char_com(ADC_DATA); //////發(fā)送轉(zhuǎn)換 的 到的 值,這里只是 高8位,值的轉(zhuǎn)換需要考慮
// send_char_com(ADC_LOW2); //////發(fā)送轉(zhuǎn)換 的 到的 值,這里只是 低2位,值的轉(zhuǎn)換需要考慮
send_string_com(AD_channel_result[channel],4);
Delay(1); //
}
/*----------------------------------------------------------------
*File Name: STC_EEPROM.c -
*Description: IAP/ISP 功能 -
*Project: -
*MCU type: STC12C5410AD -
-
*Company: WY -
*Compiler: KEIL C51 -
*DESINER: 郭準(zhǔn) 06.2.7 -
-----------------------------------------------------------------------*/
#include 《global.h》 //定義的 系統(tǒng)頭文件和全局變量
/*IAP有關(guān)功能寄存器*/
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 ENABLE_ISP 0x82 //《20MHz
//#define ENABLE_ISP 0x83 //《12MHz
#define DEBUG_DATA 0x5A
//----------------------------flash 存儲(chǔ)的起始地址
#define DATA_FLASH_START_ADDRESS 0x2800 //stc12c2052ad ////////////???????????
uchar tx_buf[3] = {0,0,0};
extern void Delay(uint number);//晶振=11059200,機(jī)器周期=1.085069444us,“加”的機(jī)器周期=1
extern void send_char_com(uchar ch);
extern void send_string_com(uchar *str,uchar strlen);
uchar Byte_Read(uint address);
void Sector_Erase(uint address);
void Byte_Program(uint address,uchar ch);
/*
void Eeprom_Start(void)
{
P1 = 0xf0; //開(kāi)始工作
Delay(2); //22us.。原13us
// SP = 0xE0; //堆棧指針指向0E0H單元
}
*/
//------------------------------------------------------
//功能:讀一字節(jié);調(diào)用前需打開(kāi)IAP功能
//入口:uint address=頁(yè)地址0~512,為了提高處理速度,最好用0~256的范圍
//出口:
//設(shè)計(jì):郭準(zhǔn),偉業(yè),2006/2/7
//------------------------------------------------------
uchar Byte_Read(uint address)
{
uchar data ch;
ISP_CONTR = ENABLE_ISP; //打開(kāi)IAP功能,設(shè)置Flash操作等待時(shí)間
ISP_CMD = 0x01; //選擇讀AP模式
//--------------------------
address = DATA_FLASH_START_ADDRESS+address;
ISP_ADDRH = (uchar)(address》》8); //填頁(yè)地址
ISP_ADDRL = (uchar)(address); //填頁(yè)地址
EA = 0;
ISP_TRIG = 0x46; //出發(fā)ISP處理器
ISP_TRIG = 0xB9;
nop();
ch = ISP_DATA; //保存數(shù)據(jù)
EA = 1;
//------------------------在處理器完成之前,CUP將暫停
//------------------------關(guān)閉IAP功能,清與ISP有關(guān)的特殊功能寄存器
ISP_CONTR = 0;
ISP_CMD = 0;
ISP_TRIG = 0;
// send_char_com(ch + 0x30);
return ch;
}
//------------------------------------------------------
//功能:擦除扇區(qū)
//入口:uint address=頁(yè)地址0~512,為了提高處理速度,最好用0~256的范圍
//出口:
//設(shè)計(jì):郭準(zhǔn),偉業(yè),2006/2/7
//------------------------------------------------------
void Sector_Erase(uint address)
{
ISP_CONTR = ENABLE_ISP; //打開(kāi)IAP功能,設(shè)置Flash操作等待時(shí)間
ISP_CMD = 0x03; //選擇頁(yè)擦除模式
//--------------------------
address = DATA_FLASH_START_ADDRESS+address;
ISP_ADDRH = (uchar)(address》》8); //填頁(yè)地址
ISP_ADDRL = (uchar)(address); //填頁(yè)地址
EA = 0;
ISP_TRIG = 0x46; //出發(fā)ISP處理器
ISP_TRIG = 0xB9;
nop();
EA = 1;
//------------------------關(guān)閉IAP功能,清與ISP有關(guān)的特殊功能寄存器
ISP_CONTR = 0;
ISP_CMD = 0;
ISP_TRIG = 0;
}
//------------------------------------------------------
//功能:字節(jié)編程,寫(xiě)
//入口:uint address=頁(yè)地址0~512,為了提高處理速度,
// 最好用0~256的范圍;uchar ch=要寫(xiě)的數(shù)據(jù)
//出口:
//設(shè)計(jì):郭準(zhǔn),偉業(yè),2006/2/7
//------------------------------------------------------
void Byte_Program(uint address,uchar ch)
{
// Sector_Erase(address);
ISP_CONTR = ENABLE_ISP; //打開(kāi)IAP功能,設(shè)置Flash操作等待時(shí)間
ISP_CMD = 0x02; //選擇字節(jié)編程模式
//--------------------------
address = DATA_FLASH_START_ADDRESS+address;
ISP_ADDRH = (uchar)(address》》8); //填頁(yè)地址
ISP_ADDRL = (uchar)(address); //填頁(yè)地址
ISP_DATA = ch;
EA = 0;
ISP_TRIG = 0x46; //出發(fā)ISP處理器
ISP_TRIG = 0xB9;
nop();
EA = 1;
//------------------------關(guān)閉IAP功能,清與ISP有關(guān)的特殊功能寄存器
ISP_CONTR = 0;
ISP_CMD = 0;
ISP_TRIG = 0;
}
//------------------------------------------------------
//功能:字節(jié)編程,寫(xiě)字符串
//入口:uint address=頁(yè)地址0~512,為了提高處理速度,
// 最好用0~256的范圍;uchar ch=要寫(xiě)的數(shù)據(jù)
// len=字符串的長(zhǎng)度
//出口:
//設(shè)計(jì):郭準(zhǔn),偉業(yè),2006/2/7
//------------------------------------------------------
void Morebyte_Program(uint address,uchar *ch,uchar len)
{
uchar k = 0;
Sector_Erase(address);
do
{
Byte_Program(address,*(ch + k));
address++;
k++;
}
while(k 《 len);
}
//------------------------------------------------------
//功能:讀多字節(jié);調(diào)用前需打開(kāi)IAP功能
//入口:uint address=頁(yè)地址0~512,為了提高處理速度,最好用0~256的范圍
//出口:
//設(shè)計(jì):郭準(zhǔn),偉業(yè),2006/2/7
//------------------------------------------------------
void Moreyte_Read(uint address)
{
uchar k = 0;
do
{
tx_buf[k] = Byte_Read(address);
address++;
k++;
}
while(k 《 3);
}
4基于STC單片機(jī)的經(jīng)濟(jì)型步進(jìn)電機(jī)控制系統(tǒng) 步進(jìn)電機(jī)是工業(yè)控制中應(yīng)用十分廣泛的一種電動(dòng)機(jī),它能將數(shù)字信號(hào)直接轉(zhuǎn)換成角位移或線位移,驅(qū)動(dòng)速度和指令脈沖能?chē)?yán)格同步,具有較高的定位精度,控制系統(tǒng)成本低廉,在經(jīng)濟(jì)型數(shù)控機(jī)床等領(lǐng)域應(yīng)用廣泛。這里針對(duì)電磁干擾較強(qiáng)以及要求低成本應(yīng)用的場(chǎng)合,采用超強(qiáng)抗干擾、小巧低功耗的工業(yè)級(jí)STC12C系列單片機(jī),充分利用單片機(jī)內(nèi)部的硬件資源,設(shè)計(jì)實(shí)用的步進(jìn)電機(jī)控制和驅(qū)動(dòng)系統(tǒng)。
1 控制系統(tǒng)總體方案設(shè)計(jì)
系統(tǒng)功能原理示意圖如圖1所示。
在該系統(tǒng)中由單片機(jī)直接輸出電機(jī)的各相控制脈沖序列,光耦進(jìn)行必要的光電隔離,采用分立元件構(gòu)成功率.MOSFET管驅(qū)動(dòng)電路,帶動(dòng)電機(jī)轉(zhuǎn)動(dòng)。鍵盤(pán)接口與 LED顯示功能由具有SPI串行接口功能的ZLG7289實(shí)現(xiàn)。既可使用按鍵輸入的方式精確設(shè)置電機(jī)的工作方式與轉(zhuǎn)速,也可以通過(guò)調(diào)速旋鈕實(shí)現(xiàn)電機(jī)轉(zhuǎn)速的連續(xù)調(diào)節(jié),還能通過(guò)上位機(jī)實(shí)現(xiàn)對(duì)電機(jī)工作方式的調(diào)整與控制。
2 硬件電路設(shè)計(jì)
2.1 控制電路設(shè)計(jì)
控制芯片采用STC12C4052AD,它是1個(gè)時(shí)鐘/機(jī)器周期的單片機(jī),速度比普通的8051單片機(jī)快8~12倍,有20個(gè)引腳且為小巧封裝。該單片機(jī)具有超強(qiáng)抗干擾,抗靜電的特點(diǎn),能輕松通過(guò)4 kV快速脈沖干擾,其功耗超低,正常工作模式下的典型功耗為2.7~7 mA。芯片自帶硬件看門(mén)狗,具有高速SPI通信端口,8通道8位A/D轉(zhuǎn)換,2路PWM輸出,4 KB容量的FLASH存儲(chǔ)器,256 B容量的SRAM,4個(gè)定時(shí)器,1個(gè)全雙工串行通信口。由于單片機(jī)內(nèi)部的資源豐富,性?xún)r(jià)比高,能夠滿足該設(shè)計(jì)的要求,而且減少了硬件電路的設(shè)計(jì),提高了工作效率。單片機(jī)的外部引腳定義,及其在該設(shè)計(jì)中的資源分布如圖2所示。
P1.4(ADC4)口外接4.7 kΩ的可調(diào)電位器,利用單片機(jī)內(nèi)部的模/數(shù)轉(zhuǎn)換功能轉(zhuǎn)換成數(shù)字量,進(jìn)而控制輸出脈沖頻率,完成步進(jìn)電機(jī)速度的“連續(xù)”調(diào)節(jié)。過(guò)流檢測(cè)的結(jié)果直接引入到外部中斷0,實(shí)現(xiàn)對(duì)電流的快速控制。
2.2 驅(qū)動(dòng)電路設(shè)計(jì)
功率MOSFET管的部分驅(qū)動(dòng)電路如圖3所示。該電路的設(shè)計(jì)可改進(jìn)功率MOSFET管的快速開(kāi)通時(shí)間,提高了驅(qū)動(dòng)電流的前后沿陡度,能夠改善高頻響應(yīng)。功率MOSFET管柵源間的阻抗很高,工作于開(kāi)關(guān)狀態(tài)下漏源間電壓的突變會(huì)通過(guò)極間電容耦合到柵極,產(chǎn)生相當(dāng)幅度的VGS脈沖電壓。正方向的VGS脈沖電壓可能會(huì)導(dǎo)致器件的誤導(dǎo)通。為此,需要適當(dāng)降低柵極驅(qū)動(dòng)電路的阻抗,在柵源之間并接阻尼電阻或接一個(gè)穩(wěn)壓值小于20 V,而又接近20 V的齊納二極管,以防止柵源開(kāi)路工作。
為了抑制功率管內(nèi)的快恢復(fù),二極管出現(xiàn)反向恢復(fù)效應(yīng),在電路中接入4只快恢復(fù)二極管。其中,反并聯(lián)快恢復(fù)二極管的作用是為電機(jī)相繞組提供續(xù)流通路,其余2 只是為了使功率MOSFET管內(nèi)部的快恢復(fù)二極管不流過(guò)反向電流,以保證功率MOSFET管在動(dòng)態(tài)工作時(shí)能起到正常的開(kāi)關(guān)的作用。
2.3 顯示與按鍵處理電路
在單片機(jī)應(yīng)用系統(tǒng)中,典型的鍵盤(pán)顯示接口電路由基于并行擴(kuò)展技術(shù)的8155,8279構(gòu)成控制電路?,F(xiàn)代單片機(jī)應(yīng)用系統(tǒng)廣泛采用串行擴(kuò)展技術(shù)。相對(duì)于并行方式,串行擴(kuò)展接線靈活,占用單片機(jī)資源少。
ZLG7289A是具有SPI串行接口功能的可同時(shí)驅(qū)動(dòng)8位數(shù)碼管或64只獨(dú)立LED的智能顯示驅(qū)動(dòng)芯片,單片即可完成顯示、鍵盤(pán)接口的全部功能。采用串行方式與微處理器通信,數(shù)據(jù)從DIO引腳送入芯片,并由CLK端同步。當(dāng)選信號(hào)變?yōu)榈碗娖胶螅珼IO引腳上的數(shù)據(jù)在CLK引腳的上升沿被寫(xiě)入 ZLG7289A的緩沖寄存器。圖4是ZLG7289的典型應(yīng)用。ZLG7289A連接共陰式數(shù)碼管,應(yīng)用中不需要的數(shù)碼管與鍵盤(pán)可以不連接,省去數(shù)碼管或?qū)?shù)碼管設(shè)置消隱屬性,這均不會(huì)影響鍵盤(pán)的使用。整個(gè)電路無(wú)需添加鎖存器和驅(qū)動(dòng)器,耗電少,軟件設(shè)計(jì)中無(wú)需編寫(xiě)顯示譯碼程序,省去了靜態(tài)顯示擴(kuò)展芯片,大大節(jié)省了CPU的時(shí)間。該電路設(shè)計(jì)中僅采用4×4鍵盤(pán)和4位數(shù)碼管,已完全滿足設(shè)計(jì)需要。
3 軟件設(shè)計(jì)
軟件部分采用模塊化結(jié)構(gòu)設(shè)計(jì)。對(duì)步進(jìn)電機(jī)轉(zhuǎn)速的控制是通過(guò)定時(shí)器工作在中斷方式實(shí)現(xiàn)的。定時(shí)器定時(shí)中斷產(chǎn)生周期性脈沖序列,不是采用軟件延時(shí)的方式,這樣不占用CPU的時(shí)間。CPU在非中斷時(shí)間內(nèi)可以處理其他事件,只有在中斷發(fā)生時(shí)才驅(qū)動(dòng)步進(jìn)電機(jī)轉(zhuǎn)動(dòng)一步。根據(jù)步進(jìn)電機(jī)勵(lì)磁狀態(tài)轉(zhuǎn)換,采用查表法求出所需的輸出狀態(tài),并以二進(jìn)制碼的形式依次存入單片機(jī)內(nèi)部的存儲(chǔ)器中;然后按照正向或反向順序依次取出地址的狀態(tài)字,送給STC12C4052AD,輸出各勵(lì)磁狀態(tài),從而實(shí)現(xiàn)環(huán)形分配器的功能。
程序總體框架包括:主程序、過(guò)流檢測(cè)中斷服務(wù)子程序、定時(shí)器中斷服務(wù)子程序、以及其他子程序(包括正轉(zhuǎn)、反轉(zhuǎn)子程序、鍵盤(pán)顯示控制子程序、A/D轉(zhuǎn)換子程序等),由于篇幅限制,在此不一一敘述。
4 系統(tǒng)測(cè)試
該系統(tǒng)采用超強(qiáng)抗干擾,小巧低功耗的工業(yè)級(jí)STC12C4052AD單片機(jī)為控制核心,工作可靠性高,抗于擾能力強(qiáng)。系統(tǒng)測(cè)試在專(zhuān)門(mén)的檢測(cè)實(shí)驗(yàn)室內(nèi)進(jìn)行。利用群脈沖發(fā)生器(EFT-4001)、周波電壓跌落發(fā)生器(VDG-1105)、靜電放電發(fā)生器(ESD-20)以及雷擊浪涌發(fā)生器(SG-5006) 等專(zhuān)用儀器對(duì)系統(tǒng)的電壓變化抗擾度、快速瞬變脈沖群抗擾度、抗靜電和雷擊浪涌等參數(shù)進(jìn)行檢測(cè)。經(jīng)過(guò)實(shí)驗(yàn),系統(tǒng)功能正常,所有參數(shù)均已達(dá)標(biāo)。
5 結(jié) 語(yǔ)
電子技術(shù)發(fā)展日新月異,新型單片機(jī)層出不窮。在電機(jī)控制系統(tǒng)開(kāi)發(fā)過(guò)程中,如果恰當(dāng)選取單片機(jī)以及各電路模塊的型號(hào),能夠簡(jiǎn)化設(shè)計(jì)過(guò)程,起到事半功倍的效果。該系統(tǒng)采用STC12C4052AD單片機(jī),其工作方式、轉(zhuǎn)動(dòng)速率及轉(zhuǎn)矩?cái)?shù)可以通過(guò)鍵盤(pán)輸入,也可通過(guò)普通旋鈕或上位機(jī)調(diào)節(jié)。鍵盤(pán)顯示模塊采用 ZLG7289實(shí)現(xiàn)。本系統(tǒng)具有通用性,適當(dāng)改變輸出口各位控制端,便可控制不同相數(shù)的步進(jìn)電機(jī)。
基于STC15w408AS的電子時(shí)鐘的設(shè)計(jì)
在前段時(shí)間小代在頭條上發(fā)過(guò)一篇叫《如何用單片機(jī)設(shè)計(jì)一款電子產(chǎn)品》,里面提到我們以一個(gè)DIY電子時(shí)鐘為例來(lái)講解,今天我們就來(lái)詳細(xì)的說(shuō)說(shuō)的這DIY電子時(shí)鐘的...
基于STC12C5A60S2與PID算法的數(shù)控電源設(shè)計(jì)
基于提高電源效率的目的,設(shè)計(jì)了采用PID算法的數(shù)控電源。系統(tǒng)采用STC12C5A6052自帶的PWM控制BUCK電路,同時(shí)對(duì)其輸出電路進(jìn)行采樣,組成了一...
基于STC單片機(jī)與AD620的小信號(hào)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
在測(cè)控領(lǐng)域中,經(jīng)常遇到監(jiān)測(cè)對(duì)象輸出信號(hào)較小,難以直接采集,一般都需要將其放大后再做處理。介紹了一種小信號(hào)采集系統(tǒng)的實(shí)現(xiàn)方法,利用具有A/D轉(zhuǎn)換功能的單片...
2017-12-07 標(biāo)簽:單片機(jī)STCstc12c5a60s2 1.1萬(wàn) 0
基于STC12C5A60S2與無(wú)線CC1101的電動(dòng)溫控閥控制器設(shè)計(jì)
基于當(dāng)前家庭室內(nèi)供暖 、農(nóng)業(yè)溫室大棚供暖等方面溫控能實(shí)現(xiàn)自我調(diào)節(jié)的現(xiàn)狀,采用單片機(jī)STC12C5A60S2與無(wú)線模塊CC1101設(shè)計(jì)電動(dòng)溫控閥控制器,控...
2017-12-17 標(biāo)簽:STCCC1101STC12C5A60S2 9527 0
基于STC12C5A60S2的電流型PWM功率放大器設(shè)計(jì)
以 STC12C5A60S2高性能單片機(jī)作為控制核心,設(shè)計(jì)一種單自由度電流型 PWM 功率放大器,具有集成度高、體積小和成本優(yōu)勢(shì)?;魻栯娏鱾鞲衅魍瓿呻娏?..
2017-12-18 標(biāo)簽:PWMSTCSTC12C5A60S2 9018 0
STC學(xué)習(xí)板程序燒錄說(shuō)明詳細(xì)講解
以下是燒錄程序的主要界面。燒錄過(guò)程非常簡(jiǎn)單,操作也非常簡(jiǎn)單。圖中紅色的五個(gè)大數(shù)字就表示了整個(gè)過(guò)程。簡(jiǎn)簡(jiǎn)單單的五步就可以了(實(shí)際上只需4步)。
2018-05-27 標(biāo)簽:stc學(xué)習(xí)板 8863 0
基于STC89C52和nRF24L01的智能小車(chē)設(shè)計(jì)
基于STC89C52和nRF24L01的智能小車(chē)設(shè)計(jì)涉及到傳感器的應(yīng)用、無(wú)線數(shù)據(jù)傳輸?shù)?,整個(gè)系統(tǒng)由單片機(jī)最小控制系統(tǒng)、電源模塊、電機(jī)及驅(qū)動(dòng)、無(wú)線通信模塊...
基于STC12C5A60S2單片機(jī)的電子密碼鎖設(shè)計(jì)
以深圳宏晶公司STC12C5A60S2為主控芯片,結(jié)合數(shù)碼顯示器、鍵盤(pán)、報(bào)警系統(tǒng)等外圍電路和機(jī)器部分,通過(guò)c語(yǔ)言編寫(xiě)程序,設(shè)計(jì)了一款具有實(shí)現(xiàn)解鎖、修改...
2017-12-18 標(biāo)簽:電子密碼鎖STCSTC12C5A60S2 8399 0
基于STC12C5A60S2的汽車(chē)空調(diào)控制系統(tǒng)
摘要:主要介紹基于STC12C5A60S2單片機(jī)的汽車(chē)空調(diào)控制系統(tǒng)硬件部分和軟件部分的設(shè)計(jì),對(duì)模式功能的轉(zhuǎn)換以及實(shí)現(xiàn)控制進(jìn)行闡述,實(shí)驗(yàn)表明,該汽車(chē)空...
2017-12-17 標(biāo)簽:控制系統(tǒng)STC汽車(chē)控制 7803 0
使用詳述使用STC帶ADC的系列MCU做電容感應(yīng)觸摸按鍵的方案立即下載
類(lèi)別:單片機(jī) 2014-09-07 標(biāo)簽:單片機(jī)STC電容感應(yīng)觸摸
STC8A8K64S4A12迷你開(kāi)發(fā)板電路原理圖免費(fèi)下載立即下載
類(lèi)別:主板電路圖 2019-06-27 標(biāo)簽:原理圖開(kāi)發(fā)板STC
STC單片機(jī)軟件驅(qū)動(dòng)程序及USB-TTL使用說(shuō)明書(shū)詳細(xì)資料免費(fèi)下載立即下載
類(lèi)別:實(shí)用工具 2018-07-23 標(biāo)簽:單片機(jī)TTL驅(qū)動(dòng)程序
STC單片機(jī)程序下載失敗問(wèn)題總結(jié)以及解決方法
STC為宏晶公司推出的國(guó)產(chǎn)51單片機(jī),其優(yōu)點(diǎn)在于價(jià)格低廉,功能強(qiáng)大,使用方便,尤其是其串口ISP下載程序的方式方便了大量用戶(hù),免去了購(gòu)買(mǎi)昂貴的編程器,非...
三種不同電量計(jì)介紹與設(shè)計(jì)及示例分析(意法半導(dǎo)體的STC3100電池監(jiān)控IC)
鋰電池具有高存儲(chǔ)能量、壽命長(zhǎng)、重量輕和無(wú)記憶效應(yīng)等優(yōu)點(diǎn),已經(jīng)在現(xiàn)行便攜式設(shè)備中得到了廣泛的使用,尤其是在手機(jī)、多媒體播放器、GPS終端等消費(fèi)類(lèi)電子設(shè)備中...
STC單片機(jī)實(shí)現(xiàn)可調(diào)PWM輸出的C51程序
脈沖寬度調(diào)制(PWM),是英文“ Pulse Width Modulation” 的縮寫(xiě),簡(jiǎn)稱(chēng)脈寬調(diào)制,是利用微處理器的數(shù)字輸出來(lái)對(duì)模擬電路進(jìn)行控制的一...
探討STC單片機(jī)燒寫(xiě)時(shí)出現(xiàn)的情況
MAX232轉(zhuǎn)換板出口接三條線到STC單片機(jī)RXD,TXD和GND,單片機(jī)未通電,但這時(shí)RXD上有電,電反灌到單片機(jī)上,于是單片機(jī)就運(yùn)行了!
STC8單片機(jī)擴(kuò)展WiFi通信實(shí)現(xiàn)功能與組態(tài)王組態(tài)軟件詳細(xì)組態(tài)
STC8單片機(jī)擴(kuò)展WiFi通信模塊和組態(tài)王組態(tài)軟件實(shí)現(xiàn)Modbus TCP以太網(wǎng)通信 一、通信實(shí)現(xiàn)功能: 1、Modbus TCP Client:組態(tài)王...
STC Bearings GMBH是歐洲傳動(dòng)與控制技術(shù)發(fā)展重要成員公司之一,成立于1927年,一直致力于精密軸承、重型軸承與座、襯套、密封件等生產(chǎn)制造,...
2011-07-18 標(biāo)簽:開(kāi)發(fā)板STCSTC開(kāi)發(fā)板 4876 4
基于STC8單片機(jī)的環(huán)境監(jiān)測(cè)系統(tǒng)設(shè)計(jì)
功能介紹: 采用STC8F1K08S2單片機(jī),能夠測(cè)量甲醛、溫濕度、PM2.5。 使用0.96寸OLED顯示測(cè)量數(shù)據(jù) 具有報(bào)警功能:蜂鳴器報(bào)警和LED報(bào)...
2020-12-25 標(biāo)簽:單片機(jī)STC環(huán)境監(jiān)測(cè) 4242 0
基于STC8的NRF24L01無(wú)線發(fā)射和接收?qǐng)?bào)警電路設(shè)計(jì)原理圖
使用邏輯芯片,使線圈和電容形成震蕩(頻率35~70KHz).當(dāng)有順磁金屬靠近線圈的時(shí)候,線圈停止震蕩。單片機(jī)檢測(cè)到震蕩消失。通過(guò)NRF24L01無(wú)線2....
2020-10-10 標(biāo)簽:STC無(wú)線發(fā)射 4190 0
介紹一種全自動(dòng)STC下載電路 終于不用人工干預(yù)了
來(lái)源 | TsinghuaJoking STC單片機(jī)的程序下載使用ISP模式,下載程序通過(guò)微機(jī)上串口,或者USB轉(zhuǎn)串口,與單片機(jī)上特定的下載端口相連進(jìn)行...
型號(hào) | 描述 | 數(shù)據(jù)手冊(cè) | 參考價(jià)格 |
---|---|---|---|
STC8A4K60S2A12-28I-LQFP48 | CPU內(nèi)核:51系列;CPU最大主頻:-;程序存儲(chǔ)容量:128KB;程序存儲(chǔ)器類(lèi)型:FLASH;RAM總?cè)萘?4KB;GPIO端口數(shù)量:-; |
獲取價(jià)格
|
|
STC8A8K64D4-45I-LQFP44 | 16位MCU單片機(jī) LQFP44_10X10MM Vi=1.9V~5.5V -40℃~+85℃ |
獲取價(jià)格
|
|
STC89LE52RC-40I-LQFP44 | CPU內(nèi)核:51系列 工作電壓范圍:2V~3.6V 程序存儲(chǔ)容量:8KB 程序存儲(chǔ)器類(lèi)型:FLASH RAM總?cè)萘浚?12Byte GPIO端口數(shù)量:39 LQFP44_10X10MM |
獲取價(jià)格
|
|
STC12C5A32S2-35I | 16位MCU單片機(jī) |
獲取價(jià)格
|
|
STC8H8K64U-45I-TSSOP20 | 8位MCU單片機(jī) 8050內(nèi)核1T,1.9V~5.5V,45個(gè)I/O口,TSSOP20 |
獲取價(jià)格
|
編輯推薦廠商產(chǎn)品技術(shù)軟件/工具OS/語(yǔ)言教程專(zhuān)題
電機(jī)控制 | DSP | 氮化鎵 | 功率放大器 | ChatGPT | 自動(dòng)駕駛 | TI | 瑞薩電子 |
BLDC | PLC | 碳化硅 | 二極管 | OpenAI | 元宇宙 | 安森美 | ADI |
無(wú)刷電機(jī) | FOC | IGBT | 逆變器 | 文心一言 | 5G | 英飛凌 | 羅姆 |
直流電機(jī) | PID | MOSFET | 傳感器 | 人工智能 | 物聯(lián)網(wǎng) | NXP | 賽靈思 |
步進(jìn)電機(jī) | SPWM | 充電樁 | IPM | 機(jī)器視覺(jué) | 無(wú)人機(jī) | 三菱電機(jī) | ST |
伺服電機(jī) | SVPWM | 光伏發(fā)電 | UPS | AR | 智能電網(wǎng) | 國(guó)民技術(shù) | Microchip |
Arduino | BeagleBone | 樹(shù)莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
OrCAD | Cadence | AutoCAD | 華秋DFM | Keil | MATLAB | MPLAB | Quartus |
C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
DuerOS | Brillo | Windows11 | HarmonyOS |