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

正文內(nèi)容

兩相步進(jìn)電機(jī)控制系統(tǒng)畢業(yè)設(shè)計-資料下載頁

2025-06-23 01:37本頁面
  

【正文】 =0 為止。? 顯示開關(guān)(DISPLAY ON/OFF )格式:0 0 1 1 1 1 1 D該指令設(shè)置顯示開關(guān)/觸發(fā)器的狀態(tài),由此控制顯示數(shù)據(jù)鎖存器的工作方式,從而控制顯示屏上的顯示狀態(tài)。D 為顯示開/關(guān)的控制位。當(dāng) D=1 為顯示設(shè)置,顯示數(shù)據(jù)鎖存器正常工作,顯示屏上呈現(xiàn)所要顯示的效果要求。此時在狀態(tài)字中 ON/OFF=0。當(dāng)D=0 時,為顯示關(guān)顯示設(shè)置,顯示數(shù)據(jù)鎖存器被置零,顯示屏呈不顯示狀態(tài),但顯示存儲器并沒有被破壞,在狀態(tài)組中 ON/OFF=1。? 顯示起始行設(shè)置(DISPLAY START LINE)格式:1 1 L5 L4 L3 L2 L1 L0 該指令設(shè)置了顯示起始行寄存器的內(nèi)容。KS0108 有 64 行顯示的管理能力,該指令中 L5~L0 為顯示起始行的地址,取值為 0~3FH(1~64)范圍內(nèi),它規(guī)定了顯示屏上最頂一行所對應(yīng)的顯示存儲器的行地址。比較特殊的是,最上邊的一行為 00,第二行為 63 從上到下地址是遞減的。在連續(xù)顯示時,行地址指針會自動減 1。通常只在程序開始初始化時,指定起始行地址。如果定時間隔、等間距地修改(如加一或減一)顯示起始行寄存器的內(nèi)容,則顯示屏將呈現(xiàn)顯示內(nèi)容向上或向下平滑滾動的顯示效果。? 頁面地址設(shè)置(SET PAGE(X ADDRESS ) )格式1 0 1 1 1 P2 P1 P0 該指令設(shè)置了頁面地址 X 地址寄存器的內(nèi)容。 KS0108 將顯示存儲器分成了 8 頁,指令代碼中 P2~P0 就是要確定當(dāng)前所要選擇的頁面地址,取值范圍為 0~7H,代表第1~8 頁。該指令規(guī)定了以后讀/寫操作將在哪個頁面上進(jìn)行。? 列地址設(shè)置(SET Y ADDRESS)格式0 1 C5 C4 C3 C2 C1 C0 東北大學(xué)秦皇島分校畢業(yè)設(shè)計(論文) 第 27頁該指令設(shè)置了 Y 地址計數(shù)器的內(nèi)容,C5~C0=0~3FH(1~64)其代表某一頁面上的某一單元地址,隨后的一次讀或?qū)憯?shù)據(jù)將在這個單元上進(jìn)行。Y 地址計數(shù)器具有自動加一功能,在每次讀/寫數(shù)據(jù)后它將自動加一,所以在連續(xù)進(jìn)行讀 /寫數(shù)據(jù)時,Y 地址計數(shù)器不必每次都設(shè)置一次。頁面地址的設(shè)置和列地址的設(shè)置將顯示存儲器單元唯一地確定下來,為后來的顯示數(shù)據(jù)的讀/寫作了地址的選通。? 寫顯示數(shù)據(jù)(WRITE DISPLAY DATA)格式:數(shù) 據(jù) 該操作將 8 為數(shù)據(jù)寫入先前已確定的顯示存儲器的單元內(nèi),操作完成后列地址計數(shù)器會自動加一。? 讀顯示數(shù)據(jù)(READ DISPLAY DATA)格式:數(shù) 據(jù) 該操作將 KS0108 控制器接口部的輸出寄存器內(nèi)容讀出,然后列地址計數(shù)器自動加一。在編程時,要連續(xù)寫兩句讀顯示數(shù)據(jù)指令,才能把一個字節(jié)的當(dāng)前顯存中的顯示數(shù)據(jù)讀出。第一次把數(shù)據(jù)從數(shù)據(jù)從顯存中讀到輸出鎖存器中,第二次把數(shù)據(jù)從輸出鎖存器通過總線讀到計算機(jī)中。而讀狀態(tài)字只需要讀一次即可。 LGM12641BS1R 中 KS0108 控制器的基本編程原理內(nèi)置 KS0108 控制器的 128X64 圖形液晶顯示器是由兩個 KS0108 控制器、液晶顯示屏及電源等構(gòu)成,內(nèi)部結(jié)構(gòu)原理如圖 所示。不難發(fā)現(xiàn),128X64 圖形液晶顯示器有兩個片選信號,分別為 CS1 和 CS2,在對顯示屏操作時,一次只能選中一個顯示屏,即左半屏或右半屏。相當(dāng)于把 128X64 圖形液晶顯示屏從中間一分為二,成為兩個64X64 顯示屏。選中左半屏?xí)r,CS1 為高電平,CS2 為低電平;選中右半屏?xí)r,CS2為高電平,CS1 為低電平。每半個顯示屏,對應(yīng)一個完整的 KS0108 控制器。KS0108 的顯存與顯示屏的對應(yīng)關(guān)系既不像 HD4470 那樣一一對應(yīng)固定不變,也不像 T6963C 那樣靈活和難于掌握。要想在左半屏或右半屏顯示圖形或字符,必須先指定顯示屏的位置。而顯示屏的位置由 東北大學(xué)秦皇島分校畢業(yè)設(shè)計(論文) 第 28頁KS0108 顯存的三個參數(shù)決定,即頁地址、起始行地址和起始列地址。只要指定了這三個參數(shù),就可以對該半屏進(jìn)行讀、寫操作。 圖 128X64 點陣液晶模塊原理圖實際上,KS0108 的顯示存儲器為 512X8(字節(jié)) =4096(位)即 4k 位。這 512 個存儲空間又劃分為 8 頁,每頁 64 個存儲空間,即 64 個字節(jié)。因為每個半屏都是64X64 點陣,而 8 個點陣對應(yīng)一個字節(jié),故每個半屏都對應(yīng) 8X8 個字節(jié)。如果顯示8X8 字符,半屏可以顯示 64 個,每行 8 個,共 8 行;如果顯示 16X16 點陣漢字,半屏可以顯示 16 個,每行 4 個,共 4 行。顯存中第 1~8 頁的數(shù)據(jù)與顯示屏的對應(yīng)關(guān)系如表 所示。即在顯存中,前 64 個字節(jié)(512 位)為第一頁,位于半屏的第一字符行(一 東北大學(xué)秦皇島分校畢業(yè)設(shè)計(論文) 第 29頁個字符行相當(dāng)于 8 個點行) ,以此類推。確定了頁地址,相當(dāng)于確定找到了屏幕上的一個區(qū)。表 128X64 點陣顯示器位置的劃分 第 7 列 左半屏 右半屏 第 56 列第 1 頁 第 1 頁第 2 頁 第 2 頁第 3 頁 第 3 頁第 4 頁 第 4 頁第 5 頁 第 5 頁第 6 頁 第 6 頁第 7 頁 第 7 頁第 8 頁 第 8 頁再來看起始行列地址。為準(zhǔn)確地顯示要顯示的內(nèi)容,還必須指定顯示內(nèi)容在屏幕上的起始列位置,即顯存中該頁 64 個字節(jié)存儲位置中的第幾個位置。這里所說的列為點列,對應(yīng)從半屏的最左邊至最右邊,范圍為 00~3FH.只要把顯示數(shù)據(jù)送入指定的頁和列,對應(yīng)屏幕位置上就會有顯示。如表 34 中,指定左半屏第 1 頁第 7 列,只要把頁地址和起始列地址命令寫入,隨后的數(shù)據(jù)就進(jìn)入相應(yīng)的顯存,顯示內(nèi)容就會從屏幕左上角第 1 頁內(nèi)第 7 列開始顯示。這里要說明的是,每頁共 8 行,究竟要從第幾行開始顯示?因此還要指定起始行地址。起始行的真正意義并不是一頁內(nèi) 8 行中的某一行,它是把整個屏幕劃分成 64 行,其范圍為 63~00。此外,在 KS0108 控制器顯示時,在屏幕上是按列顯示的。在顯存中連續(xù)讀出的顯示數(shù)據(jù)字節(jié),在顯示屏上從起始列開始,自下向上按列顯示。例如圖 所示,要顯示“我”字為 16X16 點陣漢字,在借助取模軟件取模時必須采用“ 字節(jié)倒序”和“按列取模”方式來操作。只要指定了顯示所在頁、起始行和起始列地址,就可以在字模數(shù)據(jù)塊中 東北大學(xué)秦皇島分校畢業(yè)設(shè)計(論文) 第 30頁連續(xù)取出 16 個字節(jié)的顯示數(shù)據(jù),顯示結(jié)果為“我”字的上半部分。如果此時繼續(xù)從數(shù)據(jù)塊中再取出 16 個字節(jié)而不改變顯示地址的話, “我” 字的下半部分就會緊接著顯示在上半部分的右側(cè),即列地址是自動加 1 的。為了顯示出一個完整的 16X16 點陣漢字,就必須在顯示完上半部分后,重新指定頁地址和起始列地址,起始行地址不用指定。從圖中可以看出,16X16 點陣漢字的下部分正好位于另一頁上,所以在取出顯示數(shù)據(jù)之前,一定要重新設(shè)置頁地址和起始列地址。只有這樣,一個完整的“我” 字就會顯示出來了。如果是顯示 8X8 點陣字符,因為不超出本頁,所以不用再換頁,連續(xù)取出 8 個顯示數(shù)據(jù)即可。圖 KS0108 控制器顯示漢字的原理 鍵盤模塊設(shè)計獨立按鍵具有編程簡單但占用 I/O 口資源的特點,不適合在按鍵較多的場合應(yīng)用。在實際應(yīng)用中經(jīng)常要用到輸入數(shù)字、字母等功能,如電子密碼鎖、電話機(jī)鍵盤等一般都至少有 12 到 16 個按鍵,在這種情況下如果用獨立按鍵的話顯然太浪費 I/O 口資源,為此在本設(shè)計中引入了矩陣鍵盤的應(yīng)用。矩陣鍵盤又稱行列鍵盤,它是用四條 I/O 線作為行線,四條 I/O 線作為列線組成的鍵盤。在行線和列線的每個交叉點上設(shè)置一個按鍵。這樣鍵盤上按鍵的個數(shù)就為 4X4 東北大學(xué)秦皇島分校畢業(yè)設(shè)計(論文) 第 31頁個。這種行列式鍵盤結(jié)構(gòu)能有效地提高單片機(jī)系統(tǒng)中 I/O 口的利用率。對于矩陣鍵盤,一般由 16 個按鍵組成,在單片機(jī)中正好可以用一個 P 口實現(xiàn) 16個按鍵功能,這也是在單片機(jī)系統(tǒng)中最常用的形式,4X4 矩陣鍵盤模塊硬件設(shè)計電路如圖 所示。圖 矩陣鍵盤模塊硬件設(shè)計電路圖其工作原理為當(dāng)無按鍵閉合時,~ 與 ~ 之間開路。當(dāng)有鍵閉合時,與閉合鍵相連的兩條 I/O 口線之間短路。判斷有無按鍵按下的方法是:第一步,置列線 ~ 為輸入狀態(tài),從行線 ~ 輸出低電平,讀入列線數(shù)據(jù),若某一列線為低電平,則該列線上有鍵閉合。第二步,行線輪流輸出低電平,從列線 ~ 讀入數(shù)據(jù),若有某一列為低電平,則對應(yīng)行線上有鍵按下。綜合一、二兩步的結(jié)果,可確定按鍵編號。但是鍵閉合一次只能進(jìn)行一次鍵功能操作,因此須等到按鍵釋放后, 東北大學(xué)秦皇島分校畢業(yè)設(shè)計(論文) 第 32頁再進(jìn)行鍵功能操作,否則按一次鍵,有可能會連續(xù)多次進(jìn)行同樣的鍵操作。在本設(shè)計中依據(jù)圖 所示的矩陣鍵盤內(nèi)部電路原理圖,以確定掃描鍵盤的方法是:行線 ~ 為輸出線,列線 ~ 為輸入線。一開始單片機(jī)將行線(~)全部輸出低電平,此時讀入列線數(shù)據(jù),若列線全為高電平則沒有鍵按下,當(dāng)列線有出現(xiàn)低電平時調(diào)用延時程序以此來去除按鍵抖動。延時完成后再判斷是否有低電平,如果此時讀入列線數(shù)據(jù)還是有低電平,則說明確實有鍵按下。最后一步確定鍵值?,F(xiàn)在我們以第二行的 5 鍵為例,若按下 5 后我們應(yīng)該怎么得到這個鍵值呢?當(dāng)判斷確實有鍵按下之后,行線輪流輸出低電平,根據(jù)讀入列線的數(shù)據(jù)可以確定鍵值。首先,單片機(jī)將 輸出為低電平,其它 ~ 輸出高電平,此時讀取列線的數(shù)據(jù)全為高電平,說明沒有在第一行有鍵按下;其次,單片機(jī)將 輸出低電平,其它、 仍為高電平,此時再來讀取列線數(shù)據(jù),發(fā)現(xiàn)列線讀到的數(shù)據(jù)有低電平,數(shù)值為 1011(0x0B) ,如果我們的鍵盤布局已經(jīng)確定,那么 0x0B 就代表 5 的值了。轉(zhuǎn)到 5 鍵功能處理子程序就可以達(dá)到目的。這樣通過輸入相應(yīng)鍵值,再轉(zhuǎn)由單片機(jī)處理相應(yīng)的鍵值子程序,以此實現(xiàn)對步進(jìn)電機(jī)速度及轉(zhuǎn)向的設(shè)定與控制,讀取相應(yīng)鍵值送給液晶顯示屏由單片機(jī)處理顯示子程序由此實現(xiàn)對步進(jìn)電機(jī)工作狀態(tài)的實時顯示。 東北大學(xué)秦皇島分校畢業(yè)設(shè)計(論文) 第 33頁4 系統(tǒng)軟件設(shè)計 系統(tǒng)軟件的整體設(shè)計本系統(tǒng)的軟件設(shè)計部分采用模塊化的設(shè)計思想,其主要分為系統(tǒng)初始化模塊、鍵盤輸入與液晶顯示程序模塊、步進(jìn)電機(jī)運行控制程序模塊、單片機(jī)與上位機(jī)通信模塊等構(gòu)成。每個功能模塊對于整體設(shè)計都是非常重要、是不可分割的有機(jī)組成部分。程序流程圖的設(shè)計遵循自頂向下的原則,即從主體逐步細(xì)分到每一個模塊的流程。在流程圖中把設(shè)計者的控制過程梳理清楚。本系統(tǒng)設(shè)計的主流程圖如圖 所示,系統(tǒng)開始執(zhí)行時,先對各模塊初始化,當(dāng)控制切換鍵按下時,由上位機(jī)輸入電機(jī)控制參數(shù)并控制電機(jī)啟停、液晶屏顯示運行狀態(tài),實現(xiàn)遠(yuǎn)程控制;鍵不按下時,電機(jī)控制參數(shù)由鍵盤按鍵輸入并在液晶屏上顯示,電機(jī)的啟停也由相應(yīng)啟停鍵控制。 圖 系統(tǒng)軟件設(shè)計的主流程圖 東北大學(xué)秦皇島分校畢業(yè)設(shè)計(論文) 第 34頁 系統(tǒng)初始化模塊設(shè)計 對相應(yīng)的用于計數(shù)的狀態(tài)變量進(jìn)行初始化賦值,還有對鍵盤掃描初始化、LCD 液晶顯示的初始化、定時器的初始化和載入初始值以及包括系統(tǒng)上電時默認(rèn)在液晶屏上顯示“步進(jìn)電機(jī)控制系統(tǒng)” 、 “正等待參數(shù)的設(shè)定” 。具體流程圖如圖 所示: 圖 初始化流程圖 鍵盤輸入與液晶顯示程序模塊該模塊的液晶顯示程序流程設(shè)計任務(wù)主要是對 LGM12641BS1R 內(nèi)置的 KS0108 控制器的一些底層的操作與鍵盤輸入的掃描與處理,包括對液晶顯示屏的初始化即指定頁地址和指定列地址及寫數(shù)據(jù)/命令等指令設(shè)置、清屏和判忙及讀寫顯示函數(shù)的實現(xiàn)等。 東北大學(xué)秦皇島分校畢業(yè)設(shè)計(論文) 第 35頁而對于鍵盤輸入則是對端口初始化并通過編寫掃描程序得到相應(yīng)按鍵值,然后調(diào)用執(zhí)行響應(yīng)按鍵事先設(shè)置好的子程序。其具體流程圖如圖 所示。 圖 輸入與顯示流程圖 步進(jìn)電機(jī)運行控制模塊由于步進(jìn)電機(jī)的運行原理是要通過定時給定輸入脈沖,電機(jī)驅(qū)動芯片接受脈沖之后電機(jī)相應(yīng)線圈通電才開始轉(zhuǎn)動。而最為重要的是要如何輸出脈沖頻率,可以通過延時程序定時輸出脈沖,但太為占用 CPU 資源,也可以使用定時器定時輸出脈沖頻率,占用資源少。因此在此模塊中應(yīng)用定時器定時給步進(jìn)電機(jī)輸出一定頻率的脈沖。此外,通過改變定時計數(shù)值就可以方便地改變電機(jī)運行速度。其具體流程圖如圖 所示,給定時器初始化定時 10ms,定時時間到計數(shù)變量 count 自動加一,當(dāng) count 值等于給定值變量 sudu 值(通過改變 sudu 值來改變電機(jī)轉(zhuǎn)速,默認(rèn)值為 5 即一檔速,二檔速值為3,三檔速值為 1。 )時,若此時有啟動鍵按下或有上位機(jī)發(fā)來啟動信號,則 X 軸電機(jī)開始正轉(zhuǎn)運行,即走一步,當(dāng) count 值再次等于 sudu 值時,X 軸電機(jī)又走一步,如此 東北大學(xué)秦皇島分校畢業(yè)設(shè)計(論文)
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1