版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
C51單片機編程與應用-第13單元題庫1、在簡易時鐘系統(tǒng)中,采用步進電機模擬秒表指針的旋轉。簡述五線四相步進電機的工作方式有哪些。(簡答題)答案:四相步進電機按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍也叫一相勵磁,通電順序為:A→B→C→D;特點是精度好,功耗小,但輸出轉矩小,振動較大。步距角等于電機標稱的步距角。雙四拍也叫二相勵磁,通電順序為:AB→BC→CD→DA;特點是輸出轉矩大,振動小,但功耗大。步距角等于電機標稱的步距角。八拍也叫一二相勵磁,通電順序為:A→AB→B→BC→C→CD→D→DA;特點是分辨率高,運轉平滑。步距角為電機標稱的1/2。
知識點:13綜合項目2、通過“SIIT-e路向芯”單片機開發(fā)板來實現相應功能,具體要求如下:數碼管實現秒、分、時的時間顯示,不同時間之間用“-”號連接。步進電機每一分鐘旋轉一圈。獨立按鍵實現對時間的加減調整。單片機上電后數碼管開始以秒為單位從59開始向下遞減數字,至0后清零再次遞減,實現倒計時功能。(程序題)參考答案:#include"reg52.h"http://包含51單片機寄存器定義的頭文件#include"intrins.h"http://包含空指令_nop_()的頭文件sbitDU=P2^7; //控制數碼管顯示信息的鎖存引腳sbitWE=P2^6;//控制數碼管亮滅位的鎖存引腳array[]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F};//共陰數碼管0-9字形碼charSecond=55,Minute=59,Hour=23,frequency=0;unsignedcharccw[]={0X6F,0X7F,0X3F,0XBF,0X9F,0XDF,0XCF,0XEF};//反轉數組sbitK1=P3^0;//SW8sbitK2=P3^1;sbitK3=P3^2;sbitK4=P3^3;sbitK5=P3^4;sbitK6=P3^5;sbitK7=P3^6;//SW2bitPattern;voidDelay(unsignedintms) { unsignedchari,j; unsignedintfrequency; for(frequency=0;frequency<ms;frequency++) { _nop_(); i=2; j=199; do { while(--j); }while(--i); }}voidDelay100us(void) //@11.0592MHz{ unsignedchari; _nop_(); i=43; while(--i);}voidDelay13337us() //@11.0592MHz{ unsignedchari,j; _nop_(); i=24; j=230; do { while(--j); }while(--i);}voidKey_Distinguish(void){if(K7==0)//判斷K7按鍵是否按下{ Delay(10);if(K7==0)Pattern=~Pattern; while(K7==0);}if(Pattern==0)//判斷是否在設置模式,是則進入語句{ if(K1==0)//判斷K1按鍵是否按下 { Delay(10);//消抖 if(K1==0)Hour++; while(K1==0);//等待按鍵釋放 if(Hour>=24)Hour=0; } if(K2==0)//判斷K2按鍵是否按下 { Delay(10);//消抖 if(K2==0)Hour--; while(K2==0);//等待按鍵釋放 if(Hour<0)Hour=23; } if(K3==0)//判斷K3按鍵是否按下 { Delay(10);//消抖 if(K3==0)Minute++; while(K3==0);//等待按鍵釋放 if(Minute>=60)Minute=0; } if(K4==0)//判斷K4按鍵是否按下 { Delay(10);//消抖 if(K4==0)Minute--; while(K4==0);//等待按鍵釋放 if(Minute<0)Minute=59; } if(K5==0)//判斷K5按鍵是否按下 { Delay(10);//消抖 if(K5==0)Second++; while(K5==0);//等待按鍵釋放 if(Second>=60)Second=0; } if(K6==0)//判斷K6按鍵是否按下 { Delay(10);//消抖 if(K6==0)Second--; while(K6==0);//等待按鍵釋放 if(Second<0)Second=59; } }}voidDigital_tube_display(charwei,charduan){ WE=1; //消隱 P0=0XFF; WE=0;WE=1;//打開位選鎖存(進行亮滅位控制) P0=wei;//控制開發(fā)板中四位數碼管進行顯示 WE=0;//關閉位選鎖存 DU=1; //打開段選鎖存(對顯示信息進行控制) P0=duan; //對秒表的個位進行顯示 DU=0; //關閉段選鎖存 Delay100us();//調整延時時間可調節(jié)數碼管亮度 DU=1; //消隱 P0=0X00; DU=0; WE=1; //消隱 P0=0XFF; WE=0;}voiddisplay(void){unsignedcharPosition,Ten_bits;Position=Second%10;//秒的個位計算Ten_bits=Second/10;//秒的十位計算Digital_tube_display(0XBF,array[Ten_bits]);//秒的十位顯示Digital_tube_display(0X7F,array[Position]);//秒的個位顯示Digital_tube_display(0XDF,0X40);//間隔符顯示Position=Minute%10;//分鐘的個位計算Ten_bits=Minute/10;//分鐘的十位計算Digital_tube_display(0XF7,array[Ten_bits]);//分鐘的十位顯示Digital_tube_display(0XEF,array[Position]);//分鐘的個位顯示Digital_tube_display(0XFB,0X40);//分隔符顯示Position=Hour%10;//小時的個位計算Ten_bits=Hour/10;//小時的十位計算Digital_tube_display(0XFE,array[Ten_bits]);//小時的十位顯示Digital_tube_display(0XFD,array[Position]);//小時的個位顯示}voidInit_timer0(void){TMOD|=0X01;//定時器0工作方式1定時器1 TH0=(65536-46080)/256;//高八位的初值 TL0=(65536-46080)%256;//第八位初值 EA=1;//整體中斷允許 ET0=1;//定時器0中斷允許 TR0=1;//開啟定時器0}voidmain(void){ Init_timer0();//初始化中斷 Pattern=1; while(1) { unsignedchari; //定義變量i,用來取數組中的值 for(i=0;i<8;i++) //不斷進入for循環(huán)完成舵機旋轉的八拍 { if(Pattern==0)i=0;//當進入調時模式,保證顯示正常而電機不工作 P2=ccw[i]>>2; //取正轉數組中的值讓P2口輸出 Delay13337us();//延時13337us Key_Distinguish();//按鍵掃描 } }}voidTimer0_isr(void)interrupt1{TH0=(65536-46080)/256;//重新賦值初值TL0=(65536-46080)%256;display();if(Pattern==1)frequency++;//判斷是否處于設置模式if(frequency>=20)//中斷時間為50ms一次,20次即一秒{frequency=0; Second--; if(Second<0) { Second=59; Minute--; if(Minute<0) { Minute=59; Hour--; if(Hour<0)Hour=23; } }}}知識點:13綜合項目3、通過“SIIT-e路向芯”單片機開發(fā)板來實現相應功能,具體要求如下:按下按鍵K1,8個LED顯示從上到下輪流點亮2次,每個燈亮500ms;按下按鍵K2,LED從上到下依次點亮1次,每個燈亮500ms;按下按鍵K3,LED一隔一點亮3次,每個燈亮500ms;按下按鍵K4,LED乒乓點亮2次,每個燈亮500ms。執(zhí)行完每次按鍵后,燈全部熄滅。(程序題)參考答案:#include<reg51.h>sbitK1=P3^0;sbitK2=P3^1;sbitK3=P3^2;sbitK4=P3^3;voidDelayms(unsignedintxms){unsignedinti,j;for(i=xms;i>0;i--)for(j=110;j>0;j--);}voidDmove_led(unsignedchartimes)//從上到下輪流{ unsignedchari=0,j=0; for(j=0;j<times;j++) { for(i=0;i<8;i++) { P1=~(1<<i); Delayms(500); }} P1=0xff; Delayms(500);}voidOn_led(unsignedchartimes)//從上到下依次{ unsignedchari=0,j=0; for(j=0;j<times;j++) { for(i=0;i<8;i++) { P1=(0xfe<<i); Delayms(500); }} P1=0xff; Delayms(500);}voidFlash(unsignedchartimes)//閃爍{ unsignedchari=0,j=0; for(i=0;i<times;i++) { P1=0x55; Delayms(500); P1=~P1; Delayms(500); } P3=0xff; Delayms(500);}voidPingPang(unsignedchartimes)//乒乓球花樣{ unsignedchari=0,j=0; for(j=0;j<times;j++) { for(i=0;i<7;i++) { P1=~(1<<i); Delayms(500); } for(i=0;i<8;i++) { P1=~(0x80>>i); Delayms(500); } } P1=0xff; Delayms(500);}voidmain(void){unsignedchartimes=0; while(1) { if(K1==0) { Delayms(10); if(K1==0) { times=2; Dmove_led(times); } } if(K2==0) { Delayms(10); if(K2==0) { times=1; On_led(times); } } if(K3==0) { Delayms(10); if(K3==0) { times=3; Flash(times); } } if(K4==0) { Delayms(10); if(K4==0) { times=2; PingPang(times); } } }}知識點:13綜合項目4、簡述任務可調簡易時鐘系統(tǒng)含有哪些基本模塊和系統(tǒng)的工作流程。(簡答題)答案:可調簡易時鐘系統(tǒng)在單片機最小系統(tǒng)的基礎上,結合了數碼管、步進電機和獨立按鍵模塊,其工作流程如下:當系統(tǒng)上電后,單片機數碼管顯示23-59-50,并開始以秒為單位進行計時顯示,步進電機隨著時間的累積每一分鐘正向轉動一圈。按鍵識別函數不斷運行,當識別到K7按鍵被按下時,系統(tǒng)停止計時,進入時鐘設置模式。此時,每按下一次K1,時鐘值+1;每按下一次K2,時鐘值-1;每按下一次K3,分鐘值+1;每按下一次K4,分鐘至-1;每按下一次K5,秒鐘值+1;每按下一次K6,秒鐘值-1。設置完想要的時間后,再按下K7,系統(tǒng)從設置模式恢復到計時模式
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030汽車零部件電子控制系統(tǒng)技術升級市場競爭格局核心配套企業(yè)研究計劃
- 2025-2030汽車零部件制造業(yè)新能源汽車關鍵零部件研發(fā)與安全標準規(guī)劃報告
- 2025-2030汽車雕塑設計行業(yè)市場供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030汽車智能駕駛產業(yè)現狀供需研究及未來發(fā)展前景評估規(guī)劃
- 2025-2030汽車后市場行業(yè)服務連鎖與數字化營銷策劃
- 2025-2030汽車S店行業(yè)市場供需分析及投資評估規(guī)劃分析研究報告
- 2026年跨境電商公司質量計劃編制與實施管理制度
- 2026年跨境電商公司物資與商品調撥管理制度
- 數字社交關系網絡構建課題申報書
- 環(huán)境內分泌干擾物生殖健康保護策略課題申報書
- 浙江省寧波市2024-2025學年高三上學期期末模擬檢測語文試題(原卷版+解析版)
- 生態(tài)修復技術集成-深度研究
- 中小企業(yè)專利質量控制指引編制說明
- 旅游行業(yè)安全風險管控與隱患排查方案
- 專題15 物質的鑒別、分離、除雜、提純與共存問題 2024年中考化學真題分類匯編
- DL-T5418-2009火電廠煙氣脫硫吸收塔施工及驗收規(guī)程
- 復方蒲公英注射液在痤瘡中的應用研究
- 高考數學專題:導數大題專練(含答案)
- 腘窩囊腫的關節(jié)鏡治療培訓課件
- 淮安市2023-2024學年七年級上學期期末歷史試卷(含答案解析)
- 課件:曝光三要素
評論
0/150
提交評論