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

正文內(nèi)容

基于s51單片機(jī)的開發(fā)板設(shè)計(jì)畢業(yè)論文(參考版)

2025-06-30 18:48本頁面
  

【正文】 //數(shù)據(jù)輸入輸出復(fù)用S51 開發(fā)板的設(shè)。 //片選端sbit ADC_CLK= P2^5。return (ini*4+inj)。ini=i。j++) //確定行線{ if(act[j]==in) {find=1。for(j=0。in=in4。Delay5ms()。i4。 bit find=0。由于該開發(fā)板可以完成單片機(jī)各類通用實(shí)驗(yàn)以及各種軟硬件測試,且具有操作簡單,性價(jià)比高的特點(diǎn),因此具有一定的實(shí)用價(jià)值和現(xiàn)實(shí)意義。在以 S51 單片機(jī)為核心控制器的基礎(chǔ)上,對外圍電路進(jìn)行了設(shè)計(jì),包括豐富的硬件模塊—數(shù)據(jù)采集處理模塊、DS1302 時(shí)鐘模塊、通信模塊、液晶顯示模塊、鍵盤模塊、流水燈模塊、蜂鳴器模塊等。LCD1602 顯示模塊實(shí)驗(yàn)效果: 文件到單片機(jī),LCD1602 顯示字符;LCD12864 顯示模塊實(shí)驗(yàn)效果: 文件到單片機(jī),液晶上顯示唐詩;LCD1602 和 LCD12864 背光亮度的改變可以通過調(diào)節(jié)電位器 R9 和 R14 來實(shí)現(xiàn);流水燈模塊實(shí)驗(yàn)效果: 文件到單片機(jī),流水燈顯示幾種不同的花型;蜂鳴器模塊實(shí)驗(yàn)效果: 文件到單片機(jī),將 J13 插上短路帽,蜂鳴器以一定的聲音頻率鳴叫。在 PC 機(jī)上安裝 ISP 在線下載器驅(qū)動,打開燒寫器軟件,選擇燒寫單片機(jī)類型,加載FLASH,點(diǎn)擊編程,即可把程序燒錄到單片機(jī)中。字符,絲印大小要統(tǒng)一。避免字符被焊盤或過孔覆蓋,要保證裝配以后還可以清晰看到字符信息。旁路電容應(yīng)均勻分布在集成電路周圍。使用同一種電源的元件應(yīng)考慮盡量放在一起,以便于將來的電源分割。 元件的放置要便于調(diào)試和維修,大元件邊上不能放置小元件,需要調(diào)試的元件周圍應(yīng)有足夠的空間。相同結(jié)構(gòu)電路部分盡可能采取對稱布局。模擬信號,數(shù)字信號需分開。再參考原理圖根據(jù)信號流向規(guī)律,放置其它原器件。 S51 開發(fā)板的設(shè)計(jì)425 開發(fā)板設(shè)計(jì)及測試 開發(fā)板 PCB 設(shè)計(jì)遵循先難后易,先大后小的原則。在定時(shí)器 T0 中斷函數(shù)中,對定時(shí)器 T0的 TH0 裝載 0xfe,對 TL0 裝載累加的 frq 值,并翻轉(zhuǎn) 口的狀態(tài),這樣,由于定時(shí)器 T0 每次裝載的初值不同,相應(yīng)的中斷到達(dá)時(shí)間不同, 翻轉(zhuǎn)的時(shí)間也就不同,frq 為無符號字符型數(shù)據(jù),累加到 255 后歸零,因此蜂鳴器會產(chǎn)生一定頻率的聲音。將一維數(shù)組里的八個(gè)元素依次送到 P0 口,則 LED 亮滅依次發(fā)生變化,輪流將五個(gè)一維數(shù)組送交 P0 口,則可以顯示五組不同的花型。 其他模塊a 流水燈模塊程序設(shè)計(jì)程序中先定義五個(gè)一維數(shù)組,每個(gè)一維數(shù)組里面含有八個(gè)元素,元素為十六進(jìn)制數(shù),對應(yīng) P0 口的八個(gè)引腳,十六進(jìn)制數(shù)為 1 則對應(yīng)相應(yīng)引腳為高電平,為 0 則相應(yīng)引腳為低電平。初始值 R1R0=00,第一次設(shè)定為反白顯示,再次設(shè)定變回正常 睡眠 模式 0 0 0 0 0 0 1 SL X XSL=0:進(jìn)入睡眠模式SL=1:脫離睡眠模式 擴(kuò)充 功能 設(shè)定0 0 0 0 1 CL X RE G 0CL=0/1:4/8 位數(shù)據(jù)RE=1: 擴(kuò)充指令操作RE=0: 基本指令操作G=1/0:繪圖開關(guān) 設(shè)定繪圖RAM 地址0 0 1 0AC6 0AC5 0AC4 AC3AC3 AC2AC2 AC1AC1 AC0AC0設(shè)定繪圖 RAM先設(shè)定垂直(列)地址 AC6AC5…AC0再設(shè)定水平(行)地址 AC3AC2AC1AC0將以上 16 位地址連續(xù)寫入即可當(dāng) IC1 在接受指令前,微處理器必須先確認(rèn)其內(nèi)部處于非忙碌狀態(tài),即讀BF 標(biāo)志時(shí),BF 需為零,方可接受新的指令;如果在送出一個(gè)指令前并不檢查BF 標(biāo)志,那么在前一個(gè)指令和這個(gè)指令中間必須延長一段較長的時(shí)間,即是等待前一個(gè)指令確實(shí)執(zhí)行完成。這 個(gè) 指 令 不改 變 DDRAM 的 內(nèi) 容顯示狀態(tài)開/關(guān) 0 0 0 0 0 0 1 D C BD=1: 整體顯示 ONC=1: 游標(biāo) ON B=1:游標(biāo)位置反白允許進(jìn)入點(diǎn)設(shè)定 0 0 0 0 0 0 0 1 I/D S指定在數(shù)據(jù)的讀取與寫入時(shí),設(shè)定游標(biāo)的移動方向及指定顯示的移位游標(biāo)或顯示移位控制0 0 0 0 0 1 S/C R/L X X 設(shè)定游標(biāo)的移動與顯示的移位控制位。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,LCD1602 的內(nèi)部顯示地址見表43:表 43 LCD1602 的內(nèi)部顯示地址1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16第一行 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F第二行 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F比如第二行第一個(gè)字符的地址是 40H,那么是否直接寫入 40H 就可以將光標(biāo)定位在第二行第一個(gè)字符的位置呢?這樣不行,因?yàn)閷懭腼@示地址時(shí)要求最高位 D7 恒定為高電平 1 所以實(shí)際寫入的數(shù)據(jù)應(yīng)該是 01000000B(40H)+10000000B(80H)=11000000B(C0H)。指令 11—讀數(shù)據(jù)。指令 9—讀忙信號和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令 7—字符發(fā)生器 RAM 地址設(shè)置。指令 5—光標(biāo)或顯示移位 S/C:高電平時(shí)移動顯示的文字,低電平時(shí)移動光標(biāo)。指令 4—顯示開關(guān)控制。指令 3—光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。(說明:1 為高電平、0 為低電平)指令 1—清顯示,指令碼 01H,光標(biāo)復(fù)位到地址 00H 位置。由于間隔時(shí)間的總和小于 秒,根據(jù)人眼的視覺暫留效應(yīng),四個(gè)數(shù)碼管看起來同時(shí)點(diǎn)亮。因此在將段碼送至 P0 口的同時(shí),還要用P1 口送出位碼片選中要顯示的數(shù)碼管,這樣片選中的數(shù)碼管就會顯示特定的數(shù)字。這種方案的優(yōu)點(diǎn)是對單片機(jī)的 P 口資源和時(shí)間耗用很少,但是數(shù)碼管的外圍輔助電路復(fù)雜。動態(tài)的也叫掃描方式,是利用發(fā)光二極管的余輝效應(yīng)和人眼的視覺暫留效應(yīng)來實(shí)現(xiàn)的,只要在在一定時(shí)間內(nèi)數(shù)碼管的筆段亮的頻率夠快,人眼就看不出閃爍,一般外圍硬件較少,但是對單片機(jī)資源耗用巨大。在 PC 機(jī)串口調(diào)試助手的發(fā)送窗口發(fā)送數(shù)據(jù)到單片機(jī),單片機(jī)接收到數(shù)據(jù)后發(fā)送給 PC 機(jī),并在串口調(diào)試助手接收窗口中顯示。 串行通信模塊程序設(shè)計(jì)a RS232 通信模塊程序設(shè)計(jì)單片機(jī)通過 MAX232 與 PC 機(jī)通訊程序流程圖 413 所示: S51 開發(fā)板的設(shè)計(jì)30開始串口初始化保存數(shù)據(jù)發(fā)送數(shù)據(jù)RI 等于 1YNTI 等于 1RI 置零TI 置零YN413 單片機(jī)通過 MAX232 與 PC 機(jī)通訊程序流程圖在 PC 機(jī)串口調(diào)試助手的發(fā)送窗口發(fā)送數(shù)據(jù)到單片機(jī),單片機(jī)接收到數(shù)據(jù)后發(fā)送給 PC 機(jī),并在串口調(diào)試助手接收窗口中顯示。這些信號當(dāng)中,除了應(yīng)答信號是由從機(jī)發(fā)給主機(jī)的以外,其他的信號都是由主機(jī)發(fā)出同步信號,并且發(fā)送所有的命令和數(shù)據(jù)都是從字節(jié)的低位開始的。所有的單總線器件要求采用嚴(yán)格的通信協(xié)議,以保證數(shù)據(jù)的完整性。(4)數(shù)據(jù)交換。當(dāng)成功執(zhí)行上述某個(gè) ROM 操作命令后,總線可以發(fā)出一個(gè) RAM 命令來訪問和控制 RAM??砂l(fā)送的 ROM 命令有:讀 ROM,匹配 ROM,搜索 ROM,跳過 ROM,超ROM,超速跳過 ROM,條件查找 ROM。在主機(jī)檢測到應(yīng)答信號后,主機(jī)可以發(fā)出 ROM 操作命令之一。應(yīng)答脈沖使主機(jī)知道總線上有從機(jī)設(shè)備,且準(zhǔn)備就緒。 測溫模塊程序設(shè)計(jì)a DS18B20 的工作時(shí)序單總線在任何時(shí)刻只能有一個(gè)控制信號或數(shù)據(jù),數(shù)據(jù)要能在單片機(jī)和單總線芯片之間實(shí)現(xiàn)可靠的傳送,遵循單總線處理次序通信協(xié)議,確保數(shù)據(jù)有條不紊地傳送,單總線處理次序圖如圖48所示:S51 開發(fā)板的設(shè)計(jì)27圖 48 單總線處理次序圖處理次序操作時(shí),一般有以下 4 個(gè)過程:(1)初始化。b DS1302 的寄存器DS1302 共有12 個(gè)寄存器,其中有7 個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD 碼格式。數(shù)據(jù)寫入時(shí)從低位(位0) 開始;同樣,從DS1302 讀取數(shù)據(jù)時(shí),數(shù)據(jù)在緊跟控制字節(jié)后的下一個(gè)SCLK的下降沿讀出,讀出數(shù)據(jù)時(shí)也是從低位(0位) 到高位(7位) ,只要~RST 保持高電平,額外的SCLK將導(dǎo)致數(shù)據(jù)字節(jié)的持續(xù)讀出,這個(gè)特性用于實(shí)現(xiàn)該芯片的突發(fā)讀模式。另外,當(dāng)~RST 為高電平時(shí),SCLK必須為低電平。如果在傳送過程中~RST置為低電平,則會終止此次數(shù)據(jù)傳送,并且I/ O 引腳變?yōu)楦咦钁B(tài)。b DA 程序流程圖DA 程序流程圖如圖 45 所示:S51 開發(fā)板的設(shè)計(jì)24開始TLC5615 片選使能時(shí)鐘上升沿讀取數(shù)據(jù)12 位數(shù)據(jù)讀取完畢TLC5615 片選禁能YN圖 45 DA 程序流程圖 DS1302 時(shí)鐘模塊程序設(shè)計(jì)a DS1302 的工作時(shí)序DS1302 的復(fù)位特征和時(shí)鐘控制要求:復(fù)位(~RST) 輸入有兩種功能:首先,用于接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,用于終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送。如果使用TL5615的級聯(lián)功能,來自DOUT的數(shù)據(jù)需要輸入16位時(shí)鐘下降沿,因此完成一次數(shù)據(jù)輸入需要16個(gè)時(shí)鐘周期,輸入的數(shù)據(jù)也應(yīng)為16位。如不使用級聯(lián)方式,DIN只需輸入12位數(shù)據(jù)。這里,為了使時(shí)鐘的內(nèi)部饋通最小,當(dāng)片選CS 為高電平時(shí),輸入時(shí)鐘SCLK應(yīng)當(dāng)為低電平。當(dāng)片選 CS為高電平時(shí),串行輸入數(shù)據(jù)DIN 不能由時(shí)鐘同步送入移位寄存器;輸出數(shù)據(jù)DOUT保持最近的數(shù)值不變而不進(jìn)入高阻狀態(tài)。 DA 模塊程序設(shè)計(jì)a TLC5615 的工作時(shí)序 TLC5615 的工作時(shí)序如圖 44 所示:圖 44 TLC5615 的時(shí)序圖由時(shí)序圖可以看出,當(dāng)片選CS為低電平時(shí),輸入數(shù)據(jù) DIN由時(shí)鐘SCLK 同步輸入或輸出,而且最高有效位在前,低有效位在后。在主函數(shù)中循環(huán)讀取某一通道的模擬電壓值,將采集到的數(shù)據(jù)由16進(jìn)制轉(zhuǎn)換為ASCLL碼。如果要再進(jìn)行一次模/數(shù)轉(zhuǎn)換,片選CS必須再次從高向低跳變,后面再輸入啟動位和配置位。數(shù)據(jù)輸出時(shí)先輸出最高位(D7~D0);輸出完轉(zhuǎn)換結(jié)果后,又以最低位開始重新輸出一遍數(shù)據(jù)(D7~D0) ,兩次發(fā)送的最低位共用。轉(zhuǎn)換開始后,經(jīng)過一個(gè)時(shí)鐘周期延遲,以使選定的通道穩(wěn)定。在第一個(gè)時(shí)鐘期間, D I為高,表示啟動位,緊接著輸入兩位配置位。 AD 模塊程序設(shè)計(jì)a ADC0832 的工作時(shí)序ADC0832 的工作時(shí)序圖如圖 42 所示:S51 開發(fā)板的設(shè)計(jì)22圖 42 ADC0832 的工作時(shí)序圖當(dāng)CS 由高變低時(shí),選中ADC0832。 鍵盤程序流程圖如圖 41 所示:S51 開發(fā)板的設(shè)計(jì)21開始鍵盤掃描有鍵按下取鍵值YN原有鍵值不變鍵值送 P0口選通數(shù)碼管圖 41 鍵盤程序流程圖鍵盤采用的是行掃描法確定鍵值,在程序中具體是這樣掃描鍵盤的:將鍵盤掃描碼送入 P2 口,先是使行線依次為低電平,順序?yàn)镵EY KEYKEYKEY4,在某一行線為低電平的狀態(tài)下,讀取 P2 口的狀態(tài),將狀態(tài)值依次右移四位,這樣便將 KEY5KEY8 的狀態(tài)值移到了低四位,再將高四位狀態(tài)值置一,將處理后的狀態(tài)值與當(dāng)前的掃描碼比較,如果此時(shí)的狀態(tài)值與四個(gè)掃描碼中的一個(gè)相同,證明有鍵按下,此時(shí)保存掃描碼的數(shù)組下標(biāo)和與狀態(tài)值相等的掃描碼數(shù)組下標(biāo),并將兩個(gè)值按照鍵盤編碼值進(jìn)行某一規(guī)則的四則運(yùn)算后返回給主函數(shù)中的某一變量;如果在全部行線依次為低電平情況下的狀態(tài)值與四個(gè)掃描碼中沒有一個(gè)相同,證明沒有鍵按下,返回1 到主函數(shù)。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。其方法是:依次將行線置為低電平,即在置某根行線為低電平時(shí),其它線為高電平。若所有列線均為高電平,則鍵盤中無鍵按下。 鍵盤模塊程序設(shè)計(jì)矩陣式鍵盤的按鍵識別方法為:判斷鍵盤中有無鍵按下:將全部行線 KEY0KEY3 置低電平,然后檢測列線的狀態(tài)。 分模塊程序設(shè)計(jì)依據(jù)開發(fā)板上硬件資源,進(jìn)行程序的開發(fā),在軟件的設(shè)計(jì)過程中,采用模塊化的設(shè)計(jì)方法,依次分別為每個(gè)模塊設(shè)計(jì)軟件??偨Y(jié):對硬件的設(shè)計(jì)采用模塊化設(shè)計(jì)方法,采用的電路為典型應(yīng)用電路,資源配置合理,通過使用短路帽連接相應(yīng)的功能模塊,降低了功耗,減弱了器件之間的相互干擾,提高了系統(tǒng)穩(wěn)定性,硬件工作穩(wěn)定可靠。 其他模塊 流水燈模塊、蜂鳴器模塊的原理圖如圖 3圖 321 所示:S51 開發(fā)板的設(shè)計(jì)19 圖 320 流水燈模塊原理圖 圖 321 蜂鳴器模塊原理圖如圖 320 所示流水燈模塊包含 8 個(gè) LED 燈,單片機(jī)的 P0 口接 10K 上拉電阻,八個(gè) LED 的負(fù)極依次連接單片機(jī) P0 口的 8 個(gè)引腳,八個(gè) LED 的正極依次與 510 歐姆的排阻的八個(gè)端子相連,排阻的公共端連接短路插針的一端,短路插針的另一端與電源相連,因此,若將短路插針用短路帽短路,則八個(gè) LED 的正極上拉到高電平, LED 低電平點(diǎn)亮。工作于空閑模式時(shí) CPU 停止工作,而 SRAM
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1