A. 什麼是51系列單片機 51系列單片機的意思是什麼
1、51單片機是對兼容英特爾8051指令系統的單片機的統稱。51單片機廣泛應用於家用電器、汽車、工業測控、通信設備中。因為51單片機的指令系統、內部結構相對簡單,所以國內許多高校用其進行單片機入門教學。
2、一台能夠工作的計算機要有這樣幾個部件構成:CPU(進行運算、控制)、RAM(數據存儲)、ROM(程序存儲)、輸入/輸出設備(例如:串列口、並行輸出口等)。在個人計算機上這些部件被分成若干塊晶元,安裝一個稱之為主板的印刷線路板上。
3、而在單片機中,這些部件全部被做到一塊集成電路晶元中,所以就稱為單片機(也稱微控制器MCU),而且有一些單片機中除了上述部份外,還集成了其它部份如A/D,D/A等。體積不大,一般用40腳封裝,當然功能多一些單片機也有引腳比較多的,如68引腳,功能少的只有10多個或20多個引腳,有的甚至只8隻引腳。
B. AT89C51的封裝形式
AT89C51的封裝形式:DIP40、PLCC44、TQFP44、PQFP44。
AT89C51是一種帶4K位元組FLASH存儲器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機。
管腳說明
VCC:供電電壓。
GND:接地。
P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P0口的管腳第一次寫1時,被定義為高阻輸入。
P0能夠用於外部程序數據存儲器,它可以被定義為數據/地址的低八位。在FIASH編程時,P0口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須接上拉電阻。
C. mcs 51系列單片機
1.coms工藝
2.利用編程器將用戶程序送人單片機的存儲器,檢查程序,修改程序,監視單片機的工作狀態。
3.51有5個中斷源
4.Mcs-51是8位單片機;I/O的特點有具有雙向通道,數據鎖存,輸入緩沖;P3.0和P3.1分別是串列輸入口和WR串列輸出口;作為輸入時應該注意*****。
5.Mcs-51單片機中振盪電路,片內有一個高增益反向放大器,用於構成振盪器。外接晶振,反相器的輸入端和輸出端跨接石英晶體和兩個電容就構成了穩定的自激振盪器。
6.51單片機的封裝引腳有三種類型:40腳DIP,44腳PLCC,48腳DIP,52腳PLCC,68腳PLCC。引腳定義:1--8:P0.0--0.7,9:RST/Vpd,10--17:P3.0-P3.7,18:XTAL2,19:XTAL1,20:Vss,21--28:P2.0-P2.7,29:~PSEN ,30:ALE/~PROG,31:~EA/pp,32--39:P0.7-P0.0,40:Vcc。
7.單片機片內,片外存儲器的選擇:(程序存儲器)由硬體控制信號~EA/Vpp決定,(數據存儲器)由軟體指令是MOVX還是MOV決定;
8.MCS-51的程序存儲器用於存放運算中間結果。
9.PSW是一個8位的專用寄存器,用於存程序運行中的各種狀態信息。
10.決定程序執行順序的寄存器是程序計數器PC。
11.ALE引腳的特點:(訪問外部存儲器時)信號上升沿可作16為地址低8位的所存信號,信號在兩個機器周期中出現一次;(不訪問時)向外輸出振盪頻率1/6的脈沖信號,可作其他外部介面的時鍾信號。通過該信號可以判斷 CPU是否正常工作
12.MOVC的功能:用於讀取程序存儲器表格的數據傳送
13:51的指令寄存器是對指令寄存器中的指令進行解碼,將指令轉變為執行此指令所需的電信號。
完整的指令格式:由操作碼和操作數組成
DAC0832的輸入電平與TTL電平兼容。
AD與DA的作用是:AD的作用是把模擬信號轉換成數字信號,DA的作用是把數字信號轉換成模擬信號。 0809是8位的AD轉換器及有11個模擬輸入通道,4位地址輸入選擇。17. DAC0832是電流輸出型數模轉換晶元,解析度8位,三種工作方式:直通,單緩沖,雙緩沖。
單片機的復位電路的特點:簡單而重要,上電復位靠電容充電,按鍵復位靠RC微分電路產生正脈沖和電阻與VCC電源接通。是第9引腳復位。單片機開始工作前需要復位,單片機受到干擾後程序跑飛需要復位。
單片機最小系統硬體設計圖。由復位電路、晶振電路和單片機組成,單片機~EA端一般接高。
MCS—51單片機最小系統的振盪周期,機器周期,時鍾周期的關系:12個振盪周期=1個機器周期=6個時鍾周期。
8051在存儲結構上採用哈佛結構。
串列通信中按數據流的方向分成哪三種基本的傳送方式,
8051與8031的區別是:有無ROM存儲器。
程序狀態字寄存器PSW的特點:保存指令執行結果的特徵信息。由硬體自動生成。
計算機匯流排的分類:數據匯流排,地址匯流排,控制匯流排。或片內匯流排,片外匯流排。
80C51單片機的程序存儲器最大定址范圍256B。
編程:跑馬燈程序編寫:8個發光二極體流水燈程序編寫
LED跑馬燈(從右至左)
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
void DelayMS(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<255;i++);
}
}
void main()
{
P1=0xfe;
while(1)
{ if(P1==0x7f)
P1=0xfe;
else
P1=_crol_(P1,1);
DelayMS(80);
}
}
LED跑馬燈(從左至右)
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
void DelayMS(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<255;i++);
}
}
void main()
{
P1=0x7f;
while(1)
{ if(P1==0xfe)
P1=0x7f;
else
P1=_cror_(P1,1);
DelayMS(40);
}
}
LED跑馬燈(左右循環)
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
void DelayMS(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<255;i++);
}
}
void main()
{
uchar i;
P1=0x7f;
while(1)
{
for(i=0;i<7;i++)
{P1=_cror_(P1,1);
DelayMS(40); }
for(i=0;i<7;i++)
{P1=_crol_(P1,1);
DelayMS(40); }
}
}
單個LED的閃爍
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit LED = P1^0;
void DelayMS(uint x)
{
uchar i;
while(x--)
{
for(i=120;i>0;i--);
}
}
void main()
{
while(1)
{
LED = ~LED;
DelayMS(150);
}
}
連綿燈
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
void DelayMS(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<255;i++);
}
}
void main()
{
P1=0x0e;
while(1)
{ if(P1==0xc1)
P1=0x0e;
else
P1=_crol_(P1,1);
DelayMS(80);
}
}
/* 花樣流水燈程序 間隔300ms先奇數亮再偶數亮,循環三次;一個燈上下循環三次;兩個分別從兩邊往中間流動三次;再從中間往兩邊流動三次;8個全部閃爍3次;關閉發光管,程序停止。*//*********************************************************/#include<reg52.h> //52單片機頭文件#include <intrins.h> //包含有左右循環移位子函數的庫#define uint unsigned int //宏定義#define uchar unsigned char //宏定義void delay(uint z) //延時函數,z的取值為這個函數的延時ms數,如delay(200);大約延時200ms.{ //delay(500);大約延時500ms. uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }void main() //主函數{ uchar a,i,j; for(j=0;j<3;j++) //寄偶交替 { P1=0x55; //點亮小燈 delay(300); //延時300毫秒 P1=0xaa; delay(300); //延時300毫秒 } for(j=0;j<3;j++) //流水燈 { a=0xfe; for(i=0;i<8;i++) { P1=a; //點亮小燈 delay(300); //延時300毫秒 a=_crol_(a,1); } } P1=0xff; for(j=0;j<3;j++) //從兩邊往中間流 { P1=0x7e; //點亮小燈
delay(300); //延時300毫秒 P1=0xbd; delay(300); //延時300毫秒 P1=0xdb; //點亮小燈 delay(300); //延時300毫秒 P1=0xe7; delay(300); //延時300毫秒 } P1=0xff; for(j=0;j<3;j++) //從中間往兩邊流 { P1=0xe7; //點亮小燈 delay(300); //延時300毫秒 P1=0xdb; delay(300); //延時300毫秒 P1=0xbd; //點亮小燈 delay(300); //延時300毫秒 P1=0x7e; delay(300); //延時300毫秒 } P1=0xff; for(j=0;j<6;j++) //全部閃爍 { P1=~P1; //點亮小燈 delay(300); //延時300毫秒 } P1=0xff; while(1);} a=_crol_(a,1); } } for(j=0;j<3;j++) { a=0xfa; for(i=0;i<5;i++) { P1=a; delay(300); a=_crol_(a,1); } } P1=0xff; for(j=0;j<3;j++) //從兩邊往中間流 { P1=0x7e; //點亮小燈 delay(300); //延時300毫秒 P1=0xbd; delay(300); //延時300毫秒 P1=0xdb; //點亮小燈 delay(300); //延時300毫秒 P1=0xe7; delay(300); //延時300毫秒 } P1=0xff; for(j=0;j<3;j++) //從中間往兩邊流 { P1=0xe7; //點亮小燈 delay(300); //延時300毫秒 P1=0xdb; delay(300); //延時300毫秒 P1=0xbd; //點亮小燈 delay(300); //延時300毫秒 P1=0x7e; delay(300); //延時300毫秒 } for(j=0;j<5;j++) { P1=0x66; delay(300); P1=0x99; delay(300); } P1=0xff; for(j=0;j<6;j++) //全部閃爍 { P1=~P1; //點亮小燈 delay(300); //延時300毫秒 } P1=0xff; while(1);}
D. 現在的51單片機主要的封裝形式有哪幾種
不同廠家生產的51單片機封裝形式不一樣,管腳數目也可能不同,根據需要和市場供應狀況來選取
E. 51單片機在dxp里怎麼封裝
DIP40,DIP40,
F. 在dip40封裝的51單片機晶元里復位reset引腳編號是多
第九個。雙列直插封裝(英語:alin-linepackage)也稱掘扒歲為DIP封裝或DIP包裝,reset引腳編號是第九個,簡稱為DIP或DIL,是一種集成電路判睜的封裝方此模式,集成電路的外形為長方形,在其兩側則有兩排平行的金屬引腳,稱為排針。
G. 89C51單片機的封裝是什麼
雙列直插的DIP40,貼片的:PLCC44、PQFP44
還有一種COB的封裝形式,中文成為邦定。常常看見一些電路板上有一坨圓圓的黑乎乎的東西就是,這種封裝特點是開發者把寫好的程序寄給生產單片機的廠商,他們直接在出廠前就把程序固定在裡面。然後再賣給你(當然,訂貨量至少要一千或一萬以上的才能做)。這樣能降低成本(一顆晶元才幾毛),保密性高(競爭對手想破解你的產品也沒轍,因為不知道你用的具體是什麼型號的單片機)
H. 單片機常見的封裝形式有哪些
單片機常見的封裝形式有:DIP(雙列直插式封裝)、PLCC(特殊引腳晶元封裝,要求對應插座)、QFP(四側引腳扁平封裝)、SOP(雙列小外形貼片封裝)等。
做實驗時一般選用DIP封裝的,如果選用其他封裝,用編程器編程時還要配專用的適配器。如果對系統的體積有要求,如遙控器中用的單片機,往往選用QFP和SOP封裝的。
I. mcs51 單片機 的封裝形式
at89s52,現在最常用的了
51,52都是51核的機子,就是52內存多了128b,at89系列的基本上都是51結構的。由於教科書上都是40腳的標准51結構(三匯流排),所以推薦8951,52,如果不需要那麼多i/o口,那可以使用at89s2051之類的小晶元也行,還省地方,但這些晶元就不是三匯流排結構了,管腳也比40腳少了不少。另外,at90系列的則是avr核心的機子,但管腳排部都兼容相應的at89xx的機子。
另:at89s系列的機器支持spi模式編程,直接用電腦的usb、lpt或者com口引線出來燒寫程序就行(軟體可以去atmel下),燒寫程序遠比c系列的方便。