LCD函數(shù)信號(hào)發(fā)生器_第1頁
LCD函數(shù)信號(hào)發(fā)生器_第2頁
LCD函數(shù)信號(hào)發(fā)生器_第3頁
LCD函數(shù)信號(hào)發(fā)生器_第4頁
LCD函數(shù)信號(hào)發(fā)生器_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、課 程 設(shè) 計(jì) 報(bào) 告課 程 名 稱 51單片機(jī) 課 程 題 目 基于8255的LCD顯示函數(shù)信號(hào)發(fā)生器的設(shè)計(jì) 專 業(yè) 通信工程 班 級(jí) 學(xué) 號(hào) 姓 名 同 組 人 指 導(dǎo) 單 位 南京郵電大學(xué)通達(dá)學(xué)院 指 導(dǎo) 教 師 林建中 第一部分 實(shí)驗(yàn)?zāi)康募耙?、 實(shí)驗(yàn)?zāi)康恼莆誔roteus對(duì)MCS51單片機(jī)的仿真學(xué)習(xí)匯編語言以及C語言在51編程上的使用掌握使用Keil軟件對(duì)51單片機(jī)編程根據(jù)提供的參考工程,在 Proteus平臺(tái)自己重新畫出實(shí)驗(yàn)所需要的電氣原理圖,并在此基礎(chǔ)上編寫相對(duì)應(yīng)的程序,實(shí)現(xiàn)其功能,學(xué)習(xí)Proteus軟件的使用,其中包括原理圖器件的選取、原理圖的電氣連接、程序的編寫編譯以及運(yùn)行

2、,并能查出其錯(cuò)誤等。2、實(shí)驗(yàn)設(shè)備硬件:微機(jī)(WindowsXP)軟件:Proteus 7.4 sp3,Keil uVersion 33、實(shí)驗(yàn)基本要求基本要求:用存儲(chǔ)器或算法得到信源。用DA轉(zhuǎn)換器輸出一函數(shù)信號(hào)(正弦、方波、三角、鋸齒等,頻率1000Hz),可以用 示波器進(jìn)行波形觀察。用LCD顯示輸出參數(shù)。用功能鍵切換各信號(hào)的輸出。動(dòng)態(tài)顯示格式:自定第二部分 實(shí)驗(yàn)工具及實(shí)驗(yàn)器件1、Proteus 以及 Keil 軟件的介紹Proteus 是英國 Labcenter 公司開發(fā)的電路及單片機(jī)系統(tǒng)設(shè)計(jì)與仿真軟件。Proteus可以實(shí)現(xiàn)數(shù)字電路、模擬電路及微控制器系統(tǒng)與外設(shè)的混合電路系統(tǒng)的電路仿真、軟件

3、仿真、系統(tǒng)協(xié)同仿真和PCB設(shè)計(jì)等功能。Proteus是目前唯一能對(duì)各種處理器進(jìn)行實(shí)時(shí)仿真、調(diào)試與測(cè)試的EDA工具,真正實(shí)現(xiàn)了在沒有目標(biāo)原型時(shí)就可對(duì)系統(tǒng)進(jìn)行調(diào)試、測(cè)試和驗(yàn)證。Proteus 軟件大大提高了企業(yè)的產(chǎn)品開發(fā)效率,降低了開發(fā)風(fēng)險(xiǎn)。由于Proteus軟件逼真、真實(shí)的協(xié)同仿真功能,它也特別適合于作為配合單片機(jī)課堂教學(xué)和實(shí)驗(yàn)的學(xué)習(xí)工具。Proteus 軟件提供了30多個(gè)元器件庫、7000余種元器件。元器件涉及電阻、電容、二極管、三極管、變壓器、繼電器、各種放大器、各種激勵(lì)器、各種微控制器、各種門電路和各種終端等。Proteus 軟件還提供有交直流電壓表、邏輯分析儀、示波器、定時(shí)/計(jì)數(shù)器和信號(hào)

4、發(fā)生器等測(cè)試信號(hào)工具用于電路測(cè)試。Keil C51是美國 Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。Keil 提供了包括 C 編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整 開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。運(yùn)行Keil軟件需要WIN98、NT、WIN2000、WINXP 等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令

