




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、信息與電氣工程學院電子應用系統(tǒng) CDIOCDIO 一級項目設(shè)計說明書(2011/2012 學年第二學期)題 目 : _ _數(shù) 字 電 壓 表 _專業(yè)班級 :電子信息 0902 班學生姓名 :張 文 盛學 號: 090070213 指導教師 :賈少銳、李曉東、馬永強 李麗宏、賈東立、劉會軍設(shè)計周數(shù) :設(shè)計成績 :2012年 6 月 28 日模擬被測電壓模擬量模 數(shù) 轉(zhuǎn) 換數(shù)字量單片機芯片程序處理液晶驅(qū)動液晶驅(qū)動602液晶顯示1 1、CDIOCDIO 設(shè)計目的本次 CDIO 設(shè)計題目是:利用所學的 51單片機, C 語言,數(shù)字電路等知識,設(shè)計一個符合要求的數(shù)字電壓表。 主控芯片可以是 AT89C5
2、1,而采集電壓的模擬量轉(zhuǎn)換成數(shù)字量的芯片可以是ADC0804 ,也可以是 PCF8591。而顯示模塊可以是數(shù)碼管,也可以是液晶LCD1602 ,從而展示給我們所得的電壓值。2 2、CDIOCDIO 設(shè)計正文2.12.1 數(shù)字電壓表系統(tǒng)設(shè)計框圖本次數(shù)字電壓表系統(tǒng)設(shè)計框圖如圖 1 所示:圖 1 數(shù)字電壓表設(shè)計框圖數(shù)字電壓表主要由模 / 數(shù)轉(zhuǎn)換電路、單片機控制電路、顯示電路等三部分組成。其中 PCF8591 等器件組成的轉(zhuǎn)換電路, 將輸入的模擬量信號進行取樣、 轉(zhuǎn)換、然后將轉(zhuǎn)換的數(shù)字 信號送進單片機。 單片機控制電路主要實現(xiàn)對數(shù)據(jù)進行程序處理; 顯示電路主要用于將單片 機的信號數(shù)據(jù)轉(zhuǎn)換后顯示測量結(jié)果
3、。模擬信號產(chǎn)生模塊:輸入電源電路(變壓器、整流電路、濾波電路、穩(wěn)壓電路組成)和 分壓電路( 9 萬歐姆和 1 萬歐姆的電阻分壓) 。模數(shù)轉(zhuǎn)換模塊組成部分: PCF8591 芯片程序處理的單片機控制模塊: AT89C51 芯片電壓結(jié)果顯示部分: LCD1602 液晶2.22.2 各模塊介紹2.2.12.2.1 AT89C51AT89C51 芯片介紹AT89S52 具有以下標準功能: 8k 字節(jié) Flash, 256 字節(jié) RAM , 32 位 I/O 口線,看 門狗定時器, 2 個數(shù)據(jù)指針,三個 16 位定時器 /計數(shù)器,一個 6 向量 2 級中斷結(jié)構(gòu),全 雙工串行口, 片內(nèi)晶振及時鐘電路。 另
4、外,AT89S52 可降至 0Hz 靜態(tài)邏輯操作, 支持 2 種 軟件可選擇節(jié)電模式??臻e模式下, CPU 停止工作,允許 RAM 、定時器 /計數(shù)器、串口、中斷繼續(xù)工作。掉 電保護方式下, RAM 內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷 或硬件復位為止。AT89C52 的引腳圖如圖 2 所示。圖 2 AT89C52 引腳圖VCC : 接電源GND: 接地P0 口:P0 口是一個 8 位漏極開路的雙向 I/O 口。作為輸出口, 每位能驅(qū)動 8 個 TTL 邏輯電平。對 P0 端口寫“ 1”時,引腳用作高阻抗輸入。當訪問外部程序和數(shù)據(jù)存儲器時, P0 口也被作為低 8 位地
5、址 /數(shù)據(jù)復用。在這種模式下, P0 具有內(nèi)部上拉電阻。在 flash 編 程時, P0 口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校時,需要外部上 拉電阻。P1 口:P1 口是一個具有內(nèi)部上拉電阻的 8 位雙向 I/O 口,p1 輸出緩沖器能驅(qū)動 4 個 TTL 邏輯電平。對 P1 端口寫“ 1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入 口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流( IIL )。P2 口: P2 口是一個具有內(nèi)部上拉電阻的 8 位雙向 I/O 口, P2 輸出緩沖器能驅(qū)動 4 個 TTL 邏輯電平。對 P2 端口寫“ 1”時,內(nèi)部上
6、拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL )在訪問外部程序存儲器或用 16 位地址讀取外部數(shù)據(jù)存儲器 (例如執(zhí)行 MOVX DPTR )時, P2 口送出高八位地址。P3 口:P3 口是一個具有內(nèi)部上拉電阻的8 位雙向 I/O 口,p2 輸出緩沖器能驅(qū)動 4個 TTL 邏輯電平。對 P3 端口寫“ 1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入 口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL )。P3口亦作為 AT89C52 特殊功能(第二功能)使用, AT89C52 的 P3口的第二功能
7、表如表 1 所 示。表 1 AT89C52 的 P3口的第二功能腳號P3.0第二功能RXD(串行輸入)P3.1TXD(串行輸出)P3.2INT0( 外部中斷 0)P3.3INT0( 外部中斷 0)P3.4T0(定時器 0 外部輸入)P3.5T1(定時器 1 外部輸入)P3.6WR(外部數(shù)據(jù)存儲器寫選通 )P3.7RD(外部數(shù)據(jù)存儲器寫選通 )RST: 復位輸入。晶振工作時, RST 腳持續(xù) 2 個機器周期高電平將使單片機復位。看門狗計時完成后, RST 腳輸出 96 個晶振周期的高電平。特殊寄存器 AUXR( 地址 8EH) 上 的 DISRTO 位可以使此功能無效。 DISRTO 默認狀態(tài)下
8、,復位高電平有效。ALE/PROG :地址鎖存控制信號( ALE )是訪問外部程序存儲器時,鎖存低 8 PSEN 在每個機器周期被激活兩次, 而在訪問外部數(shù)據(jù)存位地址 的輸出脈沖。 在 flash 編程時, 此引腳(PROG )也用作編程輸入脈沖。 在一般情況下, ALE 以晶振六分之一的固定頻率輸出脈沖, 可用來作為外部定時器或時鐘使用。 然而,特別強調(diào), 在每次訪問外部數(shù)據(jù)存儲器時, ALE 脈沖將會跳過。PSEN:外部程序存儲器選通信號 ( PSEN)是外部程序存儲器選通信號。 當 AT89S52 從 外部程序存儲器執(zhí)行外部代碼時,儲器時, PSEN 將不被激活。EA/VPP: 訪問外部
9、程序存儲器控制信號。為使能從0000H 到 FFFFH 的外部程序存儲器讀取指令, EA 必須接 GND 。為了執(zhí)行內(nèi)部程序指令, EA 應該接 VCC 。在 flash 編程 期間, EA 也接收 12V 編程電源( VPP)。XTAL1: 振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。XTAL2: 振蕩器反相放大器的輸出端。( 2)晶振電路晶振電路是單片機的最小系統(tǒng)的組成部分。 典型的晶振取 11.0592MHz( 因為可以準確地 得到 9600 波特率和 19200 波特率,用于有串口通訊的場合 )/12MHz( 產(chǎn)生精確的 uS 級時歇 , 方便定時操作 ) 。特別注意 : 對于 31
10、腳(EA/Vpp), 當接高電平時, 單片機在復位后從內(nèi)部 ROM 的 0000H 開 始執(zhí)行;當接低電平時,復位后直接從外部 ROM 的 0000H 開始執(zhí)行。(3)復位電路復位電路也是單片機的最小系統(tǒng)的組成部分。 當單片機系統(tǒng)在運行中, 受到環(huán)境干擾出 現(xiàn)程序執(zhí)行錯亂的時候,按下復位按鈕內(nèi)部的程序自動從頭開始執(zhí)行。復位電路的原理是單片機 RST 引腳接收到 2us 以上的電平信號,只要保證電容的充放 電時間大于 2US,即可實現(xiàn)復位,所以電路中的電容值是可以改變的。按鍵按下系統(tǒng)復位, 是電容處于一個短路電路中,釋放了所有的電能,電阻兩端的電壓增加引起的。單片機最小系統(tǒng)復位電路的極性電容的大
11、小直接影響單片機的復位時間,一般采用 1030uF, 51 單片機最小系統(tǒng)容值越大需要的復位時間越短。2.2.22.2.2 PCF8591PCF8591 AD/DAAD/DA 芯片PCF8591 是一個單片集成、單獨供電、低功耗、 8-bit CMOS 數(shù)據(jù)獲取器件。 PCF8591 具有 4個模擬輸入、 1個模擬輸出和 1個串行 I2C總線接口。PCF8591 的3個地址引腳 A0, A1 和 A2 可用于硬件地址編程, 允許在同一個 I2C 總線上接入 8 個 PCF8591 器件, 而無需額外 的硬件。在 PCF8591 器件上輸入輸出的地址、控制和數(shù)據(jù)信號都是通過雙線雙向 I2C 總線
12、 以串行的方式進行傳輸。PCF8591 的功能包括多路模擬輸入、內(nèi)置跟蹤保持、8-bit 模數(shù)轉(zhuǎn)換和 8-bit 數(shù)模轉(zhuǎn)換。PCF8591 的最大轉(zhuǎn)化速率由 I2C 總線的最大速率決定。1、主要技術(shù)指標和特性EXT 接地。圖 3 PCF8591 引腳圖單獨供電PCF8591的操作電壓范圍 2.5V-6V低待機電流通過 I2C 總線串行輸入 / 輸出PCF8591通過 3 個硬件地址引腳尋址PCF8591的采樣率由 I2C 總線速率決定4 個模擬輸入可編程為單端型或差分輸入自動增量頻道選擇PCF8591的模擬電壓范圍從 Vss 到 VDDPCF8591內(nèi)置跟蹤保持電路8-bit 逐次逼近 A/D
13、 轉(zhuǎn)換器 通過 1 路模擬輸出實現(xiàn) DAC增益 2、ADC0808引腳功能 PCF8591引腳圖如圖 3 所示 AIN0AIN3:模擬信號輸入端。A0A3:引腳地址端。VDD、 VSS:電源端。 (2.5 6V)SDA、 SCL: I2C 總線的數(shù)據(jù)線、 時鐘線。 OSC:外部時鐘輸入端,內(nèi)部時鐘輸出端。EXT:內(nèi)部、外部時鐘選擇線,使用內(nèi)部時鐘時 AGND:模擬信號地。AOUT:D/A 轉(zhuǎn)換輸出端。VREF:基準電源端。4 功能描述(1)地址IIC 總線系統(tǒng)中的每一片 PCF8591通過發(fā)送有效地址到該地址器件來激活。該地址包括議中地址必需是起始條件后作為第一個字節(jié)發(fā)送。地址字節(jié)的最后一位是
14、用于設(shè)置以后數(shù)據(jù)固定部分和可編程部分。 可編程部分必需根據(jù)地址引腳A0、A1和 A2來設(shè)置。在 IIC 總線協(xié)傳輸方向的讀 / 寫。(2) 圖 4 PCF8591地址設(shè)置 控制控制字字節(jié)用于實現(xiàn)器件的各種功能, 如模擬信號由哪幾個通道輸入等。 控制字節(jié)存放在控制寄存器中。 總圖 5 控制字格式其中: D1、 D0兩位是 A/D通道編號: 00 通道 0,01 通道 1,10 通道 2,11 通道 3D2 自動增益選擇(有效位為 1)D5 、 D4模擬量輸入選擇: 00為四路單數(shù)入、 01為三路差分輸入、 10 為單端與差分 配合輸入、 11 為模擬輸出允許有效當系統(tǒng)為 A/D 轉(zhuǎn)換時,模擬輸出
15、允許為 0。模擬量輸入選擇位取值由輸入方式?jīng)Q定: 四路單端輸入時取 00,三路差分輸入時取 01 ,單端與差分輸入時取 10,二路差分輸入時取 11。最低兩位時通道編號位,當對0 通道的模擬信號進行 A/D 轉(zhuǎn)換時取 00,當對 1 通道的模擬信號進行 A/D 轉(zhuǎn)換時取 01,當對 2 通道的模擬信號進行 A/D轉(zhuǎn)換時取 10,當對 3 通道 的模擬信號進行 A/D 轉(zhuǎn)換時取 11。在進行數(shù)據(jù)操作時,首先是主控器發(fā)出起始信號,然后發(fā)出讀尋址字節(jié),被控器做 出應答后, 主控器從被控器讀出第一個數(shù)據(jù)字節(jié), 主控器發(fā)出應答, 主控器從被控器讀出第 二個數(shù)據(jù)字節(jié), 主控器發(fā)出應答一直到主控器從被控器中
16、讀出第n 個數(shù)據(jù)字節(jié), 主控器發(fā)出非應答信號,最后主控器發(fā)出停止信號。(3)A/D 轉(zhuǎn)換A/D 轉(zhuǎn)換器采用逐次逼近轉(zhuǎn)換技術(shù)。 在 A/D 轉(zhuǎn)換周期將臨時使用片上轉(zhuǎn)換器和高增益比線操作時為主控器發(fā)送的第二字節(jié)。其格式如下圖5 所示:6)較器。一個 A/D轉(zhuǎn)換周期總是開始于發(fā)送一個有效讀模式地址給PCF8591之后。 A/D 轉(zhuǎn)換周期子在應答時鐘脈沖的后延被觸發(fā)。并在傳輸前一次轉(zhuǎn)換結(jié)果時執(zhí)行(見圖圖 6 A/D 轉(zhuǎn)換一旦一個轉(zhuǎn)換周期被觸發(fā),所選通的輸入電壓采樣將保存到芯片并被轉(zhuǎn)換為對應的 8 位二進制碼,取自差分輸入的采樣將被轉(zhuǎn)換為8 位二進制補碼轉(zhuǎn)換結(jié)果被保存在 ADC數(shù)據(jù)寄存器等待傳輸。如果自
17、動增量標志被置1,將選擇下一個通道。 在讀周期傳輸?shù)牡谝粋€字節(jié)包含前一次讀周期的轉(zhuǎn)換結(jié)果代碼,以上電復位之后讀取的第一個字節(jié)是 0 x80。最高 A/D 轉(zhuǎn)換速率取決于實際的 IIC 總線速度。(4)D/A 轉(zhuǎn)換發(fā)送給 PCF8591的第三個字節(jié)被存儲到 DAC數(shù)據(jù)存儲器, 并使用片內(nèi) D/A 轉(zhuǎn)換器轉(zhuǎn)換成 對應的模擬電壓。這個 D/A 轉(zhuǎn)換器由連接到外部參考電壓的具有 256 個接頭的電阻分壓電 路和選擇開關(guān)組成。接頭譯碼器切換一個接頭至DAC輸出線。模擬輸出電壓由自動清零單位增益放大器緩沖。 這個緩沖放大器可通過設(shè)置控制寄存器 的模擬輸出允許標志來打開或關(guān)閉。在激活狀態(tài),輸出電壓將保持到新
18、的數(shù)據(jù)字節(jié)被發(fā)送。提供給模擬輸出 AOUT的輸出電壓由下式給出。 D/A 轉(zhuǎn)換順序的波形圖如圖 7VREF VAGND 7 iVAOUT =VAGND +Di 2256 i 08 所示:圖 7 D/A 轉(zhuǎn)換( 5)振蕩器片上振蕩器產(chǎn)生 A/D 轉(zhuǎn)換周期和刷新自動清零緩沖放大器需要的時鐘信號。 在使用這個 振蕩器時 EXT引腳必須連接到 VSS。在 OSC引腳振蕩頻率是可用的。如果 EXT引腳被連接到 VDD,振蕩輸出 OSC將切換到高阻態(tài)以允許用戶連接外部時鐘信 號至 OSC。6 I2C 總線特性I2C 總線是不同的 IC 或模塊 之間的雙向兩線通信,這兩條線是串行數(shù)據(jù)線(SDA )和串行時鐘
19、線( SCL ),這兩條線必須通過上拉電路連接至正電源。數(shù)據(jù)傳輸只能是在總線不 忙時啟動。( 1)位傳輸一個數(shù)據(jù)位在每一個時鐘脈沖期間傳輸。 SDA線上的數(shù)據(jù)必須在時鐘脈沖的高電平期間保持穩(wěn)定。這個期間數(shù)據(jù)線上的改變被當作控制信號。具體時序如圖圖 8 位傳輸2)開始或停止條件數(shù)據(jù)和時鐘線在總不忙時保持高電平。在時鐘為高電平時,數(shù)據(jù)線上的一個由高到低的變化被定義為開始條件。 時鐘為高電平時, 數(shù)據(jù)線上的一個由低到高的變化被定義為停圖 9 開始和停止條件(3)系統(tǒng)配置產(chǎn)生信息的器件稱作“發(fā)送機” ,接收信息的器件稱作“接收機” 。控制信息的器件 稱作“主機” ,被控制的器件稱作“從機” 。如圖 1
20、0 所示:圖 10 系統(tǒng)配置止條件。具體時序如圖 9 所示(4)應答 在開始和停止條件之間從發(fā)送機傳輸?shù)浇邮諜C的數(shù)據(jù)字節(jié)數(shù)是沒有限制的。 每個 8 位數(shù) 據(jù)字節(jié)之后緊跟著一個應答位。 應答位是由發(fā)送機放在總線的一個高電平, 而主機也產(chǎn)生一 個額外的與應答有關(guān)的時鐘脈沖。 地址匹配的從接收機必須在接收每一個字節(jié)后產(chǎn)生一個應 答。在應答時鐘脈沖期間, 應答的器件必須將 SDA線拉低。 因此在應答相應的時鐘脈沖的高 電平期間, SDA線必須保持穩(wěn)定的低電平。在由從機終止的最后一個字節(jié),主接收機必須通 過產(chǎn)生一個低電平應答向發(fā)送機發(fā)送一個數(shù)據(jù)結(jié)束信號, 這樣發(fā)送機必須將數(shù)據(jù)線 SDA拉高 以允許主機產(chǎn)
21、生停止條件。具體時序如圖 11 所示圖 11 I2C 總線應答(5)總線協(xié)議在開始條件后一個有效的硬件地址必須發(fā)送至PCF8591。讀/ 寫位定義了以后單個或多個字節(jié)數(shù)據(jù)傳輸?shù)姆较?。開始條件、停止條件和應答位的格式應定時參考 I2C 總線特性。 在寫模式數(shù)據(jù)傳輸通過發(fā)送下一個數(shù)據(jù)的停止條件或開始條件來約束。總線協(xié)議具體時序如圖 12,13 所示:對比度過高時會產(chǎn)生“鬼影”圖 12 寫模式的總線協(xié)議, D/A 轉(zhuǎn)換圖 13 讀模式的總線協(xié)議, A/D 轉(zhuǎn)換2.2.32.2.3 LCD1602LCD1602 液晶字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號等點陣式LCD。引腳功能說明160
22、2LCD采用標準的 14腳(無背光)或 16腳(帶背光) 接口,各引腳接口說明如表 2 所 示。表 2 1602LCD 的引腳說明編號符號引腳說明編號符號引腳說明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3VL液晶顯示偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/ 命令選擇12D5數(shù)據(jù)5R/W讀/ 寫選擇13D6數(shù)據(jù)6E使能信號14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負極第 1 腳: VSS 為地電源。第 2 腳: VDD接 5V 正電源。第 3 腳:VL 為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,使用時可以通過一個 10K 的電位器調(diào)整對比度。第
23、4 腳: RS 為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。第 5 腳: R/W為讀寫信號線,高電平時進行讀操作, 低電平時進行寫操作。當 RS和 R/W 共同為低電平時可以寫入指令或者顯示地址, 當 RS為低電平 R/W 為高電平時可以讀忙信號, 當 RS 為高電平 R/W為低電平時可以寫入數(shù)據(jù)。第 6 腳: E端為使能端,當 E 端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第 714 腳: D0D7為 8 位雙向數(shù)據(jù)線。第 15 腳:背光源正極。第 16 腳:背光源負極。1602LCD的指令說明及時序1602液晶模塊內(nèi)部的控制器共有 11 條控制指令,如表 3所示:表3
24、液晶內(nèi)部指令表序號指令RS R/WD7D6D5D4D3D2D1D01清顯示00000000012光標返回000000001*3置輸入模式00000001I/DS4顯示開 / 關(guān)控制0000001DCB5光標或字符移位000001S/C R/L*6置功能00001DLNF*7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標志或地址01BF計數(shù)器地址10寫數(shù)到 CGRAM或 DDRA)M10要寫的數(shù)據(jù)內(nèi)容11從 CGRAM或 DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容1602 液晶模塊的讀寫操作、屏幕和光標的操作都是通過指令編程來實現(xiàn)的。 (說明: 1為高電平
25、、 0 為低電平)指令 1:清顯示,指令碼 01H, 光標復位到地址 00H 位置。指令 2:光標復位,光標返回到地址 00H。指令 3:光標和顯示模式設(shè)置 I/D :光標移動方向,高電平右移,低電平左移 S: 屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。指令 4:顯示開關(guān)控制。 D :控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 C:控制光標的開與關(guān), 高電平表示有光標,低電平表示無光標B :控制光標是否閃爍,高電平閃爍,低電平不閃爍。指令 5:光標或顯示移位 S/C :高電平時移動顯示的文字,低電平時移動光標。指令 6:功能設(shè)置命令 DL:高電平時為 4 位總
26、線,低電平時為 8 位總線 N :低電平時 為單行顯示,高電平時雙行顯示 F: 低電平時顯示 5x7 的點陣字符,高電平時顯示 5x10 的 點陣字符。指令 7:字符發(fā)生器 RAM地址設(shè)置。指令 8: DDRAM地址設(shè)置。指令 9:讀忙信號和光標地址 BF :為忙標志位,高電平表示忙,此時模塊不能接收命 令或者數(shù)據(jù),如果為低電平表示不忙。指令 10:寫數(shù)據(jù)。指令 11:讀數(shù)據(jù)。與 HD44780相兼容的芯片時序如表 4 所示:表 4 芯片時序讀狀態(tài)輸入RS=L,R/W=H,E=H輸出D0D7=狀態(tài)字寫指令輸入RS=L,R/W=L,D0 D7=指令碼, E=高脈沖輸出無讀數(shù)據(jù)輸入RS=H,R/W
27、=H,E=H輸出D0D7=數(shù)據(jù)寫數(shù)據(jù)輸入RS=H,R/W=L,D0 D7=數(shù)據(jù), E=高脈沖輸出無圖 14 讀操作時序?qū)懖僮鲿r序如圖 15 所示。2.32.3 系統(tǒng)硬件仿真用 Protues 繪制數(shù)字電壓表的電路圖后,將 Keil4 生成的 HEX 文件下載進主控芯片AT89C51芯片里,運行,電路圖和結(jié)果如圖16 所示圖 16 Protues 仿真圖及結(jié)果2.42.4 系統(tǒng)程序設(shè)計根據(jù)設(shè)計要求結(jié)合硬件電路,采用的是 PCF8591 模數(shù)數(shù)模轉(zhuǎn)換芯片,采用的是液晶顯示方式,在液晶顯示之前,需對采集回的二進制數(shù)字量進行轉(zhuǎn)換顯示,這段過程 5V 電壓為基準進行數(shù)據(jù)處理。圖 16 是程序流程圖:液晶
28、顯示結(jié)束圖 16 程序流程圖2.52.5 程序2.5.1 主程序模塊#include#include#includeconfig.h#includelcd.h/* 與 AD轉(zhuǎn)換有關(guān)的全局變量 */ uchar AD_result=0;float Volt=0;/* 與 LCD顯示有關(guān)的全局變 */char temp16,temp116;* 函數(shù)名 *void LCD_DIS()* 功 能 * 顯示函數(shù)* 參 數(shù) * 說 明 *void LCD_DIS()sprintf(char *)temp,Volt:%-6.4fV,Volt);LCD_Str_DIS(char *)temp,0,1);spr
29、intf(char *)temp1,FINISH);LCD_Str_DIS(char *)temp1,1,5);* 函數(shù)名 *void AD_WORK()* 功 能 *AD 轉(zhuǎn)換函數(shù)* 參 數(shù) * 說 明 *void AD_WORK()AD_start();AD_write(0 x90);AD_respons();AD_write(0 x41);AD_respons();AD_end();AD_start();AD_write(0 x90);AD_respons();AD_write(0 x41);AD_respons();AD_start();AD_write(0 x91);AD_respo
30、ns();AD_result=AD_read();AD_respons();AD_end();AD_start();AD_write(0 x90);AD_respons();AD_write(0 x41);AD_respons();AD_write(AD_result);AD_respons();AD_end();* 函數(shù)名 *void Data_Done()* 功 能 * 數(shù)據(jù)處理函數(shù)* 參 數(shù) * 說 明 *void Data_Done()Volt=(AD_result*5)/255.0; / 以 5V 電壓為基準,轉(zhuǎn)換成真正的電壓 /* 函數(shù)名 *void main()* 功 能 * 參
31、 數(shù) * 說 明 * void main()LCD_init(); /液晶初始化while(1)AD_init(); /AD初始化AD_WORK(); /AD轉(zhuǎn)換Data_Done(); /數(shù)據(jù)處理LCD_DIS(); /液晶顯示2.5.2 PCF8591 AD/DA 模塊#include sbit sda=P20;sbit scl=P21;/* 函數(shù)名 *void AD_init()* 功 能 P1=AD_result;/AD轉(zhuǎn)換的值通過流水燈顯示數(shù) * * 說 明 *void AD_init()sda=1;delay();scl=1;delay();/* 函數(shù)名 *void AD_start()* 功 能 * 參 數(shù) * 說 明 *void AD_start()sda=1;delay();scl=1;delay();sda=0;delay(); 函數(shù)名 *void AD_end()時變化數(shù)據(jù)* 功 能 *數(shù) * * 說 明 * void AD_end()sda=0; delay(); scl=1; delay();sda=1; delay();* 函數(shù)名 *void AD_write(uchar dat)* 功 能 * 參 數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鄉(xiāng)鎮(zhèn)物業(yè)承包合同范本
- 2025年湖北省安全員知識題庫附答案
- 賣彩票用工合同范本
- 算24點標準答案全集
- 公對公業(yè)務合同范本
- j建筑維修合同范本
- 2025河北省建筑安全員B證考試題庫
- 2022 世界杯阿根廷隊前場主要進攻戰(zhàn)術(shù)特征分析
- 買斷女兒婚姻合同范本
- 2025年江西省建筑安全員-C證考試題庫
- 肌肉注射的常見并發(fā)癥及預防處理措施
- 景觀模型設(shè)計與制作:第7章 建筑模型制作基本技法
- 關(guān)愛婦女防治兩癌講座課件
- DL∕T 584-2017 3kV~110kV電網(wǎng)繼電保護裝置運行整定規(guī)程
- (正式版)FZ∕T 80018-2024 服裝 防靜電性能要求及試驗方法
- 北師大版八年級下冊生物教案全冊
- 技術(shù)學院各部門廉政風險點、防控措施匯編
- JGJ133-2001 金屬與石材幕墻工程技術(shù)規(guī)范
- 穩(wěn)定性冠心病診斷與治療指南
- DL-T5704-2014火力發(fā)電廠熱力設(shè)備及管道保溫防腐施工質(zhì)量驗收規(guī)程
- (高清版)JGT 225-2020 預應力混凝土用金屬波紋管
評論
0/150
提交評論