版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、.單片機原理及應用實驗指導書 測控系2016年4月目 錄1 單片機實驗板31.1 資源介紹31.2原理圖31.3 PCB絲印圖32 KEIL軟件的使用33 STC-ISP下載軟件的使用方法3實驗一 熟悉KEIL軟件的使用3實驗二 Keil C51程序設(shè)計上機練習3實驗三 單片機中斷實驗3實驗四 中斷及定時器計數(shù)器實驗3實驗五 數(shù)碼管顯示器實驗3實驗六 串口通信實驗3實驗七 AD轉(zhuǎn)換器實驗3實驗八 DA轉(zhuǎn)換器實驗31 單片機實驗板1.1 資源介紹1)采用STC8952RC(與標準51指令、腳位完全兼容),支持在線串行ISP下載。2)供電方式:USB供電及下載3)USB轉(zhuǎn)串口RS232 (PL23
2、03芯片)4)4個LED發(fā)光管,1個電源指示燈5)四位數(shù)碼管6)4個獨立式鍵盤(包含外部中斷按鍵),1個復位或下載按鍵7)DS1302 一片8)AT24C02一片9)熱敏電阻1支10) 加熱電阻 1個11)12864液晶顯示接口12)PCF8573一片13)AD電位器一個14) 蜂鳴器一個15)DS18B20溫度傳感器(選配件)16)IrDA紅外接收頭(遙控器為選配件)產(chǎn)品圖片:資源分配圖如下:AD電位器ADDA指示燈12864液晶接口PCF8573加熱指示燈MCU:STC89C52DS18B20接口熱敏電阻發(fā)熱電阻所有IO引出蜂鳴器紅外接收USB電源24C02DS1302PL2303下載芯片
3、5VGND復位下載鍵電源指示燈四個獨立按鍵1.2原理圖1.3 PCB絲印圖2 KEIL軟件的使用KEIL是51單片機開發(fā)的最常見的開發(fā)軟件。成功安裝好KEIL軟件后,即可看到電腦桌面上Keil軟件圖標,如下圖。1.雙擊圖標,打開軟件,出現(xiàn)如下界面。在打開的窗口中,選擇“Project”菜單:2.點擊“New Project”出現(xiàn)一個創(chuàng)建工程對話框,選擇工程所建路徑,并輸入工程的文件名(建議用英文),點擊“保存”:3.之后出現(xiàn)芯片選擇界面,如下圖:4.這里,選取常用51芯片即可,選擇“Philips”下的“8Xc51RC+”芯片:5.點擊“確定”,在出現(xiàn)如下對話框時,選擇“否”:6.至此,已成功
4、建立工程。界面如下圖所示:7.點擊“Project”菜單下面的“options for TargetTarget 1”選項,出現(xiàn)如下選項框:8選擇“output”頁面,選中“create Hex File”,并可在“Name of Executable:”輸入框中,重新輸入生成HEX文件的文件名,然后點“確定”,以在程序編譯時,實時生成需下載到單片機中的HEX文件。9.點擊“File” 菜單下面的“New”選項,再點擊“File”菜單下面的“Save”選項,保存文件。輸入文件名(C文件擴展名為“.c”,匯編文件擴展名為“.asm”),如下圖:取名為main.c:10.在新建的文件里,進行程序編
5、制,如圖:11.程序編制完成后,保存文件。將源程序文件加載到工程中。加載方法為:右擊“Source Group”,在出現(xiàn)的選項列表中,選擇“Add Files to Group source Group 1”,如下圖所示:12.在出現(xiàn)的對話框中,選擇剛編輯的源文件(main.c),點擊“Add”,如圖:13.添加成功后,點擊“Project”菜單下面的“Rebuild all target files”選項。當編譯通過之后HEX文件才能生成,如下圖。如果程序有錯誤,編譯結(jié)果框中會有提示錯誤。雙擊對應的錯誤列表,可定位到源程序的位置,以便快速尋找錯誤。 3 STC-ISP下載軟件的使用方法該軟件
6、將已生成的HEX文件下載到單片機中。具體步驟如下:1.雙擊STC-ISP圖標: 2.然后在“單片機型號”列表中選擇單片機型號(應選擇單片機板中的CPU型號),如下圖:3.點擊“打開程序文件”按鈕,找到所要下載的HEX文件,并選中,選擇“打開”,如下圖:4.選擇串口的對應端口號,(根據(jù)自己的硬件連接端口)(如COM1)。 提示:使用電源線即可下載。但下載之前需安裝USB轉(zhuǎn)串口驅(qū)動程序。 將板子與電腦連接后,請查看“設(shè)備管理器”中的COM識別端口號。5.然后選“MaxBuad”中的波特率,也可以選默認值。6.點擊“下載/編程”按鈕,然后按下板子上的紅色下載鍵,進行文件下載。 7.稍等幾秒,即可下載
7、完成,如圖: 實驗一 熟悉KEIL軟件的使用一、實驗目的1. 認識單片機實驗系統(tǒng)的構(gòu)成及使用。2. 學習KEIL軟件和STC-ISP下載軟件的使用方法。3. 單片機I/O口的使用方法;二、實驗內(nèi)容1. P13口做輸出口,接發(fā)光二極管,編寫程序,使其閃爍。2. P13、P35P37口接四只發(fā)光二極管LED1-LED4, P20口接開關(guān)K1,編寫程序,用開關(guān)控制發(fā)光二極管上的亮滅。三、實驗步驟1.設(shè)計實驗電路,畫出電路原理圖2.按照 KEIL軟件的使用步驟,建立工程。3.編寫程序,保存文件,將源程序文件加載到工程中,當編譯通過之后生成HEX文件。4. 用STC-ISP下載軟件下載HEX文件到單片機
8、系統(tǒng)。5.運行、調(diào)試程序,觀察實驗結(jié)果。四、實驗參考電路及參考程序1.參考電路2.參考程序?qū)嶒?:#include reg52.hsbit P13=P13;/定義LED指示燈的IO口void main() int i;/計時變量 while(1) for(i=0;i30000;i+);/延時 P13=!P13;/指示燈IO口反轉(zhuǎn) 實驗2:#include reg52.hsbit P13=P13;/定義LED指示燈的IO口sbit P20=P20;/定義key的IO口void main() int i;/計時變量 while(1) for(i=0;i30000;i+);/延時 if( P20=0
9、) P13=0;/ 按鍵,LED亮 else P13=1;/LED亮 五思考題1. P35- P37口做輸出口,接發(fā)光二極管,編寫并調(diào)試程序,使其閃爍。2. P35- P37口做輸出口,接發(fā)光二極管,編寫并調(diào)試跑馬燈程序。實驗二 Keil C51程序設(shè)計上機練習一、實驗目的1. 學習KEIL軟件的程序調(diào)試方法。2. 學會KEIL C程序設(shè)計及調(diào)試,重點學會預處理命令、數(shù)據(jù)類型的定義。二、實驗內(nèi)容1.單片機P2口的P20和P21各接一個開關(guān)K1、K2,P13、P35、P36和P37各接一只發(fā)光二極管。由K1和K2的不同狀態(tài)來確定發(fā)光二極管的點亮。K2K1亮的二極管00L101L210L311L4
10、2.設(shè)計一個二進制加1計數(shù)器,按一次鍵,加1,并用3個LED顯示計數(shù)結(jié)果,加至8時清零重新計數(shù)。三、實驗步驟1.設(shè)計實驗電路,畫出電路原理圖2.按照 KEIL軟件的使用步驟,建立工程。3.編寫程序,保存文件,將源程序文件加載到工程中,當編譯通過之后生成HEX文件。4. 用STC-ISP下載軟件下載HEX文件到單片機系統(tǒng)。5.運行、調(diào)試程序,觀察實驗結(jié)果。四、實驗參考電路及參考程序1.實驗1#includesbit k1 = P20;sbit k2= P21;sbit P13 = P13;void main()while(1)if(k1 = 0&k2 = 0) P3 = 0x7f; if(k1
11、= 1&k2 = 0)P3 = 0xbf;if(k1 = 0&k2 = 1)P3 = 0xdf;if(k1 = 1&k2 = 1)P13 = 0;2.實驗2#includesbitkey = P32;unsigned char a ;unsigned char count = 0;void delay(int i)while(i)i-; void main()while(1) P32=1;if( key=0 )delay(10);if( key=0)count+;while(!key);if( count=8)count = 0;a = count; a = a;a = a=3)Bit =0;
12、switch(Bit)case 0: P3 = 0xef; break;case 1: P3 = 0xdf; break;case 2: P3 = 0xbf; break; P32=1;五、思考題1. 采用外部中斷的方式實現(xiàn)一個二進制減1計數(shù)器,按一次鍵,減1,并用3個LED顯示計數(shù)結(jié)果,減至0時,重新從7開始計數(shù)。2. 采用外部中斷的方式實現(xiàn)用1個按鍵控制LED的顯示,要求顯示3種以上的不同模式。實驗四 中斷及定時器計數(shù)器實驗一、實驗目的1.掌握單片機的中斷系統(tǒng)、定時器的工作原理。2.學會單片機中斷系統(tǒng)、定時器的應用。二、實驗內(nèi)容1.采用單片機定時器實現(xiàn)1個LED的亮滅,周期為1s。2. 采
13、用單片機定時器實現(xiàn)4個LED的輪流亮滅,每個LED點亮時間為1s。三、實驗步驟1.設(shè)計實驗電路,畫出電路原理圖2.按照 KEIL軟件的使用步驟,建立工程。3.編寫程序,保存文件,將源程序文件加載到工程中,當編譯通過之后生成HEX文件。4.用STC-ISP下載軟件下載HEX文件到單片機系統(tǒng)。5.運行、調(diào)試程序,觀察實驗結(jié)果。四、實驗參考電路和參考程序1.實驗1#include#define THC0 0xee#define TLC0 0x00sbit led0=P13;void main() TMOD=0x01; TH0=THC0; TL0=TLC0; TR0=1; ET0=1; EA=1; w
14、hile(1); void timer0_ISR(void) interrupt 1 static unsigned char count=0; TL0=TLC0; TH0=THC0; count+; if(count=200) count=0; led0=!led0; 2.實驗2#include#define THC0 0xee#define TLC0 0x00sbit led0=P13;sbit led1=P35;sbit led2=P36;sbit led3=P37;void main() TMOD=0x01; TL0=TLC0; TH0=THC0; TR0=1; ET0=1; EA=1
15、; while(1); void timer0_ISR(void) interrupt 1 static unsigned char count=0,Bit=0; TL0=THC0; TH0=TLC0; count+; if(count=200) count=0; Bit+; if(Bit=4) Bit=0; P3=P3|0xf0; P1=P1|0x0f; switch(Bit) case 0:led0=0;break; case 1:led1=0;break; case 2:led2=0;break; case 3:led3=0;break; 五、思考題1.設(shè)計1個秒計數(shù)器,每秒計1次數(shù),在
16、LED上顯示出來,計至16清零后重新計數(shù)。2.在上題基礎(chǔ)上用按鍵控制秒計數(shù)器的啟停,按一次鍵開始計數(shù),按2次停止計數(shù),按3次又開始計數(shù)。實驗五 數(shù)碼管顯示器實驗一、實驗目的1.掌握單片機的按鍵、數(shù)碼管顯示器的工作原理。2.學會單片機獨立式按鍵、數(shù)碼管顯示器的應用。二、實驗內(nèi)容1.在一個數(shù)碼管上顯示字符“1”。 2.在4個數(shù)碼管上顯示字符“1”、“2”、“3”、“4”。3.設(shè)計一個2位10進制計數(shù)器,每秒加1,在LED上顯示。三、實驗步驟1.設(shè)計實驗電路,畫出電路原理圖2.按照 KEIL軟件的使用步驟,建立工程。3.編寫程序,保存文件,將源程序文件加載到工程中,當編譯通過之后生成HEX文件。4.
17、用STC-ISP下載軟件下載HEX文件到單片機系統(tǒng)。5.運行、調(diào)試程序,觀察實驗結(jié)果。四、實驗參考電路和參考程序1.參考電路2參考程序#include reg52.h#define THCO 0xee#define TLCO 0x0unsigned char code Duan=0x3F, 0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;/共陰極數(shù)碼管,0-9段碼表unsigned char Data_Buffer4=1,2,3,4;/四個數(shù)碼管顯示數(shù)值,數(shù)組變量定義sbit P24=P24;/四個數(shù)碼管的位碼口定義sbit P25=P25;sbit
18、P26=P26;sbit P27=P27;void main() TMOD=0x11;/定時器0初始化 TH0=THCO; TL0=TLCO; TR0=1; ET0=1; EA=1; while(1) ;void timer0() interrupt 1 static unsigned char Bit=0;/靜態(tài)變量,退出程序后,值保留 TH0=THCO; TL0=TLCO; Bit+; if(Bit=4)Bit=0; P2|=0xf0;/先關(guān)位碼 P0=DuanData_BufferBit;/開段碼 switch(Bit)/送位碼 case 0: P24=0;break; case 1:
19、P25=0;break; case 2: P26=0;break; case 3: P27=0;break; 五、思考題用按鍵作顯示模式選擇鍵,實現(xiàn)上述實驗中3個顯示畫面的切換,即上電顯示“1”,按1次鍵顯示“1234”,再2次鍵顯示2位秒計數(shù)器,按3次鍵又顯示“1”。實驗六 串口通信實驗一.實驗目的 利用單片機的TXD、RXD口,使用戶學會單片機的串行口的使用。二.實驗設(shè)備及器件PC機 一臺單片機實驗板一臺三.實驗內(nèi)容 編寫一段程序,使數(shù)碼管顯示從上位機接收到的對應數(shù)值(0-9),并將此值發(fā)送給上位機。(注:此實驗只能用STC芯片,將HEX文件下載進去才能觀看運行結(jié)果)四.實驗步驟1按照 K
20、EIL軟件的使用步驟,建立工程。2.編寫程序,保存文件,將源程序文件加載到工程中,當編譯通過之后生成HEX文件。3.用STC-ISP下載軟件下載HEX文件到單片機系統(tǒng)。4.運行、調(diào)試程序,利用STC-ISP的串口助手窗口中發(fā)送數(shù)據(jù)給單片機,在單片機的數(shù)碼管上觀察接收到的數(shù)據(jù);并在STC-ISP的串口助手窗口中觀察接收到的數(shù)據(jù)。本實驗中將使用串口助手進行調(diào)試,使用方法如下:(1)在STC-ISP軟件窗口中,點擊 “串口助手”,PC機上顯示下圖所示窗口,在發(fā)送緩沖區(qū)和接收緩沖區(qū)均選擇HEX模式,正確選擇通訊的串口號和波特率,根據(jù)單片機與PC機連接的串口選擇串口號,波特率的選擇要與程序中設(shè)定的波特率
21、一致,本實驗中選擇的波特率為9600。圖2.7 PC機串口助手界面(2)在發(fā)送緩沖區(qū)輸入0-9的數(shù)據(jù),然后點擊“發(fā)送數(shù)據(jù)”,觀察單片機實驗板上LED顯示的結(jié)果,并觀察STC-ISP軟件窗口中“接收緩沖區(qū)”中顯示的數(shù)據(jù)是否與LED顯示數(shù)據(jù)一致。五.參考例程#include reg52.h#define THCO 0xee#define TLCO 0x0unsigned char code Duan=0x3F, 0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;/共陰極數(shù)碼管,0-9段碼表unsigned char Data_Buffer4=1,2,3,4;
22、/四個數(shù)碼管顯示數(shù)值,數(shù)組變量定義sbit P24=P24;/四個數(shù)碼管的位碼口定義sbit P25=P25;sbit P26=P26;sbit P27=P27;/sbit P34=P34;void main() TMOD=0x20;/方式控制字SCON=0x50;TH1=0xfd;/設(shè)置波特率為9600TL1=0xfd;TR1=1; /開定時器1ES=1;TH0=THCO; TL0=TLCO; TR0=1; ET0=1; EA=1; while(1);void timer0() interrupt 1 static unsigned char Bit=0;/靜態(tài)變量,退出程序后,值保留 TH
23、0=THCO; TL0=TLCO; Bit+; if(Bit=4)Bit=0; P2|=0xf0;/先關(guān)位碼 P0=DuanData_BufferBit;/開段碼 switch(Bit)/送位碼 case 0: P24=0;break; case 1: P25=0;break; case 2: P26=0;break; case 3: P27=0;break; void seri()interrupt 4 unsigned char temp; if(RI=1) temp=SBUF; RI=0; if(temp=0&temp=9)/接收到的數(shù)據(jù)為0-9時顯示到數(shù)碼管上 Data_Buffer0
24、=temp;Data_Buffer1=temp;Data_Buffer2=temp;Data_Buffer3=temp;/P34=!P34;TI=0;SBUF=temp;while(TI=0);TI=0; 7.思考題 利用單片機的串行口向PC機發(fā)送數(shù)據(jù)0x55,運行結(jié)果可以通過在PC的接收軟件上看見,驗證接收數(shù)據(jù)是否正確。實驗七 AD轉(zhuǎn)換器實驗一、實驗目的 學會用51單片機模擬I2C總線接口,實現(xiàn)與PCF8591 8位AD轉(zhuǎn)換器的接口,學會用單片機實現(xiàn)數(shù)據(jù)采集的方法。二、實驗設(shè)備及器件PC機 一臺51單片機實驗板一臺(含PCF8951芯片)萬用表、示波器三、實驗內(nèi)容 編寫一段程序,采集PCF8
25、591 AD通道的模擬信號值,將采集的電壓值用四位數(shù)碼管顯示出來。四、實驗電路原理圖AIN0-AIN3為4路模擬輸入信號,時鐘信號SCL接至單片機P36,數(shù)據(jù)線SDA接至P37。五、參考例程#include STC89C52RC.h#include #define uchar unsigned char#define uint unsigned int#define PCF8591 0x90 /PCF8591 地址#define THCO 0xf8 /11.0592MHZ晶振#define TLCO 0xcb /定時2ms時間常數(shù)值unsigned char Data_Buffer4=1,2,
26、3,4;uchar code Duan17=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x76;sbit P24=P24;/四個數(shù)碼管的位碼口定義sbit P25=P25;sbit P26=P26;sbit P27=P27;bit flag=0;bit DACconversion(unsigned char sla,unsigned char c, unsigned char Val);bit ISendByte(unsigned char sla,unsigned char
27、c);unsigned char IRcvByte(unsigned char sla);/*/void main(void) /主程序 unsigned int v; unsigned char AD_CHANNEL=1; unsigned int D5=0,0,0,0,255; TMOD=0x11; /設(shè)置定時器0工作模式,16位計數(shù)模式 TH0=THCO; TL0=TLCO; TR0=1; /啟動定時器 ET0=1;/使能定時器中斷 EA=1;/開總中斷 while(1) if(flag=1) flag=0; ISendByte(PCF8591,0x41);v=IRcvByte(PCF8
28、591); Data_Buffer0=0; Data_Buffer1=v/100%10; Data_Buffer2=v/10%10;Data_Buffer3=v%10; void timer0() interrupt 1 /定時器中斷服務(wù)子程序 static unsigned int count=0;/軟計時變量定義 static unsigned char Bit=0;/靜態(tài)變量,退出程序后,值保留 TH0=THCO; TL0=TLCO; Bit+; if(Bit=4)Bit=0; P2|=0xf0;/先關(guān)位碼 P0=DuanData_BufferBit;/開段碼 if(Bit=0)P0|=
29、0x80; switch(Bit)/送位碼 case 0: P24=0;break; case 1: P25=0;break; case 2: P26=0;break; case 3: P27=0;break; count+; if(count=250)/半S時間到 count=0; flag=1; 六、思考題1.將PCF8591的4個模擬輸入通道的采樣值輪流在數(shù)碼管上顯示出來。實驗八DA轉(zhuǎn)換器實驗一、實驗目的 學會用51單片機模擬I2C總線接口,實現(xiàn)與PCF8591的8位AD轉(zhuǎn)換器的接口,學會用單片機實現(xiàn)波形發(fā)生器的方法。二、實驗設(shè)備及器件PC機 一臺51單片機實驗板一臺(含PCF8951芯
30、片)萬用表、示波器三、實驗內(nèi)容 編寫一段程序,用單片機控制PCF8591 DA轉(zhuǎn)換器輸出方波,用示波器觀察PCF8591輸出的方波。四、實驗電路原理圖時鐘信號SCL接至單片機P36,數(shù)據(jù)線SDA接至P37。五、參考例程#include STC12C5A60S2.h#include #define uchar unsigned char#define uint unsigned int#define PCF8591 0x90 /PCF8591 地址#define THCO 0xf8 /11.0592MHZ晶振#define TLCO 0xcb /定時2ms時間常數(shù)值unsigned char Data_Buffer4=1,2,3,4;uchar code Duan17=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年不同類型橋梁的設(shè)計方法
- 2025年高職機械制造(液壓傳動技術(shù))試題及答案
- 2025年高職建筑設(shè)計(建筑創(chuàng)意設(shè)計)試題及答案
- 2025年大學二年級(醫(yī)療器械與裝備工程)裝備應用階段測試題及答案
- 2025年中職煙草栽培與加工(煙草加工工藝)試題及答案
- 2025年大學第二學年(釀酒技術(shù))釀酒工藝模擬測試試題及答案
- 2025年高職第一學年(制冷與空調(diào)技術(shù))中央空調(diào)安裝調(diào)試階段測試試題及答案
- 2025年大學新能源發(fā)電工程(光伏運維)試題及答案
- 2025年中職建筑施工技術(shù)(混凝土施工)試題及答案
- 2025年大學制漿技術(shù)(制漿工藝)試題及答案
- 中國藥物性肝損傷診治指南(2024年版)解讀
- 基層黨建知識測試題及答案
- DG-TJ08-2021-2025 干混砌筑砂漿抗壓強度現(xiàn)場檢測技術(shù)標準
- 鼻竇炎的護理講課課件
- 腸系膜脂膜炎CT診斷
- 體外膜肺氧合技術(shù)ECMO培訓課件
- 老年醫(yī)院重點??平ㄔO(shè)方案
- 銀行解封協(xié)議書模板
- 超星爾雅學習通《學術(shù)規(guī)范與學術(shù)倫理(華東師范大學)》2025章節(jié)測試附答案
- GB 17440-2025糧食加工、儲運系統(tǒng)粉塵防爆安全規(guī)范
- 《綠色農(nóng)產(chǎn)品認證》課件
評論
0/150
提交評論