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

單片機rt

發布時間:2022-08-19 12:13:55

A. 什麼是單片機的最小系統

單片機的最小系統是指單片機、晶振電路、復位電路。

單片機不是完成某一個邏輯功能的晶元,單片機把一個計算機系統集成到一個晶元上。相當於一個微型的計算機,和計算機相比,單片機只缺少了I/O設備。

概括地講:一塊晶元就成了一台計算機。它的體積小、質量輕、價格便宜、為學習、應用和開發提供了便利條件。同時,學習使用單片機是了解計算機原理與結構的最佳選擇。

(1)單片機rt擴展閱讀:

單片機技術在節能控制中的應用主要分為以下幾個方面:智能電子設備在外出狀態下,大部分是處於輕負載的模式,這時候就需要通過節能控制,確保其基礎功能的前提下,進一步降低電量的消耗。

單片機通過對智能電子設備中數據的收集,可以大致推斷當前設備處於較低的負載,這時可以降低電壓及電流的輸出,達到節能的目的。

單片機可以控制能耗的節奏,例如:在小米手環中,睡眠和運動步數等數字,這些數字收集後會在本地進行存儲,然後以分鍾級的頻率進行上報。

B. 單片機串口 把單片機程序設置為接收到1時亮燈,燈不亮,為什麼把程序改成 接收到 '1' 就可以亮了

首先需要說明一點

你在電腦端利用串口助手發送的 1,是以字元形式發送的,並不是純數字

然而單片機中,接收的只能是字元或十六進制數,所以一般的串口助手上

同樣只能選擇字元或十六進制數,所以不能直接發送數值型數據

如果你想發送數字,那麼就要在單片機中進行格式轉換,或直接使用十六進制數表示

單片機中字元的表達方式就是用兩個單引號括起來 ' '

所以你的語句 if(myKEY == '1') 是可以成立的,但其表達的數值則是 31

你把數值31賦值給埠,就相當於把大於0的數值賦給埠,單片機中大於0的數值都屬於 1

所以你的整個程序時成立的

另外你的串口接收中斷函數中,寫的有些麻煩,可以簡化成下面這樣

void int_int0(void) interrupt 4 //串口中斷程序
{
myKEY = SBUF; //接收電腦發送過來的鍵盤值
while(!RI); //等待接收完成,最好是加入這個命令,以免出錯
RI = 0; //不用特意去判斷 RI,這是中斷,只有數據來的時候才會進入此函數
}

C. 單片機目前性能最強的是哪個型號

性能 較強的是STM32F4 XX和 STM32F7 XX系列,當然該公司還有更強的,如A系列,不過主要用於智能手機,應該劃分為移動處理器系列

D. 用單片機實現語音轉文字

有點異想天開了,姑且不說復雜的語音識別問題,就說說你的數碼管顯示漢字吧。。。。
說正經的,語音識別硬體層面識別的話,LD3320語音識別模塊,識別原理是拼音匹配,同音字那麼多,不好做。 另外一個方案就是安卓APP的語音識別,識別成功後通過無線發送給單片機顯示,這個方案比第一個准確率要高。我們都能做出來。

E. 單片機採集電路中為什麼用運放

1、單片機能檢測的數字信號是高或低電平,有些輸入信號很小,所以需要放大,一邊單片機識別。
2、單片機採集模擬信號時,大多滿程AD采樣量程是0-5V,要採集小信號,為了提高解析度,就必須對信號進行放大再供給AD轉換器。

F. 如何用單片機控制一個以9.6V為電源的電路的通斷

用單片機的IO接光藕,由光藕驅動繼電器,通過繼電器開關的通斷來控制9.6V電源的通斷。不知道你的9.6V的電路功率有多大,如果功率小的話,繼電器可選線圈工作電壓5V,觸點容量1A的小型繼電器,圖中對應的器件為光藕TLP621-2,繼電器G5V-1(OMRON);如果9.5V電路功率較大,則光藕可選達林頓光藕,繼電器要選功率大一點的繼電器。圖中單片機為89C52,你也可選擇其他任意一款單片機。

