版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、揚州工業(yè)職業(yè)技術學院2009 2010學年第 二 學期畢業(yè)設計課題名稱: 基于AT89S52單片機的數(shù)字電壓表 設計時間: 系 部: 電子信息工程系 班 級: 0707應用電子 姓 名: 范 健 指導教師: 單 丹 總目錄第一部分 任務書 第二部分 開題報告 第三部分 畢業(yè)設計正文 第 一 部 分任務書揚州工業(yè)職業(yè)技術學院畢業(yè)設計任務書系 部電子信息工程系指導老師單丹職稱助講學生姓名范健班級0702應用電子學號0705120223設計題目基于AT89S52單片機的數(shù)字電壓表設計內(nèi)容目標和要求教研室審核系部審核第 二 部 分開題報告揚州工業(yè)職業(yè)技術學院 電子信息工程 系10屆畢業(yè)設計(論文)開題
2、報告書學生姓名 范健專業(yè)應用電子技術班級0702應用電子學號0705120223題 目基于AT89S52單片機的數(shù)字電壓表指導教師單丹職稱助講學 位碩士題目類別 工程設計 基礎研究 應用研究 其它【課題的內(nèi)容與要求】1. 采用ICL7135高精度、雙積分A/D轉(zhuǎn)換電路,測量范圍直流0-±2000伏2. ,使用LCD液晶模塊顯示,可以與PC機進行串行通信【前言】數(shù)字電壓表(Digital Voltmeter)簡稱DVM,它是采用數(shù)字化測量技術,把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。傳統(tǒng)的指針式電壓表功能單一、精度低,不能滿足數(shù)字化時代的需求,采用單
3、片機的數(shù)字電壓表,由精度高、抗干擾能力強,可擴展性強、集成方便,還可與PC進行實時通信。目前,由各種單片A/D 轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已被廣泛用于電子及電工測量、工業(yè)自動化儀表、自動測試系統(tǒng)等智能化測量領域,示出強大的生命力。與此同時,由DVM擴展而成的各種通用及專用數(shù)字儀器儀表,也把電量及非電量測量技術提高到嶄新水平。本章重點介紹單片A/D 轉(zhuǎn)換器以及由它們構(gòu)成的基于單片機的數(shù)字電壓表的工作原理?!痉桨傅谋容^與評價】本文介紹一種基于89S52單片機的一種電壓測量電路,該電路采用ICL7135高精度、雙積分A/D轉(zhuǎn)換電路,測量范圍直流0-±2000伏,使用LCD液晶模塊顯示,可以與
4、PC機進行串行通信?!绢A期的效果及指標】本電路是一種高精度、低功耗、寬量程、智能化的電壓表??蓴U展鍵盤、EEPROM、報警電路,實現(xiàn)電壓異常記錄、報警【進度安排】2009年9月15 日 -2009年9月30 日 選題、調(diào)研、收集資料2009年9月30 日 -2009年10月5 日 論證、開題2009年10月6 日-2010年3月20日 設計(寫作初稿)2010年3月21日-2010年3月23日 修改、定稿、打印、答辯【參考文獻】1 徐愛鈞.智能化測量控制儀表原理與設計(第二版)M.北京:北京航空航天大學出版社,2004.2 吳金戌,沈慶陽,郭庭吉.8051單片機實踐與應用M.北京:清華大學出版
5、社,2002.3 張國勛,縮短ICL7135A/D采樣程序時間的一種方法J. 電子技術應用,1993,第一期.4 高峰,單片微型計算機與接口技術M.北京:科學出版社,2003.5 劉偉,趙俊逸,黃勇,一種基予C8051F單片機的SOC型數(shù)據(jù)采錄器的設計與實現(xiàn)A.天津市計算機學會單片機分會編. 2003年全國單片機及嵌如入式系統(tǒng)學術年會論文集(下冊)C .北京:北京航空航天大學出版社,2003 .790-7946 【指導教師意見】(有針對性地說明選題意義及工作安排是否恰當?shù)龋┩馓峤婚_題論證 修改后提交 不同意提交(請說明理由)指導教師簽章: 年 月 日 【系部意見】同意指導教師意見 不同意指導
6、教師意見(請說明理由) 其它(請說明)隊系(部)主任簽章: 年 月 日第 三 部 分畢業(yè)設計正文基于AT89S52單片機的數(shù)字電壓表范健0702應用電子 摘 要 本文介紹一種基于89S52單片機的一種電壓測量電路,該電路采用ICL7135高精度、雙積分A/D轉(zhuǎn)換電路,測量范圍直流0-±2000伏,使用LCD液晶模塊顯示,可以與PC機進行串行通信。正文著重給出了軟硬件系統(tǒng)的各部分電路,介紹了雙積分電路的原理,89S52的特點,ICL7135的功能和應用,LCD1601的功能和應用。該電路設計新穎、功能強大、可擴展性強。關鍵詞 電壓測量,ICL7135,雙積分A/D轉(zhuǎn)換器,1601液晶模
7、塊英文題目(四號,宋體加粗,居中)Fanjian0702 application of electronicAbstract: The introduction of a cost-based 89S52 MCU a voltage measurement circuits, the circuits used ICL7135 high-precision, dual-scoring A/D conversion circuits, measuring scope DC 0-2000 volts, the use of LCD that can be carried out with a PC
8、 serial communications. The paper focuses on providing a software and hardware system components circuit, introduced double integral circuit theory, 89S52 features ICL7135 functions and applications, LCD1601 functions and applications. the circuit design innovative, powerful, can be expansionary str
9、ong.Key words: Digital Voltmeter ICL7135 LCD1601 89S52目 錄第一章 前言12述.121.2系統(tǒng)原理及基本框圖12第二章 硬件設計13輸入電路13A/D轉(zhuǎn)換電路。.13雙積A/D轉(zhuǎn)換器的工作原理.14 7135的應用.15 單片機部分.18分.192.4.1 1601使用說明.19液晶顯示部分與89S52的接口。.22塊.23第三章 系統(tǒng)的軟件設計24設計.243.2 A/D中斷程序設計.25序設計.12結(jié)論/小結(jié)/心得體會29致謝30參考文獻31第一章 前言概述數(shù)字電壓表(Digital Voltmeter)簡稱DVM,它是采用數(shù)字化測量技
10、術,把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。傳統(tǒng)的指針式電壓表功能單一、精度低,不能滿足數(shù)字化時代的需求,采用單片機的數(shù)字電壓表,由精度高、抗干擾能力強,可擴展性強、集成方便,還可與PC進行實時通信。目前,由各種單片A/D 轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已被廣泛用于電子及電工測量、工業(yè)自動化儀表、自動測試系統(tǒng)等智能化測量領域,示出強大的生命力。與此同時,由DVM擴展而成的各種通用及專用數(shù)字儀器儀表,也把電量及非電量測量技術提高到嶄新水平。本章重點介紹單片A/D 轉(zhuǎn)換器以及由它們構(gòu)成的基于單片機的數(shù)字電壓表的工作原理。1.2系統(tǒng)原理及基本框圖如圖1.1所示,模擬電壓
11、經(jīng)過檔位切換到不同的分壓電路衰減后,經(jīng)隔離干擾送到A/D轉(zhuǎn)換器進行A/D轉(zhuǎn)換,然后送到單片機中進行數(shù)據(jù)處理。處理后的數(shù)據(jù)送到LCD中顯示,同時通過串行通訊與上位機通信。輸入電路A/D轉(zhuǎn)換89S52單片機LCD顯示通訊模塊圖1.1系統(tǒng)基本方框圖第二章 硬件設計輸入電路圖2量程切換開關圖衰減輸入電路輸入電路的作用是把不同量程的被測的電壓規(guī)范到A/D轉(zhuǎn)換器所要求的電壓值。智能化數(shù)字電壓表所采用的單片雙積分型ADC芯片ICL7135,它要求輸入電壓0-±2V。本儀表設計是0-1000V電壓,靈敏度高所以可以不加前置放大器,只需衰減器,如圖所示9M、900K、90K、和10K電阻構(gòu)成1/10、
12、1/100、1/1000的衰減器。衰減輸入電路可由開關來選擇不同的衰減率,從而切換檔位。為了能讓CPU自動識別檔位,還要有圖3.1.1的硬件連接。 A/D轉(zhuǎn)換電路A/D 轉(zhuǎn)換器的轉(zhuǎn)換精度對測量電路極其重要,它的參數(shù)關系到測量電路性能。本設計采用雙積A/D 轉(zhuǎn)換器,它的性能比較穩(wěn)定,轉(zhuǎn)換精度高,具有很高的抗干擾能力,電路結(jié)構(gòu)簡單,其缺點是工作速度較低。在對轉(zhuǎn)換精度要求較高,而對轉(zhuǎn)換速度要求不高的場合如電壓測量有廣泛的應用。雙積A/D 轉(zhuǎn)換器的工作原理圖.1雙積A/D 轉(zhuǎn)換器如圖所示:對輸入模擬電壓和基準電壓進行兩次積分,先對輸入模擬電壓進行積分,將其變換成與輸入模擬電壓成正比的時間間隔 T1,再
13、利用計數(shù)器測出此時間間隔,則計數(shù)器所計的數(shù)字量就正比于輸入的模擬電壓;接著對基準電壓進行同樣的處理。在常用的A/D轉(zhuǎn)換芯片(如ADC -0809、ICL7135、ICL7109等)中,ICL7135與其余幾種有所不同,它是一種四位半的雙積分A/D轉(zhuǎn)換器,具有精度高(精度相當于14位二進制數(shù))、價格低廉、抗干擾能力強等優(yōu)點。本文介紹用單片機并行方式采集ICL7135的數(shù)據(jù)以實現(xiàn)單片機電壓表和小型智能儀表的設計方案。 圖.2雙積A/D 轉(zhuǎn)換器的波形圖.2 7135的應用2.2.2.1 ICL7135引腳圖7135是采用CMOS工藝制作的單片4位半A/D轉(zhuǎn)換器,其所轉(zhuǎn)換的數(shù)字值以多工掃描的方式輸出,
14、只要附加譯碼器,數(shù)碼顯示器,驅(qū)動器及電阻電容等元件,就可組成一個滿量程為2V的數(shù)字電壓表。7135主要特點如下:雙積型A/D轉(zhuǎn)換器,轉(zhuǎn)換速度慢。在每次A/D轉(zhuǎn)換前,內(nèi)部電 路都自動進行調(diào)零操作,可保證零點在常溫下的長期穩(wěn)定。在20000字(2V滿量程)范圍內(nèi),保證轉(zhuǎn)換精度1字相當于14bitA/D轉(zhuǎn)換器。 具有自動極性轉(zhuǎn)換功能。能在但極性參考電壓下對雙極性模擬輸入電壓進行A/D轉(zhuǎn)換,模擬電壓的范圍為0±。 模擬出入可以是差動信號,輸入電阻極高,輸入電流典型值1PA。 所有輸出端和TTL電路相容。
15、60; 有過量程(OR)和欠量程(UR)標志信號輸出,可用作自動量程轉(zhuǎn)換的控制信號。 輸出為動態(tài)掃描BCD碼。 對外提供六個輸入,輸出控制信號(R/H,BUSH,ST,POL,OR,UR),因此除用于數(shù)字電壓表外,還能與異步接收 /發(fā)送器,微處理器或其它控制電路連接使用。 采用28外引線雙列直插式封裝,外引線功能端排列如圖所示。7135數(shù)字部分數(shù)字部分主要由計數(shù)器、鎖存器、多路開關及控制邏輯電路等組成。7135一次A/D轉(zhuǎn)換周期分為四個階段:1、自動調(diào)零(AZ);2、被測電壓積分(INT);3、基準電壓反積分(DE);4、
16、積分回零(ZI)。具體內(nèi)部轉(zhuǎn)換過程這里不做祥細介紹,主要介紹引腳的使用。R/H(25腳)當R/H=“1”(該端懸空時為“1”)時,7135處于連續(xù)轉(zhuǎn)換狀態(tài),每40002個時鐘周期完成一次A/D轉(zhuǎn)換。若R/H由“1”變“0”,則7135在完成本次A/D轉(zhuǎn)換后進入保持狀態(tài),此時輸出為最后一次轉(zhuǎn)換結(jié)果,不受輸入電壓變化的影響。因此利用R/H端的功能可以使數(shù)據(jù)有保持功能。若把R/H端用作啟動功能時,只要在該端輸入一個正脈沖(寬度300ns),轉(zhuǎn)換器就從AZ階段開始進行A/D轉(zhuǎn)換。注意:第一次轉(zhuǎn)換周期中的AZ階段時間為9001-10001個時鐘脈沖,這是由于啟動脈沖和內(nèi)部計數(shù)器狀態(tài)不同步造成的。/ST(
17、26腳)每次A/D轉(zhuǎn)換周期結(jié)束后,ST端都輸出5個負脈沖,其輸出時間對應在每個周期開始時的5個位選信號正脈沖的中間,ST負脈沖寬度等于1/2時鐘周期。第一個ST負脈沖在上次轉(zhuǎn)換周期結(jié)束后101個時鐘周期產(chǎn)生。因為每個選信號(D5-D1)的正脈沖寬度為200個時鐘周期(只有AZ和DE階段開始時的第一個D5的脈沖寬度為201個CLK 周期),所以ST負脈沖之間相隔也是200個時鐘周期。需要注意的是,若上一周期為保持狀態(tài)(R/H=“0”)則ST無脈沖信號輸出。ST信號主要用來控制將轉(zhuǎn)換結(jié)果向外部鎖存器、UARTs或微處理器進行傳送。圖2.2.2.2 ICL7135的波形圖BUSY(21腳)在雙積分階
18、段(INT+DE),BUSY為高電平,其余時為低電平。因此利用BUSY功能,可以實現(xiàn)A/D轉(zhuǎn)換結(jié)果的遠距離雙線傳送,其還原方法是將BUSY和CLK“與”后來計數(shù)器,再減去10001就可得到原來的轉(zhuǎn)換結(jié)果。OR(27腳)當輸入電壓超出量程范圍(20000),OR將會變高。該信號在BUSY信號結(jié)束時變高。在DE階段開始時變低。UR(28腳)當輸入電壓等于或低于滿量程的9%(讀數(shù)為1800),則一當BUST信號結(jié)束,UR將會變高。該信號在INT階段開始時變低。POL(23腳)該信號用來指示輸入電壓的極性。當輸入電壓為正,則POL等于“1”,反之則等于“0”。該信號DE階段開始時變化,并維持一個A/D
19、轉(zhuǎn)換調(diào)期。位驅(qū)動信號D5、D4、D3、D2、D1(12、17、18、19、20腳)每一位驅(qū)動信號分別輸出一個正脈沖信號,脈沖寬度為200個時鐘周期,其中D5對應萬位選通,以下依次為千、百、十、個位。在正常輸入情況下,D5-D1輸出連續(xù)脈沖。當輸入電壓過量程時,D5-D1在AZ階段開始時只分別輸出一個脈沖,然后都處于低電平,直至DE階段開始時才輸出連續(xù)脈沖。利用這個特性,可使得顯示器件在過程時產(chǎn)生一亮一暗的直觀現(xiàn)象。 B8、B4、B2、B1(16、15、14、13腳)該四端為轉(zhuǎn)換結(jié)果BCD碼輸出,采用動態(tài)掃描輸出方式,即當位選信號D5=“1”時,該四端的信號為萬位數(shù)的內(nèi)容,D4=“1”時為千位數(shù)
20、內(nèi)容,其余依次類推。在個、十、百、千四位數(shù)的內(nèi)容輸出時,BCD碼范圍為0000-1001,對于萬位數(shù)只有0和1兩種狀態(tài),所以其輸出的BCD碼為“0000”和“0001”。當輸入電壓過量程時,各位數(shù)輸出全部為零,這一點在使用時應注意。圖2.2.2.2 ICL7135的波形圖 最后還要說明一點,由于數(shù)字部分以DGNG端作為接地端,所以所有輸出端輸出電平以DGNG作為相對參考點?;鶞孰妷?,基準電壓的輸入必須對于模擬公共端COM是正電壓。與單片機系統(tǒng)的串行連接在ICL7135與單片機系統(tǒng)進行連接時,使用并行采集方式,要連接BCD碼數(shù)據(jù)輸出線,可以將ICL7135的/STB信號接
21、至AT89C52的P3.2(INT0)。 ICL7135需要外部的時鐘信號,本設計采用CD4060來對4M信號進行32分頻得到125KHz的時鐘信號。CD4060計數(shù)為級進制計數(shù)器,在數(shù)字集成電路中可實現(xiàn)的分頻次數(shù)最高,而且CD4060還包含振蕩電路所需的非門,使用更為方便。圖 ICL7135與系統(tǒng)的連接圖 圖.4CD4060時鐘發(fā)生電路2.3單片機部分單片機選用的是ATMEL公司新推出的AT89S52,如圖所示。該芯片具有低功耗、高性能的特點,是采用CMOS工藝的8位單片機,與AT89C51完全兼容。AT89S52還有以下主要特點: 采用了ATMEL公司的
22、高密度、非易失性存儲器(NV-SRAM)技術; 其片內(nèi)具有256字節(jié)RAM,8KB的可在線編程(ISP)FLASH存儲器; 有2種低功耗節(jié)電工作方式:空閑模式和掉電模式 片內(nèi)含有一個看門狗定時器(WDT),WDT包含一個14位計數(shù)器和看門狗定時器復位寄存器(WDTRST),只要對WDTRST按順序先寫入01EH,后寫入0E1H,WDT便啟動,當CPU由于擾動而使程序陷入死循環(huán)或“跑飛”狀態(tài)時,WDT即可有效地使系統(tǒng)復位,提高了系統(tǒng)的抗干擾性能。圖 2.3.1 89S52引腳圖2.4液晶顯
23、示部分顯示接口用來顯示系統(tǒng)的狀態(tài),命令或采集的電壓數(shù)據(jù)。本系統(tǒng)顯示部分用的是LCD液晶模塊,采用一個16×1的字符型液晶顯示模塊, 點陣圖形式液晶由 M 行×N 列個顯示單元組成,假設 LCD 顯示屏有64行,每行有 128列,每 8列對應 1 個字節(jié)的 8 個位,即每行由 16 字節(jié),共 16×8=128個點組成,屏上 64×16 個顯示單元和顯示 RAM 區(qū) 1024 個字節(jié)相對應,每一字節(jié)的內(nèi)容和屏上相應位置的亮暗對應。一個字符由 6×8 或 8×8點陣組成,即要找到和屏上某幾個位置對應的顯示 RAM區(qū)的 8 個字節(jié),并且要使每
24、個字節(jié)的不同的位為1,其它的為0,為1的點亮,為0的點暗,這樣一來就組成某個字符。但對于內(nèi)帶字符發(fā)生器的控制器來說,顯示字符就比較簡單了,可讓控制器工作在文本方式,根據(jù)在LCD 上開始顯示的行列號及每行的列數(shù)找出顯示 RAM對應的地址,設立光標,在此送上該字符對應的代碼即可。2 1601使用說明圖2.1 1601引腳圖表2.1 LCD1601液晶模塊的引腳引腳符號功能說明1GND接地2Vcc5V3VL驅(qū)動LCD,一般將此腳接地4RS寄存器選擇 0:指令寄存器(WRITE)Busy flag,位址計數(shù)器(READ) 1:數(shù)據(jù)寄存器(WRITE,READ)5R/WREAD/WRITE選擇 1:RE
25、AD 0:WTITE6E讀寫使能(下降沿使能)7DB0低4位三態(tài)、雙向數(shù)據(jù)總線續(xù)表2.1 LCD1601液晶模塊的引腳8DB19DB210DB311DB4高4位三態(tài)、雙向數(shù)據(jù)總線另外DB7也是一個Busy flag12DB513DB614DB7寄存器選擇,如表所示:表2.2 寄存器選擇控制線操作RSR/W操作說明00寫入指令寄存器(清除屏幕等)01讀Busy flag(DB7),以及讀取位址計數(shù)器(DB0DB6)值10寫入數(shù)據(jù)寄存器(顯示各字型等)11從數(shù)據(jù)寄存器讀取數(shù)據(jù)Busy flag(DB7):在此位未被清除為“0”時,LCD將無法再處理其他指令要求。(1)顯示地址:內(nèi)部地址計數(shù)器的計數(shù)
26、地址:SB7=0(DB0DB6)第一行00、01、02 等,第二行40、41、42 等,可配合檢測DB7=1 (RS=0,R/W=1)讀取目前顯示字的地址,判斷是否需要換行。表2.3 LCD1601 16×1 顯示字的地址1234567891011121314151600010203040506074041424344454647(2)外部地址:DB7=1,亦即80H內(nèi)部計數(shù)地址,可以用此方式將字顯示在某一位置。LCD各地址列舉如下表:表2.4 LCD1601 16×1 顯示字的外部地址16×1 16字1行 1601123456789101112131415168
27、081828384858687C0C1C2C3C4C5C6C7表2.5 LCD1601 的指令組指 令說 明設置碼RS R/WD7D6D5D4D3D2D1D0清除顯示幕000000000*光標回到原點000000001*進入模式設定00000001I/DS顯示幕ON/OFF0000001DCB移位000001S/CR/L*功能設定00001DLNF*字發(fā)生器地址設定0001AGC設置顯示地址0001ADD忙碌標志位BF001BF顯示數(shù)據(jù)10寫入數(shù)據(jù)讀取數(shù)據(jù)11讀取數(shù)據(jù)I/D I/D=1 表示加1, I/D=0 表示減1S S=1 表示顯示幕ON S=0表示OFFD D=1 表示顯示屏幕ON D
28、=0表示顯示屏幕OFFC C=1 表示光標ON C=0表示光標OFFB B=1 表示閃爍ON B=0表示顯示閃爍OFFS/C S/C=1表示顯示屏幕移位 S/C=0光標移位R/L R/L=1表示右移 R/L=0表示左移DL DL=1表示8位 DL=0表示4位F F=1表示5×10點矩陣 F=0表示5×7點矩陣N N=1表示2行顯示行 N=0表示1行顯示行BF BF=1:內(nèi)部正在動作 BF=0:可接收指令或數(shù)據(jù)碼2 液晶顯示部分與89S52的接口如圖所示:用89S52的P2口作為數(shù)據(jù)線,用P0.1、P0.2、P0.3分別作為LCD的E、R/W、RS。其中E是下降沿觸發(fā)的片選信
29、號,R/W是讀寫信號,RS是寄存器選擇信號本模塊設計要點如下:顯示模塊初始化:首先清屏,再設置接口數(shù)據(jù)位為8位,顯示行數(shù)為1行,字型為5×7點陣,然后設置為整體顯示,取消光標和字體閃爍,最后設置為正向增量方式且不移位。向LCD的顯示緩沖區(qū)中送字符,程序中采用2個字符數(shù)組,一個顯示字符,另一個顯示電壓數(shù)據(jù),要顯示的字符或數(shù)據(jù)被送到相應的數(shù)組中,完成后再統(tǒng)一顯示.首先取一個要顯示的字符或數(shù)據(jù)送到LCD的顯示緩沖區(qū),程序延時2.5ms,判斷是否夠顯示的個數(shù),不夠則地址加一取下一個要顯示的字符或數(shù)據(jù)。 2.1 液晶與89S52的接口2.5 通訊模塊89S52內(nèi)部已集成通信接口URT,只需擴展
30、一片MAX232芯片將輸出信號轉(zhuǎn)換成RS-232協(xié)議規(guī)定的電平標準, MAX232 是 一 種 雙 組 驅(qū) 動 器 / 接 收 器 ,每個接收器將EIA/TIA-232-E電平輸入轉(zhuǎn)換為5V TTL/CMOS電平。 每個驅(qū)動器將TTL/CMOS輸入電平轉(zhuǎn)換 為 EIA/TIA-232-E電平。即EIA接口,就是把5V轉(zhuǎn)換為-8V到-15V電位0V轉(zhuǎn)換為8V到15V再經(jīng)RXD輸出,接收時由RXD輸入,把-8V到-15V電位轉(zhuǎn)換為5V,8V到15V轉(zhuǎn)換為0V。MAX232的工作電壓只需5V,內(nèi)部有振蕩電路產(chǎn)生正負9V電位。圖2.5.2 MAX232元件圖圖2.5.
31、2 MAX232引腳功能圖第三章 系統(tǒng)的軟件設計圖 主程序流程圖ICL7135A/D與單片機連接電路的軟件設計系統(tǒng)的程序流程圖如圖所示。主程序一開始運行則設置堆棧起始地址為70H,設置中斷寄存器,用來對ICL7135的中斷進行計數(shù),每5次后清零,完成一次數(shù)據(jù)采集工作,然后設置ICL7135的STB端的中斷的優(yōu)先級。緊接著LCDM1601B進行一次清屏,使其各個指令、數(shù)據(jù)寄存器的值進行清空,屏幕不顯示任何字符。以前面對1601B的介紹,只要將01H送到數(shù)據(jù)總線,使RS=0,R/W=0,E有個下降沿的脈沖就可以完成清屏工作。用以下指令實現(xiàn) MOV P2,#01H ;送到數(shù)據(jù)DB7-DB0,調(diào)用子程
32、序 ENABLE,由于下降沿時,內(nèi)部數(shù)據(jù)要送到RAM區(qū),所以要有一個延時子程序,使這個下降沿持續(xù)2.5毫秒。內(nèi)部RAM有指令代碼后就開始對RAM進行清零,所以屏幕原有的字符將被清除。接著對1601進行功能的設定。MOV P2,#01111000B,按表來看是設定顯示器按2行顯示,每行8位,5×7點陣。調(diào)用一次子程序ENABLE程序,寫入CPU的指令寄存器中。每次向LCDM中寫入一個指令,就調(diào)用一次ENABLE,然后再對顯示器進行閃爍、光標等功能進行設定。顯示器的RAM地址按加方法進行讀寫。再設定第一行字符,也就是Voltage的顯示地址80H。字符Voltage的TABLE表地址送到
33、DPTR中,然后調(diào)用遠程查表命令,依次把數(shù)據(jù)送到P2口,這時再調(diào)用子程序WRITE3,使LCD1601的RS=1,R/W=0使使能端E產(chǎn)生一個下降沿脈沖,將數(shù)據(jù)送入到數(shù)據(jù)寄存器中,接下來執(zhí)行子程序DISPLAY1,它的主要功能是將TABLE表中的字符輸出到LCD中去。調(diào)定好顯示字符數(shù)即遠程查表的次數(shù),就開始查表了。例如第一個字符“V”的ASCII碼是56H,就將這個碼送到P2口,再調(diào)用使能數(shù)據(jù)子程序,使RS=1(數(shù)據(jù)區(qū)使能)寫入顯示數(shù)據(jù)區(qū),R/W=0表示寫,E=來個下降沿延時2.5毫秒,使數(shù)據(jù)寫入RAM內(nèi)。完成TABLE表輸出以后,向指令RAM中寫入第2行的起始地址為OCH,再調(diào)用顯示采樣數(shù)據(jù)
34、的子程序。采樣數(shù)據(jù)存放的數(shù)據(jù)地址安排如下圖所示,首先將60H中的數(shù)顯示在正負號的位置上,按照ASCII碼表,正號不顯示(#20H),負號顯示“”(#2DH)。圖 數(shù)據(jù)地址3.2 A/D中斷程序設計圖3 中斷子程序流程圖ICL7135每一分鐘完成3次據(jù)的采集工作,1/3秒完成后向CPU申請中斷,CPU這時暫停工作,為中斷服務.中斷響應后關中斷,將PSW、ACC壓棧,判斷是否首次中斷,如果是首次中斷,則將正負號標志位置入60H,再把萬位置入61H中,如果不是首次中斷,則跳到NEXT處,如果是第二次中斷,則將千位數(shù)置入62H中,如果是第三次中斷,再將百位數(shù)置入63H中,第四次中斷則將十位數(shù)置入64H
35、中,第五次中斷則將小數(shù)點位置入65H中,同時個位置入66H中。同時清除中斷次數(shù)寄存器30H中的值,完成中斷后將ACC、PSW出棧,開中斷。消隱的思想:每次電壓采集后,CPU將數(shù)據(jù)送到LCD顯示,將可能出現(xiàn)以下幾種需要消隱的情況。例如:2000V檔量程:0199.9此時萬位的值0不符合人們的視覺習慣,需要把萬位的值消隱掉,編程是將#20H送入萬位,使其在LCD中不顯示任何字符即可。同樣的情況如下:需要消隱萬位、千位需要消隱萬位、千位、百位2000V檔量程:0019.90001.9需要消隱萬位需要消隱萬位、千位200V檔量程:019.99001.99需要消隱萬位20V檔量程:01.999在采集到數(shù)據(jù)之后,置數(shù)之前判斷檔位,是2V檔不消隱,是其他檔位時再看要消隱的位之前有幾個是零。例如2000V檔量程,-0001.9V,在2次中斷時判斷檔位是2000V檔,第1位是零,消隱第2位千位。通訊模塊程序設計89S52單片機內(nèi)部有一個全雙工的串行通信口,即串行接收和發(fā)送緩沖器(SBUF),這兩個在物理上獨立的接收發(fā)送器,既可以接收數(shù)據(jù)也
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024知名律師事務所法律咨詢服務合同
- 模具拋光知識培訓課件
- 健康行業(yè)營業(yè)員工作總結(jié)
- 三方商鋪租賃與轉(zhuǎn)租合規(guī)合同版B版
- 2024石材加工廠與批發(fā)商合同
- 內(nèi)科醫(yī)生的臨床工作總結(jié)
- 社區(qū)公共服務員工作總結(jié)
- 訂房英語知識培訓課件
- 武漢商學院《歷史學課程標準與教材研究》2023-2024學年第一學期期末試卷
- 葡萄農(nóng)藥知識培訓課件
- 1-27屆希望杯數(shù)學競賽初一試題及答案
- 2024-2030年中國硫磺行業(yè)供需形勢及投資可行性分析報告版
- 傳統(tǒng)與現(xiàn)代結(jié)合:《剪窗花》2024年教學課件
- 冷凍設備租賃合同
- DB41T 2199-2021 固定污染源廢氣 氨排放連續(xù)監(jiān)測技術規(guī)范
- 人教版物理八年級下冊 專項訓練卷 (一)力、運動和力(含答案)
- 建筑施工節(jié)前安全檢查表
- 地方政府與城投企業(yè)債務風險研究報告-吉林篇 2024 -聯(lián)合資信
- 公文改錯完整版本
- 2024年公開招聘事業(yè)單位工作人員報名登記表
- 給水管移位專項施工方案
評論
0/150
提交評論