欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 17938|回復: 6
收起左側

單片機數字頻率計設計和調試 課程設計論文

[復制鏈接]
ID:161768 發表于 2017-2-11 03:34 | 顯示全部樓層 |閱讀模式


本課設論文對應的所有設計資料下載(包含仿真工程文件 源碼等):
http://www.raoushi.com/bbs/dpj-77186-1.html

摘要

數字頻率計是一種基本的測量儀器。它被廣泛應用于航天、電子、測控等領域,還被應用在計算機及各種數學儀表中。一般采用的是十進制數字,顯示被測信號頻率。基本功能是測量正弦信號,方波信號以及其他各種單位時間內變壞的物理量。由于其使用十進制數顯示,測量迅速精確,顯示直觀,所以經常被用來使用。
本文主要介紹數字頻率計的設計和調試,本作品是基于52單片機作為平臺,基本原理是通過52單片機進行頻率的采集和分析工作,在通過程序使其顯示在LCD1602的液晶顯示屏上,通過液晶顯示屏,讓使用者能夠直觀的看到當前的輸入頻率是多少。
由于52單片機能處理的頻率信號強度有限,所以這次我們先用74HC390芯片對輸入的信號進行了分頻,使其降低了100倍,才送去給單片機處理,而且為了使1602液晶顯示屏能更好的兼容,在程序上我們做了三次初始化,這些都將在下面為大家一一展示。

引言
在電子測量領域中,頻率測量的精確度是最高的,可達10至10 1.001.jpg 數量級。因此,在生產過程中許多物理量,例如溫度、壓力、流量、液位、PH值、振動、位移、速度、加速度,乃至各種氣體的百分比成分等均用傳感器轉換成信號頻率,然后用數字頻率計來測量,以提高精確度。
國際上數字頻率計的分類很多。按功能分類,因計數式頻率計的測量功能很多,用途很廣。所以根據儀器具有的功能,電子計數器有通用和專用之分。一、通用型計數器:通用型計數器是一種具有多種測量功能、多種用途的萬能計數器。它可測量頻率、周期、多周期平均值、時間間隔、累加計數、計時等;若配上相應插件,就可測相位、電壓、電流、功率、電阻等電量;配上適當的傳感器,還可進行長度、重量、壓力、溫度、速度等非電量的測量。二、專用計數器:專用計數器指專門用來測量某種單一功能的計數器。如頻率計數器,只能專門用來測量高頻和微波頻率;時間計數器,是以測量時間為基礎的計數器,其測時分辨力和準確度很高,可達ns數量級;特種計數器,它具有特種功能,如可逆計數器、閾值計數器、差值計數器、倒數計數器等,用于工業和自控技術等方面。數字頻率計按頻段分類:①低速計數器:最高計數頻率<10MHz;②中速計數器:最高計數頻率10—100MHz;③高速計數器:最高計數頻率>100MHz;④微波頻率計數器:測頻范圍1—80GHz或更高。
    由于大規模和超大規模數字集成電路技術、數據通信技術與單片機技術的結合,數字頻率計發展進入了智能化和微型化的新階段。其功能進一步擴大,除了測量頻率、頻率比、周期、時間、相位、相位差等基本功能外,還具有自撿、自校、自診斷、數理統計、計算方均根值、數據存儲和數據通信等功能。可見,頻率計是很有工業價值的。本作品即為一個基于單片機的數字頻率計,它通過74HC390芯片進行分頻,克服了單片機難以處理高頻信號的困難,并使用LCD1602液晶顯示進行輸出,精確度為20萬分之一。

1  電路功能、硬件與原理
此次智能電子設計與制作實訓本小組的題目為“數字頻率計的設計”,在仔細研究了題目要求并通過小組內部積極細致的討論之后,決定作品采用的功能方案如下:①能測出正弦波、三角波或方波等波形的頻率。②頻率的測量范圍為1Hz—20MHz,且能檢測幅度最小值為1Vpp的信號;③通過LCD1602液晶顯示屏顯示檢測到的即時頻率數值(最多8位數,單位為Hz)。值得一提的是,當輸入頻率大于20KHz的信號時,由于采用了100分頻采樣,顯示結果稍有誤差,如輸入最大測量頻率20MHz的信號時,LCD1602液晶顯示屏上顯示的測量結果為19998900HZ,誤差不超過十萬分之一,在可接受范圍之內。
以下將以待測輸入信號走向為順序介紹電路中各個功能模塊。
1.1電路主要模塊
1.1.1信號采集模塊
1.002.jpg


                                                                        圖1.1 基于三極管共射放大電路的信號采集模塊
