找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6900|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機最小系統(tǒng)及外圍電路模塊設(shè)計與測試 附PCB+源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:350762 發(fā)表于 2019-4-3 21:58 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
近年來隨著計算機在社會領(lǐng)域的滲透,單片機的應(yīng)用正在不斷地走向深入,同時帶動傳統(tǒng)控制檢測日新月異更新。在實時監(jiān)測和自動控制的單片機應(yīng)用系統(tǒng)中,單片機往往是作為一個核心部件來使用,僅單片機方面知識是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對具體應(yīng)用對象特點的軟件結(jié)合,以作完善。
單片機最小系統(tǒng)是在以51單片機為基礎(chǔ)上拓展,使其能更方便地運用于測試系統(tǒng)中。本設(shè)計主要在51單片機上擴展I/O口,實現(xiàn)液晶顯示,定時等功能,并寫好一定的底層程序。

Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)

        II
1 緒論        1
1.1 單片機基礎(chǔ)知識        1
1.2 單片機的應(yīng)用領(lǐng)域        1
1.3 單片機的發(fā)展趨勢        2
2章 硬件結(jié)構(gòu)剖析        4
2.1 51單片機的內(nèi)部結(jié)構(gòu)        4
2.2 89C52單片機的引腳功能        5
3章 單片機的硬件設(shè)計        9
3.1 最小系統(tǒng)設(shè)計        9
3.2 LCD顯示電路        11
3.2.1 LCD1602 引腳功能        11
3.2.2 LCD1602顯示模塊指令集        12
3.2.3LCD12864 引腳功能        14
3.3 USB供電下載電路        15
3.3.1 USB供電電路        15
3.4單片機最小系統(tǒng)電路設(shè)計完整資料        16
4章 單片機學(xué)習(xí)板測試        19
4.1 51單片機學(xué)習(xí)板電路圖        19
4.2 流水燈(P1口)        19
4.2.1 接口圖及測試照片        19
4.2.2 測試程序(部分)        19
4.2.3 測試結(jié)論        20
4.3 數(shù)碼管(P0口)        20
4.3.1 接口圖及測試照片        20
4.2.2 測試程序(部分)        22
4.3.3 測試結(jié)論        22
4.4 液晶(P2口)        22
4.4.1 接口圖及測試照片        22
4.4.2 測試程序(1602部分)        22
4.4.3 測試結(jié)論        24
4.5 其他(P3口)        24

USB供電下載電路
3.3.1 USB供電電路  
USB供電電路如圖3-6所示:
               
圖3-6 USB供電電路
3.3.2 USB下載電路
USB供電電路如圖3-7所示:
圖3-7 USB下載電路
3.4單片機最小系統(tǒng)電路設(shè)計完整資料
3.4.1 單片機最小系統(tǒng)電路設(shè)計完整原理圖及pcb

圖3-8 單片機最小系統(tǒng)總原理圖


圖3-9 單片機最小系統(tǒng)pcb圖
圖3-10 單片機最小系統(tǒng)pcb 3D預(yù)覽圖
3.4.2單片機最小系統(tǒng)電路設(shè)計元件清單
注釋
類型
位號
封裝
型號
數(shù)量
12864

*J2
HDR2.54-LI-20P

1
51單片機座

*U1
DIP40

1
插針1*3
插針1*3
18b20, ir
HDR1X3
插針1*3
2
1N4148

4148
SOD-123
1N4148
1
30pf
Capacitor
C1, C2
C 0805_L
C
2
10uf

C3
CD C(6032)
C
1
104
Capacitor
C51, C54
C 0805_L
C
2
22PF
Capacitor
C52, C53
C 0805_L
C
2
紅色
貼片LED
D11, D12, D13, D13.2
,D14, D15, D16, D17, D18
LED 1206R
LED-SMD
9
cz4

GND, VCC
HDR2.54-LI-3P

2
LCD1602

J1
HDR2.54-M-LI-16P

1
cz2

NTC1
HDR2.54-LI-2P

1
CZ8

P0, P1, P2, P3
HDR2.54-LI-8P

4
4.7K

R1
R 0805_L
RES
1
Res

R51, RD1, RJ1, RJ2
R 0805_L
Res
4
1K

RL1, RL2, RL3, RL4,
RL5, RL6, RL7, RL8
R 0805_L
R
8
KEY

S1
TSW DIP-3*6*5
K
1
sl

SL1
HDR1X9
sl
1
CSW-1P

SW1
CSW DIP-1P_G
CSW-1P
1
TP340G

U3
SOP16N_M
TP340G
1
USB

USB1
440478
USB
1
12MHz
Crysta
Y1
OSC UM-1
XT
1
12MHz
Crysta
Y51
OSC UM-5
XT
1
M3銅柱
銅柱
z1, z2, z3, z4
M3x4+6_L
銅柱加頭焊盤
4
表3-4 單片機最小系統(tǒng)電路設(shè)計元件清單


第4章 單片機學(xué)習(xí)板的測試

4.1 51單片機學(xué)習(xí)板電路圖
圖4-1 單片機學(xué)習(xí)板最小系統(tǒng)原理圖

