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

stc12c2052單片機

發布時間:2022-10-07 03:12:22

⑴ 用c語言為單片機STC12C2052寫一段簡單的延時程序!

下面幾個是單片機的延時程序(包括asm和C程序,都是我在學單片機的過程中用到的),在單片機延時程序中應考慮所使用的晶振的頻率,在51系列的單片機中我們常用的是11.0592MHz和12.0000MHz的晶振,而在AVR單片機上常用的有8.000MHz和4.000MH的晶振所以在網上查找程序時如果涉及到精確延時則應該注意晶振的頻率是多大。
軟體延時:(asm)
晶振12MHZ,延時1秒
程序如下:
DELAY:MOV
72H,#100
LOOP3:MOV
71H,#100
LOOP1:MOV
70H,#47
LOOP0:DJNZ
70H,LOOP0
NOP
DJNZ
71H,LOOP1
MOV
70H,#46
LOOP2:DJNZ
70H,LOOP2
NOP
DJNZ
72H,LOOP3
MOV
70H,#48
LOOP4:DJNZ
70H,LOOP4
定時器延時:
晶振12MHZ,延時1s,定時器0工作方式為方式1
DELAY1:MOV
R7,#0AH
;;晶振12MHZ,延時0.5秒
AJMP
DELAY
DELAY2:MOV
R7,#14H
;;晶振12MHZ,延時1秒
DELAY:CLR
EX0
MOV
TMOD,#01H
;設置定時器的工作方式為方式1
MOV
TL0,#0B0H
;給定時器設置計數初始值
MOV
TH0,#3CH
SETB
TR0
;開啟定時器
HERE:JBC
TF0,NEXT1
SJMP
HERE
NEXT1:MOV
TL0,#0B0H
MOV
TH0,#3CH
DJNZ
R7,HERE
CLR
TR0
;定時器要軟體清零
SETB
EX0
RET
C語言延時程序:
10ms延時子程序(12MHZ)
void
delay10ms(void)
{
unsigned
char
i,j,k;
for(i=5;i>0;i--)
for(j=4;j>0;j--)
for(k=248;k>0;k--);
}
1s延時子程序(12MHZ)
void
delay1s(void)
{
unsigned
char
h,i,j,k;
for(h=5;h>0;h--)
for(i=4;i>0;i--)
for(j=116;j>0;j--)
for(k=214;k>0;k--);
}
200ms延時子程序(12MHZ)
void
delay200ms(void)
{
unsigned
char
i,j,k;
for(i=5;i>0;i--)
for(j=132;j>0;j--)
for(k=150;k>0;k--);
}
500ms延時子程序程序:
(12MHZ)
void
delay500ms(void)
{
unsigned
char
i,j,k;
for(i=15;i>0;i--)
for(j=202;j>0;j--)
for(k=81;k>0;k--);
}
下面是用了8.0000MHZ的晶振的幾個延時程序(用定時0的工作模式1):
(1)延時0.9MS
void
delay_0_9ms(void)
{
TMOD=0x01;
/*定時器0工作在模式1下(16位計數器)*/
TH0=0xfd;
TL0=0xa8;
TR0=1;
/*啟動定時器*/
while(TF0==0);
TR0=0;
}
(2)延時1MS
void
delay_1ms(void)
{
TMOD=0x01;
/*定時器0工作在模式1下(16位計數器)*/
TH0=0xfd;
TL0=0x65;
TR0=1;
/*啟動定時器*/
while(TF0==0);
TR0=0;
}
(3)延時4.5ms
void
delay_4_5ms(void)
{
TMOD=0x01;
/*定時器0工作在模式1下(16位計數器)*/
TH0=0xf4;
TL0=0x48;
TR0=1;
/*啟動定時器*/
while(TF0==0);
TR0=0;
}

⑵ 新買的STC12C2052AD單片機 P3^7口 PWM0 輸出一直為高 代碼為說明文檔裡面的代碼如下:

CCAP1H = CCAP1L = 0xff;這有問題,這一句意思是P3.5輸出的脈沖占空比是99%這樣測量就感覺一直高電平,因為只有1%的低電平只有示波器能測出來。
CCAP1H = CCAP1L = 0x80;就是50%的占空比,CCAP1H = CCAP1L = 0x00;是1%的占空比
如果還不行,你把這句刪掉試試看PCAPWM0 = 0x00;反正我沒寫這句能有波形