G. 51單片機如何檢測高電平輸入

把引腳設置為輸入狀態,輸出一個1就行。這是單片機的設計者、生產廠家所規定的。
在這個前提下,外界,只有輸入低電平,才會改變引腳的狀態;輸入高電平,是沒有反應的。如果,外設一定要送來高電平,那就必須加上一個反相器,再連接到單片機的引腳即可。

H. 一般說1T 4T 6T 12T的單片機是指的什麼

1T、4T、6T、12T應該是指每個指令周期所需要的機器周期數。
以經典51平台為例,以振盪輸入端每12個周期作為一個指令周期。
選購單片機時,應以是否熟悉、是否會用為絕對優先。當然如果是純學習,則不妨選擇一款使用較廣泛、較具有代表性的單片機作為上手的初戀^_^
單片機的晶振不能亂選,應根據其手冊確定所能達到的頻率上限、任務所實際需求的執行速度、功耗的要求、電磁兼容性能的要求來綜合選擇。另外某些特殊應用也對晶振頻率有一定要求,例如51進行UART通信時為了得到較精確的波特率,一般選用11.0592MHz晶體。

I. 什麼是單片機的最小系統RT

1、 感測器選擇 常用的溫度檢測元件主要有熱電偶、熱電阻、熱敏電阻等。熱電偶主要是利用兩種不同金屬的熱電效應,產生接觸電勢隨溫度變化而變化,從而達到測溫的目的。測量准確,價格適中測溫范圍寬,線性度較好。但其輸出電壓受冷端溫度影響,需要進行冷端溫度補償,使電路變得復雜,在本題中並非最佳方案。 熱敏電阻由金屬氧化物或半導體材料製成,靈敏度高、熱惰性小、壽命長、價格便宜。但其測量的穩定性和復現性差,測量精度無法滿足本題發揮部分0.2℃的要求。而且線性度差,需要進行查表線性擬合,大大浪費控制器的資源,因此不能選用。 熱電阻是利用金屬的電阻率隨溫度變化而變化的特性,將溫度量轉化成電阻量。其優點是准確度高,穩定性高,性能可靠,熱慣性小、復現性好,價格適中。但電阻值與溫度是非線性關系,Pt100熱電阻,當0℃<t<850℃時可用下式表示: 其中A=3.9083╳10-3 /℃;B=-5.775╳10-7 /℃;由此可見,溫度越高非線性誤差越大,本題目要求溫控范圍是40℃~90℃,溫度較低。經計算當溫度為90℃時,非線性誤差為0.34%,運用最小二乘法適當的進行零點和增益的調整,還可使此誤差降低一倍,而本題要求精度為,0.2/90=0.22%,因此在本題中可以選用Pt100熱電阻,並可近似將其電阻值與溫度看作線性關系。 2、 放大電路 熱電阻所測得的是電阻量,需要轉化為電壓量才能被控制器採集。最基本的電阻-電壓轉換電路是將其與另一固定電阻串聯,但這種方法,當溫度為量程下限時輸出不為零,這樣不利於小信號的放大和提高A/D轉換的精度。因此,本作品採用橋路測量,電路如圖2所示: 其中R1R2為10kΩ固定電阻,Rt為熱電阻,Rw2為調零電阻,由於 ,因此上下兩支路電流相等,並保持恆定不變,輸出電壓 ,可調整Rt0=Rw2,使得 由於在橋路中R1很大,使得輸出量uo變化很小,當Rt從0到100℃變化時,輸出僅有十幾毫伏,因此還需要進行小信號放大。本作品所用低頻增益可調放大電路如圖3: 其中Rw1為增益電阻,用於調整測量滿量程,運放採用低雜訊NE5532,令R1=R2,R3=R4,R5=R6,則該放大電路總增益為 ,當Rw1從0到50kΩ變化時,Av的變化范圍為150至+∞,滿足所需增益要求。 3、 A/D轉換 題目所要求測量度精度為0.2℃,測溫的范圍應該為室溫到要求的最高溫度,即20~90℃,這就決定了A/D轉換的最低解析度不低於0.2/(90-20)=1/350,而普通八位A/D轉換晶元只能達到1/256,不能滿足要求。而如果選用更高位的晶元,將大大增加成本。溫度是一種變化時間常數較大的物理量,對A/D轉換速度要求不高,因此,在設計中選用了壓控振盪器,先將電壓信號轉化為頻率量,再通過控制器的計數功能轉化為數字信號,這樣可以大大提高精度,節約成本。 壓控振盪器如圖4所示: 電容器C1充電周期為 ,放電周期為 ,由於 所以 ,所以其振盪頻率可近似看作與輸入電壓Ui成正比。但當頻率較高時,仍有較大(約為5%)非線性誤差,不能滿足題目要求。因此,在作品中利用FPGA的優點,該測頻率為測正脈沖寬度,再通過單片機求倒數,這樣即可完全消除非線性誤差。 4、 控制器 對水溫的反饋偏差控制,就必然用到經典控制理論中的PID(Proportional Integral and Derivative比例積分微分)控制,控制器可有多種選擇,如模擬電路、單片機、邏輯器件等。 模擬電路控制可對偏差變化進行連續的控制,技術成熟,性能較穩定。但其缺點是不便於顯示,調整PID參數需更換元器件,易受到外界干擾等,在現在這個數字化高度發展的時代已趨於淘汰。 單片機作為微型計算機的一個分支,已有二十多年的發展,在各控制領域都有廣泛的應用。而近年以FPGA(現場可編程門陣列)為代表的可編程邏輯器件異軍突起,其優異的性能大大彌補了單片機響應速度慢、中斷源少的缺點。但FPGA的運算能力有限,因此,在我們的設計中採用FPGA與單片機相結合的控制方式,二者優勢互補,性能大大提高。 在本作品中,FPGA主要負責接收壓控振盪器的信號,通過測量其正脈寬而獲得電壓量;單片機接收FPGA發送的數據,進行顯示、PID運算,和輸出。 5、 輸出驅動電路 控制器將其PID運算的結果轉化為不同占空比的脈沖信號輸出,該信號作用於執行機構還需要經過驅動電路。 本作品中採用交流調功電路,即將負載與交流電源接通幾個周波,再斷開幾個周波,通過改變開通與斷開周波的比值來調節負載所消耗的平均功率。具體實現電路如圖5。 將220V/50Hz的市電,經電阻分壓到5V以下,輸入運放的同相輸入端,運放作為過零比較器,當市電過零時,產生跳變,運放輸出送到D觸發器的時鍾端,D觸發器的輸入接單片機輸出的脈沖信號,輸出接雙向晶閘管的門極。這樣,只有當交流電過零時,單片機的輸出信號才對晶閘管產生作用,也就是說,只有當交流電過零時,晶閘管才能開通或關斷。這樣可以大大減小開通關斷過程中對晶閘管的沖擊,減少開通關斷損耗。 二、 控制器軟體設計 1、 FPGA程序設計 在本作品中,FPGA的主要功能是測量壓控振盪器輸出高脈寬的時間。由於壓控振盪器的頻率較低(<10kHz),因此在測量中採用的方法是,提取一個高脈寬,在這個高脈寬內對標准頻率(50MHz)計數,計數的值即與脈寬成正比。 2、 單片機程序設計 單片機在本作品中起主要的作用,其功能主要是接收FPGA的數據、運算、顯示和輸出控制脈沖。以上幾部分在一個周期內順序執行,如圖6所示,一個周期的時間約為0.1秒,即為一個采樣周期。對於水溫這一時間常數較大的系統,0.1秒的采樣周期足夠。 由於精度的要求,FPGA發送的數據位數較高,需要多次傳送,每次傳8位,共傳8次,放入緩沖區中。然後根據脈寬--電壓--溫度三者的對應關系,計算出當前溫度。盡管測量的非線性誤差很小,但仍會對精度產生一定影響,因此在實驗中,取若干脈寬與溫度對應實驗數據,利用最小二乘法進行一元線性回歸,如圖7所示,將原來a直線,變為b直線,這樣可以在很大程度上減小非線性誤差。 顯示部分,採用7位七段LED數碼管顯示,可以顯示給定值和當前實際值,因考慮人眼的視覺暫留的影響,數碼管每5個采樣周期,即0.5秒刷新一次。 本作品的PID運算採用了當前計算機控制常用的增量PID演算法。具體做法如下: 采樣PID控制的基本公式為 ,其中Kp未必例系數,Ti為積分時間,Td為微分時間,T為采樣時間。因計算中需要累加求和,不便於單片機的計算。因此算其增量式 ,其中 。軟體進行PID運算後判斷如果Δu>0,則輸出脈沖的占空比增加1%,反之減小1% 為了確定PID參數,根據容器加熱、傳熱的公式,列出加熱容器的微分方程,經拉氏變換後得到一個一階滯後環節,其傳遞函數約為 ,對整個控制迴路用Matlab中的Simulink工具箱進行方針,其框圖如圖8 圖中step為輸入階躍給定信號,step1為干擾量,A中存儲輸出占空比,scope顯示輸出波形(圖9a),scope1顯示占空比值(圖9b)。 圖9a 圖9b 當t=10時刻,給定值輸入階躍量,t=100時刻,輸入干擾階躍量。由此可見,本系統可以以較小的超調和較短的調節時間達到穩定狀態,並對於干擾有較好的控製作用。