為了有效防止因信號過小而造成的檢測障礙,在信號輸入處采用了三極管共射放大電路,如圖1.1所示。實際工作中,我們必須解決放大電路與信號源及放大電路與負載之間的耦合問題。一方面要求耦合電路能夠傳輸交流的輸入和輸出信號,傳輸過程中的信號損耗盡可能小;另一方面又要求信號源,放大電路、負載之間的直流工作狀態互補影響,即有“隔直”作用,電路的C1、C7就很好的解決了這個問題即固定偏置共射極放大器。集電極電壓通過基極偏置電阻R2使晶體管Je正偏;同時拖過R3使Jc反偏,從而實現信號源放大。
1.1.2脈沖產生模塊
1.003.jpg 1.004.jpg


圖1.2 74HC14管腳圖和功能圖
脈沖產生模塊采用74HC14實現了三次施密特觸發并反相,從圖1.2可以看出,來自信號采集模塊的經過放大的信號從74HC14的1腳進入,經過1A→1Y、2A→2Y和3A→3Y三次施密特觸發并反相最終將緩慢變化的輸入信號轉換成清晰、無抖動的信號從6腳輸出。
具體到每一個施密特觸發反相器來說,其轉移特性和輸入輸出波形關系如圖1.3所示。
1.005.jpg


圖1.3 74HC14單個施密特觸發器轉移特性和輸入輸出波形
通過Proteus,可以同時觀察到有信號輸入時74HC14的1腳、2腳、4腳和6腳上的波形仿真。


1.006.jpg 1.007.jpg


圖1.4 輸入信號通過74HC14轉換為脈沖
1.1.3分頻模塊
1.008.jpg


             圖1.5 基于雙4位十進制波紋計數器74HC390的分頻模塊
    74HC390具有有八個主從觸發器和附加門以構成兩個獨立的4位計數器,其中每個計數器皆包含兩個部分:“除2計數部分”和“除5計數部分”,每個計數器又有一個清除輸入和一個時鐘輸入。它可以實現等于2 分頻、5 分頻乃至100 分頻的任何累加倍數的周期長度,且可以連成十進制計數器或二-五進制計數器以分別實現兩種進制的數值輸出。由于每個計數級都有并行輸出,所以系統定時信號可以獲得輸入計數頻率的任何因子。
74HC390具有以下特點:
①A和B觸發器都有獨立的時鐘
②每個計數器都有直接清除
③有效提高系統密度
④緩沖輸出減小集電極轉換的可能性
1.009.jpg


圖1.6 74HC390單個計數器功能圖
從74HC390的單個計數器功能圖中可以看出,若從nCP0輸入頻率為f的時鐘信號,則會在nQ0得到頻率為f/2的信號;若從nCP1輸入時鐘信號,則會在nQ1、nQ2、nQ3得到按表1變化的組合信號。
1.010.jpg


表1 時鐘信號從nCP1輸入時Q2:Q1:Q0真值表
由此展開設想:由于單片機可操作頻率有限,若輸入信號頻率過大則單片機無法成功實現脈沖計數,因此需要使用74HC390進行分頻,以100分頻為宜(具體為200KHz以上信號采取100分頻后再檢測,200KHz或以下信號則檢測未經100分頻的原始信號)。采取的方法為:從表1中可以看出,若從nCP1輸入頻率為f的時鐘信號,則會在nQ2處輸出頻率為f/5的脈沖信號,因此可進行如圖1.5所示的連線方法,1CP1--1Q2→2CP1--2Q2→1CP0--1Q0→2CP0--2Q0,其中“→”代表芯片外部電氣連接,“--”代表芯片內部功能連接,從而得到5×5×2×2=100分頻,即若從1CP1輸入一個頻率為f的信號,則會從2Q0輸出一個頻率為f/100的分頻信號。
1.011.jpg 1.1.4主芯片


圖1.7 主芯片89S52
    對于89S52單片機的功能作用本文無需贅言,在此只說明與本作品有關的部分:未經100分頻的待測信號接入單片機的定時/計數器0(P3.4),100分頻后的待測信號接入單片機的定時/計數器1(P3.5),單片機的P1.0、P1.1、P1.2分別接1602LCD液晶顯示模塊的片選控制、讀寫控制和使能控制,而P0.0-P0.7則控制1602芯片的數據引腳D0-D7。另外值得一提的是,此為52單片機,其定時器2具有16位自動重裝載中斷功能,即為“interrupt 5”中斷方式。