⑶ stc12c2052ad 單片機接收模擬毫伏信號嗎

STC12C2052AD 系列工作電壓: 5.5V - 3.5V(5V單片機)
A/D轉換, 8位精度ADC,共8路。 要ADC轉換基準電壓為5V, 5V/255=0.0196V=19.6mV
19.6mV就能轉換成1個數字量的電壓信號。接受模擬毫伏信號。

⑷ 燒錄單片機STC12C2052的問題

這個問題我已經解決,現在分享一下!主要注意以下幾個問題:

1.需要使用Keil uVision 2 版本,我之前使用的是Keil uVision 4 版本,Keil uVision 4的在編譯HEX文件時可能有問題,所以導致無效區間800--fff中有數據,使用Keil uVision 2 版本編譯的HEX文件可以順利打開。

2.編寫STC12C02052AD的程序時,在Keil中需要選擇使用STC12C02052AD晶元,但是該軟體默認狀況下沒有該晶元,那麼需要利用單片機程序下載軟體「stc-isp」,該軟體可以自動為Keil軟體添加所需的晶元,但是注意這個軟體需要用V6.6以上的版本,低版本沒有該功能,首先打開stc-isp v6.63如下圖所示:

經過上述設置後,就可以生成可以順利打開的HEX文件了!!經過我多次嘗試發現,最關鍵的問題是Keil 軟體的版本問題,我的Keil uVision 4可能不是完整版的,或是有其它問題,導致生成的HEX文件有問題,而換用Keil uVision 2完整版後問題得以解決!

⑸ stc單片機有哪些優缺點

stc單片機的優點:

1、下載燒錄程序用串口方便好用,容易上手,擁有大量的學習資料及視頻,最著名的要屬於昌暉儀表網的那個視頻了,好多對單片機有興趣的朋友都是通過這個視頻入門的,同時具有寬電壓:5.5~3.8V,2.4~3.8V, 低功耗設計:空閑模式,掉電模式(可由外部中斷喚醒)。

2、STC單片機具有在應用編程,調試起來比較方便;帶有10位AD、內部EEPROM、可在1T/機器周期下工作,速度是傳統51單片機的8~12倍,價格也較便宜。

3、4通道捕獲/比較單元,STC12C2052AD系列為2通道,也可用來再實現4個定時器或4個外部中斷,2個硬體16位定時器,兼容普通8051的定時器。4路PCA還可再實現4個定時器,具有硬體看門狗、高速SPI通信埠、全雙工非同步串列口,兼容普通8051的串口。

4、同時還具有先進的指令集結構,兼容普通8051指令集。

⑹ 請問STC12C2052單片機與我們常見的STC89系列、AT89系列、8051等有什麼區別

8051一般理解是是一個大類的名字,泛指所有51內核的單片機。
AT89系列51是指ATMEL出的51單片機,特點是AT發揮了自己在FLASH上的特長,把flash儲存器集成到單片機里(是的老51單片機內部是沒有flash儲存器的,裸核,AT89單片機也是很久以前就出了的),然後推廣的也好用的人多,其實和標準的51單片機沒有太大不同,可以認為就是標准51單片機。這些單片機都是需要把晶振頻率除以12後才是機器周期,所以慢。
STC單片機還是51的內核(或者說是架構更適合),然後外圍輔以其它設備,所以功能比51多很多,但用起來並沒有太大區別,方便初學者使用,畢竟51現在還是好多初學單片機人的入門單片機,突然放棄改學其它的也不是很方便。
STC單片機可以理解成是把傳統51單片機+AD晶元+定時晶元+復位晶元全做到一個晶元里,同時還內置RC振盪(是RC振盪電路,不是晶振),單片機的運行速度也比傳統51快了12被(晶振頻率除以12了)用起來自然比51要方便的多,

⑺ STC12C2052單片機在工作時可以寫入程序嗎

首先工作的時候,插入USB是不會燒壞元器件的
但是STC的單片機,只能在冷啟動的時候才能夠下載程序(第一次上電工作的時候)
所以工作的時候是不能燒寫程序的

⑻ 單片機高手來幫忙!STC12C2052AD怎麼把軟體燒寫進去備注,我沒有開發板

