版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 課 程 設(shè) 計(jì)</p><p> 課程設(shè)計(jì)題目: 兩路模擬量采樣與顯示</p><p><b> 一、設(shè)計(jì)目的</b></p><p> 通過課程設(shè)計(jì)使學(xué)生更進(jìn)一步掌握單片機(jī)原理及應(yīng)用課程的有關(guān)知識(shí),提高應(yīng)用單片機(jī)解決問題的能力,加深對(duì)單片機(jī)應(yīng)用的理解。通過查閱資料,結(jié)合所學(xué)知識(shí)進(jìn)行軟、硬件的設(shè)計(jì),使學(xué)生初步掌
2、握應(yīng)用單片機(jī)解決問題的步驟及方法。為以后學(xué)生結(jié)合專業(yè)從事單片機(jī)應(yīng)用奠定基礎(chǔ)。</p><p> 二、設(shè)計(jì)的原始資料及依據(jù)</p><p> 利用實(shí)驗(yàn)系統(tǒng)的ADC0809、8155及LED顯示器來進(jìn)行設(shè)計(jì)。</p><p> 三、設(shè)計(jì)的主要內(nèi)容及要求</p><p> 1.不斷地循環(huán)采樣兩路模擬量,將轉(zhuǎn)換成的數(shù)字量通過LED顯示器時(shí)時(shí)顯
3、示出來。</p><p> 2.用一個(gè)開關(guān)來選擇、切換兩路模擬信號(hào)的輸入。</p><p> 四、對(duì)設(shè)計(jì)說明書撰寫內(nèi)容、格式、字?jǐn)?shù)的要求 </p><p> 1.課程設(shè)計(jì)說明書(論文)是體現(xiàn)和總結(jié)課程設(shè)計(jì)成果的載體,一般不應(yīng)少于3000字。</p><p> 2.學(xué)生應(yīng)撰寫的內(nèi)容為:目錄、正文、參考文獻(xiàn)等。課程設(shè)計(jì)說明書(論文)的結(jié)
4、構(gòu)及各部分內(nèi)容要求可參照《沈陽工程學(xué)院畢業(yè)設(shè)計(jì)(論文)撰寫規(guī)范》執(zhí)行。應(yīng)做到文理通順,內(nèi)容正確完整,書寫工整,裝訂整齊。</p><p> 3.說明書(論文)手寫或打印均可。手寫要用學(xué)校統(tǒng)一的課程設(shè)計(jì)用紙,用黑或藍(lán)黑墨水工整書寫;打印時(shí)按《沈陽工程學(xué)院畢業(yè)設(shè)計(jì)(論文)撰寫規(guī)范》的要求進(jìn)行打印。</p><p> 4. 課程設(shè)計(jì)說明書(論文)裝訂順序?yàn)椋悍饷?、任?wù)書、成績?cè)u(píng)定表、目錄、正
5、文、參考文獻(xiàn)。</p><p> 五、 設(shè)計(jì)完成后應(yīng)提交成果的種類、數(shù)量、質(zhì)量等方面的要求;</p><p> 提交課程設(shè)計(jì)說明書一份。在說明書中要有設(shè)計(jì)原理、硬件電路接線圖、設(shè)計(jì)的程序及必要注釋、程序流程圖等。</p><p><b> 六、時(shí)間進(jìn)度安排;</b></p><p> 七、主要參考資料(文獻(xiàn))&l
6、t;/p><p> 〔1〕MCS-51單片機(jī)原理及應(yīng)用教程 清華大學(xué)出版社 劉迎春 主編</p><p> 〔2〕圖解 單片機(jī)應(yīng)用技術(shù)要訣 中國電力出版社 劉修文 編著</p><p> 〔3〕例說8051 人民郵電出版社 張義和/陳敵北等 編著</p><p><b> 目錄</b></p&
7、gt;<p> ?。ㄒ唬?設(shè)計(jì)思路……………………………………………………….2</p><p> ?。ǘ?功能介紹……………………………………………………….3</p><p> 1、初始化各緩沖區(qū)……………………………………………3</p><p> 2、主程序與選擇傳輸?shù)牟蓸油ǖ馈?3</p><p&g
8、t; 3、拆字程序部分……………………………………………….4</p><p> 4、動(dòng)態(tài)顯示部分……………………………………………….5</p><p> 5、延時(shí)部分…………………………………………………….6</p><p> ?。ㄈ?程序流程圖…………………………………………………….7</p><p> 1、主程序流程圖…
9、…………………………………………….7</p><p> 2、A/D轉(zhuǎn)換程序流程圖……………………………………….8</p><p> 3、顯示子程序流程圖…………………………………………9</p><p> ?。ㄋ模?程序清單………………………………………………………..10</p><p> (五) 器件說明………………………………
10、………………………..13</p><p> ?。?主要參考文獻(xiàn)…………………………………………………14</p><p> (六) 硬件連接圖…………………………………………………….15</p><p><b> ?。ㄒ唬┰O(shè)計(jì)思路</b></p><p> 此次實(shí)訓(xùn)我們的設(shè)計(jì)的課題是:兩路模擬量采樣與顯示。即
11、通過A/D轉(zhuǎn)換把模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),最后把采集到的信號(hào)以十六進(jìn)制的形式在LED顯示器上顯示出來。在程序設(shè)計(jì)中我們用了子程序調(diào)用指令,調(diào)用了拆字子程序,顯示子程序,同時(shí)也用到了延時(shí)程序等。延時(shí)程序是為了給A/D轉(zhuǎn)換器提供足夠的轉(zhuǎn)換時(shí)間。</p><p> 首先向8155控制口寫入控制字03H,定義8155A口。B口為基本輸出,C口為輸入。將顯示緩沖區(qū)20H~25H清零,選擇0FF60H通道,把單片機(jī)8031的
12、P1.0口與開關(guān)相連,實(shí)現(xiàn)通道0/1的選擇,選中通道后啟動(dòng)A/D轉(zhuǎn)換。</p><p> 通過A/D轉(zhuǎn)換器把模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),把轉(zhuǎn)換后的信號(hào)采集并存儲(chǔ)到8031單片機(jī)的某個(gè)存儲(chǔ)單元中,便于把它調(diào)用出來。為了把采集到的數(shù)據(jù)能夠動(dòng)態(tài)的在LED顯示器上顯示出來,選用了8155,通過它控制把采集到的信號(hào)以十六進(jìn)制的形式動(dòng)態(tài)顯示出來。</p><p> 因?yàn)锳/D轉(zhuǎn)換器ADC0809有八個(gè)
13、模擬信號(hào)輸入通道,我們選擇了其中的IN0和IN1兩個(gè)通道,為了實(shí)現(xiàn)對(duì)兩路通道的控制,選用了8031的P1.0口作為控制口,當(dāng)P1.0為低電平時(shí),選擇對(duì)通道口IN1進(jìn)行采樣,同理當(dāng)P1.0為高電平時(shí),選擇對(duì)通道口IN1進(jìn)行采樣,同理當(dāng)P1.0為高電平時(shí),8155控制輸出的信號(hào)為采集到的IN0通道的信號(hào),反之則為IN1的信號(hào),然后顯示出來。</p><p> 從而實(shí)現(xiàn)了兩路模擬采樣和動(dòng)態(tài)顯示。</p>
14、<p><b> (二) 功能介紹</b></p><p><b> 1、初始化各緩沖區(qū)</b></p><p> 在兩路模擬采樣系統(tǒng)中,為了能更加直觀的看見所要查詢的數(shù)據(jù)結(jié)果,并且要在6個(gè)顯示器上以動(dòng)態(tài)的形式顯示出來。這首先需要設(shè)置所要查詢的首地址,本程序的首地址為20H~25H單元中,并給這些單元清零為以后的查詢作好準(zhǔn)備。&
15、lt;/p><p> 清零緩沖區(qū)部分程序清單及說明:</p><p> ORG 0100H</p><p> MOV DPTR,#0FF20H ;給數(shù)據(jù)指針?biāo)腿朊羁诘刂?lt;/p><p> MOV A,#03H ;8155初始化數(shù)據(jù)</p><p> MOVX @DPTR,A
16、 ;給8155送初始化命令</p><p> MOV 20H,#00H ;將顯示緩沖區(qū)20H—25H清零</p><p> MOV 21H,#00H</p><p> MOV 22H,#00H</p><p> MOV 23H,#00H</p><p> MOV 24H,#00H</
17、p><p> MOV 25H,#00H</p><p> 2、主程序與選擇傳輸?shù)牟蓸油ǖ?lt;/p><p> 先把命令口的通道地址0FF60H賦值給指針變量DPTR中,而后用JNB來判斷P1.0口是否為0,如果為零的話,就用IN0通道來進(jìn)行模擬采樣,如果為1的話就用IN1通道來進(jìn)行模擬采樣,并開始啟動(dòng)A/D轉(zhuǎn)換。</p><p> 主程序與
18、選擇傳輸通道程序清單及說明:</p><p> MAIN: MOV DPTR,#0FE60H ;給數(shù)據(jù)指針?biāo)腿霐?shù)據(jù)通道地址</p><p> JNB P1.0,AD0 ;判斷P1.0是否為零</p><p> MOV A,#01H ;用IN1口進(jìn)行動(dòng)態(tài)采樣</p><p> MOVX @DPTR
19、,A ;啟動(dòng)A/D轉(zhuǎn)換</p><p> AJMP ZCX ;跳轉(zhuǎn)到循環(huán)程序</p><p> AD0:MOV A,#00H ;用IN0口進(jìn)行動(dòng)態(tài)采樣</p><p> MOVX @DPTR,A ;啟動(dòng)A/D轉(zhuǎn)換</p><p> ZCX:MOVX A,@DPTR
20、 ;提取轉(zhuǎn)換后的數(shù)據(jù)</p><p> LCALL SEPR ;調(diào)用拆分子程序</p><p> LCALL DISP ;調(diào)用顯示子程序</p><p> SJMPMAIN ;返回到主程序從而實(shí)現(xiàn)程序循環(huán)</p><p><b> 3、拆字程序部分</
21、b></p><p> 將采集完的數(shù)據(jù)先存放到累加器A中,再把累加器A中的數(shù)據(jù)復(fù)制一份放在寄存器B中,并同時(shí)A中的高四位地址清零,把結(jié)果存到25H單元中,而后再把B寄存器中的數(shù)據(jù)復(fù)制到A中,把累加器中的高四位與第四位數(shù)據(jù)對(duì)調(diào),再清除高四位,得到需要顯示的高四位地址放到24H單元中。</p><p> 拆字程序部分清單及說明:</p><p> SEPR:
22、MOV B,A ;將A中的數(shù)據(jù)復(fù)制一份到寄存器B中</p><p> ANL A,#0FH ;將A中的高位清零</p><p> MOV 25H,A ;把A中的低四位數(shù)給25H單元</p><p> MOV A,B ;把復(fù)制的數(shù)據(jù)重新拷到累加器A中</p><p> SWAP A
23、 ;對(duì)A中的高四位與低四位數(shù)據(jù)進(jìn)行對(duì)調(diào)</p><p> ANL A,#0FH ;再去除A中的高四位得到轉(zhuǎn)換后的高四位數(shù)據(jù)</p><p> MOV 24H,A ;將高四位數(shù)據(jù)給24H單元</p><p> RET ;然后返回繼續(xù)往下執(zhí)行</p><p><b> 4、動(dòng)態(tài)顯示部分&l
24、t;/b></p><p> 由于需要顯示的數(shù)共六位,因此給R2賦值為六,同時(shí)把共陽極的顯示器的地址00100000B賦給R3,再給20H—25H單元賦值,而后把共陽極的顯示器的段選碼轉(zhuǎn)換表的地址存給DPTR指針中,并分別傳給B口(0FF21H)和A口(0FF22H)中,同時(shí)指向轉(zhuǎn)換碼所表示的地址,在顯示器上以動(dòng)態(tài)的形式顯示出來。然后同時(shí)給指針和地址加一,依次循環(huán)完成動(dòng)態(tài)的顯示。</p>&
25、lt;p> 動(dòng)態(tài)顯示部分程序清單及說明:</p><p> DISP1:MOV DPTR,#TAB ;調(diào)用共陽極七段譯碼器的顯示地址</p><p> MOV A,@R0 ;調(diào)用要顯示數(shù)</p><p> MOVC A,@A+DPTR ;通過查表輸出要顯示數(shù)的七段譯碼器的地址</p><p> M
26、OV DPTR,#0FF22H ;將字形口地址復(fù)制到DPTR中</p><p> MOVX @DPTR,A ;將要顯示的數(shù)輸出</p><p> MOV DPTR,#0FF21H ;將字位口地址復(fù)制到DPTR中</p><p> MOV A,R3 ;將要顯示的位置數(shù)復(fù)制到A中</p><p> M
27、OVX @DPTR,A ;把要顯示字位數(shù)據(jù)輸出到控制口0FF221H</p><p> LCALL TIME ;調(diào)用延時(shí)子程序使A/D轉(zhuǎn)換能夠順利完成</p><p> RR A ;把字位向右移動(dòng)一位</p><p> MOV R3,A ;然后把移動(dòng)后的數(shù)重新放到R3中</p&
28、gt;<p> INC R0 ;把顯示字形地址加一</p><p> DJNZ R2,DISP1 ;循環(huán)六次顯示轉(zhuǎn)換后的六個(gè)數(shù)</p><p> RET ;返回到調(diào)用子程序</p><p><b> 5、延時(shí)部分</b></p><p&g
29、t; 每個(gè)數(shù)據(jù)的采集都需要一定的時(shí)間,A/D轉(zhuǎn)換所需要的時(shí)間為100uS,為了更好的完成數(shù)據(jù)的傳輸轉(zhuǎn)換,這里采樣提供300uS的延時(shí)時(shí)間。</p><p> 延時(shí)部分程序清單及說明:</p><p> TIME:MOV R7,#30H ;循環(huán)變量</p><p><b> DLAY:NOP</b></p><p
30、><b> NOP</b></p><p><b> NOP</b></p><p> DJNZ R7,DLAY ;循環(huán)30次</p><p> RET ; 返回到調(diào)用程序繼續(xù)往下執(zhí)行</p><p><b> END&
31、lt;/b></p><p><b> ?。ㄈ?程序流程圖</b></p><p><b> 1、主程序流程圖:</b></p><p> A/D轉(zhuǎn)換程序流程圖:</p><p><b> 顯示子程序流程圖</b></p><p><
32、b> ?。ㄋ模?程序清單</b></p><p> ORG 0100H</p><p> MOV DPTR,#0FF20H ;給數(shù)據(jù)指針?biāo)腿朊羁诘刂?lt;/p><p> MOV A,#03H ;8155初始化數(shù)據(jù)</p><p> MOVX @DPTR,A ;給8155送初
33、始化命令</p><p> MOV 20H,#00H ;將顯示緩沖區(qū)20H—25H清零</p><p> MOV 21H,#00H</p><p> MOV 22H,#00H</p><p> MOV 23H,#00H</p><p> MOV 24H,#00H</p><
34、p> MOV 25H,#00H</p><p><b> ;主程序</b></p><p> MAIN: MOV DPTR,#0FE60H ;給數(shù)據(jù)指針?biāo)腿霐?shù)據(jù)通道地址</p><p> JNB P1.0,AD0 ;判斷P1.0是否為零</p><p> MOV A,#01H
35、 ;用IN1口進(jìn)行動(dòng)態(tài)采樣</p><p> MOVX @DPTR,A ;啟動(dòng)A/D轉(zhuǎn)換</p><p> AJMP ZCX ;跳轉(zhuǎn)到循環(huán)程序</p><p> AD0:MOV A,#00H ;用IN0口進(jìn)行動(dòng)態(tài)采樣</p><p> MOVX @DPTR,A
36、 ;啟動(dòng)A/D轉(zhuǎn)換</p><p> ZCX:MOVX A,@DPTR ;提取轉(zhuǎn)換后的數(shù)據(jù)</p><p> LCALL SEPR ;調(diào)用拆分子程序</p><p> LCALL DISP ;調(diào)用顯示子程序</p><p> SJMPMAIN ;返回到主
37、程序從而實(shí)現(xiàn)程序循環(huán)</p><p><b> ;拆分子程序</b></p><p> SEPR:MOV B,A ;將A中的數(shù)據(jù)復(fù)制一份到寄存器B中</p><p> ANL A,#0FH ;將A中的高位清零</p><p> MOV 25H,A ;把A中的低四位數(shù)給25H
38、單元</p><p> MOV A,B ;把復(fù)制的數(shù)據(jù)重新拷到累加器A中</p><p> SWAP A ;對(duì)A中的高四位與低四位數(shù)據(jù)進(jìn)行對(duì)調(diào)</p><p> ANL A,#0FH ;再去除A中的高四位得到轉(zhuǎn)換后的高四位數(shù)據(jù)</p><p> MOV 24H,A ;將高四位數(shù)據(jù)
39、給24H單元</p><p> RET ;然后返回繼續(xù)往下執(zhí)行</p><p><b> ;顯示子程序</b></p><p> DISP: MOV R2,#06H ;把循環(huán)次數(shù)存到R2單元中</p><p> MOV R3,#00100000B ;把顯示第一個(gè)數(shù)的位置數(shù)據(jù)存到R3&
40、lt;/p><p> MOV 20H,#0AH ;把要顯示的數(shù)A存在20H單元中</p><p> MOV 21H,#0DH ;把顯示數(shù)D存在21H單元中</p><p> MOV 22H,#00H ;把顯示數(shù)00H存在22H中</p><p> JNB P1.0,IO ;判斷P1.0
41、是否為零</p><p> MOV 23H,#02H ;當(dāng)P1.0口位高電平時(shí)23H單元顯示02通道</p><p><b> AJMP GO</b></p><p> IO:MOV 23H,#01H ;當(dāng)P1.0口位低電平時(shí)23H單元顯示01通道</p><p> GO:MOV R0,#20H
42、 ;給R0存入要顯示的第一位數(shù)據(jù)</p><p> DISP1:MOV DPTR,#TAB ;調(diào)用共陽極七段譯碼器的顯示地址</p><p> MOV A,@R0 ;調(diào)用要顯示數(shù)</p><p> MOVC A,@A+DPTR ;通過查表輸出要顯示數(shù)的七段譯碼器的地址</p><p> MOV D
43、PTR,#0FF22H ;將字形口地址復(fù)制到DPTR中</p><p> MOVX @DPTR,A ;將要顯示的數(shù)輸出</p><p> MOV DPTR,#0FF21H ;將字位口地址復(fù)制到DPTR中</p><p> MOV A,R3 ;將要顯示的位置數(shù)復(fù)制到A中</p><p> MOVX
44、@DPTR,A ;把要顯示字位數(shù)據(jù)輸出到控制口0FF221H</p><p> LCALL TIME ;調(diào)用延時(shí)子程序使A/D轉(zhuǎn)換能夠順利完成</p><p> RR A ;把字位向右移動(dòng)一位</p><p> MOV R3,A ;然后把移動(dòng)后的數(shù)重新放到R3中</p>
45、<p> INC R0 ;把顯示字形地址加一</p><p> DJNZ R2,DISP1 ;循環(huán)六次顯示轉(zhuǎn)換后的六個(gè)數(shù)</p><p> RET ;返回到調(diào)用子程序</p><p> TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80
46、H,90H,88H,83H</p><p> DB 006H,0A1H,86H,8EH ;七段譯碼器的顯示地址</p><p> ;延時(shí)子程序,共10*30=300uS</p><p> TIME:MOV R7,#30H</p><p><b> DLAY:NOP</b></p><p>
47、;<b> NOP</b></p><p><b> NOP</b></p><p> DJNZ R7,DLAY ;循環(huán)30次</p><p> RET ; 返回到調(diào)用程序繼續(xù)往下執(zhí)行</p><p><b> END<
48、/b></p><p><b> ?。ㄎ澹┢骷f明</b></p><p> 1、ADC0809 八位逐次逼近式A/D轉(zhuǎn)換器管腳分布圖:</p><p><b> 管腳功能說明如下:</b></p><p> IN0~IN7: 8路模擬信號(hào)入口</p><p>
49、 D0~D7: 八位轉(zhuǎn)換后的數(shù)據(jù)輸出口</p><p> START: A/D轉(zhuǎn)換啟動(dòng)信號(hào)</p><p> ALE: 地址鎖存信號(hào)</p><p> EOC: 轉(zhuǎn)換結(jié)束信號(hào)</p><p> OE: 輸出運(yùn)行控制端</p><p><b> CLK: 時(shí)鐘信號(hào)</b></p&g
50、t;<p> VREF+: A/D轉(zhuǎn)換器的正參數(shù)電壓</p><p> VREF-: A/D轉(zhuǎn)換器的負(fù)參數(shù)電壓</p><p><b> VCC: 電源</b></p><p> ADDA、ADDB、ADDC: 模擬信號(hào)接通的多路開關(guān)選擇碼 (六)主要參考文獻(xiàn)</p><p> 〔1〕MCS-
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 模擬量采樣單片機(jī)課程設(shè)計(jì)
- 基于單片機(jī)模擬量數(shù)字顯示課程設(shè)計(jì)
- 單片機(jī)雙路顯示電壓表課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--顯示電路
- lcd顯示設(shè)計(jì)單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--- 單片機(jī)動(dòng)態(tài)掃描顯示
- 8路輸入模擬信號(hào)數(shù)值顯示電路單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)(led顯示管)
- 單片機(jī)lcd系統(tǒng)顯示課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---單片機(jī)數(shù)字顯示溫度計(jì)
- 單片機(jī)課程設(shè)計(jì)--矩陣鍵盤 led顯示
- led顯示屏單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)----led點(diǎn)陣漢字顯示
- 單片機(jī)課程設(shè)計(jì)-智能溫度控制顯示
- 單片機(jī)課程設(shè)計(jì)--動(dòng)態(tài)數(shù)碼顯示技術(shù)
- 51單片機(jī)兩路或多路pwm波輸出程序
- 交流電壓采樣單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--單片機(jī)模擬電子時(shí)鐘設(shè)計(jì)
- 旋轉(zhuǎn)led顯示旋轉(zhuǎn)單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--單片機(jī)模擬電子時(shí)鐘設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論