5、你事半功倍。應(yīng)用 Keil 進(jìn)行軟件仿真開發(fā)的主要步驟為:編寫源程序并保存建立工程并添加源文件設(shè)置工程編譯/匯編、連接,產(chǎn)生目標(biāo)文件程序調(diào)試。Keil 使用“工程”(Project)的概念,對(duì)工程(而不能對(duì)單一的源程序)進(jìn)行編譯/匯編、連接等操作。工程的建立、設(shè)置、編譯/匯編及連接產(chǎn)生目標(biāo)文件的方法非常易于掌握。首先選擇菜單File-New,在源程序編輯器中輸入?yún)R編語言或C語言源程序(或選擇 File-Open,直接打開已用其它編輯器編輯好的源程序文檔)并保存,注意保存時(shí)必須在文件名后加上擴(kuò)展名.asm(.a51)或.c;然后選擇菜單Project-New Project,建立新工程并保存(保

6、存時(shí)無需加擴(kuò)展名,也可加上擴(kuò)展名.uv2);工程保存后會(huì)立即彈出一個(gè)設(shè)備選擇對(duì)話框,選擇CPU后點(diǎn)確定返回主界面。這時(shí)工程管理窗口的文件頁(Files)會(huì)出現(xiàn)“Target1”,將其前面+號(hào)展開,接著選擇Source Group1,右擊鼠標(biāo)彈出快捷菜單,選擇“Add File to GroupSource Group1”,出現(xiàn)一個(gè)對(duì)話框,要求尋找并加入源文件(在加入一個(gè)源文件后,該對(duì)話框不會(huì)消失,而是等待繼續(xù)加入其它文件)。加入文件后點(diǎn)close返回主界面,展開“Source Group1”前面+號(hào),就會(huì)看到所加入的文件,雙擊文件名,即可打開該源程序文件。緊接著對(duì)工程進(jìn)行設(shè)置,選擇工程 管理窗

7、口的Target1,再選擇Project-Option for TargetTarget1(或點(diǎn)右鍵彈出快捷菜單再選擇該選項(xiàng)),打開工程屬性設(shè)置對(duì)話框,共有8個(gè)選項(xiàng)卡,主要設(shè)置工作包括在Target選項(xiàng)卡中設(shè)置晶振頻率、在Debug選項(xiàng)卡中設(shè)置實(shí)驗(yàn)仿真板等,如要寫片,還必須在Output選項(xiàng)卡中選中“Creat Hex Fi”;其它選項(xiàng)卡內(nèi)容一般可取默認(rèn)值。工程設(shè)置后按F7鍵(或點(diǎn)擊編譯工具欄上相應(yīng)圖標(biāo))進(jìn)行編譯/匯編、連接以及產(chǎn)生目標(biāo)文件。成功編譯/匯編、連接后,選擇菜單Debug-Start/Stop Debug Session(或按Ctrl+F5鍵)進(jìn)入程序調(diào)試狀態(tài),Keil 提供對(duì)程序

8、的模擬調(diào)試功能,內(nèi)建一個(gè)功能強(qiáng)大的仿真CPU以模擬執(zhí)行程序。Keil 能以單步執(zhí)行(按 F11或選擇 Debug-Step)、過程單步執(zhí)行(按F10或選擇 Debug-Step Over)、全速執(zhí)行等多種運(yùn)行方式進(jìn)行程序調(diào)試。如果發(fā)現(xiàn)程序有錯(cuò),可采用在線匯編功能對(duì)程序進(jìn)行在線修改(Debug-Inline Assambly),不必執(zhí)行先退出調(diào)試環(huán)境、修改源程序、對(duì)工程重新進(jìn)行編譯/匯編和連接、然后再次進(jìn)入調(diào)試狀態(tài)的步驟。對(duì)于一些必須滿足一定條件(如按鍵被按下等)才能被執(zhí)行的、難以用單步執(zhí)行方式進(jìn)行調(diào)試的程序行,可采用斷點(diǎn)設(shè)置的方法處理(Debug-Insert/Remove Breakpoin

9、t 或 Debug-Breakpoints等)。在模擬調(diào)試程序后,還須通過編程器將.hex 目標(biāo)文件燒寫入單片機(jī)中才能觀察目標(biāo)樣機(jī)真實(shí)的運(yùn)行狀況。在PROTEUS繪制好原理圖后,調(diào)入已編譯好的目標(biāo)代碼文件:*.HEX,可以在 PROTEUS 的原理圖中看到模擬的實(shí)物運(yùn)行狀態(tài)和過程。2、51單片機(jī)AT89C5151單片機(jī)是對(duì)目前所有兼容Intel 8031指令系統(tǒng)的單片機(jī)的統(tǒng)稱。該系列單片機(jī)的始祖是Intel的8031單片機(jī),后來隨著Flash rom技術(shù)的發(fā)展,8031單片機(jī)取得了長(zhǎng)足的進(jìn)展,成為目前應(yīng)用最廣泛的8位單片機(jī)之一,其代表型號(hào)是ATMEL公司的AT89系列,它廣泛應(yīng)用于工業(yè)測(cè)控系統(tǒng)