J. 51單片機串口通信程序 工作方式為方式2


/*************** writer:shopping.w ******************/
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar Receive_Buffer[101];
uchar Buf_Index = 0;
uchar code DSY_CODE[]=
{
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00
};

void Delay(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<120;i++);
}
}

void main()
{
uchar i;
P0 = 0x00;
Receive_Buffer[0]=i;
SCON = 0x50;
TMOD = 0x20;
PCON = 0x00;
TH1 = 0xfd;
TL1 = 0xfd;
EA = 1;
EX0 = 1;
IT0 = 1;
ES = 1;
IP = 0x01;
TR1 = 1;
while(1)
{
for(i=0;i<100;i++)
{
if(Receive_Buffer[i]==-1)
break;
P0 = DSY_CODE[Receive_Buffer[i]];
Delay(200);
}
Delay(200);
}
}

void Serial_INT() interrupt 4
{
uchar c;
if(RI==0)
return;
ES = 0;
RI = 0;
c = SBUF;
if(c>='0' && c<='9')
{
Receive_Buffer[Buf_Index]=c-'0';
Receive_Buffer[Buf_Index+1]=-1;
Buf_Index = (Buf_Index+1)%100;
}
ES = 1;
}

void EX_INT0() interrupt 0
{
uchar *s = ("Receiving From 8051... ");
uchar i = 0;
while(s[i]!='')
{
SBUF = s[i];
while(TI == 0);
TI = 0;
i++;
}
}

閱讀全文

與單片機rt相關的資料

熱點內容
安卓國服什麼時候回歸全部先祖 瀏覽:497
實現程序員目標的行動計劃 瀏覽:976
編譯輸入一之七之間的數字 瀏覽:263
有什麼學習微積分的app 瀏覽:937
什麼是工廠模式java 瀏覽:718
方舟怎麼加入其他玩家伺服器 瀏覽:256
sql刪除資料庫命令 瀏覽:406
cmd命令混淆淺析 瀏覽:503
idpdf空白 瀏覽:475
如何才算一個真正的程序員 瀏覽:205
單片機控制系統介紹 瀏覽:123
steam上哪個文件夾可以看dlc 瀏覽:325
我的世界伺服器領地如何擴建 瀏覽:127
matlabmex未找到編譯器 瀏覽:431
什麼是銀鎖加密 瀏覽:217
安卓手機怎麼設置窗口小 瀏覽:992
鋼鐵俠加密優盤 瀏覽:219
linux用戶不能登錄 瀏覽:79
元龍雲伺服器 瀏覽:734
安全中心打開應用加密怎樣關閉 瀏覽:634