




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、課程設(shè)計(論文)任務(wù)書 電氣與電子工程學(xué)院 系 自動化 專業(yè) 132 班級 一、 課程設(shè)計(論文)題目 簡易信號發(fā)生器的設(shè)計 二、 課程設(shè)計(論文)工作自 2016 年 1 月 5 日起至 2016 年 1 月 14 日止。三、 課程設(shè)計(論文)的內(nèi)容要求: 課程設(shè)計不僅僅要求學(xué)生完成所規(guī)定的題目要求,同時還要培養(yǎng)學(xué)生良好的科學(xué)態(tài)度和嚴謹?shù)脑O(shè)計習慣。課程設(shè)計報告要求內(nèi)容如下: (1)設(shè)計思想和設(shè)計說明 (2)硬件原理框圖 (3)硬件原理圖與軟件配合介紹 (4)程序存儲器和數(shù)據(jù)存儲器的單元分配 (5)程序流程圖 (6)系統(tǒng)功能描述 (7)設(shè)計調(diào)試過程總結(jié) (8)附錄里面包括:芯片資料、源程序清單
2、和符合制圖規(guī)范的硬件原理圖的圖紙。 設(shè)計要求內(nèi)容: 用/實現(xiàn)正弦信號,三角波信號,方波信號的輸出,并且在上顯示出當前波形。要求輸出信號的頻率和幅度可調(diào)。 設(shè)計內(nèi)容: (1)滿足設(shè)計要求內(nèi)容。 (2)擴展鋸齒波波形輸出。 (3)漢字顯示當前波形形狀與當前頻率的大小 學(xué)生簽名 年 月 日課程設(shè)計(論文)評審意見(1)題目復(fù)雜程度: 復(fù)雜( )、較復(fù)雜( )、一般( )、簡單( )(2)總體方案的選擇是否正確:正確()、較正確()、欠正確()、不正確() (3) 系統(tǒng)能否滿足任務(wù)要求:滿足()、較滿足()、欠滿足()、不滿足() (4) 元器件選擇是否合理:合理()、較合理()、欠合理()、不太合理
3、() (5) 學(xué)習實踐態(tài)度:好()、較好()、一般()、不太好() (6) 獨立工作能力:強()、較強()、一般()、較差() (7) 回答問題是否正確:正確()、較正確()、基本正確()、大多不正確() (8) 圖表是否符合標準:符合()、較符合()、基本符合()、大多不符合() (9) 撰寫是否規(guī)范整潔:規(guī)范整潔()、較規(guī)范()、欠規(guī)范()、不太規(guī)范() 總評成績:優(yōu)( )、良( )、中( )、及格( )、不及格( )評閱人 職稱副教授 2016 年 1 月 日目錄一、課程設(shè)計及要求及目的2二、設(shè)計思想及設(shè)計說明21 函數(shù)發(fā)生器模塊22 LCD液晶顯示模塊2三、硬件設(shè)計3四、程序設(shè)計流程3
4、五、系統(tǒng)模塊化設(shè)計41、函數(shù)信號發(fā)生器的設(shè)計41.1、DAC0832的介紹41.2、發(fā)生器的功能設(shè)計51.3、函數(shù)發(fā)生器的外圍電路組成62、液晶顯示模塊62.1 AMPIRE128X64液晶顯示屏的原理介紹62.2波形漢字顯示程序設(shè)計83、中斷系統(tǒng)的使用10六、程序字節(jié)分配10七、功能描述與設(shè)計調(diào)試總結(jié)111、功能描述112、設(shè)計調(diào)試總結(jié)11八 設(shè)計總結(jié)13九、參考文獻14附錄1:程序代碼15附錄2:設(shè)計圖紙2929一、課程設(shè)計及要求及目的通過課程設(shè)計環(huán)節(jié)加深對單片機原理及應(yīng)用技術(shù)的理解,提高理論結(jié)合實踐的能力,提高單片機系統(tǒng)設(shè)計和開發(fā)的能力,初步學(xué)習一個完整的單片機系統(tǒng)的研發(fā)過程,并培養(yǎng)嚴謹
5、細致的科研態(tài)度。熟悉掌握常用的單片機設(shè)計軟件以及一些網(wǎng)上個人研發(fā)的實用小軟件。例如51單片機最常用keil和protues軟件以及個人研發(fā)的單片機小精靈、漢字取模軟件、串口助手等。要求設(shè)計一個單片機應(yīng)用系統(tǒng),利用keil和proteus軟件完成系統(tǒng)軟硬件的設(shè)計及模擬調(diào)試,在有條件的情況下完成對事物的操作。本文設(shè)計了一種以STC89C51為核心的簡易信號產(chǎn)生電路,該電路使用DAC0832數(shù)模轉(zhuǎn)換器件對單片機輸出的數(shù)字量進行轉(zhuǎn)換,使用數(shù)組定義的方式完成不同波形的輸出,并通過外部中斷實現(xiàn)對輸出波形形狀和波形頻率等的控制,該設(shè)計以LCD16824液晶顯示屏對波形的類別、形狀、頻率等信息以中文或圖形的方
6、式輸出顯示。實驗結(jié)果表明,該系統(tǒng)設(shè)計具有體積小,性能穩(wěn)定,反應(yīng)速度快,可以迅速簡便的實現(xiàn)多種波形輸出的優(yōu)點。二、設(shè)計思想及設(shè)計說明該設(shè)計主要由信號發(fā)生器的設(shè)計和LCD液晶顯示兩部分組成,其中,信號發(fā)生器的設(shè)計為本設(shè)計的重點內(nèi)容,但設(shè)計過程較為簡單。LCD液晶顯示為本設(shè)計的輔助模塊,使的使用者對該信號發(fā)生器更容易操作,是本設(shè)計過程中耗時最多的階段,可以說是本設(shè)計的難點。1 函數(shù)發(fā)生器模塊 該模塊使用DA轉(zhuǎn)換芯片DAC0832對單片機輸出的8位二進制的數(shù)字量進行數(shù)字到模擬信號的轉(zhuǎn)化,由于DAC0832為電流型輸出,所以在輸出端口使用一級運放LM324實現(xiàn)將電流輸出轉(zhuǎn)為電壓輸出,之后使用二級運放實現(xiàn)
7、對輸出信號的放大,使輸出波形的幅值可調(diào),在設(shè)計的端口使用RC低通濾波器對輸出波形進行濾波,使所得到的波形更加平滑。在軟件設(shè)計方面,為了與LCD顯示屏聯(lián)合使用,該設(shè)計沒有使用正弦、方波、三角波、鋸齒波的波形函數(shù)作為輸出數(shù)字量,而是使用64個單元的數(shù)組定義每一個波形,由此,也可以更加方便的增加其他波形的輸出。2 LCD液晶顯示模塊該模塊使用protues中提供的AMPIRE128X64液晶顯示屏,該顯示屏無中英文字庫,所以設(shè)計過程中需要對自己需要的字符和漢字進行取模,本設(shè)計將該顯示屏分為兩部分,整屏幕的前四分之一用于顯示“函數(shù)”“正弦”“方波”“三角”“鋸齒”“頻率”和峰峰值等信息。后面的部分用于
8、顯示輸出波形的形狀。該模塊的關(guān)鍵點在于AMPIRE128X64這款液晶顯示屏的控制方法、矩陣排列方式以及與市場上常見的LCD16824的區(qū)別于共性和區(qū)別。共性點在于控制、讀寫等指令的相同,以及該端口的強大的鎖存功能。區(qū)別主要在于該12864將整個屏幕分為兩塊,分別使用外部控制信號CS1與CS2選擇開通。三、硬件設(shè)計該設(shè)計的硬件連接圖如圖一所示,箭頭線上為管腳的連接方式。具體的連接方式見附錄1:簡易信號發(fā)生器的設(shè)計圖紙。圖一 系統(tǒng)硬件連接簡圖四、程序設(shè)計流程 該程序的設(shè)計流程圖如圖二所示,系統(tǒng)首先將輸出波形定義為正弦波輸出,且頻率定義為400HZ,并將該信息在LCD液晶顯示頻上顯示出來,之后進入
9、主函數(shù),并不斷調(diào)用正弦波的數(shù)組使之按照正弦波規(guī)律變化,經(jīng)過外部DA轉(zhuǎn)化實現(xiàn)正弦波輸出。與此同時,外部中斷隨時可以打破主循環(huán),通過外部中斷0將其他波形定義為當前輸出波形,每按一次,波形變化一次,循環(huán)往復(fù),并在該中斷服務(wù)程序中改變LCD顯示波形、頻率等信息。而在外部中斷1中,只改變波形頻率,只需要刷新頻率顯示部分即可。整個程序設(shè)計代碼在附錄2中:程序代碼圖二 程序流程圖五、系統(tǒng)模塊化設(shè)計1、函數(shù)信號發(fā)生器的設(shè)計1.1、DAC0832的介紹DAC0832是8分辨率的D/A轉(zhuǎn)換集成芯片。與微處理器完全兼容。這個DA芯片以其價格低廉、接口簡單、轉(zhuǎn)換控制容易等優(yōu)點,在單片機應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。D/A
10、轉(zhuǎn)換器由8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。其內(nèi)部結(jié)構(gòu)如圖三所示圖三 DAC0832的結(jié)構(gòu)圖 該芯片有三種工作方式,分別為但緩沖、雙緩沖和直通方式。在該控制系統(tǒng)中使用其直通方式。接線方式為將數(shù)據(jù)口與單片機P1口相連、XREF、WR2、WR1、CS控制端口全部接地,ILE接高電平。在這種接線方式下,只要數(shù)據(jù)端口接收到數(shù)據(jù)立刻就能轉(zhuǎn)化為模擬信號輸出,使得系統(tǒng)的實時性好,響應(yīng)速度快。1.2、發(fā)生器的功能設(shè)計89C51是整個波形發(fā)生器的核心部分,通過程序的編寫和執(zhí)行,產(chǎn)生各種各樣的信號,并從按鍵接收改變數(shù)據(jù),進行各種功能波形的轉(zhuǎn)換。當數(shù)字信號電路到達轉(zhuǎn)換電路,將其轉(zhuǎn)
11、換成模擬信號也就是所需要的輸出波形。波形的輸出通過波形數(shù)據(jù)表完成,該波形數(shù)據(jù)表是將信號一個周期等間距地分離成64個點,儲存在單片機得ROM內(nèi)。這些數(shù)據(jù)可以通過MATLAB軟件生成,例如正弦表,MATLAB生成的程序如下:x=0:2*pi/64:2*pi; y=round(sin(x)*127)+128 (1)該函數(shù)信號發(fā)生部分的主要程序段如下所示,P2=*(which_bx+kk); /which_bx選擇哪一種波形顯示,為這種波形數(shù)據(jù)的首地址 kk+;if(kk=64) kk=0; while(delay_time) delay_time-;通過調(diào)節(jié)delay_time的大小可以調(diào)節(jié)輸出頻率
12、的大小,經(jīng)過實際運行測得當delay_time為0時,運行一次的時間為,則頻率為400hz,這是該函數(shù)信號發(fā)生器的最大輸出頻率。1.3、函數(shù)發(fā)生器的外圍電路組成該部分使用一級運放實現(xiàn)對輸出電流轉(zhuǎn)為輸出電壓,并使用二級運放經(jīng)過滑動變阻器放大輸出電壓,使得電壓可調(diào),最后通過低通濾波器RC網(wǎng)絡(luò)進行濾波,實現(xiàn)波形的輸出。選擇二級運放的前置電阻為5K,滑動變阻器的最大阻值為10K,則最大可以將輸出的峰值電壓5V變?yōu)?0V。電壓的調(diào)節(jié)范圍是(010V)。該模塊的電路圖如圖所示。圖四 函數(shù)發(fā)生器的外圍電路組成2、液晶顯示模塊2.1 AMPIRE128X64液晶顯示屏的原理介紹該AMPIRE128*64液晶顯
13、示頻不自帶中英文字庫,是一種圖形點陣液晶顯示器,它主要由行主要由行驅(qū)動器/列驅(qū)動器及128×64全點陣液晶顯示器組成??赏瓿蓤D形顯示,也可以顯示8×4個(16×16點陣)漢字。其管腳定義表一所示表一 AMPIRE128X64的管腳定義管腳名稱LEVER管腳功能描述VSS0電源地VDD+5.0V電源電壓V0液晶顯示器驅(qū)動電壓D/I(RS)H/LD/I=“H”,表示DB7DB0為顯示數(shù)據(jù)D/I=“L”,表示DB7DB0為顯示指令數(shù)據(jù)R/WH/LR/W=“H”,E=“H”數(shù)據(jù)被讀到DB7DB0R/W=“L”,E=“HL”數(shù)據(jù)被寫到IR或DREH/LR/W=“L”,E信號
14、下降沿鎖存DB7DB0R/W=“H”,E=“H”DDRAM數(shù)據(jù)讀到DB7DB0DB0DB7H/L數(shù)據(jù)線CS1H/LH:選擇芯片(右半屏)信號CS2H/LH:選擇芯片(左半屏)信號RETH/L復(fù)位信號,低電平復(fù)位VOUT-10VLCD驅(qū)動負電壓LED+-LED背光板電源LED-LED背光板電源在使用12864LCD前先必須了解以下功能器件才能進行編程。12864內(nèi)部功能器件及相關(guān)功能如下:1. 指令寄存器(IR) IR是用于寄存指令碼,與數(shù)據(jù)寄存器數(shù)據(jù)相對應(yīng)。當D/I=0時,在E信號下降沿的作用下,指令碼寫入IR。2數(shù)據(jù)寄存器(DR) DR是用于寄存數(shù)據(jù)的,與指令寄存器寄存指令相對應(yīng)。當D/I=
15、1時,在下降沿作用下,圖形顯示數(shù)據(jù)寫入DR,或在E信號高電平作用下由DR讀到DB7DB0數(shù)據(jù)總線。DR和DDRAM之間的數(shù)據(jù)傳輸是模塊內(nèi)部自動執(zhí)行的。3忙標志:BF BF標志提供內(nèi)部工作情況。BF=1表示模塊在內(nèi)部操作,此時模塊不接受外部指令和數(shù)據(jù)。BF=0時,模塊為準備狀態(tài),隨時可接受外部指令和數(shù)據(jù)。 利用STATUS READ指令,可以將BF讀到DB7總線,從檢驗?zāi)K之工作狀態(tài)。4XY地址計數(shù)器 XY地址計數(shù)器是一個9位計數(shù)器。高3位是X地址計數(shù)器,低6位為Y地址計數(shù)器,XY地址計數(shù)器實際上是作為DDRAM的地址指針,X地址計數(shù)器為DDRAM的頁指針, Y地址計數(shù)器為DDRAM的Y地址指針
16、。 X地址計數(shù)器是沒有記數(shù)功能的,只能用指令設(shè)置。 Y地址計數(shù)器具有循環(huán)記數(shù)功能,各顯示數(shù)據(jù)寫入后,Y地址自動加1,Y地址指針從0到63。5顯示數(shù)據(jù)RAM(DDRAM) DDRAM是存儲圖形顯示數(shù)據(jù)的。數(shù)據(jù)為1表示顯示選擇,數(shù)據(jù)為0表示顯示非選擇。6Z地址計數(shù)器 Z地址計數(shù)器是一個6位計數(shù)器,此計數(shù)器具備循環(huán)記數(shù)功能,它是用于顯示行掃描同步。當一行掃描完成,此地址計數(shù)器自動加1,指向下一行掃描數(shù)據(jù),RST復(fù)位后Z地址計數(shù)器為0。Z地址計數(shù)器可以用指令DISPLAY START LINE預(yù)置。因此,顯示屏幕的起始行就由此指令控制,即DDRAM的數(shù)據(jù)從哪一行開始顯示在屏幕的第一行。此模塊的DDRA
17、M共64行,屏幕可以循環(huán)滾動顯示64行。12864LCD的指令系統(tǒng)有以下兩種,第一類是基本指令包括10組、第二類為擴充指令。指令系統(tǒng)如下表所示:表二:(RE=0)基本指令指令 指 令 碼功能RSR/WD7D6D5D4D3D2D1D0清除顯示000 0 0 0 0 0 0 1將DDRAM填滿"20H",并且設(shè)定DDRAM的地址計數(shù)器(AC)
18、到"00H"地址歸位000 0 0 0 0 0 1 X設(shè)定DDRAM的地址計數(shù)器(AC)到"00H",并且將游標移到開頭原點位置;這個指令不改變DDRAM 的內(nèi)容顯示狀態(tài)開/關(guān)000 0 0 0 1 D C BD=1: 整體顯示 ON C=1: 游標ON B=1:游標位置反白允許進入點設(shè)定000 0 0 0 0 1 I/D S指定在數(shù)據(jù)的讀取與寫入時,設(shè)定游標的移動方向及指定顯示的移位游標或顯示移位控制000 0 0 1 S/C R/L X X設(shè)定游標的移動與顯示的移位控制位;這個指令不改變DDRAM 的內(nèi)容功能設(shè)定000 0 1 DL X RE X X
19、DL=0/1:4/8位數(shù)據(jù) RE=1: 擴充指令操作 RE=0: 基本指令操作設(shè)定CGRAM地址000 1 AC5 AC4 AC3 AC2 AC1 AC0設(shè)定CGRAM 地址設(shè)定DDRAM地址001 0 AC5 AC4 AC3 AC2 AC1 AC0設(shè)定DDRAM 地址(顯示位址)第一行:80H87H,第二行:90H97H讀取忙標志和地址01BF AC6 AC5 AC4 AC3 AC2 AC1 AC0讀取忙標志(BF)可以確認內(nèi)部動作是否完成,同時可以讀出地址計數(shù)器(AC)的值寫數(shù)據(jù)到RAM10數(shù)據(jù)將數(shù)據(jù)D7D0寫入到內(nèi)部的RAM (DDRAM/CGRAM/IRAM/GRAM)讀出RAM的值1
20、1數(shù)據(jù)從內(nèi)部RAM讀取數(shù)據(jù)D7D0(DDRAM/CGRAM/IRAM/GRAM)2.2波形漢字顯示程序設(shè)計該模塊的電路原理圖如圖五所示,其中控制端口為P3口相連。圖五 顯示模塊電路圖顯示程序部分的組成包括基礎(chǔ)部分、輔助部分和顯示部分組成。用該部程序模塊組成如圖六所示圖六 顯示模塊的程序組成查看忙不忙,是當lcd處于內(nèi)部運行狀態(tài)的時候,此時忙不忙標志位為0的時候,不接受外界寫入的數(shù)據(jù)和命令,因此在讀命令和數(shù)據(jù)之前必須先檢測lcd忙不忙,然后進行命令控制與數(shù)據(jù)輸入。輔助部分的程序是對整個屏幕的顯示進行選擇,清除等操作,為顯示程序提供輸入入口。AMPIRE128*64共計有8頁,可以理解為8大行,每
21、大行有8小行,有2個半屏,每個半屏有0到第63列,總計有128列。即整個顯示屏為64*128個LED組成,在該設(shè)計中屏幕的占用情況如圖七所示。圖七12864的屏幕占用情況漢字的顯示包括顯示“函數(shù)”、“正弦”、“三角”、“方波”、“鋸齒”,“頻率”。英文的顯示有“HZ”、“Vp”以及數(shù)字的顯示(顯示頻率以及峰峰值)。由于該LCD自帶無字庫,因此,需要對要顯示的部分進行取模。按照12864的數(shù)據(jù)讀取是每一頁的第一行為低端口,第八行為高輸出口,且每次數(shù)據(jù)讀取之后自動對列數(shù)加一,因此取模方式為從左到右、從上到下。設(shè)計中使用曉奇工作室制作的液晶漢字模提取軟件。波形的顯示程序顯示的波形為3/2個周期的波形
22、。由于定義的波形數(shù)組共計64個數(shù),正好占據(jù)整個屏幕的3/4,共計96列,每一個數(shù)對應(yīng)列,即每一列都有一個數(shù)據(jù)。由于該屏幕有64行,而模擬量最大為255,因此,每行代表4個大小,通過這種方式就可以使整個屏幕顯示出連續(xù)正常的波形。坐標軸包括X、Y軸的繪制,該部分只要在理解12864顯示原理的基礎(chǔ)上就可以很輕松的畫出來。3、中斷系統(tǒng)的使用該設(shè)計使用外部中斷0來切換當前顯示波形,使用外部中斷1來切換輸出頻率。巧妙的使用指針工具使得最初方案的代碼消減了一大半。中斷服務(wù)程序在切換完成波形和頻率的轉(zhuǎn)換之后分別對屏幕清屏處理再次顯示(波形切換)、刷新處理(頻率改變)。六、程序字節(jié)分配51單片機中片內(nèi)數(shù)據(jù)存儲器
23、共計有128個字節(jié),該設(shè)計中使用62.7個字節(jié)的數(shù)據(jù)存儲器空間。共有程序存儲器4KB=4096個字節(jié),該設(shè)計使用的程序存儲器空間為4000b,故滿足。無片外數(shù)據(jù)存儲器的使用。七、功能描述與設(shè)計調(diào)試總結(jié)1、功能描述該系統(tǒng)使用AT89C52為主控單元,通過其控制DAC0832進行數(shù)模轉(zhuǎn)換,完成方波,正弦波,鋸齒波和三角波的輸出。其中鋸齒波是擴展功能。通過液晶顯示屏12864對波形和頻率和峰峰值進行顯示,以便于使用者的友好使用。并通過中斷進行波形輸出與頻率的轉(zhuǎn)化。波形的峰峰值是通過外部電路設(shè)計的,波形漢字顯示是擴展功能。技術(shù)參數(shù)。電壓調(diào)節(jié)范圍是010V,當滑動變阻器滑動50%時,理論值輸出電壓的峰峰
24、值為5V,虛擬示波器顯示為5.005V;當滑動變阻器滑動100%時,理論值輸出電壓的峰峰值為10V,虛擬示波器顯示為9.975V。故技術(shù)參數(shù)符合設(shè)計要求。該信號發(fā)生器的輸出波形頻率最大為400hz,頻率可調(diào),其設(shè)定頻率變化參數(shù)為表三所示。表三 調(diào)頻取值單位(Hz)400372325289260236217200186173單位(Hz)162153144137132124118113108104單位(Hz)100969389868481787674單位(Hz)70686665636260595754單位(HZ)5250484644434240-2、設(shè)計調(diào)試總結(jié)該設(shè)計過程中存在第一個障礙是波形的輸
25、出在峰值的地方出現(xiàn)急速下降,波形顯示不合理,在protues中的虛擬示波器顯示波形如八所示。八 調(diào)試過程中的系統(tǒng)波形經(jīng)過檢查發(fā)現(xiàn)錯誤的根源在于一級運放輸出口沒有經(jīng)過電阻直接接在了二級運放的輸出端。經(jīng)過調(diào)整之后的數(shù)碼管顯示波形如圖九所示??梢姶藭r的波形已經(jīng)達到了理想的輸出效果。九 調(diào)整后的輸出波形設(shè)計過程中的第二個問題是液晶顯示問題,發(fā)現(xiàn)市場上普遍使用的12684與protues中所用的12684的顯示原理不太相同,尤其在分屏顯示與顯示寄存器的地址分布上。而讀寫控制時序大致相同。后來參考網(wǎng)上的protues中l(wèi)cd12684的圖形顯示程序,并對照說明書對該部分有了認識,尤其是在頁地址與行地址,列
26、地址的問題上,理解了lcd12684原理之后對寫起來后面的顯示程序部分就如魚得水的,原來以為還要兩三天才能解決,結(jié)果熬了會夜就寫完了。LCD顯示情況如圖十所示圖十12864波形顯示由后兩張圖可以看出,波形在變化時有不連續(xù)的地方,這也符合發(fā)生器本身的特點,因此,未進行連線處理。由此可知,該設(shè)計滿足設(shè)計要求性能可靠。八 設(shè)計總結(jié)九、參考文獻1徐春輝.單片微機原理及應(yīng)用M.北京:電子工業(yè)出版社,2013.2周潤景,張麗娜.基于protues的電路及單片機系列設(shè)計與仿真M.北京:北京航空航天大學(xué)出版社,2006.3張毅剛,彭元喜,姜守達等.MCS-51單片機應(yīng)用設(shè)計M.哈爾濱:哈爾濱工業(yè)大學(xué)出版社.2
27、003.4附錄1:程序代碼#include <reg51.h>#include <math.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned int#define lcdcol_add 0x40 #define page_add 0xb8sbit bx_adjust=P32; /函數(shù)發(fā)生器定義sbit pl_adjust=P33; /中斷輸入接口uchar bxxz=0,pl=0,delay_time=0,kk,pp; /為函數(shù)發(fā)生模塊提供中間變量uchar *whi
28、ch_bx,*which_bx2; /選擇哪一種波形uint pl_num;/* 12864LCD引腳定義 */sbit LCD_RS = P37; /寄存器選擇輸入 sbit LCD_RW = P36; /液晶讀/寫控制sbit LCD_EN = P35; /液晶使能控制sbit LCD_RST = P34; /液晶復(fù)位端口sbit LCD_CS1 = P30; /右半屏控制sbit LCD_CS2 = P31; /左半屏控制uchar code pinglv64= 0x40,0x7C,0x40,0xFF,0x48,0x6C,0x4A,0xF2, 0x12,0x1A,0xD6,0x12,0x
29、12,0xFB,0x12,0x00, 0x00,0x14,0xA4,0x44,0x04,0x24,0xB5,0x6E, 0x24,0x94,0x04,0x44,0xA6,0x14,0x00,0x00, 0x08,0x87,0x40,0x2F,0x10,0x0F,0x80,0x8F, 0x40,0x20,0x1F,0x20,0x40,0xCF,0x00,0x00, 0x08,0x09,0x08,0x08,0x09,0x09,0x09,0xFF, 0x09,0x09,0x0B,0x08,0x08,0x0D,0x08,0x00 ;uchar code hanshu64= 0x00,0xF0,0x00
30、,0x22,0x42,0x82,0x02,0xF2, 0x12,0x8A,0x46,0x62,0x00,0xF0,0x00,0x00, 0x10,0x92,0x54,0x30,0xFF,0x50,0x94,0x32, 0xD8,0x17,0x10,0x10,0xF0,0x18,0x10,0x00, 0x00,0xFF,0x40,0x48,0x44,0x52,0x60,0x5F, 0x40,0x42,0x44,0x4C,0x40,0xFF,0x00,0x00, 0x02,0x82,0x4E,0x33,0x22,0x52,0x8E,0x40, 0x23,0x14,0x08,0x16,0x61,0x
31、C0,0x40,0x00;uchar code zx64= 0x00,0x02,0x02,0xC2,0x02,0x02,0x02,0xFE, 0x82,0x82,0x82,0xC2,0x83,0x02,0x00,0x00, 0x02,0xE2,0x22,0x22,0x3E,0x08,0x08,0x88, 0x49,0x3A,0x08,0x08,0x88,0x0C,0x08,0x00, 0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x7F, 0x40,0x40,0x40,0x40,0x40,0x60,0x40,0x00, 0x00,0x43,0x82,0x42,0x3E
32、,0x00,0x20,0x31, 0x29,0x25,0x23,0x21,0x30,0x60,0x00,0x00;uchar code jc64= 0x10,0x28,0xE7,0x24,0x24,0x24,0x00,0xFE, 0x92,0x92,0xF2,0x92,0x92,0xDF,0x82,0x00, 0x40,0x40,0x40,0x7E,0x40,0x40,0x40,0x7F, 0x44,0x44,0x46,0x44,0x40,0x60,0x40,0x00, 0x01,0x01,0x3F,0x11,0x49,0x25,0x18,0x07, 0xFC,0x44,0x47,0x44,0
33、x44,0xFE,0x04,0x00, 0x00,0x00,0xFF,0x40,0x50,0x48,0x44,0x43, 0x44,0x48,0x58,0x40,0xFF,0x00,0x00,0x00,;uchar code fb64= 0x10,0x10,0x10,0x10,0x10,0xF1,0x92,0x96, 0x90,0x90,0x90,0xD0,0x90,0x18,0x10,0x00, 0x20,0x42,0x04,0x0C,0x80,0xF8,0x88,0x88, 0x88,0xFF,0x88,0x88,0xA8,0x18,0x00,0x00, 0x00,0x80,0x40,0x
34、20,0x18,0x07,0x00,0x00, 0x40,0x80,0x40,0x3F,0x00,0x00,0x00,0x00, 0x04,0x04,0xFE,0x41,0x30,0x8F,0x40,0x22, 0x14,0x08,0x14,0x22,0x41,0xC0,0x40,0x00,;uchar code sj64= 0x00,0x04,0x84,0x84,0x84,0x84,0x84,0x84, 0x84,0x84,0x84,0xC4,0x86,0x04,0x00,0x00, 0x20,0x10,0x08,0xF4,0x93,0x92,0x92,0xF2, 0x9A,0x96,0x9
35、2,0x90,0xF8,0x10,0x00,0x00, 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, 0x20,0x20,0x20,0x20,0x20,0x30,0x20,0x00, 0x80,0x40,0x20,0x1F,0x04,0x04,0x04,0x7F, 0x04,0x04,0x44,0x84,0x7F,0x00,0x00,0x00,;uchar code table= 0x3E,0x51,0x49,0x45,0x3E, / -0- 0x00,0x42,0x7F,0x40,0x00, / -1-0x62,0x51,0x49,0x49,0x46, /
36、 -2-0x21,0x41,0x49,0x4D,0x33, / -3-0x18,0x14,0x12,0x7F,0x10, / -4-0x27,0x45,0x45,0x45,0x39, / -5-0x3C,0x4A,0x49,0x49,0x31, / -6-0x01,0x71,0x09,0x05,0x03, / -7-0x36,0x49,0x49,0x49,0x36, / -8-0x46,0x49,0x49,0x29,0x1E, / -9- 0x7F,0x08,0x08,0x08,0x7F, / -H 0x61,0x51,0x49,0x45,0x43, / -Z- 0x1F,0x20,0x40,
37、0x20,0x1F, / -V- 0x7F,0x09,0x09,0x09,0x06, / -P- 0x00,0x36,0x36,0x00,0x00, / -:- 0x00,0x60,0x60,0x00,0x00, / -.- ; uchar code sinx64= /以下為波形代碼128,114,102,90,78,66,55,45,36,28,20,14,9,5,2,1,1,1,3,7,11,17,24,32,41,50,61,72,84,96,108,121,133,146,158,170,182,193,204,213,222,230,237,243,247,251,253,254,2
38、54,252,249,245,240,234,226,218,209,199,188,176,167,158,145,135;uchar code juchi64=255,251,247,243,239,235,231,227,223,219,215,210,206,202,198,194,190,186,182,178,174,170,166,162,158,154,150,146,142,138,134,130,125,121,117,113,109,105,101,97,93,89,85,81,77,73,69,61,57,53,49,45,40,36,32,28,24,20,16,12
39、,8,4,0;uchar code fangbo64=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,;uchar code sanjiao64=0,8,16,24,32,40,48,56,64,72,80,88,96,104,112,120,128,136,14
40、4,152,160,168,176,184,192,200,208,216,224,232,240,248,248,240,232,224,216,208,200,192,184,176,168,160,152,144,136,128,120,112,104,96,88,80,72,64,56,48,40,32,24,16,8,0;void lcd_delay(uint t)unsigned int i,j;for(i=0;i<t;i+);for(j=0;j<10;j+);void bx_delay() /延時1msint a,b;for(a=1;a>0;a-)for(b=1
41、22;b>0;b-);void lcd_busy() uchar dat,DATA; LCD_RW = 1; LCD_RS = 0; do DATA=0x00; LCD_EN=1; lcd_delay(2); dat=DATA; LCD_EN=0; dat=0x80&dat; while(!(dat=0x00); void lcd_wcmd(uchar cmd) / cmd 命令字節(jié) lcd_busy(); / 等待不忙 LCD_RS = 0; LCD_RW = 0; P0 = cmd; /把命令寫入 lcd_delay(2); LCD_EN = 1; lcd_delay(2);
42、 LCD_EN = 0;void lcd_wdat(uchar dat) / 寫數(shù)據(jù)到LCD lcd_busy(); LCD_RS = 1; LCD_RW = 0; P0 = dat; lcd_delay(2); LCD_EN = 1; lcd_delay(2); LCD_EN = 0; void lcd_init() /LCD的初始化 lcd_delay(100); LCD_CS1=1; LCD_CS2=1; lcd_delay(100); lcd_wcmd(0x3e); lcd_wcmd(0xb8); /頁地址 lcd_wcmd(0xc0); /行地址 lcd_wcmd(0x3f); lc
43、d_wcmd(0x40); /列地址 void clr_screen() /清屏操作 uchar j,k; LCD_CS1=0;LCD_CS2=0; lcd_wcmd(0xb8); lcd_wcmd(0x40); for(k=0;k<8;k+) lcd_wcmd(page_add+k); for(j=0;j<64;j+) lcd_wcmd(lcdcol_add+j); lcd_wdat(0x00); void select(uchar x) /選擇左半屏還是右半屏 switch(x) case 1:LCD_CS1=0;LCD_CS2=1;break; /左屏, case 2:LCD
44、_CS1=1;LCD_CS2=0;break; /右屏, default :LCD_CS2=0;LCD_CS1=0; void setpos(uchar row , uchar col) /選擇行,列, lcd_wcmd(0xb8+row); lcd_wcmd(0x40+col); void disp1(uchar code *hz) /顯示漢字上半?yún)^(qū),兩個 uchar n; for(n=0;n<32;n+) lcd_wdat(*(hz+n);void disp2(uchar code *hz) /顯示漢字下半?yún)^(qū) , uchar m; for(m=32;m<64;m+) lcd_w
45、dat(*(hz+m);void disp_pl(uint dat) /顯示頻率 uchar mm,z; select(1); setpos(6,0); mm=dat/100; mm=5*mm; for(z=mm;z<mm+5;z+) lcd_wdat(tablez); mm=(dat%100)/10; mm=5*mm; for(z=mm;z<5+mm;z+) lcd_wdat(tablez); mm=dat%10; mm=5*mm; for(z=mm;z<5+mm;z+) lcd_wdat(tablez); for(z=50;z<60;z+) lcd_wdat(tablez); void clc_pl() /清除頻率顯示 uchar mm; select(1); setpos(6,0);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川省達州市重點達標名校2025屆初三下第二次段考英語試題試卷含答案
- 四川國際標榜職業(yè)學(xué)院《數(shù)理統(tǒng)計2》2023-2024學(xué)年第二學(xué)期期末試卷
- 西華大學(xué)《聲樂1》2023-2024學(xué)年第二學(xué)期期末試卷
- 信息技術(shù) 第二冊(五年制高職)課件 9.3.6 智能家居的技術(shù)特點
- 交通標志闖關(guān)課件
- 2025年一月安置區(qū)智慧快遞柜基礎(chǔ)預(yù)埋施工技術(shù)條款
- 五人聯(lián)合智慧酒店25年客戶隱私泄露追責協(xié)議
- 衛(wèi)生院醫(yī)療廢物管理培訓(xùn)
- 江西省衛(wèi)生類事業(yè)單位競聘-醫(yī)學(xué)檢驗類近年考試真題庫-含答案解析
- 安全生產(chǎn)行為規(guī)范
- 英語閱讀教學(xué)【講座課件】
- FANUC伺服報警系統(tǒng)介紹和維修要點
- 學(xué)生會組織結(jié)構(gòu)圖及具體職責
- 初中物理中考復(fù)習備考策略共53頁課件
- DL∕T 5544-2018 架空輸電線路錨桿基礎(chǔ)設(shè)計規(guī)程
- 高層建筑核心筒設(shè)計實例分析(共67頁)
- 陶瓷磚購銷合同模板直接用
- 電機學(xué)同步電機-全套課件
- 基于AT89S52單片機的自動干手器的設(shè)計與實現(xiàn)
- 《特種設(shè)備目錄》(2022年第114號)
評論
0/150
提交評論