1、首先在keil上編輯好代碼,用keil 4 編譯一下,在工程文件夾中找到編譯出的HEX文件,要燒寫到單片機的文件。

⑼ 單片機對講機原理

方案一 以單片機為核心處理器的DMR對講機方案(MSP430F149+AMBE1000)
1.工作原理
發射時,由麥克送來的模擬語音經CSP1027進行A/D轉換,由聲碼器AMBE1000進行語音壓縮,交單片機MSP430F149進行協議填充組幀,送到CC1101進行調制後發射。接收時,由CC1101解調出來的碼流經MSP430F149進行幀恢復,交由聲碼器進行解壓,數據經CSP1027進行D/A轉換為模擬語音信號。
2.關鍵器件
微控制器採用TI公司的MSP430F149,它是16位超低功耗、混合信號微控制器,採用「馮·諾依曼」結構,可用JTAG(一種標准測試介面)進行模擬調試。
晶元的電源電壓為(1.8~3.6)V,在RAM數據保持方式下耗電僅0.1uA,活動模式耗電250 uA/MIPS(每秒百萬條指令數)。運算時由於本單片機採用16位RISC(精簡指令集計算機),一個時鍾周期可以執行一條指令,而傳統的單片機要12個時鍾周期才執行一條指令。工作在8MHz的晶振頻率時,指令速度可達8MIPS,而同樣這個指令速度,16位處理器比8位處理器高遠不止兩倍。
概述
聲碼器AMBE1000在國內已有產品,價格比較合理。CC1101的靈敏度為-116dBm(1.2kbps,1%數據包誤碼率,工作在433MHz時),與國內的對講機可用靈敏度-120dBm相比偏低,但符合歐盟的CE標准規定小於-107dBm.另外,射頻模塊的功率輸出僅12dBm(16mW),所以本方案僅適用短距離范圍的通信。提高靈敏度可考慮用器件ADF7021作為射頻模塊。
方案二 以DSP+MCU為核心處理器的對講機方案
1.工作原理
方案以MSP430為中心系統來完成數據的收、發控制等工作,系統採用MSP430中 USART模塊的SPI同步通信模式。在接收過程中,首先接收來自射頻晶元的FSK數據,解調後由MSP430將數據幀的同步域、尾域、ID域以及命令位元組去除後,數據發至C5402進行去壓縮處理,數據交AIC23進行D/A轉換為語音信號。在發送過程中,首先由AIC23進行A/D轉換,數據交C5402將語音壓縮,再由微控制器MSP430進行協議填充,加上頭域、尾域、ID域以及命令位元組形成數據幀,然後控制射頻模塊將數據發送。
2.關鍵器件
TMS320C5402是TI公司於1996年推出的一種定點DSP晶元,採用先進的修正哈佛結構和8匯流排結構,使處理器的性能大大提高。其獨立的程序和數據匯流排允許同時訪問程序存儲器和數據存儲器,實現高速並行操作。如,可以在一條指令中同時執行3次讀操作和1次寫操作。TMS320C5402的運行速度為40MIPS,指令周期為25ns.此外,還可以在數據匯流排與程序匯流排之間相互傳送數據。從而使處理器具有單個周期內同時執行算術運算、邏輯運算、位移操作、乘法累加運算以及訪問程序、數據存儲等強大功能。
概述
採用DSP方案時,免去選用語音晶元聲碼器的煩惱,提高了數字對講機對語音處理的能力,可讓語音編碼的演算法盡量優化,從而使對講機語音信號的處理更具通用性和擴展性。本方案是以DSP為開發平台,經過連續可變斜率增量(CVSD)調制編解碼得到語音信號的清晰度和自然度好,但軟體開發工作量大。CC1000不支持4FSK調制與解調,本方案不適用於DMR與dPMR協議。另外CC1000的接收可用靈敏度為-110dBm,國內對講機廠家可能嫌低。
方案三 以單片機為核心處理器的dPMR對講機方案(CMX618+CMX7141)
1.工作原理
發射時,麥克送來的模擬語音經CMX618內部進行增益調節,A/D轉換和壓縮處理,然後通過SPI(串列外圍設備介面)進入CMX7141基帶處理器,在微控制器LPC2138的控制和管理下經CMX7141晶元內部進行信道編碼,dPMR協議棧打包,數字濾波以及4FSK調制,調制編碼後的語音數據經CMX7141晶元的MOD1/2管腳分別輸出給外部的發射VCO和壓控溫補參考時鍾,經兩點調制輸出射頻載波給發射功放,並到天線輸出。
接收時,CMX7141對基於超外差射頻接收模塊送來的4FSK解調信號在微控制器LPC2138的控制和管理下進行4FSK解調,dPMR拆包,信道解碼,最終得到語音編碼數據,經SPI串口送給CMX618進行語音解壓縮並恢復語音信號。
2.關鍵器件
語音編解碼片CMX618是CML微電子(新加坡)私人有限公司的產品,晶元由音頻壓縮/解壓器、RALCWI編解碼器、前向糾錯編解碼器和其他特殊功能模塊幾部分組成。
RALCWI是一種魯棒的先進的復雜性波形插入技術,與其他語音編解碼技術不同,它使用獨有的信號分解和參數編碼方法,可確保在較高的壓縮率下有較好的語音質量。
在聲碼器中,採用RALCWI技術實現的語音質量與編碼速率在4kbps以上的標准聲碼器話音質量相當。
概述
本方案優點是開發時的靈活性高,模擬與數字可雙模設計,且同一個硬體開發平台能滿足不同的數字對講機標准,支持多種語音聲碼器,射頻的接收靈敏度可做得較高達到-118dBm(誤碼率為1%時)。發射功率0.5W,功率容易提升。
缺點是前期的軟體開發成本高並有一定難度,射頻模塊ATB010隻支持dPMR的EN301,166標准,不支持DMR.
方案四 以MCU+DSP的DMR對講機方案(MSP430FG4619+VC5510)
1.工作原理
發射時,由麥克送來的模擬語音經模數轉換器AD73311采樣成數字信號,AMBE2000對語音數字信號進行壓縮編碼,數字信號由VC5510進行DMR通信協議填充組成幀信號和4FSK的調頻波成形,最後由微控制器MCU進行D/A轉換,送往射頻模塊進行發射調制,實現發射。
接收時,MCU將射頻模塊送來已解調數據進行A/D轉換,經VC5510進行拆幀,交AMBE2000進行解壓,數據由AD73311數模轉換為語音信號。
微控制器MSP430FG4619是整個系統的控制中心,人機介面如鍵盤、顯示器與MCU直接連接。微控制器實現對射頻模塊的控制,包括基帶信號的發送與接收、射頻頻率點的控制、信道檢測等,MCU還負責DMR協議的高層信令控制、人機介面的互通等。
另外,請注意微控制器還要完成基帶信號的AD/DA轉換功能。
2.關鍵器件
AMBE2000TM聲碼器是美國語音公司DVSI推出的一款適應性強、高性能、單晶元的語音壓縮編解碼器。它能在低速率下提供優良的語音質量,並實現了實時的、全雙工的標准設定的AMBE語音壓縮軟體演算法。
大量的評估顯示,這款聲碼器具有在一般數據速率下提供同數字蜂窩系統一樣性能的能力。AMBE在2.4kbps速率下保持自然語音質量和清晰度,由於AMBE演算法復雜性低,所以它能夠完全集成在成本低、功耗低的晶元上。
概述
方案簡單,實用。
軟體開發中,微控制器和數字處理器的程序對DMR協議的分層必須有清晰的概念,正確的程序設計是硬體實現的保證。聲碼器的選用有較大的餘地。
方案五 以ARM+DSP的DMR對講機方案
1.工作原理
發射時,由麥克送來的話音信號由數模轉換器AD73311進行采樣,數據由聲碼器進行壓縮,OMAP5910內的DSP與ARM對壓縮的數據進行協議添加與控制,形成4FSK波形,數模轉換器AIC23將4FSK數字波形模擬化後進行射頻調制,調頻載波由天線發射。
接收時,射頻模塊對接收的模擬信號進行解調,模擬信號交AIC23進行數字化處理,OMAP5910對接收到的數據進行信道解碼和拆幀,幀信號交聲碼器進行解壓,數據由AD73311還原為模擬語音信號。
2.關鍵器件
OMAP5910是一款嵌入式雙核處理器,它集成了高性能的ARM925、TMS320C55x DSP核和已經得到的廣泛應用的各種介面與外設,具有較強的處理能力、較低的功耗和較高的信價比。ARM處理器內核用於DMR協議的處理與系統控制,DSP內核用於完成數字信號的實時處理。
OMAP5910及其設計套件具有多個目標應用市場,提供多媒體功能、改善人機界面並延長電池壽命。
概述
從技術上講,雙核處理器方案與前面介紹的DSP+MCU相比,可以降低系統體積,減少電路的復雜性,對通信協議能作較好的兼容,升級空間大。聲碼器的應用有可選國產晶元的餘地。
缺點是前期的軟體開發工作量大,ARM與DSP間的協調工作要深入研究,以免浪費處理器的資源。此外,由於OMAP的功能十分強大,該平台還可以有更多的應用,如加入視頻、娛樂等功能。
方案六
1.工作原理
發射時,麥克送來的模擬語音經WM8758B進行A/D轉換,送到SCT3252進行壓縮處理,經SCT3252進行dPMR協議處理後送到WM8758B的D/A轉換單元調製成4FSK信號,經兩點調制輸出射頻載波給發射功放,送天線輸出。
接收時,WM8758B對射頻模擬信號進行A/D轉換,送到SCT3252進行4FSK解調,dPMR拆包,信道解碼,最終得到語音編碼數據,經解碼處理後把語音數據送到WM8758B進行D/A轉換,經由外部放大電路送入喇叭還原成話音。
2.關鍵器件
SCT3252是上海士康公司生產的語音編解碼及dPMR協議棧處理晶元。具有較好的語音質量及較高的接收靈敏度(可達-126dBm)。
概述
本方案的特點是語音編解碼及dPMR協議棧都集成在SCT3252中,大大減少了控制單元MCU的工作量,另外SCT3252為LQFP100封裝,焊接方便。整個方案簡單,軟體升級的空間大。本方案可以實現數模兼容,通過開關可方便進行數字與模擬通信之間的切換。
WM8758B只起模數轉換作用,廠家認為,把它集成進SCT3252是指日可待的事。