1.1.5液晶顯示輸出模塊
1.012.jpg


圖1.8 1602液晶實物圖


1.013.jpg


1.014.jpg


圖1.9 1602液晶引腳排列和引腳功能說明
限于篇幅,本文針對1602液晶顯示芯片的功能描述僅限于與本作品相關部分。
首先說明1602液晶顯示芯片在本作品上需完成的功能:①沒有信號輸入時液晶顯示“fre= Hz”②有信號輸入時液晶顯示單片機RAM中的全局變量“fre”的即時數值(最多顯示8位,不顯示無效的“0”,如若fre=123,則液晶顯示“fre=123Hz”)。
以下將結合具體程序來描述1602液晶顯示模塊在本作品中實現的功能:
①程序頭文件
unsigned long int fre;
unsigned char time;
unsigned int count;
unsigned int count1;
sbit   LCD_RS=P1^0;                //片選信號
sbit   LCD_RW=P1^1;                //讀寫信號
sbit   LCD_E=P1^2;                 //使能信號
#define LCD_DB     P0              //數據信號
unsigned char character[10]={0};//在屏幕上顯示的字符串
unsigned char character_1[]={"fre= Hz"};
unsigned char FLAG = 0;
void LCD_init(void);//初始化函數
void LCD_write_command(unsigned char command);//寫指令函數
void LCD_write_data(unsigned char dat);//寫數據函數
void LCD_disp_char(unsigned char x,unsigned char y,unsigned char dat);//在某個屏幕位置上顯示一個字符,X(0-15),y(1-2)
void delay_n40us(unsigned int n);//延時函數
void timer_init();            //中斷初始化函數

②函數設定
void LCD_write_command(unsigned char dat)  //寫命令函數
{
              LCD_DB=dat;
              LCD_RS=0;//指令            
              LCD_RW=0;//寫入            
              LCD_E=1; //使能              
              LCD_E=0;
              delay_n40us(1);//寫命令延時  
}            

void LCD_write_data(unsigned char dat)                //寫數據函數
{
              LCD_DB=dat;
              LCD_RS=1;//數據               
              LCD_RW=0;//寫入               
              LCD_E=1;//使能
              LCD_E=0;
              delay_n40us(1);              //寫數據延時
}
1602芯片的4號引腳為RS(數據/命令選擇端,1數據寄存器,0指令寄存器),5號引腳為RW(讀寫選擇端,1讀,0寫),6號引腳為EN(使能端,1允許讀寫,0禁止讀寫),因此調用LCD_write_command函數時,變量dat將作為指令信號輸入而控制1602芯片,調用LCD_write_data函數時,變量dat將作為數據信號輸入1602芯片。

void LCD_init(void)              //液晶初始化函數
{
              LCD_write_command(0x38);//設置8位格式,2行,5x7
              LCD_write_command(0x38);//設置8位格式,2行,5x7
              LCD_write_command(0x38);//設置8位格式,2行,5x7
              LCD_write_command(0x0c);//整體顯示,關光標,不閃爍
              LCD_write_command(0x06);//設定輸入方式,增量不移位
              LCD_write_command(0x01);//清除屏幕顯示               
              delay_n40us(100);//清屏延時
}
首先需要說明的是,執行三次LCD_write_command(0x38)的目的是讓所有1602芯片都兼容。
進行功能設定時,指令格式如下:001 DL N F 00;DL=1時,數據長度為8位,DL=0時,數據長度為4位;N=1時顯示雙列字,N=0時顯示單列字;F=1時顯示5×10字形,F=0時顯示5×7字形。本作品中采用8位數據格式,2行顯示,5x7字符顯示,故執行0011 1000B(0x38)指令。
進行顯示器開關設定時,指令格式如下:0000 1DCB;D=1時,整體顯示;C=1時,開啟光標;B=1時,光標所在位置光標閃爍。本作品中采用關閉顯示,關光標,不閃爍,故執行0000 1100B(0x0c)指令。
進行進入模式設定時,指令格式如下:0000 01 I/D S;I/D=1時,遞增, I/D=0時,遞減;S=1時,開啟顯示屏且整個屏移動;S=0時,屏幕不移動。本作品中采用增量不移位,故執行0000 0110B(0x06)指令。
清屏指令為0000 0001B(0x01)。

