版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、STC單片機創(chuàng)新實踐應用課件說明 由于本書面向的是單片機實踐,不是理論教學,課件以便于實踐為目的,主要包括書中各個案例的電路圖,實物圖,若干系統(tǒng)調(diào)試與運行圖示。第一章 TM1638按鍵顯示模塊圖1-3 TM1638模塊及其與單片機的連接第一章 TM1638按鍵顯示模塊圖1-10 程序運行實況/*File:TM1638.c*/#includevoid InitTM1638(void);unsigned char GetKey(void);void FontToSEG(unsigned char col,unsigned char font);void NumToAllSEG(long int n
2、);void NumTo1234SEG(int n);void NumTo5678SEG(int n);void BitToLED(unsigned char col,bit b);void CharToAllLED(unsigned char c);/*TM1638模塊引腳定義*/#defineSTBP00#defineCLKP01#defineDIOP02/*共陰數(shù)碼管顯示代碼*/unsigned char code tab=0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x07,0 x7F,0 x6F;/09/*,0 x77,0 x7C,0 x39
3、,0 x5E,0 x79,0 x71*/*向TM1638寫字節(jié)數(shù)據(jù)函數(shù)c: 要寫入的字節(jié)數(shù)據(jù)*/void WriteTM1638(unsigned charc)unsigned char i;for(i=0;i=1;CLK=1;/*從TM1638讀數(shù)據(jù)函數(shù)返回:讀取的字節(jié)數(shù)據(jù)*/unsigned char ReadTM1638 (void)unsigned char i;unsigned char temp=0;DIO=1;/設(shè)置為輸入for(i=0;i=1;CLK=0;_nop_();_nop_();_nop_();_nop_();if(DIO)temp|=0 x80;CLK=1;retur
4、n temp;/*向TM1638發(fā)送命令字函數(shù)cmd:1字節(jié)的命令*/void WriteTM1638CMD(unsigned char cmd)STB=0;WriteTM1638(cmd);STB=1;/*TM1638初始化函數(shù)*/void InitTM1638(void)unsigned char i;WriteTM1638CMD(0 x8b); /亮度 (0 x88-0 x8f)8級亮度可調(diào)WriteTM1638CMD(0 x40); /采用地址自動加1STB=0;WriteTM1638 (0 xc0); /設(shè)置起始地址for(i=0;i16;i+)/傳送16個字節(jié)的數(shù)據(jù)WriteTM1
5、638(0 x00);STB=1;/*讀TM1638按鍵函數(shù),返回:按鍵鍵值:從左到右鍵值依次為0.7,其它值無效*/unsigned char GetKey(void)unsigned char c4,i,key_value=0;STB=0;WriteTM1638(0 x42); /讀按鍵命令for(i=0;i4;i+)ci= ReadTM1638 ();STB=1; /4個字節(jié)數(shù)據(jù)合成一個字節(jié)for(i=0;i4;i+)key_value|=cii;for(i=0;i8;i+)if(0 x01i)=key_value)break;return i;/*TM1638數(shù)碼管顯示字型的函數(shù)col
6、:數(shù)碼管序號,從左到右依次為0.7*/void FontToSEG (unsigned char col,unsigned char font)WriteTM1638CMD(0 x44);STB=0;WriteTM1638(0 xc0|(col*2);WriteTM1638(font);STB=1;/*控制TM1638一個LED的函數(shù)num:要控制的led序號,從左到右依次為0.7flag:0時熄滅LED,非0時點亮LED*/void BitToLED(unsigned char col,bit b)WriteTM1638CMD(0 x44);STB=0;WriteTM1638(0 xc0|(
7、col*2+1);WriteTM1638(b?1:0);STB=1; /*控制TM1638全部LED函數(shù)c:D7.D0輸出到LED1.LED8*/void CharToAllLED(unsigned char c)unsigned char i;for(i=0;i8;i+)BitToLED(i, c&(1i);/*用TM1638的8個數(shù)碼管顯示1個整數(shù)n:要顯示的整數(shù)*/#include#includevoid NumToAllSEG(long int n)unsigned char buf16,font,i;for(i=0;i8;i+)bufi=0;/清緩沖區(qū)sprintf(buf,%Ld,
8、n);/把n格式化為ASCII字符串i=0;if(buf0=-)FontToSEG(0,0 x40);/顯示負號i=1;for(;i8;i+)font= isdigit(bufi)?tabbufi-0:0;FontToSEG(i,font); /*用TM1638的左邊4個數(shù)碼管顯示1個整數(shù)n:要顯示的整數(shù)*/void NumTo1234SEG(int n)unsigned char buf16,font,i;for(i=0;i8;i+)bufi=0;/清緩沖區(qū)sprintf(buf,%d,n);/把n格式化為ASCII字符串i=0;if(buf0=-)FontToSEG(0,0 x40);/顯
9、示負號i=1;for(;i4;i+)font= isdigit(bufi)?tabbufi-0:0;FontToSEG(i,font); /*用TM1638的右邊4個數(shù)碼管顯示1個整數(shù)n:要顯示的整數(shù)*/void NumTo5678SEG(int n)unsigned char buf16,font,i;for(i=0;i8;i+)bufi=0;/清緩沖區(qū)sprintf(buf,%d,n);/把n格式化為ASCII字符串i=0;if(buf0=-)FontToSEG(4,0 x40);/顯示負號i=1;for(;i4;i+)font= isdigit(bufi)?tabbufi-0:0;Fon
10、tToSEG(i+4,font); /*File:P1_4.c*/#include#includemain()/*主函數(shù)*/InitTM1638();/初始化TM1638模塊NumToAllSEG(12345678);/顯示12345678while(1)/主循環(huán)char key,i;/ 定義key,i為字符型(char)變量switch(key=GetKey()/讀TM1638模塊按鍵鍵值case 0: case 1: case 2: case 3:case 4:case 5:case 6:case 7:NumToAllSEG(key);/如果鍵值為0.7,送到數(shù)碼管顯示CharToAllL
11、ED(1key);/點亮對應的LEDbreak; default: /無鍵按下(鍵值為8),清除顯示/*for(i=0;i8;i+)FontToSEG(i,0);/熄滅所有數(shù)碼管CharToAllLED(0);/熄滅所有LED*/break;2.1 ADC應用電位器輸入檢測圖2-3 電位器輸出檢測接線圖圖2-6 電位器輸入檢測實況2.2 T0計數(shù)應用光電開關(guān)脈沖計數(shù)圖2-10 T0計數(shù)應用接線圖圖2-12 T0脈沖計數(shù)運行實況2.3 T0定時應用繼電器控制圖2-15 繼電器控制接線圖圖2-17 繼電器控制運行實況2.4 T0、T1聯(lián)合定時舵機控制圖2-20 舵機控制接線圖圖2-21 舵機控制實
12、況2.5 T0、T1、ADC、并口應用直流電機控制圖2-25 直流電機控制接線圖圖2-26 直流電機PWM調(diào)速運行實況2.6 T0、T1、ADC、并口應用步進電機控制圖2-28 步進電機控制接線圖圖2-29 步進電機控制運行實況3.1 PCA捕獲功能應用旋轉(zhuǎn)編碼器脈沖計數(shù)圖3-3 旋轉(zhuǎn)編碼器應用接線圖圖3-4 旋轉(zhuǎn)編碼器脈沖檢測實況3.2 PWM輸出應用直流電機調(diào)速圖3-7 直流電機調(diào)速與測速接線圖圖3-9 直流電機PWM調(diào)速與測速實況3.3 PCA0、PCA1應用直流電機滑臺控制圖3-11 直流電機滑臺控制接線圖圖3-13 直流電機滑臺控制運行實況3.4 PCA脈沖輸出應用步進電機微步控制圖
13、3-15 步進電機微步控制接線圖圖3-17 步進電機微步控制運行實況3.5 串口應用串口舵機控制圖3-18 串口舵機控制接線圖圖3-20 串口舵機控制實況3.6 串口應用藍牙傳輸超聲測距值圖3-22 超聲測距應用接線圖圖3-24 超聲測距應用硬件組成 3-25 手機接收與發(fā)送4.1 紅外遙控器鍵碼檢測圖4-4 紅外遙控器鍵碼檢測接線圖圖4-5 紅外遙控器鍵碼測試硬件組成4.2 紅外遙控器遙控步進電機運行圖4-7 配有IR和A4988的單片機控制接線圖圖4-9 紅外遙控器遙控步進電機硬件組成4.3 SPI總線應用DS1302模塊測試圖4-12 DS1302應用接線圖圖4-13 DS1302測試硬
14、件組成 4.4 單總線應用DHT11模塊測試圖4-16 DHT11模塊測試接線圖圖4-17 DHT11測試硬件組成 5.1 增強型PWM輸出測試圖5-3 增強型PWM測試接線圖圖5-5 增強型PWM測試實物5.2 PWM輸出與引腳置換應用雙驅(qū)小車控制圖5-8 雙驅(qū)小車的調(diào)速與換向接線圖圖5-10 STC15控制的雙驅(qū)小車5.3 ADC與PWM應用舵機機械手的操控圖5-13 舵機機械手操控接線圖圖5-14 STC15控制的三舵機機械手5.4 CCP應用三路超聲測距的實現(xiàn)圖5-16 三路超聲測距小車模塊接線圖圖5-18 三路超聲測距小車5.5 外部中斷應用滑塊自動往返控制圖5-21 滑塊自動往返控
15、制接線圖圖5-23 滑臺自動往返控制實物5.6 SPI應用MAX6675測溫與NRF24L01無線通信圖5-30 MAX6675測溫與NRF24L01發(fā)射應用接線圖圖5-31 NRF24L01接收與STC15串口發(fā)送接線圖圖5-32 MAX6675測溫與NRF24L01發(fā)射圖5-33 NRF24L01接收與STC15串口發(fā)送5.7 比較器測試圖5-36 比較器測試接線圖圖5-37 比較器測試的硬件組成及運行實況6.1 三色LED控制圖6-2 三色LED控制接線圖圖6-3USART HMI觸控三色LED6.2 電位器輸入測試圖6-8 ADC測試接線圖圖6-9ADC測試實況6.3 舵機操控圖6-1
16、2 USART HMI觸控舵機接線圖圖6-13 舵機操控實況6.4 MAX6675測溫曲線顯示圖6-17 MAX6675測溫及曲線顯示接線圖圖6-18 MAX6675測溫與HMI顯示6.5 步進電機滑臺與安卓app設(shè)計圖6-19 步進電機滑臺控制接線圖圖6-20 安卓app主窗口及其組件列表圖 6-22 步進電機滑臺系統(tǒng)及運行實況/main函數(shù)main()EXInit();T0Init();T4Init();/初始化T4S1Init();P4M1=0 x00,P4M0=0 xf0;/P4.4.P4.7推挽輸出P3M1=0 x00,P3M0=0 x00;P1M1=0 x00,P1M0=0 x00
17、;EA=1;while(1)/主循環(huán)bit b;unsigned int n;int last;if(S1Rcv(RcvBuf,7) /如果S1成功接收了信息 switch(RcvBuf0) case P:/滑塊右移1步 Xcmd = Xpos + 1;TR0 = 1;break; case N:/滑塊左移1步 Xcmd = Xpos - 1;TR0 = 1;break; case Y:/滑塊右行到終點 Xcmd = Xpos + 5000;TR0 = 1;break; case Z:/滑塊左行到終點 Xcmd = Xpos - 5000;TR0 = 1;break; case T:/電機停止
18、命令 TR0=0;IN1=IN2=IN3=IN4=0;/定子繞組斷電break; case F:/電機頻率指令n = atoi(RcvBuf+1);/取頻率值,即T0溢出頻率if(n8;/向T0裝入計數(shù)初值TL0 = (65536-n);TR0 = b;break; case W:/設(shè)定位置指令n = atoi(RcvBuf+1);/取設(shè)定位置值Xcmd = n;TR0 = 1;break; for(n=0;n8;n+)RcvBufn=0;/清RcvBuf緩存if(S1Send & last!=Xpos) /發(fā)送標志S1Send = 0;last=Xpos;if(!SWl | !SWr)TR0=0;printf( %d,last);6.6 直流電機滑臺與安卓app設(shè)計圖6-23 直流電機驅(qū)動的光柵定位應用接線圖圖6-24 光柵尺和光柵測頭組件圖6-25 安卓app主窗口及其組件列表圖6-28 直流電機滑臺的硬件組成和運行實況6.7 圓盤式點膠機與安卓app設(shè)計圖6-29 圓盤式點膠機控制接線圖圖6-30 安卓app主窗口及其組件列表圖6-33 圓盤式點膠機硬件組成6.8 XY打標機與安卓app設(shè)計圖6-35 XY打標機控制接線圖圖6-36 安卓app主窗口及其組件列表圖6-38 XY打標機實物7.1 I/O接點的PC
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度水果種植基地土地流轉(zhuǎn)合同3篇
- 2024年新型投資理財擔保合同書范例3篇
- 2024年終止房地產(chǎn)獨家銷售合同3篇
- 2024年度油罐車運輸服務(wù)及設(shè)備維護合同3篇
- 信息系統(tǒng)項目管理師教程(第3版)-20210804230838
- 小巴郎,童年的太陽教案
- 公司戰(zhàn)略與薪酬戰(zhàn)略
- “戰(zhàn)略性礦產(chǎn)資源開發(fā)利用”重點專項2022年度項目申報指南
- 鉀肥企業(yè)的法律風險防范考核試卷
- 音響設(shè)備高低音單元匹配技術(shù)考核試卷
- 柯橋區(qū)五年級上學期語文期末學業(yè)評價測試試卷
- 中國礦業(yè)大學《自然辯證法》2022-2023學年期末試卷
- TCWAN 0105-2024 攪拌摩擦焊接機器人系統(tǒng)技術(shù)條件
- 江蘇省期無錫市天一實驗學校2023-2024學年英語七年級第二學期期末達標檢測試題含答案
- 耕地占補平衡系統(tǒng)課件
- 2022年山東師范大學自考英語(二)練習題(附答案解析)
- 醫(yī)院工作流程圖較全
- NB/T 11431-2023土地整治煤矸石回填技術(shù)規(guī)范
- 醫(yī)療器械集中采購文件(2024版)
- 上海市2024-2025學年高一語文下學期分科檢測試題含解析
- 血液透析高鉀血癥的護理查房
評論
0/150
提交評論