10、之中。目前很多公司都有51系列的兼容機(jī)型推出,在目前乃至今后很長(zhǎng)的一段時(shí)間內(nèi)將占有大量市場(chǎng)。51單片機(jī)是基礎(chǔ)入門的一個(gè)單片機(jī),還是應(yīng)用最廣泛的一種。需要注意的是52系列的單片機(jī)一般不具備自編程能力。當(dāng)前常用的51系列單片機(jī)主要產(chǎn)品有:*Intel的:80C31、80C51、87C51、80C32、80C52、87C52 等;*ATMEL的:89C51、89C52、89C2051 等;AT89C51單片機(jī)的內(nèi)部結(jié)構(gòu)為:?jiǎn)我?5V電源供電; CPU:由運(yùn)算和控制邏輯組成,同時(shí)還包括中斷系統(tǒng)和部分外部特殊功能寄存器; RAM:用以存放可以讀寫的數(shù)據(jù),如運(yùn)算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù); RO

11、M:用以存放程序、一些原始數(shù)據(jù)和表格; I/O口:四個(gè)8位并行I/O口,既可用作輸入,也可用作輸出; T/C:兩個(gè)定時(shí)/記數(shù)器,既可以工作在定時(shí)模式,也可以工作在記數(shù)模式; 五個(gè)中斷源的中斷控制系統(tǒng): 一對(duì)全雙工UART(通用異步接收發(fā)送器)的串行I/O口,用于實(shí)現(xiàn)單片機(jī)之間或單片機(jī)與微機(jī)之間的串行通信; 片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路,石英晶體和微調(diào)電容需要外接。2、D/A轉(zhuǎn)換集成芯片DAC0832DAC0832是8分辨率的D/A轉(zhuǎn)換集成芯片,與微處理器完全兼容。這個(gè)DA芯片以其價(jià)格低廉、接口簡(jiǎn)單、轉(zhuǎn)換控制容易等優(yōu)點(diǎn),在單片機(jī)應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。它由8位輸入鎖存器、8位DAC寄存器、8位D/

12、A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。D0D7:8位數(shù)據(jù)輸入線,TTL電平,有效時(shí)間應(yīng)大于90ns(否則鎖存器的數(shù)據(jù)會(huì)出錯(cuò)); ILE:數(shù)據(jù)鎖存允許控制信號(hào)輸入線,高電平有效; CS:片選信號(hào)輸入線(選通數(shù)據(jù)鎖存器),低電平有效; WR1:數(shù)據(jù)鎖存器寫選通輸入線,負(fù)脈沖(脈寬應(yīng)大于500ns)有效。由ILE、CS、WR1的邏輯組合產(chǎn)生LE1,當(dāng)LE1為高電平時(shí),數(shù)據(jù)鎖存器狀態(tài)隨輸入數(shù)據(jù)線變換,LE1的負(fù)跳變時(shí)將輸入數(shù)據(jù)鎖存; XFER:數(shù)據(jù)傳輸控制信號(hào)輸入線,低電平有效,負(fù)脈沖(脈寬應(yīng)大于500ns)有效; WR2:DAC寄存器選通輸入線,負(fù)脈沖(脈寬應(yīng)大于500ns)有效。由WR2、XFER的邏輯組