void LCD_disp_char(unsigned char x,unsigned char y,unsigned char dat)//顯示一個字符
{
              unsigned char address;
              if(y==1)
                       address=0x80+x;              //顯示在第一排的時候的x的地址
              else
                       address=0xc0+x;              //顯示在第二排的時候的x的地址
              LCD_write_command(address);              //輸入地址
              LCD_write_data(dat);                            //輸入數據
}
void LCD_disp_num(unsigned char x,unsigned char y,unsigned char dat)//顯示一個數字
{
              unsigned char address;
              if(y==1)
                       address=0x80+x;              //顯示在第一排的時候的x的地址
              else
                       address=0xc0+x;              //顯示在第二排的時候的x的地址
              LCD_write_command(address);              //輸入地址
              LCD_write_data(dat+48);                            //輸入數據
}
1.015.jpg


表2 1602液晶顯示地址(16列×02行)
    根據表2可以了解到1602液晶第一行第一列顯示位的地址為0x80,第二行第一列顯示位的地址為0xC0,因此LCD_disp_char和LCD_disp_num中的參數y為1時輸入的字符或數字將顯示在第一行,參數y為0時輸入的字符或數字將顯示在第二行,出現在哪一列則由參數x決定。


1.016.jpg


圖1.10 1602液晶標準字符庫
    如圖1.10所示,1602液晶可顯示的每一個字符都有一個唯一的代碼,其中“A”處于0100 0001B(十進制65)位置,“a”處于0110 0001B(十進制97)位置,“0”處于0011 0000B(十進制48)位置,我們知道“A”、“a”和 “0”的ASCII碼分別為65、97和48,因此只要在參數dat處直接輸入字母或數字的ASCII碼即可,字母的ASCII碼即為字母本身,數字的ASCII碼則為48+數字。
void dis_num(void)
{
              unsigned char i=0,j=0,k=0;
              LCD_write_command(0x01);//清除屏幕顯示

              character[0] = fre/10000000;
              character[1] = fre/1000000%10;
              character[2] = fre/100000%10;
              character[3] = fre/10000%10;
              character[4] = fre/1000%10;
              character[5] = fre/100%10;
              character[6] = fre/10%10;
              character[7] = fre%10;
   character[8] = 'H';
              character[9] = 'z';

              for(i = 0;i<4;i++)                            //顯示fre=
              {
                            LCD_disp_char(i+0,1,character_1[ i]);
              }

for(i = 0;i<10;i++)              //判斷第一個不為0的數
              {
                            if(character[ i]!=0)
                                          break;
              }

k = 8-i;

for(j = 0;j<k;j++) 顯示所有的數字[="" align]    for(i = 5;i<7;i++)              //顯示Hz
              {
                            LCD_disp_char(j+4,1,character_1[ i]);
                            j++;
              }
}
此為實現上文提到的1602液晶芯片在本作品中要發揮的功能②的函數。首先使用一個常規編程手法將全局變量fre中的8位數字分別賦值給數組character[0]- character[7],character[8]:character[9]則固定為“Hz”。在將數組character_1[]中的字符串“fre=”顯示在1602液晶第一行的前四列的同時,作為虛擬光標的局部變量i的值變為3,接下來,通過逐位檢查排除將i定位在fre的第一個不為零的數位上,此時8-i的數值即為fre的有效數字個數,有效數字即要顯示在1602液晶上的數字,則從字符“=”的下一位即Ox84開始逐位將以上有效數字顯示在液晶上,最后補上字符串“Hz”。
1.017.jpg


圖1.21 LCD1602液晶顯示芯片
    最后附上1602液晶顯示芯片的接線原理圖,需要說明的是,可通過調節電位器R6調整1602液晶顯示的對比度。

1.2整體電路原理
1.018.jpg



圖1.22 電路原理圖
    原理說明如下:
   ①待測信號從P1(正):P4(負)輸入。
②通過2SC3355三極管進行信號放大。
③使用74HC14施密特觸發反相器進行多種波形向脈沖波形的轉換,并優化。
④脈沖波形進入74HC390波紋計數器進行100分頻。
⑤未分頻脈沖和100分頻脈沖分別進入單片機的兩個定時/計數器,經過軟件算法處理,產生待測信號頻率數值。
⑥將此數值通過LCD1602液晶顯示模塊進行輸出。


2  軟件算法實現
上文已作說明的電路原理中,“未分頻脈沖和100分頻脈沖分別進入單片機的兩個定時/計數器,經過軟件算法處理,產生待測信號頻率數值”毫無疑問是最關鍵的環節,在此將作詳細說明。

