Ⅰ 浠涔堝彨鍗曠墖鏈猴紵鍗曠墖鏈轟笌涓鑸寰鍨嬭$畻鏈虹浉姣旓紝鍏鋒湁鍝浜涚壒鐐
銆銆鍗曠墖鏈烘槸鍦ㄤ竴鍧楅泦鎴愮數璺涓婃妸CPU銆佸瓨鍌ㄥ櫒銆佸畾鏃跺櫒/璁℃暟鍣ㄥ強澶氱嶅艦寮忕殑I/O鎺ュ彛闆嗘垚鍦ㄤ竴璧瘋屾瀯鎴愮殑寰鍨嬭$畻鏈恆
銆銆綆鍗曡 灝辨槸鍗曠墖鏈哄氨涓涓闆嗘垚鑺鐗囷紝澶栧姞杈呭姪鐢佃礬鏋勬垚涓涓緋葷粺銆傚井鍨嬭$畻鏈哄氨鏄鎴戜滑甯哥敤鐨勭數鑴戙
銆銆鍗曠墖鏈 緙╁啓MCU錛屽叏縐癕icro Controller Unit錛屼腑鏂囦負寰澶勭悊鍣ㄣ傚湪涓鍧楄姱鐗囦笂闆嗘垚ROM錛孯AM錛孎LASH瀛樺偍鍣錛屽栭儴鍙闇瑕佸姞鐢墊簮銆佸嶄綅銆佹椂閽熺數璺錛屽氨鍙浠ユ垚涓轟竴涓綆鍗曠殑緋葷粺銆傚洜姝ゅ崟鐗囨満鍏ラ棬瀹規槗錛屽︿範寮鍙戦兘涓嶉渶瑕佽姳璐瑰緢澶氳祫閲戣喘涔板伐鍏楓傛眹緙栨垨C寮鍙戠紪紼嬩緥瀛愬氾紝keil緙栬瘧鍣錛孲TC鍗曠墖鏈轟笅杞芥柟渚匡紝浠跨湡鍣ㄥ氫負寮婧愶紝鎵浠ュ︿範鍗曠墖鏈哄緢鍙楄彍楦熺儹鎹с 鍦ㄥ浗鍐呭緢澶氬叕鍙鎬緷鐒朵嬌鐢ㄥ崟鐗囨満寮鍙戜駭鍝侊紝鍦ㄤ綆絝浜у搧閲岄潰錛屾т環姣旈珮錛屽紑鍙戠畝鍗曟槸鏈涓昏佸師鍥狅紝鎵浠ュ︿範鍗曠墖鏈哄湪鍥藉唴榪樻槸鏈変竴瀹氱殑甯傚満鐨
銆銆寰鍨嬭$畻鏈虹畝縐扳滃井鍨嬫満鈥濄佲滃井鏈衡濓紝鐢變簬鍏跺叿澶囦漢鑴戠殑鏌愪簺鍔熻兘錛屾墍浠ヤ篃縐板叾涓衡滃井鐢佃剳鈥濄傛槸鐢卞ぇ瑙勬ā闆嗘垚鐢佃礬緇勬垚鐨勩佷綋縐杈冨皬鐨勭數瀛愯$畻鏈恆傚畠鏄浠ュ井澶勭悊鍣ㄤ負鍩虹錛岄厤浠ュ唴瀛樺偍鍣ㄥ強杈撳叆杈撳嚭(I/0)鎺ュ彛鐢佃礬鍜岀浉搴旂殑杈呭姪鐢佃礬鑰屾瀯鎴愮殑瑁告満銆傜壒鐐規槸浣撶Н灝忋佺伒媧繪уぇ銆佷環鏍間究瀹溿佷嬌鐢ㄦ柟渚褲傛妸寰鍨嬭$畻鏈洪泦鎴愬湪涓涓鑺鐗囦笂鍗蟲瀯鎴愬崟鐗囧井鍨嬭$畻鏈(Single Chip Microcomputer)銆傜敱寰鍨嬭$畻鏈洪厤浠ョ浉搴旂殑澶栧洿璁懼囷紙濡傛墦鍗版満錛夊強鍏朵粬涓撶敤鐢佃礬銆佺數婧愩侀潰鏉褲佹満鏋朵互鍙婅凍澶熺殑杞浠舵瀯鎴愮殑緋葷粺鍙鍋氬井鍨嬭$畻鏈虹郴緇(Microcomputer System)錛堝嵆閫氬父璇寸殑鐢佃剳錛夈
銆銆鍗曠墖鏈轟笌閫氱敤寰鍨嬭$畻鏈虹浉姣旓紝鍏鋒湁濡備笅鐗圭偣錛
銆銆錛1錛夊崟鐗囨満鐨勭▼搴忓瓨鍌ㄥ櫒鍜屾暟鎹瀛樺偍鍣ㄦ槸鍒嗗伐鐨勶紝鍓嶈呬負ROM錛屽悗鑰呬負RAM錛
銆銆錛2錛夐噰鐢ㄩ潰鍚戞帶鍒剁殑鎸囦護緋葷粺錛屾帶鍒跺姛鑳藉己錛 鍗曠墖鏈
銆銆錛3錛夊氭牱鍖栫殑I/O鎺ュ彛錛屽氬姛鑳界殑I/O寮曡剼錛
銆銆錛4錛変駭鍝佺郴鍒楅綈鍏錛屽姛鑳芥墿灞曟у己錛 鍗曠墖鏈
銆銆錛5錛夊姛鑳芥槸閫氱敤鐨勶紝鍍忎竴鑸寰澶勭悊鏈洪偅鏍峰彲騫挎硾鍦板簲鐢ㄥ湪鍚勪釜鏂歸潰銆
Ⅱ 單片機和微型計算機的區別有哪些
單片機是一種嵌入式系統的核心控制器,整合了微處理器、內存、輸入/輸出介面和其他外設。單片機的設計專為嵌入式系統而優化,具有低功耗、低成本、高可靠性、可定製化等特點。單片機的應用領域廣泛,包括家用電器、汽車電子、工業控制、消費電子等。
微型計算機是一種通用計算機,具有完整的計算機系統結構,包括微處理器、內存、輸入輸出介面、硬碟、操作系統等。微型計算機適用於辦公、教育、科研等領域,可以實現多種應用,如文字處理、數據處理、網路通信等。
單片機和微型計算機的區別在於功能和應用場景。單片機是專為嵌入式系統而設計,具有簡單功能和低成本,適用於實時控制和操作。而微型計算機則具有通用性和強大的功能,適用於高級應用和計算處理。
Ⅲ 什麼是單片機單片機與機器人有什麼關系
單片機是有運算能力的小型計算晶元
個人電腦運算動力遠超過單片機
機器人是由多個晶元組成的
Ⅳ 簡述單片機和微型計算機的區別
單片機和微型計算機都是嵌入式計算機,用於控制和處理嵌入式系統中的任務。它們之間的區別如下:
構成讓坦御不同:單片機是一種集成度非常高的晶元,包含了CPU、RAM、ROM、外設等電路,可以完成獨立的控制任務。而微型計算機則由CPU、RAM、ROM、外設等多個晶元組成。
應用范圍不同:單片機適合於簡單的、獨立的控制任務,如家電、汽車電子、儀器儀表等。而微型計算機適合於需要處理復雜數據、圖像坦岩、音頻等任務的嵌入式系統,如智能手機、平板電腦、智能家居等。
功耗和性能不同:由於單片機的集成度高,功耗低,且應用於簡單的任務中,因此性能和信雹功耗都比微型計算機要優秀。而微型計算機由於需要處理復雜任務,性能和功耗相對較高。
開發難度不同:由於單片機的硬體集成度高,因此開發難度相對較低。而微型計算機的硬體設計需要考慮更多的因素,因此開發難度相對較高。 『
總之,單片機和微型計算機各有優缺點,並且應用范圍和開發難度也不同,需要根據實際需求選擇適合的嵌入式計算機。
Ⅳ 怎樣用51單片機做計算器啊
1、硬體模擬圖
4、程序源代碼
#include <reg51.h>#include <intrins.h>
#include <ctype.h>
#include <stdlib.h>
#define uchar unsigned char
#define uint unsigned int
uchar operand1[9], operand2[9];
uchar operator;
void delay(uint);
uchar keyscan();
void disp(void);
void buf(uint value);
uint compute(uint va1,uint va2,uchar optor);
uchar code table[] = {0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90,0xff};
uchar dbuf[8] = {10,10,10,10,10,10,10,10};
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
uchar keyscan()
{
uchar skey;
P1 = 0xfe;
while((P1 & 0xf0) != 0xf0)
{
delay(3);
while((P1 & 0xf0) != 0xf0)
{
switch(P1)
{
case 0xee: skey = '7'; break;
case 0xde: skey = '8'; break;
case 0xbe: skey = '9'; break;
case 0x7e: skey = '/'; break;
default: skey = '#';
}
while((P1 & 0xf0) != 0xf0)
;
}
}
P1 = 0xfd;
while((P1 & 0xf0) != 0xf0)
{
delay(3);
while((P1 & 0xf0) != 0xf0)
{
switch(P1)
{
case 0xed: skey = '4'; break;
case 0xdd: skey = '5'; break;
case 0xbd: skey = '6'; break;
case 0x7d: skey = '*'; break;
default: skey = '#';
}
while((P1 & 0xf0) != 0xf0)
;
}
}
P1 = 0xfb;
while((P1 & 0xf0) != 0xf0)
{
delay(3);
while((P1 & 0xf0) != 0xf0)
{
switch(P1)
{
case 0xeb: skey = '1'; break;
case 0xdb: skey = '2'; break;
case 0xbb: skey = '3'; break;
case 0x7b: skey = '-'; break;
default: skey = '#';
}
while((P1 & 0xf0) != 0xf0)
;
}
}
P1 = 0xf7;
while((P1 & 0xf0) != 0xf0)
{
delay(3);
while((P1 & 0xf0) != 0xf0)
{
switch(P1)
{
case 0xe7: skey = '$'; break;
case 0xd7: skey = '0'; break;
case 0xb7: skey = '='; break;
case 0x77: skey = '+'; break;
default: skey = '#';
}
while((P1 & 0xf0) != 0xf0)
;
}
}
return skey;
}
void main()
{
uint value1, value2, value;
uchar ckey, cut1 = 0, cut2 = 0;
uchar operator;
uchar i, bool = 0;
init:
buf(0);
disp();
value = 0;
cut1 = cut2 = 0;
bool = 0;
for(i = 0;i < 9;i++)
{
operand1[i] = '