freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機的步進(jìn)電機控制系統(tǒng)畢業(yè)設(shè)計論文(參考版)

2025-07-05 18:21本頁面
  

【正文】 //給 TH0, TL0 賦初始值 TL0 = LO } if(location==3)
。 BB=1; CC=0 while(!TF0) //等待定時器計時時間到 TF=0。 TH0 = HI。 //給 TH0, TL0 賦初始值 TL0 = LO } if(location==2) { AA=1。 BB=0; CC=1 while(!TF0) //等待定時器計時時間到 TF=0。 TH0 = HI。 //給 TH0, TL0 賦初始值 TL0 = LO } 六拍 走步脈沖為 AABBBCCCA,程序?qū)崿F(xiàn)方法: if(location==1) { AA=0。 BB=1; CC=1 while(!TF0) //等待定時器計時時間到 TF=0。 TH0 = HI。 //給 TH0, TL0 賦初始值 TL0 = LO } if(location==6) { AA=0。 BB=0; CC=0 while(!TF0) //等待定時器計時時間到 TF=0。 TH0 = HI。 //給 TH0, TL0 賦初始值 TL0 = LO } 雙三拍 走步脈沖為 ABBCCA,程序?qū)崿F(xiàn)方法: if(location==4) { AA=0。 BB=1; CC=1 while(!TF0) //等待定時器計時時間到 TF=0。 TH0 = HI。 //給 TH0, TL0 賦初始值 TL0 = LO } if(location==2) 32 { AA=1。 BB=0; CC=1 while(!TF0) //等待定時器計時時間到 TF=0。 由鍵盤選擇運行模式,在主函數(shù)中根據(jù)鍵值進(jìn)入相應(yīng)的子程序。 7)不同運行模式:該系統(tǒng)步進(jìn)電機共有三種運行模式,分別是單三拍、雙三拍、六拍模式。 sbit BB=P1^1。 sbit rst= P2^4。 //H=并口 。 //input enable。 L=write。 sbit rw = P2^1。 //H=data。 6)系統(tǒng)初始化:初始化程序中,根據(jù)原理圖確定各個 I/0 口變量名、函數(shù)聲明,頭文件、宏定義等。 TH0 = HI。 BB=1; CC=1。 TH0 = HI。 //給 TH0, TL0 賦初始值 TL0 = LO } if(location==2) { AA=1。 while(!TF0) //等待定時器計時時間到 TF=0。j++) //循環(huán)次數(shù)為步數(shù)變量 { if(location==1) //根據(jù)光電編碼器返回值確定下一步動作 { AA=1。 for(j=0。 流程圖與控制轉(zhuǎn)向相同,下面列出 預(yù)置步數(shù)時程序的實現(xiàn)方法。in。 模式為連續(xù)運行非預(yù)置步數(shù)時,程序循環(huán)使用 while(1)。 鍵盤在接入單片機 I/O 口的同時接入 單片機的外部中斷引腳,在 鍵盤按下時進(jìn)入中斷來判斷鍵值,這樣既可在運行時改變參數(shù)。 _TH0_TL0_=65536 timedata HI=_TH0_TL0_ / 256 //給高 8 位賦值 LO=_TH0_TL0_ % 256 //給低 8 位賦值 Timer0Init()。 //總中斷開 } key_certain () interrupt 0 using 2 //外部中斷 0 子程序 { if( key==2) timedata=timedata10。 //啟動定時器 0 ET0 = 1。 //給 TH0, TL0 賦初始值 開始 讀取鍵值 是否為加速、減速鍵 Y 改變定時器參數(shù) 初始化定時器 返回 N 29 TL0 = LO。 子程序流程圖: 圖 42 下面列出部分程序及實現(xiàn)功能 void Timer0Init(void) //初始化定時器 0 程序 { TMOD = 0x01。 } 2)轉(zhuǎn)速控制: 調(diào)用單片機內(nèi)定時器作為延時時間源,將定時器時間設(shè)定作為一個子程序,定時器參數(shù)為變量 ,根據(jù)鍵盤輸入來改變定時器設(shè)定參數(shù),從而改變轉(zhuǎn)速。 if(lie3==0) key=3*j+2。 }//逐行置 0 if(lie1==0) key=3*j+0。 hang2=1。 hang3=1。 } if(j==1) { hang1=1。 hang2=1。j3。 } else return=0。 Y N 進(jìn)入中斷 鍵盤第 N 行置 1 逐行檢測鍵盤列信號 是否為 0 計算鍵值 返回主函數(shù),返回值為鍵值 N+1 27 if(lie1!=1|lie2!=1|lie3!=1)//延時去抖動,再次確認(rèn)鍵被按下,鍵按下返回值為 1,否則為 0 key=1。 hang3=0。 key_certain () interrupt 0 using 2 //外部中斷 0 子程序 { char key=0 hang1=0。 26 程序的設(shè)計 各功能程序設(shè)計方案 1)不同控制方式運行: 用鍵盤選擇運行方式,當(dāng)鍵盤按下時進(jìn)入中斷, 根據(jù)鍵盤輸入,將轉(zhuǎn)向、控制方式、是否預(yù)置步數(shù)各設(shè)置一個變量表示,設(shè) 置完成后,根據(jù) 各變量值選擇進(jìn)入相應(yīng)子函數(shù)進(jìn)行控制。 C 語言對編寫需要硬件進(jìn)行操作的場合,明顯優(yōu)于其它解釋型高級語言,有一些大型應(yīng)用軟件也是用 C 語言編寫的。 4) C 語言適用范圍大。另外 C 語言也具 有強大的圖形功能,支持多種顯示器和驅(qū)動器。 3) C 語言功能齊全。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦?,便于使用、維護(hù)以及調(diào)試。 2) C 是結(jié)構(gòu)式語言。它把高級語言的基 本結(jié)構(gòu)和語句與低級語言的實用性結(jié)合起來。因此,它的應(yīng)用范圍廣泛,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到 C 語言,具體應(yīng)用比如單片機以及嵌入式系統(tǒng)開發(fā)。它既具有高級語言的特點,又具有匯編語言的特點。 C 語言是 Combined Language(組合語言)的中英混合簡稱。 3) 匯編語言程序能直接管理和控制硬件設(shè)備,它能直接處理中斷。其特點為: 1) 匯編語言是針對機器的語言,程序設(shè)計人必須對單片機的硬件有相當(dāng)?shù)牧私狻S脵C器語言編寫的程序,不易看懂,不便于記憶,且容易出錯。運行過程中通過主程序調(diào)用各功能模塊子程序 編程語言的選擇 目前用于程序設(shè)計的語言基本分為三種:機器語言,匯編語言和 C 語言。模塊化的目的是為了降低程序復(fù)雜度,使程序設(shè)計、調(diào)試和維護(hù)等操作簡單化。逐步求精的結(jié)果是得到一系列以功能塊為單位的算法描述。據(jù)此就很容易編寫出結(jié)構(gòu)良好、易于調(diào)試的程序來。 (1)結(jié)構(gòu)化程序設(shè)計 : 基本思想是采用 自頂向下,逐步求精 的程序設(shè)計方法和 單入口單出口 的控制結(jié)構(gòu)。 整個系統(tǒng)由單片機、顯示單元、電機驅(qū)動單元、位置檢測單元、信號轉(zhuǎn)換單元組成,具有調(diào)速范圍大,控制精準(zhǔn)、控制方式多等特點。 第四章 系統(tǒng)的軟件設(shè)計 總體設(shè)計思想 系統(tǒng)的工作過程 本系統(tǒng)采用單片機 AT89S51 為控制核心,通過鍵盤選擇需要的工作模式,輸出的脈沖經(jīng)過 ULN20xx 升壓控制步進(jìn)電機動作,并使用光電編碼器檢測步進(jìn)電機目前位置反饋給單片機。只有在 CLK 為高電平時 CLK INH才可變?yōu)楦唠娖健? CLK 和 CLK INH 的功能上是等價的,可以互換使用。 芯片管腳圖如下: 圖 38 當(dāng)移位 /置入控制端 SH/LD????為低電平時,并行數(shù)據(jù)( AH)被置入寄存器,而始終( CLK,CLK INH)及串行數(shù)據(jù)( SER)均無關(guān)。 本系統(tǒng)采用絕對式光電編碼器作為步進(jìn)電機的位置檢測工具,選用的編碼器 22 分辨率是步進(jìn)電機轉(zhuǎn)子齒數(shù)的整數(shù)倍,即可使每個齒位對應(yīng)一個光電編碼器的輸出數(shù)值,通過單片機讀取數(shù)值即可知步進(jìn)電機當(dāng)前位置。為了獲得絕對位置角,在增量式光電編碼器有零位脈沖,即主光柵每旋轉(zhuǎn)一周,輸出一個零位脈沖,使位置角清零。 增量式光電編碼器的工作原理是是由旋轉(zhuǎn)軸轉(zhuǎn)動帶動在徑向有均勻窄縫的主光柵碼盤旋轉(zhuǎn),在主光柵碼盤的上面有與其平行的鑒向盤,在鑒向盤上有兩條彼此錯開 90o 相位的窄縫,并分別有光敏二極管接收主光柵碼盤透過來的信號。 2) 增量式光電編碼器 增量式光電編碼器是碼盤隨位置的變化輸出一系列的脈沖信號,然后根據(jù)位置變化的方向用計數(shù)器對脈沖進(jìn)行加 /減計數(shù),以此達(dá)到位置檢測的目的。如果編碼盤有 4個碼道,則由里向外的碼道分別表示為二進(jìn)制的 2 2 21 和 20, 4 位二進(jìn)制可形成 16 個二進(jìn)制數(shù),因此就將圓盤劃分 16 個扇區(qū),每個扇區(qū)對應(yīng)一個 4位二進(jìn)制數(shù),如 0000、 000 ? 、 1111 圖 37 按照碼盤上形成的碼道配置相應(yīng)的光電傳感器,包括光源、透鏡、碼盤、光敏二極管和驅(qū)動電子線路。涂黑的部分是不透光的,用 “1” 來表示。 編碼盤是按照一定的編碼形式制成的圓盤。根據(jù)光電編碼器的工作原理可以將光電編碼器分為絕對式光電編碼器與增量式光電編碼器,下面我就這兩種光電編碼器的結(jié)構(gòu)與工作原理做介紹。在驅(qū)動負(fù)載的時候,電流是由電源通過負(fù)載灌入 ULN20xxA 的 。通常單片機驅(qū)動 ULN20xx 時,上拉 2K的電阻較為合適,同時, COM 引腳應(yīng)該懸空或接電源。用戶輸出口的外接負(fù)載可根據(jù)以上參數(shù)估算。 它是雙列 16 腳封裝 ,NPN 晶體管矩陣 ,最大驅(qū)動電壓 =50V,電流 =500mA,輸入電壓 =5V,適用于 TTL COMS,由達(dá)林頓管組成驅(qū)動電路。 ULN20xx 的每一對達(dá)林頓都串聯(lián)一個 的基極電阻 ,在 5V 的工作電壓下它 能與 TTL 和 CMOS 電路直接相連,可以直接處理原先需要標(biāo)準(zhǔn)邏輯緩沖器來 處理的數(shù)據(jù)。即為 NPN 型 。等效三極管 CBE 的管腳, C=E2,B=B1, E=E1(即 C2)。設(shè)前一三極管 T1 的三極為 C1B1E1,后一三極管 T2 的三極為 C2B2E2。這里也說一下異極性接法。 前二種是同極性接法,后二種是異極性接法。 達(dá)林頓管就是兩個三極管接在一起,極性只認(rèn)前面的三極管。 ULN20xx 是高耐壓、大電流、內(nèi)部由七個硅 NPN 達(dá)林頓管組成的驅(qū)動芯片。 圖 35 基本特性 : ? 低電源電壓( VDD:++) ? 顯示分辨率 :12864 點 ? 內(nèi)置漢字字庫,提供 8192 個 1616 點陣漢字 (簡繁體可選 ) ? 內(nèi)置 128 個 168 點陣字符 ? 2MHZ 時鐘頻率 ? 顯示方式: STN、半透、正顯 ? 驅(qū)動方式: 1/32DUTY, 1/5BIAS ? 視角方向: 6 點 ? 背光方式:側(cè)部高亮白色 LED,功耗僅為普通 LED 的 1/5— 1/10 ? 通訊方式:串行、并口可選 ? 內(nèi)置 DCDC 轉(zhuǎn)換電路,無需外加負(fù)壓 ? 無需片選信號,簡化軟件設(shè)計 ? 工作溫度 : 0℃ +55℃ ,存儲溫度 : 20℃ +60℃ 18 12864 引腳說明: 表 31 步進(jìn)電機驅(qū)動芯片 由于單片機本身 I/O 驅(qū)動能力不足以帶動步進(jìn)電機, 需要采用一些方法使驅(qū)動信號放大至能需要的電壓 ??梢燥@示 84 行 1616 點陣的漢字 . 也可完成圖形顯示 .低電壓低功耗是其又一顯著特點。 3) LCD 顯示 17 本系統(tǒng)采用 LCD 12864 作為顯示系統(tǒng)。其方法是:依次將行線置為低電平,即在置某根行線為低電平時,其他線為高電平, 在確定某根行線位置為低電平后,再逐行檢測各列線的電平狀態(tài),若某列為低,則該列線與置為低電平的行線交叉處的按鈕就是閉合的按鍵 。若所有列線均為高電平,則鍵盤中無鍵按下。 判斷鍵盤中有無鍵按下,將全部行線置低電平,然后檢測列線的狀態(tài)。 該 掃描法的特點是逐行掃描查詢,這時相應(yīng)行 應(yīng)有上拉電阻接高電平。 如圖所示。這兩個引腳跨接石英晶體振蕩器和微調(diào)電容,就構(gòu)成一個穩(wěn)定的自激振蕩器,如圖。 AT89S51 外 部電路 單片機工作需要外接部分電路構(gòu)成最小系統(tǒng),包
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1