①定時器初始化函數
void timer_init(void)      //定時/計數器初始化
{
              TMOD=0x66;        //計數器0和計數器1工作工作方式2,自動重裝初值

              TH0=0;                    //計數器初值為0
              TL0=0;
              TR0=1;                    //計數器開始計數                 
              ET0=1;                    //打開計數器0中斷  

              TH1=0;                    //計數器初值為0
              TL1=0;
              TR1=1;                    //計數器開始計數                 
              ET1=1;                    //打開計數器1中斷  

              RCAP2H=(65536-62500)/256; //在程序初始化的時候給RCAP2L和RCAP2H賦值,
              RCAP2L=(65536-62500)%256; //TH2和TL2將會在中斷產生時自動使TH2=RCAP2H,TL2=RCAP2L。
              TH2=RCAP2H;       //12M晶振下每次中斷62.5ms(1s=1000ms=62.5ms×16)
              TL2=RCAP2L;
              ET2=1;                    //打開定時器2中斷            
              TR2=1;                    //定時器2開始計時
              EA=1;                     //開總中斷  
}
1.019.jpg



表3 TMOD寄存器
由表3可知,TMOD=0x66=0110 0110B表明TR0(計數器0)和TR1(計數器1)工作工作在方式2,即可自動重裝8位初值。
另外,52單片機具有定時器2,它的功能比定時/計數器0和定時/計數器1要強大很多。它具有自動重裝16位初值的功能,初值存儲在16 位計數存儲器RCAP2H (高8位)和RCAP2L(低8位)中,只要程序初始化的時候給RCAP2H和RCAP2L賦值,在中斷產生時將會自動執行TH2=RCAP2H,TL2=RCAP2L。這個中斷操作在C語言中被編排為52單片機特有的方式5,即“interrupt 5”。
通過計算得到若要在晶振為12MHz的條件下每62.5ms進行一次計時中斷需要在RCAP2H: RCAP2L裝載初值62500。選擇62.5ms的原因是62.5ms×16=1000ms=1s,這樣既可通過準確測量計算16個計時中斷周期內在TR0和TR1上捕獲了幾個脈沖信息,即待測信號的頻率值。

②中斷函數
void timer2(void) interrupt 5 //定時器2中斷(62.5ms)
{
              time++;
              TF2=0;                    //定時器2的中斷標志位TF2不能夠由硬件清零,所以要在中斷服務程序中將其清零
              if (time==16)             //定時1s時間到
              {
                 time=0;                //計時清0
                 EA=0;                  //關中斷                           
                 fre=(long)count1*256+TL1;     //count*256強制轉換成long型,否則將不產生進位 先判斷分頻后(計數器1)
                 FLAG = 0;

                 if(fre<2000)//如果不到200KHz則讀取分頻前(計數器0)頻率(200K÷100=2000)
                 {
                                             fre = (long)count*256+TL0;
                                          FLAG = 1;         
                 }
                            if(!FLAG)
                            {
                                          fre = fre *100;//100分頻
                            }



                 TL0=0;                 //清零計數器0計數                 
                 TH0=0;

                 TL1=0;
                 TH1=0;

                 count=0;               //清零計數器0計數               
                 count1=0;
                 EA=1;                  //開中斷                 
              }
}
//----------------------------------------------------------------
void timer0(void) interrupt 1 //計數器0中斷(100分頻前)            
{
              count++;
}                           
//----------------------------------------------------------------
void timer1(void) interrupt 3 //計數器1中斷(100分頻后)
{
              count1++;
}
依照上文的方案,通過變量time控制定時器2每16個62.5ms,即1s進行一次中斷。進入中斷后,考察來自TR1的脈沖計數值,“fre = (long)count*256+TL1;”的含義是:count為1s計時到時時TL1在此周期內重裝初值的次數,即TR1的中斷次數,將此值乘以256再加上定時器2中斷瞬間TL1的值即為此周期內TR1捕獲的脈沖的準確數量,需要注意的是,fre是long類型變量,故需將count強制臨時轉換成long類型,否則與256相乘后仍是8位的字節變量,造成錯誤。
若經過上述考察后發現fre的數值不到200KHz的100分頻值即2000Hz,則根據盡量規避分頻造成誤差的原則,在單片機能處理的頻率范圍內進行操作,即使用TR0上捕獲的1s內未分頻原始脈沖信號到達的數量對fre進行賦值,方法及注意事項同上。
最后,清零一切TR0、TR1計數值并重新打開總中斷,等待潛在的頻率數值變化的出現。

