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

正文內(nèi)容

鎖具壽命自動檢測系統(tǒng)的現(xiàn)狀89c51單片機為核心的軟硬件設計原理畢業(yè)論文(編輯修改稿)

2025-07-25 15:41 本頁面
 

【文章內(nèi)容簡介】 I標準, 。C語言發(fā)展迅速, 而且成為最受歡迎的語言之一, 主要因為它具有強大的功能。許多著名的系統(tǒng)軟件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 語言編寫的。用C語言加上一些匯編語言子程序, 就更能顯示C語言的優(yōu)勢了,像PC DOS 、WORDSTAR等就是用這種方法編寫的。 C語言的主要功能隨著微型計算機的日益普及,出現(xiàn)了許多C 語言版本。由于沒有統(tǒng)一的標準,使得這些C 語言之間出現(xiàn)了一些不一致的地方。為了改變這種情況,美國國家標準研究所(ANSI)為C 語言制定了一套ANSI標準,成為現(xiàn)行的C語言標準。而在這里我們將主要以美國Borland 公司的產(chǎn)品Turbo ,簡要介紹一下C語言的基本知識。 ⑴ 數(shù)據(jù)類型 在C語言中,每個變量在使用之前必須定義其數(shù)據(jù)類型。Turbo C有以下幾種類型:整型(int)、浮點型(float)、字符型(char)、指針型(*)、無值型(void)以及結構(struct)和聯(lián)合(union)。其中前五種是C語言的基本數(shù)據(jù)類型、后兩種數(shù)據(jù)類型(結構和聯(lián)合)則是C語言的擴展數(shù)據(jù)類型。 ⑵ 關鍵字和標識符、運算符 所謂關鍵字就是已被C語言本身使用、不能作其它用途的字。例如關鍵字else,就再不能用作變量名、函數(shù)名等。所謂標識符是指常量、變量、語句標號以及用戶自定義函數(shù)的名稱。C標識符的定義十分靈活。 C的運算符非常豐富,主要分為三大類:算術運算符、關系與邏輯運算符、按位運算符。 ⑶ 變量 C規(guī)定所有變量在使用前都必須加以說明。一條變量說明語句由數(shù)據(jù)類型和其后的一個或多個變量名組成,例如“int x”。變量可以在程序中三個地方說明:函數(shù)內(nèi)部、函數(shù)的參數(shù)定義中或所有的函數(shù)外部。根據(jù)所定義位置的不同,變量可分為局部變量、形式參數(shù)和全程變量。C像其它高級語言一樣也使用數(shù)組變量。所謂數(shù)組就是指具有相同數(shù)據(jù)類型的變量集,并擁有共同的名字。數(shù)組中的每個特定元素都使用下標來訪問。 ⑷ 控制流程語句 C提供了豐富、靈活的控制流程語句,主要有:條件語句、循環(huán)語句和開關語句。條件語句的一般形式為if-else。C提供三種基本的循環(huán)語句:for語句、while語句和do-while語句。而在編寫程序時,經(jīng)常會碰到按不同情況分轉的多路問題, 這時可用嵌套if-else-if語句來實現(xiàn),但if-else-if語句使用不方便,并且容易出錯。對這種情況,C提供了一個switch開關語句。 ⑸ 指針(point) 學習C語言,指針是較難理解的一個概念。我們知道變量在計算機內(nèi)占有一塊存貯區(qū)域(也就是有一個“地址”),變量的值就存放在這塊區(qū)域之中,在計算機內(nèi)部,通過訪問或修改這塊區(qū)域的內(nèi)容來訪問或修改相應的變量。C語言中,對于變量的訪問形式之一,就是先求出變量的地址,然后再通過地址對它進行訪問,這就是指針及指針變量。指針變量的一般定義為“類型標識符 *標識符”,其中標識符是指針變量的名字,標識符前加了“*”號, 表示該變量是指針變量,而最前面的“類型標識符”表示該指針變量所指向的變量的類型。一個指針變量只能指向同一種類型的變量,也就是說,我們不能定義一個指針變量,既能指向一整型變量又能指向雙精度變量。 程序設計思想程序的設計主要是圍繞上述的操作來進行,在軟件的設計過程中,以實現(xiàn)各個預定功能作為各個模塊的設計原則。各獨立功能一般都設計了相應的函數(shù),例如文本編輯函數(shù)、初始化函數(shù)、運行函數(shù)等。使所設計的軟件具有層次清楚,修改方便等特點。在計算機控制步進電機運動時,要注意在換向時,給出一定的延時。以避免由于機器運行的慣性造成位置的偏差,延時的長短可在實際調(diào)試過程中確定。此外,在軟件的設計中還對一些常見的錯誤以及可能發(fā)生的誤操作進行了必要的處理。出現(xiàn)錯誤時,軟件中設計了報警功能。 模塊化設計 顯示模塊在鎖具壽命測試儀測試鎖具時,會有實時顯示測試的次數(shù)。下面的程序就是用來顯示測量次數(shù)。unsigned char code Tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}。上面一段小程序是共陽數(shù)碼管段碼表,下面的程序是顯示程序。void display(unsigned long n){ P0=Tab[n/10000000]。 P2=0xfe。 delay(10)。 P0=Tab[n%10000000/1000000]。 //數(shù)碼管千萬位數(shù)字 P2=0xfd。 delay(10)。 P0=Tab[n%1000000/100000]。 //數(shù)碼管百萬位數(shù)字 P2=0xfb。 delay(10)。 P0=Tab[n%100000/10000]。 //數(shù)碼管十萬位數(shù)字 P2=0xf7。 delay(10)。 P0=Tab[n%10000/1000]。 //數(shù)碼管萬位數(shù)字 P2=0xef。 delay(10)。 P0=Tab[n%1000/100]。 //數(shù)碼管千位數(shù)字 P2=0xdf。 delay(10)。 P0=Tab[n%100/10]。 //數(shù)碼管百位數(shù)字 P2=0xbf。 delay(10)。 P0=Tab[n%10]。 //數(shù)碼管十位數(shù)字 P2=0x7f。 delay(10)。 //數(shù)碼管個位數(shù)字 P2=0xff。} 上鎖開鎖模塊上鎖函數(shù)的主要功能是:把16制代碼送到P1口,使步進電機轉動void motor_lock(unsigned int a){ int i。 for(i=0。ia。i++) { P1=0x06。 //將二進制0000 0110送到P1口 displaydelay(10)。 //延時 P1=0x05。 //將二進制0000 0101送到P1口 displaydelay(10)。 P1=0x09。 //將二進制0000 1001送到P1口 displaydelay(10)。 P1=0x0A。 //將二進制0000 1010送到P1口 displaydelay(10)。 }}停止函數(shù)void motor_stop(unsigned int b){ int i。 for(i=0。ib。i++) { P1=0xff。 //將二進制1111 1111送到P1口,使步進電機停止轉動 displaydelay(10)。 //延時 }}解鎖函數(shù)void motor_unlock(unsigned int c){ int i。 for(i=0。ic。i++) { P1=0x0A。 //將二進制0000 1010送到P1口 displaydelay(10)。 //延時 P1=0x09。 //將二進制0000 1001送到P1口 displaydelay(10)。 P1=0x05。 //將二進制0000 0101送到P1口 displaydelay(10)。 P1=0x06。 //將二進制0000 0110送到P1口 displaydelay(10)。 }} 鎖型模塊本程序段是鎖具類型的選擇,當使用撥碼開關選擇了鎖具類型時,函數(shù)就跳轉到相應的鎖型函數(shù)中。如果在測試鎖具時出現(xiàn)錯誤,函數(shù)會自動跳轉到出錯子函數(shù)中執(zhí)行報警提示。 由于四種鎖型在流程圖上的表示是一樣的,在此就鎖型1的流程圖作以分析,其它三種鎖型也一樣。 鎖型模塊的流程圖鎖型選擇程序段:while(1) { if(K1==0) { d=1。 if(d==1) { chucuo()。 } } else { if(L1==0amp。amp。L2!=0amp。amp。L3!=0amp。amp。L4!=0) //若L1為0,LLL4不為1 { lock1()。 } else { if(L2==0amp。amp。L1!=0amp。amp。L3!=0amp。amp。L4!=0) //若L2為0,LLL4不為1 { lock1()。 } else { if(L3==0amp。amp。L1!=0amp。amp。L2!=0amp。amp。L4!=0) //若L3為0,LLL4不為1 { lock1()。 } else { if(L4==0amp。amp。L1!=0amp。amp。L2!=0amp。amp。L3!=0) //若L4為0,LLL3不為1 { lock1()。 } else { display(number)。 } } } } } }型鎖1測試壽命函數(shù)程序段:void lock1(void){ displaydelay(20,number)。 KEY_IN=0。 //進鑰匙 displaydelay(10,number)。 //延時并顯示 KEY_IN=1。 //停止進鑰匙 displaydelay(20,number)。 //延時并顯示 motor_lock(1)。 //鎖 motor_stop(5)。 //停頓 motor_lock(2)。 //反鎖 motor_stop(5)。 //停頓 motor_unlock(3)。 //解鎖 motor_stop(5)。 //停頓 displaydelay(20,number)。 KEY_OUT=0。 //出鑰匙 displaydelay(10,number)。 //延時并顯示 KEY_OUT=1。 //停止進鑰匙 displaydelay(20,number)。 //延時并顯示 number++。 //測試完畢,測試次數(shù)加一 }型鎖2測試壽命函數(shù)程序段:void lock2(void){ displaydelay(500,number)。
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1