13、合產(chǎn)生LE2,當(dāng)LE2為高電平時(shí),DAC寄存器的輸出隨寄存器的輸入而變化,LE2的負(fù)跳變時(shí)將數(shù)據(jù)鎖存器的內(nèi)容打入DAC寄存器并開始D/A轉(zhuǎn)換。 IOUT1:電流輸出端1,其值隨DAC寄存器的內(nèi)容線性變化; IOUT2:電流輸出端2,其值與IOUT1值之和為一常數(shù); Rfb:反饋信號(hào)輸入線,改變Rfb端外接電阻值可調(diào)整轉(zhuǎn)換滿量程精度; Vcc:電源輸入端,Vcc的范圍為+5V+15V; VREF:基準(zhǔn)電壓輸入線,VREF的范圍為-10V+10V; AGND:模擬信號(hào)地 DGND:數(shù)字信號(hào)地3、可編程并行I/O接口芯片8255A8255是Intel公司生產(chǎn)的可編程并行I/O接口芯片,有3個(gè)8位并行

14、I/O口。具有3個(gè)通道3種工作方式的可編程并行接口芯片(40引腳)其各口功能可由軟件選擇,使用靈活,通用性強(qiáng)。8255可作為單片機(jī)與多種外設(shè)連接時(shí)的中間接口電路。8255作為主機(jī)與外設(shè)的連接芯片,必須提供與主機(jī)相連的3個(gè)總線接口,即數(shù)據(jù)線、地址線、控制線接口。同時(shí)必須具有與外設(shè)連接的接口A、B、C口。由于8255可編程,所以必須具有邏輯控制部分,因而8255內(nèi)部結(jié)構(gòu)分為3個(gè)部分:與CPU連接部分、與外設(shè)連接部分、控制部分。特點(diǎn):(1)一個(gè)并行輸入/輸出的LSI芯片,多功能的I/O器件,可作為CPU總線與外圍的接口。(2)具有24個(gè)可編程設(shè)置的I/O口,即3組8位的I/O口為PA口,PB口和 P

15、C口。它們又可分為兩組12位的I/O口,A組包括A口及C口(高4位,PC4PC7),B組包括B口及C口(低4位,PC0PC3)。A組可設(shè)置為基本的I/O口,閃控(STROBE)的I/O閃控式,雙向 I/O3種模式;B組只能設(shè)置為基本I/O或閃控式I/O兩種模式,而這些操作模式完全由控制寄存器的控制字決定。RESET:復(fù)位輸入線,當(dāng)該輸入端處于高電平時(shí),所有內(nèi)部寄存器(包括控制寄存器)均被清除,所有 I/O 口均被置成輸入方式。 CS:芯片選擇信號(hào)線,當(dāng)這個(gè)輸入引腳為低電平時(shí),即/CS=0 時(shí),表示芯片被選中,允許8255與CPU進(jìn)行通訊;/CS=1 時(shí),8255無法與CPU做數(shù)據(jù)傳輸。 RD:

16、讀信號(hào)線,當(dāng)這個(gè)輸入引腳為低電平時(shí),即/RD=0 且/CS=0 時(shí),允許8255通過數(shù)據(jù)總線向CPU發(fā)送數(shù)據(jù)或狀態(tài)信息,即CPU從8255讀取信息或數(shù)據(jù)。 WR:寫入信號(hào),當(dāng)這個(gè)輸入引腳為低電平時(shí),即/WR=0且/CS=0時(shí),允許CPU將數(shù)據(jù)或控制字寫入8255。 D0D7:三態(tài)雙向數(shù)據(jù)總線,8255與CPU數(shù)據(jù)傳送的通道,當(dāng)CPU執(zhí)行輸入輸出指令時(shí),通過它實(shí)現(xiàn)8位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過數(shù)據(jù)總線傳送。 PA0PA7:端口A輸入輸出線,一個(gè)8位的數(shù)據(jù)輸出鎖存器/緩沖器,一個(gè)8位的數(shù)據(jù)輸入鎖存器。 PB0PB7:端口B輸入輸出線, 一個(gè)8位的 I/O 鎖存器一個(gè)8位的輸入輸出緩沖