③主函數
void main()
{
              unsigned char i;
              LCD_init();
              timer_init();             //定時/計數器初始化

              for(i = 0;i<4;i++)
              {
                            LCD_disp_char(i+0,1,character_1[ i]);
              }
              while(1)
              {
                            dis_num();         //顯示
                            delay_1s();
              }                                                                                   
}
主函數的主要任務就是進行各種初始化并開啟無限循環檢測輸入信號頻率值的變化并通過改變fre的值在LCD1602上表現出來(在無信號輸入的情況下,初始化函數將LCD1602上顯示的字符固定為“fre= Hz”)。
3  結論
實訓的最終目的是全面提高學生的職業素質,最終達到學生滿意就業、企業滿意用人的目的。合理的實訓教育本應該是大學教育的一個重要組成部分。這次的實訓與以往不同,是以小組為單位而進行的,以往都是一個人在努力,而今有了組員的幫助,事情變得有條理了不少,大大的鍛煉了我們組員之間的協作能力,提高了個人的團隊合作意識,讓我們以后面對一個企業的氛圍時不至于埋頭苦干。
這次實訓我們使用的是單片機系統,對于當前智能電子儀器已經在當今生活中無處不在的情況下,尤其活躍于計算機領域中,我們更需要對單片機進行進一步的了解和掌握,以順應時代的潮流,而目前祖國也需要大量的技術型人才,而我們這些二十一世紀的大學生將為以后對國家進行更大的貢獻。
回顧這次的實訓,我們感慨萬千,的確,從選題到制作,從調試到論文,每一個環節都留下我們努力的汗水,尤其是現在是大四這個關鍵的時期,我們組員也各有自己的事情要忙,考研的考研,找工作的找工作,難得有聚在一起的機會。但是毫無疑問,我們仍順利的完成了任務,并從中學到不少理論上和為人處世上的知識,為我們以后的發展留下了寶貴的經驗。通過這次實訓,我們明白了團隊的重要性,再一次讓理論溶于實踐之中,更加提高了實踐能力和動手能力。

謝  辭
實訓臨近結束了,在短暫的實訓過程中得到了老師和很多同學的幫助。首先衷心感謝王守華、歸發弟和鄧艷容三位老師的悉心指導和熱情幫助,在我們小組完成過程中給以大力的幫助,讓我們學到了許多實踐的知識,開闊了眼界,增強了我們的實踐動手能力,以及我們的團隊合作精神。同時,還要感謝全班同學對我們小組的大力幫助,讓我們在冬日的寒風中天天都充滿了干勁,如果沒有他們,我們不能夠完成得這么順利。除此之外,我們小組的組員各有分工,通力合作,彼此互相協作,不懂的地方大家一起討論,碰到困難時大家一起解決,正是有了這種小組的氛圍,我們才能夠最終恪盡職守的完成這一個實訓任務。不過由于我們時間和水平有限,本作品仍然有很多缺憾和不足的地方,懇請老師和同學批評指出。
參考文獻
[1]  金峰. 智能儀器設計基礎. 清華大學出版社,2005.
[2]  程德福,林君. 智能儀器(第二版). 機械工業出版社,2009.
[3]  王賢勇,趙傳申. 單片機原理與接口技術應用教程. 清華大學出版社,2010.
[4]  譚浩強. C語言程序設計(第三版). 清華大學出版社,2005.
[5]  劉海濤. 8051單片機C語言程序設計與實例解析. 清華大學出版社,2009.

附  錄1
以下為本電路的PCB(Printed Circuit Board,印制電路板):
1.020.jpg
圖.附錄PCB


本課設論文對應的所有設計資料下載(包含仿真工程文件 源碼等):
http://www.raoushi.com/bbs/dpj-77186-1.html


回復

使用道具 舉報

ID:146886 發表于 2017-2-11 09:13 | 顯示全部樓層
不錯,好東西,好好學習一下
回復

使用道具 舉報

ID:185951 發表于 2017-4-4 09:57 | 顯示全部樓層
很好 謝謝分享
回復

使用道具 舉報

無效樓層,該帖已經被刪除
ID:265674 發表于 2017-12-23 16:16 | 顯示全部樓層
謝謝  分享
回復

使用道具 舉報

ID:269260 發表于 2017-12-30 17:17 | 顯示全部樓層
謝謝分享
回復

使用道具 舉報

ID:268588 發表于 2018-5-14 14:02 | 顯示全部樓層
軟件鏈接那個百度網盤失效了 能給個新的嗎 萬分感謝!
回復

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表