4.2 流水燈(P1口)
4.2.1 接口圖及測試照片
圖4-2 單片機學(xué)習(xí)板led流水燈接口圖          圖4-3 單片機學(xué)習(xí)板led流水燈測試圖
4.2.2 測試程序(部分)
  1. #include<reg52.h>  
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. void delay(uint z);
  5. void main()
  6. {
  7.               uchar  num,dat1,dat2;
  8.               delay(500);
  9.               P0=0;
  10.               while(1)
  11.               {
  12.                             dat1=0xfe;
  13.                             dat2=0x7f;
  14.                             for(num=0;num<7;num++)
  15.                             {
  16.                                           P1=dat1;                //初始化賦值
  17.                                           dat1=dat1<<1; //右移一位
  18.                                           delay(500);   //延時            
  19.                             }
  20.                             for(num=0;num<7;num++)
  21.                             {
  22.                                           P1=dat2;                //初始化賦值
  23.                                           dat2=dat2>>1; //右移一位
  24.                                           delay(500);   //延時            
  25.                             }
  26.               }
  27. }
復(fù)制代碼

4.2.3 測試結(jié)論
按照流水燈接口圖進行編程后實現(xiàn)流水燈功能。因此該學(xué)習(xí)板P1口工作正常,led正常。

4.3 數(shù)碼管(P0口)
4.3.1 接口圖及測試照片
圖4-4單片機學(xué)習(xí)板數(shù)碼管接口圖              圖4-5單片機學(xué)習(xí)板數(shù)碼管測試圖

4.3.2 測試程序(部分)
  1. #include <reg52.h>
  2. #define uchar unsigned char
  3. sbit P2_0 = P2^0;
  4. sbit P2_1 = P2^1;
  5. sbit P2_2 = P2^2;
  6. sbit P2_3 = P2^3;
  7. uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,
  8.                         0xf8,0x80,0x90};
  9. void delay(uchar i)
  10. {
  11.   uchar j,k;
  12.   for(j=i;j>0;j--)
  13.     for(k=125;k>0;k--);
  14. }
  15. void display()
  16. {
  17.    P0=table[0];
  18.    P2_0 = 0;
  19.    delay(5);
  20.    P2_0 = 1;
  21.    P0=table[1];
  22.    P2_1 = 0;
  23.    delay(5);
  24.    P2_1 = 1;
  25.    P0=table[2];
  26.    P2_2 = 0;
  27.    delay(5);
  28.    P2_2 = 1;
  29.     P0=table[3];
  30.    P2_3 = 0;
  31.    delay(5);
  32.    P2_3 = 1;

  33. }
  34. /*演示主程序*/
  35. void main(void)
  36. {
  37.     unsigned int  a;

  38. while(1)
  39. {
  40.    for(a=100;a>0;a--)
  41.    {
  42.      display();
復(fù)制代碼
4.3.3 測試結(jié)論
按照數(shù)碼管接口圖進行編程后實現(xiàn)數(shù)碼管顯示0123功能。因此該學(xué)習(xí)板P0口工作正常,數(shù)碼管正常。

4.4 液晶(P2口)
4.4.1 接口圖及測試照片

圖4-6單片機學(xué)習(xí)板液晶接口圖   圖4-7單片機學(xué)習(xí)板1602液晶測試圖   圖4-8  12864液晶測試圖
4.4.2 測試程序(1602部分)
  1. # include <reg51.h>
  2. # include <intrins.h>
  3. typedef unsigned char BYTE;
  4. typedef unsigned int WORD;
  5. typedef bit BOOL;

  6. sbit rs=P0^7;
  7. sbit rw=P0^6;
  8. sbit ep=P0^5;

  9. BYTE code dis1 []={" ***********"};
  10. BYTE code dis2 []={" ************"};

  11. void delay (int m)
  12. {
  13. unsigned char i,j;
  14. for (i=0;i<m;i++)
  15. for (j=0;j<253;j++);
  16. }

  17. BOOL lcd_bz()
  18. {
  19.   BOOL result;
  20.   rs=0;           // 讀忙信號
  21.   rw=1;
  22.   ep=1;
  23.   _nop_();
  24.   _nop_();
  25.   _nop_();
  26.   _nop_();
  27.   result = (BOOL)(P2&0x80);
  28.   ep=0;
  29.   result ;
  30. }

  31. void lcd_pos (BYTE pos)
  32. {
  33.   lcd_wcmd (pos|0x80);
  34. }
  35. main ()
  36. {
  37.   BYTE i;
  38.   lcd_init ();
  39.   delay (10);

  40.   lcd_pos (0);
  41.   i=0;
  42.   while (dis1 [i]!='\0')
  43.    {
  44.      lcd_wdat (dis1 [i]);
  45.      i++;            
  46.    }

  47.    lcd_pos (0x41);
  48.   i=0;
  49.   while (dis2 [i]!='\0')
  50.    {
  51.      lcd_wdat (dis2 [i]);
  52.      i++;            
  53.    }
  54.    while (1);
  55. }
復(fù)制代碼


測試結(jié)論
按照兩塊液晶屏接口圖進行編程后實現(xiàn)液晶屏基本顯示功能。因此該學(xué)習(xí)板的P2口與液晶屏數(shù)據(jù)傳輸正常,接口電路及液晶屏正常。

4.5 其他(P3口)
由于P3端口作為按鍵,傳感器等輸入端口不便于測試,因此我們采用杜邦線加led對端口進行逐個測試,經(jīng)過測試結(jié)論為P3口輸出正常。
全部資料51hei下載地址(pcb+文檔):
51自制.rar (13.08 MB, 下載次數(shù): 15)
單片機最小系統(tǒng)設(shè)計與實現(xiàn).doc (10.9 MB, 下載次數(shù): 14)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表