版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、單片機實驗指導書適用專業(yè):計算機控制、網絡、物聯網等學時: 12編寫人:孔慶臣2016-5-12實驗一 IO 口輸入輸出實驗1. 實驗內容(1) P2 口做輸出口,接八只發(fā)光二極管,編寫程序,使發(fā)光二極管循環(huán)點亮。(2) P1 口做輸入口,接八個扭子開關, P2 口接八只發(fā)光二極管,編寫程序讀取開關狀態(tài),將此狀態(tài)在發(fā)光二極管上顯示出來。2. 實驗目的學習 keil 仿真軟件的使用方法學習 IO 口的使用方法。學習延時子程序的編寫和使用。stc-isp 軟件的使用3. 有關說明P1 口為準雙向口, P1 的每一位都能獨立地定義為輸入或輸出線,作為輸入的口線,必須向鎖存器相應位寫入 “1” ,該位
2、才能作為輸入。單片機IO 口在復位時均置為 “1” ,如果后來在口鎖存器寫入過“0”,在需要時應寫入一個“ 1”使它再成為一個輸入。可以用第二個實驗做一下實驗。先按要求做好程序并調試成功后,可將P1 口鎖存器中置“0 ”,此時將 P1 作輸入口,會有什么結果。再來看一下延時程序的實現。通常用的有兩種方法,一是用定時器中斷來實現,一是用指令循環(huán)來實現。在系統(tǒng)時間允許的情況下可以采用后一種方法。本實驗系統(tǒng)晶振為11.0592MHZ,則一個時鐘周期為0.0904us。現要寫一個延時0.1s的程序,可大致寫出如下:void Delay100ms() /11.0592MHz unsigned char
3、i, j, k;i = 5;j = 52;k = 195;do do while (-k); while (-j); while (-i);5實驗電路設計( 1) 分析附錄 1 單片機實驗系統(tǒng)部分原理圖, 選擇合適的電路模塊, 并根據實驗要求的功能進行合理的電路模塊間的電路連接。( 2)畫出本次實驗獨立的原理圖5、實驗要求( 1)完成實驗電路設計( 2)完成實驗程序設計( 3)實現要求的實驗結果4)對實驗內容做全面總結實驗二 定時器實驗1. 實驗內容模擬八臺電機延時啟動,要求當按下啟動按鈕后,第一臺電機馬上啟動,其他七臺每隔 10 秒啟 動一臺,當按下停止按鈕時所有電機同時停止,同時用發(fā)光管顯
4、示出啟動與停止狀態(tài)。啟動、停止時低電平有效,電機運行使用發(fā)光管電路模擬,低電平運行,高電平停止。2. 實驗目的( 1)熟悉定時器工作原理( 2)掌握定時器應用編程的方法及使用技巧。( 3)了解單片機技術的基本應用設計3. 實驗電路設計( 1 )分析附錄1 單片機實驗系統(tǒng)部分原理圖,選擇合適的電路模塊,并根據實驗要求的功能進行合理的電路模塊間的電路連接。( 2)畫出本次實驗獨立的原理圖4、實驗要求( 1)完成實驗電路設計( 2)完成實驗程序設計( 3)實現要求的實驗結果( 4)對實驗內容做全面總結實驗三 矩陣鍵盤及數碼管顯示器實驗1. 實驗內容P1 口完成 4*4 鍵盤輸入; P2 口連接數碼管
5、,顯示當前按下的鍵位號; P0 口連接數碼管,記錄 按下按鍵的次數,超過 16 次歸零從新計數。2. 實驗目的( 1)熟悉矩陣鍵盤與單片機的常用連接方法( 2)掌握矩陣鍵盤的編程方法。( 3)掌握數碼管與單片機的接口方式與編程方法3. 實驗電路設計( 1 )分析附錄1 單片機實驗系統(tǒng)部分原理圖,選擇合適的電路模塊,并根據實驗要求的功能進行合理的電路模塊間的電路連接。( 2)畫出本次實驗獨立的原理圖4、實驗要求1)完成實驗電路設計2)完成實驗程序設計3)實現要求的實驗結果4)對實驗內容做全面總結實驗四 A/D 轉換實驗1實驗內容利用實驗臺上的 ADC0809 做 A/D 轉換器,實驗臺上的電位器
6、提供模擬量輸入,編制程序,將模擬量轉換成數字量用 8 個數碼管顯示,顯示格式為“模擬電壓轉換成的數字量( 3 位數碼管顯示) - - 模擬電壓轉換成 的數字量對應的電壓值( 3 位數碼管顯示)”。2實驗目的掌握A/D 轉換與單片機的接口方法。熟悉A/D 芯片ADC0809 轉換性能及編程方法。掌握動態(tài)顯示的原理及編程方法。通過實驗了解單片機如何進行數據采集。3. 實驗電路設計( 1 )分析附錄1 單片機實驗系統(tǒng)部分原理圖,選擇合適的電路模塊,并根據實驗要求的功能進行合理的電路模塊間的電路連接。( 2)畫出本次實驗獨立的原理圖4、實驗要求( 1)完成實驗電路設計( 2)完成實驗程序設計( 3)實
7、現要求的實驗結果( 4)對實驗內容做全面總結實驗五 八路搶答器實驗1. 實驗內容利用實驗系統(tǒng)中的八個獨立鍵盤作為搶答輸入端,數碼管顯示搶答選手號,同時該選手對應的發(fā)光管閃爍并伴有嗡名器發(fā)聲幾秒,最后發(fā)光管一直保持點亮狀態(tài)直到新的搶答開始。要求當搶答開始時,第一個選手搶答后其他選手搶答無效,搶答開始鍵可由開關替代或使用單片機復位鍵 實現。2. 實驗目的( 1)學會單片機基本應用系統(tǒng)的軟硬件設計的基本流程及實現方法。( 2)學會對單片機簡單接口電路如:數碼管、嗡名器等的原理及編程方法3)提高學生獨立設計、開發(fā)的能力3. 實驗電路設計( 1 )分析附錄1 單片機實驗系統(tǒng)部分原理圖,選擇合適的電路模塊
8、,并根據實驗要求的功能進行合理的電路模塊間的電路連接。( 2)畫出本次實驗獨立的原理圖4、實驗要求( 1)完成實驗電路設計( 2)完成實驗程序設計( 3)實現要求的實驗結果( 4)對實驗內容做全面總結實驗六 電子鐘及計時器實驗1. 實驗內容學生獨立設計一個電子鐘與計時器系統(tǒng),要求:( 1) 完成顯示時、分、秒,時、分、秒中間用“ - ”分開( 2) 完成計時器設計 ,計時器顯示格式; “ 小時 .分鐘.秒鐘.百分秒 ”( 3) 子鐘必須可調整顯示時間功能( 4) 時器具備開始計時、暫停、清零功能( 5) 子鐘與計時器可通過按鍵相互切換顯示2. 實驗目的( 1 )學會單片機較復雜應用系統(tǒng)的軟硬件
9、設計的基本流程及實現方法。( 2 )學會對單片機簡單接口電路如:數碼管動態(tài)顯示原理及編程方法( 3 )學會如何根據所完成的功能合理對鍵盤輸入進行軟硬件設計( 4 )提高學生獨立設計、開發(fā)的能力3. 實驗電路case 1: 1)分析附錄1 單片機實驗系統(tǒng)部分原理圖,選擇合適的電路模塊,并根據實驗要求的功能進行合理的電路模塊間的電路連接。case 2: 2 )畫出本次實驗獨立的原理圖4、實驗要求case 3: 1)完成實驗電路設計case 4: 2)完成實驗程序設計case 5: 3)實現要求的實驗結果case 6: 4)對實驗內容做全面總結- 5 -附錄1單片機實驗系統(tǒng)部分原理圖總體模塊圖U_串
10、口下載與通訊串口下載寫通訊,SchDoc73PRxD3PTxDU_聲音及步進與直流電機電路 聲音及方進與直流電機電路,SchDocu_電源,SchDocg 220V0VGND+5V_out-5V_out GND_outU_ 郵 其 它電路,SchDoc-9BA8DOUT1 -9BB-,9BC一;9BD5 SPEAKER1SPEAKER28DIN18DIN28DOUT2U_AD與DA轉換 AD 與 DA ,SchDoc思路路,SchDoc10OUTPUT710INPUT110OUTPUT810INPUT210OUTPUT910INPUT310OUTPUT1010INPUT410OUTPUT110
11、OUTPUT210OUTPUT310OUTPUT410OUTPUT510OUTPUT6JLF“SlhDocPortOPort1Port2Port3Port4Port5Port6Port7Port8Port9Port10Port11Port12Port13Port14Port15Port16Port17Port18Port19Port20Port21Port22Port23u_io輸出IO輸出.SCHDOC、5D05IN05D15IN1:55D25IN25D35IN3"5D45IN45D55IN5.5D65IN6:5D75IN7:5OUT15ADD055ADD15ADD25START5
12、OE5ALE5EOC5CLKU_處理器 處液器,SchDoc2P0_0 2P0_12P0_2 2P20_32P0_4 2P0_5 2P0_62P0_7 2P1_0 2P1_1 2P1_22P1_3 2P1_42P1_5 2P1_62P1_7 2P2_0 2P2_12P2_2 2P2_32P2_4 2P2_52P2_6 2P2_72P3_0 2P3_1 2P3_22P3_3 2P3_42P3_5 2P3_62P3_7 2PORT1 2PORT22PORT39OUT09OUT19OUT29OUT39OUT49OUT59OUT69OUT79OUT89OUT99OUT109OUT119OUT129OU
13、T139OUT149OUT159Y09Y19Y29Y39Y49Y59Y69Y79D09D19D29D39D49D59D69D79A09A19A29A39A49A59A69A79ALE9C19c29A9B9CU_LED顯示LED 顯示.SchDoc4Port14Port24Port34Port44Port54Port64Port74Port84Port114Port124Port134Port144Port154Port164Port174Port184Port204Port214Port224Port234Port244Port254Port264Port27U一點陣 點陣.SchDocU_液
14、晶與時鐘瞰 液晶與時鐘電路.SchDoc7RS2 7I/O 7R/W2 7E2 7D0_2_07RS1 7R/W17CLK7RST37E17D0_07D0_17D0_27D0_37D0_47D0_57D0_67D0_77PSB17RST17D0_2_17D0_2_27D0_2_37D0_2_47D0_2_57D0_2_67D0 2 7原理圖總體結構第1頁共14頁串口通訊及聲音輸出電路3C3 0.1uF3C4 0.1uFVCC 3C2 10uF8JP3VCC3PTxD( 3PRxD ;23JP23U113410Ax16II23C1 0.1uFVCC3JP18JP4101383VCCVCC2N12
15、C3 10uF + 2R21KC22JP62R1 10K2C130pFHlI2Y22Y12JP530pF 12PORT12PORT22PORT32JP42K11232JP32K22K3單片機最小電路19182K1VCC2K22K3、P3 01f P3 1 i_2f P3 23< P3 3U -4P3 4_5P3 5V 6f P3 6_7C P3 7、 _8/2P3 02P3 12P3 22P3 32P3 62P3 72P3_42P3 5P3 010P3 1P3_21P3 3-1P3414P3 515P3 616P3 71720VCCP0.0/AD0.XTAL1P0.1/AD1XTAL2P
16、0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7卜RST ea/VppP1.0/T2卜 PSENP1.1/T2EX ALE/PROGP1.2/ECIP1.3/CEX0P1.4/CEX1,P3.0/RxDP1.5/CEX2,P3.1/TxDP1.6/CEX3卜 P3.2/INT0P1.7/CEX4P3.3/INT1.P3.4/T0,P3.5/T1P2.0/A8P2.1/A9卜 P3.6/WR-P2.2/A10 P3.7/RDP2.3/A11P2.4/A12P2.5/A13P2.6/A14I VSSP2.7/A152U1STC11F60XE2930+1
17、1 _LJVCC 2C4 30uF392JP0P0_0112/8P0 1334y7P0 2556y6P0 3778*35"P0 4991034P0 5111112P0 613131432-P0 71515162JP11P1 0112P1_1334P1_2556P1_375P1_49910P1 5111112一P1 61313148_P1_7151516402P0 06 P0 28 P0 310 P0 412 P0 514 P0 616 P0 72 P108 P1310 P1 412 P1 514 P1 616 P1 74P04 P1_1 e-P12_21 P2_02JP21222-
18、P2_1專3 P2_2 1<*24* P2_3 <5"P2_4-345678326 P2_5支7 P2_6"*28 P2_7P2 0P2 1P2 2P2 3P2 4P2 5P2 6P2 7獨立鍵盤及開關電路1JP22P0 12P0_2 2P20 3s2P0 42P0 52P0 62P0_72P1 0 飛2P1 12P1 22P1_32P1 42P1 52P1 62P1 72P2_02P2 12P2 22P2 32P2 42P2 52P2_62P2 7VCC.Port11jPort12Port13y_Port14Port15 |31K0 包324/11R1 5.1
19、K-31K1 d11R2 5.1KF11K2 9 3乙才丁 jb1R3 5.1K_LII 321K3>1R4 5.1K1 11K4 & 3乙/ 11R5 5.1K31 izc nuy1 1 一1R6 5.1KII1K6 a_ 3 -a 11R7 51K ji1K7 3_一1R8 5.1K1-9 -發(fā)光管顯示電路JPP425671K3489R2EJPP21 2 3 4 5 6 7 82JPP1IO OUT 8IO OUT 9IO OUT 10DS9DS10DS11VCCTR3R4IO OUT 11DS12IO OUT 12DS13IO OUT 14IO OUT 15IO OUT 1
20、3DS14DS15DS16AD1K91K5JP1VCCTVCC轉換電路5CLK1 105U25IN05IN15IN25IN35IN45IN55IN65IN75START5OE5ADD05ADD15ADD25ALE5EOC5CLK5JP212345678123456785CLK113ADC0809NCLKVCCSTARTOEIN0D0IN1D1IN2D2IN3D3IN4D4IN5D5IN6D6IN7D7ADD AEOCADD BADD CREF+ALEREF-GND6928125121626272224232言 中5*11 2 3 4 5 6 7 8DS17DS18IOOUI17DS19IOOU
21、I18DS20IOOUI19DS21iooui 20DS22DS23DS24JPP3DS253DS26DS27DS28DS29DS30DS31OUT 30DS32IO OUT 31IOOUT161 2 3 4 5 6 7 8IOOUT 21IO OUT 22IOOUT 23IO OUT 24IOOUT 25IOOUT 26IOOUT 27IOOUT 28IOOUT 29VCC1117,114.21538418. 519 620. 7215JP775D05D15D45D55D65D75D25D3VCCT13數碼管顯示電路4JP11 2 3 4 5 6 7 84Port44Port5IQ1HQ2Q
22、34Q490139013901390134D14D24D34D44D5臼3AAAAaaabAbbAbAbAVC 4a日ccccddddeeee/g10- 棄ffff10gDPg DPg DPg DPg DPDpy Blue-CADpy Blue-CADpy Blue-CADpy Blue-CAa 7Dpy Blue-CAa©590134D6VCC4R61JP3日n日a4Q69013臼4Q890134JP24D7jb-c-s.DPDpy Blue-CAabcdefg DPDpy Blue-CAtb,g10p5-g DPDpy Blue-CAty4Port114Port124Port13
23、4Port14'4Port154Port164Port174Port18Header 84U1A念燈ls.Eleu>u>B少 J一3rT1JJ13rT * 3 ,Dpy Blue-CAyg10g DP日;4Port214Polt204Port22>or4Port244JP5VCC4Port25 4Port26 "4Port27 4R8_111223345656671K*8123478123458978894D1011726344JP4efDpy Blue-CC2gDPabcdK105矩陣鍵盤電路VCC(Port16-(Port17Port18-"1
24、1R11I5.1K1R125.1Krh 1R13U5.1K1S31R14 5.1KPort19附錄 2 實驗程序及硬件電路連接關系參考實驗一第一部分:/2JP3 1、 2 腳分別連接3JP2 1 、 2 腳/2JP2 1-8 腳分別連接JPP1 1-8 腳/ 本程序完成發(fā)光管循環(huán)閃亮/ 晶振為 11.0592MHz#include<reg51.h>void Delay100ms() / 延時 100ms unsigned char i, j, k;i = 5;j = 52;k = 195;dodowhile (-k); while (-j); while (-i);main()un
25、signed char i,y=0,temp=1;/ / 取反后為 8 個發(fā)光管控制初值while(1)P2=temp;for(i=0;i<10;i+)/ 延時 1sDelay100ms();temp=(temp<<1); / 左移 1 位+y;/ 計數器加 1if(y>7)/8 個發(fā)光管循環(huán)點亮一次后從新開始y=0;temp=1;第二部分:/ 晶振為 11.0592MHz/2JP3 1、 2 腳分別連接3JP2 1 、 2 腳/ 將 1JP2 1-8 腳分別與 2JP1 1-8 腳相連 ,將 JPP1 1-8 腳分別與 2JP2 1-8 腳分相連/ 將開關全置下,發(fā)光
26、管全滅,將開關全置上,發(fā)光管全亮#include<reg51.h>main()P1=0XFF;while(1)P2=P1;實驗二/ 晶振為 11.0592MHz/ 設定啟動時間為 10s, 8 臺逐一啟動/2JP3 1、 2 腳分別連接3JP2 1 、 2 腳/2JP1 1 、 2 腳分別連接1JP1 1 、 2 腳/2JP1 7 、 8 腳分別連接JPP5 4 、 6 腳/2JP2 1-8 腳分別連接JPP1 1-8 腳/P2 口模擬 8 臺電機啟停狀態(tài), 0 啟動, 1 停止#include<reg51.h>n1=200; / 計數器 1 ,對定時器中斷次數進行減1
27、 計數,初值200n2=7; / 計數器 2 ,對啟動電機臺數進行減1 計數,初值7+1 臺sbit start=P1A0; /啟動按鈕sbit stop=P1Al;/ 停止按鈕sbit led1=P1A6; /運行顯示sbit led2=P1A7;/ 停止運行顯示void time_0() interrupt 1TH0=0x4c; / 恢復定時初值TL0=0x00; / 恢復定時初值 50msn1-; / 定時器中斷次數進行減1if(n1=0) / 定時器減 1 到 0 (達到200*50ms)n1=200; / 定時器中斷次數恢復計數初值 200P2=(P2<<1); / 再啟
28、動下一臺電機n2-;/ 啟動電機臺數減1if(n2=0) TR0; /8 臺全啟動,停止定時器main()TMOD=0x01;/ 設置定時器模式TL0=0x00; / 設置定時初值 50msTH0=0x4c; / 設置定時初值EA=1; / 開定時器 0 中斷ET0=1;led1=1; / 停止指示燈亮led2=0; / 運行指示燈滅while(1)if(start=0) /判斷啟動按鈕是否按下,0按下P2=0xfe; /啟動第一臺電機TR0=1;/ 啟動定時器led1=0;/ 運行指示燈亮led2=1;/ 停止指示燈滅if(stop=0) / 判斷停止按鈕是否按下, 0按下TR0=0; /
29、停止定時器P2=0xff; / / 停止所有電機TH0=0x4c; / / 恢復定時初值TL0=0x00; / / 恢復定時初值50msn1=200; / 定時器中斷次數恢復計數初值200n2=7; / 恢復啟動電機總臺數led1=1; / 停止指示燈亮led2=0; / 運行指示燈滅實驗三- 19/*矩陣鍵盤實例*P1 口連接 4*4 鍵盤,行: P1.0-P1.3 ,列: P1.4-P1.7P0 口顯示鍵位號, P2 口顯示按下該鍵位的次數,超過 16 次從 0從新計數*/*/2JP3 1、 2 腳分別連接3JP2 1 、 2 腳/P1 連接 4*4 鍵盤,即 2JP1 連接 1JP3/P
30、0 口 (2JP0)連接共陰極數碼管(4JP5),顯示按下按鍵的次數/P2 口 (2JP2)連接共陽極數碼管(4JP2),顯示當前按下的鍵位號/分另1J將4JP3、4JP4的2、3腳用短路片短接/ 實驗結束后分別恢復原來的 4JP3、 4JP4 的 1 、 2 腳用短路片短接狀態(tài)#include <reg51.h>#define uchar unsigned char#define uint unsigned int/ 顯示段碼共陽 ,如要加上小數點則與上0x7fcode uchar seg7code_a=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf
31、8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;/ 共陰,如要加上小數點則或上 0x80uchar code seg7code_c=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/存放0、1、2、3、E、F鍵的鍵位值,高4位存按下按鍵所在的列、低4位存按下按鍵所在的行uchar code key_a16=0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d,0xeb,0xdb,0xbb,0x7b,0xe7,0xd7, 0
32、xb7,0x77;/ 保存每個按鍵按下的次數, 即: array0 存放 0 號鍵按下的次數, array1 存放 1 號鍵按下的次數,data uchar array16;void delay(uint a) / 延時 a 毫秒 uint i;while(-a!=0) for(i=0;i<125;i+);void main()uchar k,h;P0=0; / 關閉共陰極數碼管while(1)uchar h,l; /h :行 l :列P1=0xf0;/列全置高電平,行全置低電平, 即列輸入、行輸出if(P1!=0xf0) /若有鍵按下則列會出現低電平delay(10); / 按鍵去抖h
33、=P1&0xf0;P1=0x0f; / 電平反轉l=P1&0x0f; / 讀入行值while(P1!=0x0f);delay(10); / 按鍵去抖k=h|l; / 行值+列值,即按鍵值for(h=0;h<16;h+) if(key_ah=k) P0=seg7code_ch; arrayh=arrayh+1;/ 鍵盤處理/ 根據鍵值查鍵位號/ 保存當前按下的按鍵對應的數組元素增 1if(arrayh>15) arrayh=0 ;P2=seg7code_aarrayh;/ 顯示當前按下的按鍵累計次數- 29 -實驗四/2JP3 1 、 2 腳分別連接3JP2 1 、
34、2 腳/2JP2(P2 口 ) 1-8 腳分別連接 4JP1 8-1 腳,輸出要顯示數字的位碼/2JP0連接4JP2,輸出要顯示數字的段碼/2JP1(P1 口 ) 按管腳順序連接5JP7, 輸入轉換成的數字量/2JP3(P3 口 ) 按管腳順序連接5JP2/5JP1 1-3 分別連接 11JP10 5-7 腳/調節(jié)電位器11RW1數碼管顯示輸出的數字量#include<reg51.h>#include<intrins.h>/ 顯示段碼共陽 ,如要加上小數點則與上0x7f/ 顯示內容為 0、 1、 2、 3 、 4、 5 、 6 、 7 、 8、 9 、 a、 b、 c、
35、 d 、 e 、 f 、 -code unsigned char seg7code_a=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf;code unsigned char wm8=0X80,0X40,0X20,0X10,0X8,0X4,0X2,0x1;/ 位碼sbit START=P3A0;sbit OE=P3A1;sbit ADD0=P3A2;sbit ADD1=P3A3;sbit ADD2=P3A4;sbit ALE=P3A5;sbit EOC=P3A6;sbit C
36、LK=P3A7;data unsigned int temp; / 存放 ad 轉換結果data unsigned int temp18;/存放用于顯示的數據,高3位顯示ad轉換結果,低3位顯示電壓值data unsigned int i=0;/ 對顯示位數計數void time1() interrupt 1/ 定時器 T0 服務程序 CLK=CLK; / 輸出 25kKHz 方波void adzh(void )/A/D 轉換程序P3=0xC0;/ 原理:時序圖_nop_;_nop_;ALE=1;START=1;_nop_;_nop_;ALE=0;START=0;_nop_;_nop_;whi
37、le(EOC=0);OE=1;_nop_;temp=P1; / 存轉換結果void xscl(void) / 顯示處理,得到要顯示8 位數據的段碼temp10=temp/100;/ 轉換結果數字量temp11=temp%100/10;temp12=temp%10;temp13=16;temp14=16;temp15=(temp*100/51)/100); / 轉換結果對應的電壓值temp16=(temp*100/51)%100/10;temp17=(temp*100/51)%10;void delayms( unsigned char j)/ 延時 j 毫秒程序 unsigned char k
38、;while(j-) for(k=0;k<125;k+);void dtxs(void) / 動態(tài)顯示P2=0;P0 口if(i=5) P0=seg7code_atemp1i&0x7f;/ 送顯示數字段碼給else P0=seg7code_atemp1i;/ 加小數點P2=wmi;/ 送顯示數字位碼段碼給P2 口i+;if(i>7) i=0;delayms(2); / 延時main()TMOD=0x02; / 設置定時器模式,方式2TL0=0xee; / 設置定時初值定時時間 20usTH0=0xee; / 設置定時重載值EA=1; / 開定時器中斷T0ET0=1;TR0=
39、1; / 定時器開始定時while(1)adzh(); /AD 轉換xscl(); / 顯示數據處理dtxs(); / 數碼管動態(tài)顯示實驗五/*; 八路搶答器( 主控用數碼管顯示,搶答者指示帶有閃爍功能);2JP3 1 、 2腳分別連接3JP2 1 、 2 腳;P1 口( 2JP1 )連接獨立鍵盤輸入( 1JP1); 從新搶答按鈕P3.2 (2JP3 3 腳)連接 1 號開關 1JP2 1 腳, 也可不連接,用復位按鈕代替; 搶答聲音提示P3.3 ( 2JP3 4 腳)接嗡鳴器8JP4-2;P2 口( 2JP2 )連接發(fā)光管顯示(JPP2);P0 口( 2JP0)連接數碼管顯示(4JP2);4
40、JP3 2 、 3 腳用短路片短接,注意實驗后恢復原來的 1、 2 腳短接*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit P3_3=P3A3;/嗡鳴器控制輸出管腳,0響,1不響sbit P3_2=P3A2;/ 從新搶答,0鍵入,1無效/ 共陽極數碼管顯示段碼,如要加上小數點則與上0x7fcode unsigned char seg7code_a=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa
41、1,0x86,0x8e;code uchar jpsr8=1,2,4,8,0x10,0x20,0x40,0x80;/ 當 1-8 號按鍵分別按下時,口 P1 取反對應的數值uchar display(uchar temp) / 查輸入按鍵的段碼即 搶答選手號對應的段碼uchar k;for (k=0;k<0x7;k+) if(jpsrk=temp) break;return(seg7code_a+k);void delay100ms (uchar n) / / 延時 n*100ms uchar i, j, k,h;for(h=0;h<n;h+)i = 5;j = 52;k = 19
42、5; do do while (-k); while (-j); while (-i);main() uchar input1;bit start;uint j;while(1)i nput1=P1; / 臨時保存 8 個按鈕但前狀態(tài)start=P3_2; / 臨時保存從新搶答按鈕狀態(tài)if(start=0) / 是否鍵入從新搶答, 0 鍵入 P1=0xff; / P1 、 P2、 P0 口置1,恢復初始狀態(tài)P2=0xff;P0=0xff; if(input1&&input1) / 判斷是否有選手搶答P1=0;/ 屏蔽其他選手P2=input1; / 顯示搶答選手P0=displ
43、ay(input1) ; / 調用 display (),查搶答選手段碼,送P0 口顯示P3_3=0;/ 嗡鳴器響for(j=0;j<5;j+) / 閃爍 5 次 delay100ms(1);P2=0xff; / 滅 delay100ms(1);P2=input1; / 顯示 P3_3=1;/ 嗡鳴器停止發(fā)生/* 單片機 stc11f60xe 12MHz 晶振 */*P0段選 ,P2 位選*/*P1.0:時分秒設置切換*/實驗六/*P1.1 :增 1 ; P1.2 :減 1*/2JP3 1、 2 腳分別連接3JP2 1 、 2 腳/2JP0 1-8 腳分別連接4JP2 1-8 腳/2JP
44、2 1-8 腳分別連接4JP1 8-1 腳/2JP1 1 、 2、 3、 5、 7、 8 腳分別連接1JP1 1 、 2、 3、 5、 7、 8腳/1JP1 1 腳為時分秒設置切換鍵, 1JP1 2 腳增 1 鍵, 1JP1 3 腳為減 1 鍵/1JP1 5 腳為電子鐘與計時器切換鍵/1JP1 7 腳為計時、暫停鍵, 1JP1 8 腳為計時器清零鍵#include<reg51.h>#define uchar unsigned char#define uint unsigned intuchar code tab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,
45、0xf8,0x80,0x90,0xbf,0xff;uint int_time; /* 定義中斷次數計數變量*/char second; /* 秒計數變量*/char minute; /* 分鐘計數變量*/char hour; /* 小時計數變量*/uint int_time1; /* 定義中斷次數計數變量*/char ms1; / 毫秒計數 1char second1; /* 秒計數變量1*/char minute1; /* 分鐘計數變量1*/char hour1; /* 小時計數變量1*/uchar temp=2; / 調整時分秒設置變量bit temp1; / 顯示方式設置變量sbit P2_0=P2A0;/ 數碼管位選sbit P2_1=P2A1;sbit P2_2=P2A2;sbit P2_3=P2A3;sbit P2_4=P2A4;sbit P2_5=P2A5;sbit P2_6=P2A6;sbit P2_7=P2A7;sbit P1_0=P1A0;/時分秒調整切換sbit P1_1=P1A1;/時鐘加1sbit P1_2=P1A2;/時鐘減1sbit P1_4=P1A4;/時鐘、計時切換sbit P1_6=P1A6;/計時啟停sbit P1_7=P1A7;/計時清零void T0_interserve(void) interrupt 1 using 0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版工業(yè)地皮購置與交易全程稅務籌劃合同3篇
- 二零二五年教育培訓機構兼職教師雇傭協(xié)議書3篇
- 蘇州工業(yè)園區(qū)服務外包職業(yè)學院《電液控制工程》2023-2024學年第一學期期末試卷
- 二零二五版生態(tài)環(huán)保型建筑材料銷售合同3篇
- 二零二五年度定制化餐盒包裝解決方案合同3篇
- 2025年度高新技術企業(yè)研發(fā)項目財務擔保合同會計處理細則3篇
- 2024版茶樓活動策劃合同2篇
- 二零二五年服裝店導購員培訓與激勵合同范本3篇
- 山西鐵道職業(yè)技術學院《矯正社會工作》2023-2024學年第一學期期末試卷
- 廈門海洋職業(yè)技術學院《創(chuàng)意表現圖案》2023-2024學年第一學期期末試卷
- 公路工程施工現場安全檢查手冊
- 公司組織架構圖(可編輯模版)
- 1汽輪機跳閘事故演練
- 陜西省銅川市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細
- 禮品(禮金)上交登記臺賬
- 北師大版七年級數學上冊教案(全冊完整版)教學設計含教學反思
- 2023高中物理步步高大一輪 第五章 第1講 萬有引力定律及應用
- 青少年軟件編程(Scratch)練習題及答案
- 浙江省公務員考試面試真題答案及解析精選
- 系統(tǒng)性紅斑狼瘡-第九版內科學
- 全統(tǒng)定額工程量計算規(guī)則1994
評論
0/150
提交評論