17、器。 PC0PC7:端口C輸入輸出線,一個(gè)8位的數(shù)據(jù)輸出鎖存器/緩沖器,一個(gè)8位的數(shù)據(jù)輸入緩沖器。端口C可以通過工作方式設(shè)定而分成2個(gè)4位的端口, 每個(gè)4位的端口包含一個(gè)4位的鎖存器,分別與端口A和端口B配合使用,可作為控制信號(hào)輸出或狀態(tài)信號(hào)輸入端口。A1,A0:地址選擇線,用來選擇8255的PA口,PB口,PC口和控制寄存器。當(dāng) A1=0,A0=0 時(shí),PA 口被選擇;當(dāng) A1=0,A0=1 時(shí),PB 口被選擇; 當(dāng) A1=1,A0=0 時(shí),PC 口被選擇;當(dāng) A1=1,A0=1 時(shí),控制寄存器被選擇。4、LCD液晶顯示器件LM016LLM016L 是一個(gè)2*16的點(diǎn)陣式字符液晶顯示模塊,每

18、個(gè)字符由5*7個(gè)點(diǎn)組成的; 內(nèi)部帶有HD44780控制器; 采用5V電源供電; 內(nèi)建有192個(gè)字符,8個(gè)用戶自建字符。第三部分 實(shí)驗(yàn)原理圖及程序1、實(shí)驗(yàn)步驟有Proteus參與的單片機(jī)系統(tǒng)開發(fā)過程一般分為四步:在Proteus平臺(tái)上進(jìn)行單片機(jī)系統(tǒng)電路設(shè)計(jì)、選擇元器件、接插件、連接電路和電氣檢測(cè)等。進(jìn)行單片機(jī)系統(tǒng)源程序設(shè)計(jì)、編輯、匯編編譯、調(diào)試,最后生成目標(biāo)代碼文件。在Proteus平臺(tái)上將目標(biāo)代碼文件加載到單片機(jī)系統(tǒng)中,并實(shí)現(xiàn)單片機(jī)系統(tǒng)的實(shí)時(shí)交互、協(xié)同仿真。仿真正確后,制作實(shí)際單片機(jī)系統(tǒng)電路,并將目標(biāo)代碼文件下載到實(shí)際單片機(jī)中運(yùn)行、調(diào)試,直至運(yùn)行成功。2、硬件部分電路設(shè)計(jì)由于本次實(shí)驗(yàn)設(shè)計(jì)的是一

19、個(gè)由單片機(jī)組成的函數(shù)信號(hào)發(fā)生器的實(shí)驗(yàn),并且題目要求我們使用的是8255芯片,由于8255并行IO口擴(kuò)展方法之一,通過初始化編程設(shè)置,為單片機(jī)擴(kuò)展多種方式的并行輸入/輸出接口,最多可擴(kuò)展三個(gè)八位的IO口,分別稱為A口、B口和C口,其中,A口具有輸入輸出雙向鎖存,可實(shí)現(xiàn)一般IO功能、選通輸入功能、選通輸出功能和選通輸入/輸出雙向功能,其運(yùn)用最為靈活。B口具有輸出鎖存和輸入緩沖,能實(shí)現(xiàn)A口的相同功能,除了雙向輸入/輸出功能,C口能用于一般八為IO口,具有為操作功能,在多數(shù)場(chǎng)合作為A口和B口的控制端口使用。8255芯片占用CPU的四個(gè)外部RAM地址單元。8255具有多種用途,通過跳線可以用于LCD數(shù)碼

20、管顯示輸出。DA轉(zhuǎn)換器用于數(shù)字信號(hào)模擬化,DAC0832是8位分辨率的DA轉(zhuǎn)換器,與微處理器完全兼容。與它類似的芯片有DAC0830和DAC0831,這個(gè)系列的轉(zhuǎn)換器芯片以其價(jià)格低廉、接口簡(jiǎn)單、轉(zhuǎn)換控制容易等優(yōu)點(diǎn),在單片機(jī)應(yīng)用系統(tǒng)中得到廣泛應(yīng)用。這類D/A轉(zhuǎn)換器由8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路及控制電路構(gòu)成。該電路的顯示部分按要求則使用型號(hào)為L(zhǎng)M016的LCD液晶顯示器,通過P0口傳送數(shù)據(jù)然后由 LCD 顯示出來。另外,電路中還設(shè)計(jì)了兩個(gè)按鍵,用來選擇要顯示的波形?;?255口是指顯示和鍵盤都由8255的 I/O 口控制,使用8255可編程并行口芯片,設(shè)定為工作方式0,