⑽ 用STC12C2052AD的單片機進行串口通信,波特率為115200HZ,那麼怎樣設置相關寄存器 請大師指教,謝謝!

void UartInit(void) //[email protected]
{
SCON = 0x50; //8位數據,可變波特率
AUXR |= 0x40; //定時器1時鍾為Fosc,即1T
AUXR &= 0xFE; //串口1選擇定時器1為波特率發生器
TMOD &= 0x0F; //設定定時器1為16位自動重裝方式
TL1 = 0xE8; //設定定時初值
TH1 = 0xFF; //設定定時初值
ET1 = 0; //禁止定時器1中斷
TR1 = 1; //啟動定時器1
}
或者
UARTINIT: ;[email protected]
MOV SCON,#50H ;8位數據,可變波特率
ORL AUXR,#40H ;定時器1時鍾為Fosc,即1T
ANL AUXR,#0FEH ;串口1選擇定時器1為波特率發生器
ANL TMOD,#0FH ;設定定時器1為16位自動重裝方式
MOV TL1,#0E8H ;設定定時初值
MOV TH1,#0FFH ;設定定時初值
CLR ET1 ;禁止定時器1中斷
SETB TR1 ;啟動定時器1
RET

閱讀全文

與stc12c2052單片機相關的資料

熱點內容
台灣男同性戀片 瀏覽:69
安卓應用包安裝程序怎麼清除數據 瀏覽:61
催眠合集txt下載 瀏覽:323
韓國車震大尺度電影有哪些 瀏覽:335
割乳酷刑電影 瀏覽:234
怎麼給電腦app分身 瀏覽:821
資治通鑒pdf中華書局 瀏覽:187
穿越民國種馬 瀏覽:628
新搬來的新居電影 瀏覽:561
有個小說主角叫姜 瀏覽:602
重生德國一戰的小說 瀏覽:249
給點能看的網站 瀏覽:670
77電影網 瀏覽:68
在線可以觀看的網站 瀏覽:827
電梯日本電影 瀏覽:73
有部電影裡面有兩個人一個拿白色光劍 瀏覽:63
程序員如何自行車通勤 瀏覽:213
打開文件夾一直彈出新的窗口win10 瀏覽:475
外出2015孫藝珍完整板 瀏覽:409
男主角叫奧斯丁的電影 瀏覽:901