21、PC口做輸入,PA口做輸出,使得達(dá)到控制通過按鍵選擇發(fā)送,顯示正確的數(shù)據(jù)串。完整電路原理圖如下:(雖然題目的要求是頻率1000Hz,但是經(jīng)過測(cè)試,1000Hz時(shí)的波形及其不穩(wěn)定,經(jīng)過反復(fù)調(diào)試,得出結(jié)論:當(dāng)頻率為333Hz時(shí),波形比較穩(wěn)定,所以改動(dòng)了題目的要求)3、軟件部分設(shè)計(jì)程序如下:#include <reg52.h>#include "lcd1602.h"#define uchar unsigned char#define uint unsigned intsbit key1 = P3 4;sbit key2 = P3 5;code unsigned cha

22、r Str1 = "Signal Source"code unsigned char Str2 = "Starting."unsigned char DispSin1 = "Wave:sin" ;unsigned char DispSin2 = "F=333hz 2A=2.5v" ;code unsigned char DispSaw1 = "Wave:saw" ;code unsigned char DispSaw2 = "F=333hz A=2.5v" ;code uns

23、igned char DispSqu1 = "Wave:squ" ;code unsigned char DispSqu2 = "F=333hz A=2.5v" ;code unsigned char DispTri1 = "Wave:tri" ;code unsigned char DispTri2 = "F=333hz A=1.25v" ;code unsigned char Sin128=64,67,70,73,76,79,82,85,88,91,94,96,99,102,104,106,109,111,11

24、3,115,117,118,120,121,123,124,125,126,126,127,127,127,127,127,127,127,126,126,125,124,123,121,120,118,117,115,113,111,109,106,104,102,99,96,94,91,88,85,82,79,76,73,70,67,64,60,57,54,51,48,45,42,39,36,33,31,28,25,23,21,18,16,14,12,10,9,7,6,4,3,2,1,1,0,0,0,0,0,0,0,1,1,2,3,4,6,7,9,10,12,14,16,18,21,23,

25、25,28,31,33,36,39,42,45,48,51,54,57,60; /T=3ms f=333hzcode unsigned char Saw128= 0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10,11,12,13,14,15 , 16,17,18,19,20,21,22,23 , 24,25,26,27,28,29,30,31 , 32,33,34,35,36,37,38,39 , 40,41,42,43,44,45,46,47 , 48,49,50,51,52,53,54,55 , 56,57,58,59,60,61,62,63 , 64,65,66,67,6

26、8,69,70,71 , 72,73,74,75,76,77,78,79 , 80,81,82,83,84,85,86,87 , 88,89,90,91,92,93,94,95 , 96,97,98,99,100,101,102,103, 104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127;code unsigned char Tri128=1,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22

27、,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,63,62,61,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,

28、2,1,1;code unsigned char Squ128=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, 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, 127,127,127,127,127,127,127,127, 127,127,127,127,127,127,127,127, 127,127,127,127,127,127,127,127, 127,127,127,127,127,127,127,127,

29、127,127,127,127,127,127,127,127, 127,127,127,127,127,127,127,127, 127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127;main()unsigned char ouoput_cnt;unsigned char dispflg;unsigned char dispbak,dispnum;lcd1602init(); PORT = 0x03; lcd_clr(); lcd_string(Str1, 1); lcd_string(Str2, 2); while

30、(1) ouoput_cnt+;if(ouoput_cnt = 128)ouoput_cnt =0;if(key1 = 0 && key2 = 0)P1=Sinouoput_cnt;dispbak = dispnum;dispnum = 0;if(dispbak != dispnum)dispflg = 1;else if(key1 = 0 && key2 = 1)P1=Triouoput_cnt;dispbak = dispnum;dispnum = 1;if(dispbak != dispnum)dispflg = 1;else if(key1 = 1 &a

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論