版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 單片機(jī)課程設(shè)計(jì)</b></p><p><b> 實(shí)驗(yàn)報(bào)告</b></p><p> 學(xué)院: 電子信息學(xué)院 </p><p> 班級(jí): </p><p> 姓名: &l
2、t;/p><p> 指導(dǎo)老師: </p><p> 日期: 2013 年 06 月</p><p><b> 題目:</b></p><p> 利用 proteus 仿真一個(gè)數(shù)據(jù)通訊顯示系統(tǒng)</p><p> 1)系統(tǒng)基本功能要求</p><
3、p> 系統(tǒng)具有1路RS232串行通信接口;</p><p> 系統(tǒng)能夠完成接受信息的8位數(shù)碼顯示;</p><p> 系統(tǒng)具有開始、停止等控制按鍵;</p><p><b> 2)課設(shè)目的</b></p><p> 學(xué)生通過(guò)實(shí)際動(dòng)手對(duì)課程題目進(jìn)行設(shè)計(jì),鞏固已有的單片機(jī)知識(shí),進(jìn)行課設(shè)的同時(shí),熟練掌握prot
4、eus、虛擬串口(Virtual Serial Port Driver)和串口調(diào)試助手等軟件的應(yīng)用。</p><p> 培養(yǎng)學(xué)生動(dòng)手能力,及發(fā)現(xiàn)問(wèn)題、解決問(wèn)題的能力。</p><p> 讓知識(shí)與實(shí)際想接軌,培養(yǎng)學(xué)生的學(xué)習(xí)興趣。</p><p><b> 3)設(shè)計(jì)硬件要求</b></p><p> 單片機(jī):AT89
5、C52;</p><p> 輸出鎖存器:74LS373;</p><p> RS232驅(qū)動(dòng)器用MAX232;</p><p> 鍵盤、顯示接口:8279;</p><p><b> 二 設(shè)計(jì)方案</b></p><p><b> 1.總體模塊</b></p&
6、gt;<p> 上圖是本次課設(shè)的設(shè)計(jì)方案原理圖,圖中COMPIM作為虛擬串口的輸入,將輸入的信息送入RS232串行數(shù)據(jù)通信接口。52單片機(jī)接收RS232送來(lái)的數(shù)據(jù)信息,并通過(guò)P0口發(fā)送出去,此時(shí)P0作為數(shù)據(jù)通信接口。同時(shí)51單片機(jī)像8279發(fā)出地址信息,選通8279的地址區(qū)域,其中,低8位地址信息通過(guò)P0口發(fā)送給8279,此時(shí)P0口作為地址通信接口。高8 位地址信息通過(guò)P2口送給8279,選中8279的地址區(qū)域。8279
7、將接收來(lái)的數(shù)據(jù)信息存在52單片機(jī)選中的FIFO RAM中,并通過(guò)一個(gè)LS74138譯碼器,將串口數(shù)據(jù)送入LED數(shù)碼顯示器中。LED數(shù)碼顯示器,通過(guò)74LS245作為驅(qū)動(dòng)器,驅(qū)動(dòng)數(shù)碼管中的二極管發(fā)亮。2.串口發(fā)送模塊:通過(guò)虛擬串口(Virtual Serial Port Driver),將串口調(diào)試助手與DB9相連,再將調(diào)試助手發(fā)送的數(shù)據(jù)通過(guò)串行口傳入51的數(shù)據(jù)緩沖區(qū)SBUF。經(jīng)測(cè)試發(fā)現(xiàn)不許用MAX232.采用定時(shí)器一工作于方式2來(lái)
8、產(chǎn)生9600波特率。串行通信用方式一。3.連接模塊:51單片機(jī)的P0口作為地址、數(shù)據(jù)復(fù)用總線,數(shù)據(jù)直接從P0口引出,送入到8279的AD0 ~ </p><p><b> 原理圖</b></p><p> Figure 1 總設(shè)計(jì)圖</p><p> Figure 2 串口發(fā)送模塊</p><p> F
9、igure 3 連接模塊</p><p> Figure 4連接模塊</p><p> Figure 5控制模塊</p><p> Figure 6顯示模塊</p><p><b> 程序設(shè)計(jì)</b></p><p> ORG 0000H</p><p>
10、 AJMP START ;轉(zhuǎn)到初始化程序</p><p> ORG 0023H</p><p> AJMP PGUART ;轉(zhuǎn)到串行中斷服務(wù)子程序</p><p> TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;段碼表</p>
11、;<p> DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H </p><p> A8279 EQU 7FFFH ;命令/狀態(tài)口地址</p><p> D8279 EQU 7FFEH ;數(shù)據(jù)口地址</p><p> START: </p>
12、<p> LCALL INIT8279 ;初始化8279</p><p> MOV SCON,#50H ;串口 方式 1</p><p> MOV TMOD,#20H ;T1 方式 1</p><p>
13、MOV TL1,#0FDH ;波特率 9600 的常數(shù)</p><p> MOV TH1,#0FDH</p><p> SETB TR1 ;啟動(dòng)定時(shí)器1</p><p> SETB EA ;開總終端</p><p&
14、gt; SETB ES ;開串行口終端</p><p> SJMP HERE </p><p><b> ;初始化</b></p><p> INIT8279: </p><p> MOV DPTR, #A8279 </p>&
15、lt;p> MOV A,#0D1H ;清除命令</p><p> MOVX @DPTR, A</p><p> LP: MOVX A, @DPTR </p><p> JB ACC.7, LP ;查清除結(jié)束標(biāo)志</p><p> MOV A,#06H ;設(shè)顯示器工作方式&
16、lt;/p><p> MOVX @DPTR, A</p><p> MOV A,#90H ;送顯示RAM命令</p><p> MOVX @DPTR, A</p><p> HERE: SJMP HERE ;等中斷</p><p> ;中斷服務(wù)程序 </p&
17、gt;<p> PGUART:MOV A, SBUF ;取串行數(shù)據(jù)</p><p> MOV DPTR,#TABLE ;轉(zhuǎn)換為段碼</p><p><b> CLR C</b></p><p> SUBB A, #30H</p><p> MOVC A,@A+DPTR <
18、;/p><p> MOV DPTR,#D8279</p><p> MOVX @DPTR,A ;送顯示RAM</p><p> CLR RI ;清接收中斷標(biāo)志位</p><p> DJNZ R5,HERE ;等待一組數(shù)據(jù)(8位)發(fā)送完畢</p><p> MOV R5, #08H <
19、;/p><p><b> RETI</b></p><p> END上述程序中采用中斷方式取數(shù)。</p><p> 存在問(wèn)題1. 80C51單片機(jī)的P0口無(wú)法讀入數(shù)據(jù),始終顯示高電平,從而無(wú)法將數(shù)據(jù)所存在74LS373中,也就無(wú)法對(duì)A0進(jìn)行輸入;2. 8279的OUT端口只有OUT_A1和OUT_B1工作3.鑒于以上原因,
20、無(wú)法進(jìn)行程序的調(diào)試工作,AJMP STEP SIX</p><p> 其他方法進(jìn)行實(shí)現(xiàn)1. 設(shè)計(jì)方案如果不使用單片機(jī)的P0口輸出,而改成用P2口代替,這樣暫時(shí)不使用8279,僅采用80C51單片機(jī)和數(shù)碼管進(jìn)行直接的選通,由串行口發(fā)送數(shù)據(jù),P2口數(shù)據(jù)作為位碼;P1口數(shù)據(jù)作為段碼,實(shí)現(xiàn)數(shù)碼管的顯示。2. 設(shè)計(jì)圖</p><p><b> 3. 源代碼</b&g
21、t;</p><p> 下述程序采用查詢方式取數(shù) ORG 0000H</p><p> AJMP START ;轉(zhuǎn)到初始化程序</p><p> TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;段碼表</p><p> DB
22、 7FH,6FH</p><p> TAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH ;位碼表</p><p><b> START: </b></p><p> MOV P2,#00H ;初始化P2口</p&
23、gt;<p> MOV TMOD,#20H ;定時(shí)器T1工作于模式2,自動(dòng)重裝載</p><p> MOV TH1,#0FDH ;TH1初值為"0FDH",9600bps</p><p> MOV TL1,#0FDH ;TL1初值為"0FDH",9600bps</p><
24、;p> MOV SCON,#50H ;串行口工作于方式1,允許接收</p><p> SETB TR1 ;啟動(dòng)定時(shí)器T1</p><p> SETB EA </p><p> MOV R2,#08H ; 賦00H給RAM40H單元</p><p> MOV
25、R0,#40H </p><p> MOV A,#00H</p><p> LOP: MOV @R0,A</p><p><b> INC R0</b></p><p> DJNZ R2,LOP</p><p> AGAIN:
26、 ;循環(huán)初始化</p><p> MOV R0,#40H</p><p> MOV R7,#40H</p><p> LOOP: JBC RI,CHANGE ;查詢是否有數(shù)據(jù)輸入</p><p> A1: MOV DPTR,#TAB ;顯示器掃描</p>
27、;<p><b> CLR C</b></p><p> MOV A,R0</p><p> SUBB A,#40H</p><p> MOVC A,@A+DPTR</p><p> MOV P2,A </p><p> MOV
28、 A,@R0 ;顯示器顯示</p><p><b> INC R0 </b></p><p> MOV DPTR,#TABLE </p><p> MOVC A,@A+DPTR</p><p> MOV P1,A</p><p>
29、 MOV R4,#0FFH ;延時(shí)1ms,保證視覺(jué)暫留</p><p> WAIT: NOP</p><p><b> NOP</b></p><p> DJNZ R4,WAIT</p><p> MOV A,R0</p><p>
30、CLR C</p><p> SUBB A,#48H</p><p> JC LOOP</p><p> SJMP AGAIN </p><p> CHANGE: MOV A,R7 ;根據(jù)發(fā)送數(shù)據(jù)修改顯示數(shù)據(jù)</p><p> MOV
31、 R0,A</p><p> MOV A,SBUF</p><p><b> CLR C</b></p><p> SUBB A,#30H</p><p> MOV @R0,A </p><p><b> INC R7</b>
32、;</p><p> CLR C</p><p> MOV A,R7</p><p> SUBB A,#48H</p><p> JC A1</p><p> SJMP AGAIN</p><p><b> END&l
33、t;/b></p><p><b> 4.實(shí)驗(yàn)結(jié)果:</b></p><p> 輸入學(xué)號(hào):10301913</p><p> 修改數(shù)據(jù):10301911</p><p><b> 5.存在問(wèn)題:</b></p><p> 發(fā)送一次數(shù)據(jù)可以成功顯示,但是多次發(fā)送
34、,則會(huì)出現(xiàn)數(shù)據(jù)順序混亂;</p><p><b> 兩種方案的對(duì)比</b></p><p> 采用 8279的可視為硬件顯示方法,充分利用了8279的顯示功能,使得軟件編程簡(jiǎn)單,但是增加了硬件開銷,使得連線復(fù)雜。</p><p> 第二種方法屬于軟件顯示方法,通過(guò)軟件編程,來(lái)實(shí)現(xiàn)類似于8279的顯示控制功能,硬件少,連線簡(jiǎn)單,但是付出的
35、代價(jià)是軟件編程要復(fù)雜。</p><p> 輸出顯示驅(qū)動(dòng)器:74LS245</p><p><b> 八.心得體會(huì)</b></p><p> 在課設(shè)的整個(gè)過(guò)程中我們遇到了很多的問(wèn)題,從一開始的無(wú)從下手,到逐漸整理思路,從學(xué)習(xí)別人的設(shè)計(jì),到自己獨(dú)立的進(jìn)行設(shè)計(jì),每一點(diǎn)進(jìn)步自己都可以親身感覺(jué)到。本次課設(shè)是對(duì)學(xué)過(guò)的單片機(jī)課程的一次實(shí)際檢驗(yàn),是一個(gè)
36、將理論知識(shí)轉(zhuǎn)化為實(shí)際的過(guò)程。在此過(guò)程中,我們不但復(fù)習(xí)的已學(xué)到的知識(shí),更學(xué)到了新的知識(shí),如proteus和串口調(diào)試助手的使用,提高了我們思考問(wèn)題和解決問(wèn)題的能力,鞏固了我們已有的相關(guān)單片機(jī)方面的知識(shí)。在實(shí)踐的過(guò)程中,我們明白了只有不斷的嘗試,不斷的尋找問(wèn)題的解決方法,才能做出滿意的成績(jī),很多時(shí)候不是我們做不到,而是我們不相信自己能做到而從來(lái)都沒(méi)有親自嘗試,但當(dāng)我們下定決心去做一件事的時(shí)候,會(huì)發(fā)現(xiàn)并非是原本想象的那么困難,很多時(shí)候我們輸給
37、了自己,大膽嘗試、實(shí)踐,我們才會(huì)不斷的進(jìn)步!!!在調(diào)試的過(guò)程中,出現(xiàn)過(guò)很多次錯(cuò)誤,但我們沒(méi)有氣餒,通過(guò)咨詢學(xué)習(xí)能力較強(qiáng)的同學(xué)之外還上網(wǎng)查閱資料不斷分析沒(méi)有出現(xiàn)預(yù)期結(jié)果的原因,并通過(guò)無(wú)數(shù)次的調(diào)試基本達(dá)到了預(yù)期效果</p><p><b> 附錄:</b></p><p> 鍵盤/顯示器接口芯片8279</p><p> 8279是Intel
38、公司生產(chǎn)的通用可編程鍵盤和顯示器接口芯片,利用8279可以實(shí)現(xiàn)實(shí)現(xiàn)對(duì)鍵盤和顯示器的自動(dòng)掃描,并識(shí)別鍵盤上閉合鍵的鍵號(hào),完成顯示器的動(dòng)態(tài)掃描。不僅可以大大節(jié)省CPU對(duì)鍵盤和顯示器的操作時(shí)間,從而減輕CPU的負(fù)擔(dān),而且顯示穩(wěn)定,程序簡(jiǎn)單,因而廣泛應(yīng)用于實(shí)際的單片機(jī)應(yīng)用系統(tǒng)中。</p><p> 8279為40 腳雙列直插式封裝,引腳圖及邏輯符號(hào)圖如圖如圖所示:</p><p> 圖3.2.
39、3 8279引腳圖</p><p> 圖3.2.4 8279 邏輯符號(hào)圖</p><p><b> 8279工作原理:</b></p><p> 由SL0~SL3輸出鍵盤和顯示器的掃描線,回復(fù)線RL0~RL7作為鍵盤的列線以搜索閉合鍵將鍵盤數(shù)據(jù)送入FIFO存儲(chǔ)器,有鍵閉合時(shí)數(shù)據(jù)進(jìn)入FIFO存儲(chǔ)器,使IRQ置位向CPU申請(qǐng)中斷。顯示緩
40、沖區(qū)(RAM)存放顯示數(shù)據(jù)的段碼,數(shù)據(jù)輪流從顯示寄存器輸出,在SL0~SL3的配合下,實(shí)現(xiàn)動(dòng)態(tài)顯示。(OUTA和OUTB)</p><p> 8279各功能部件如下:</p><p> (1)I/O控制和數(shù)據(jù)緩沖器</p><p> ?。?)控制寄存器、定時(shí)寄存器和定時(shí)控制</p><p><b> ?。?)掃描計(jì)數(shù)器</
41、b></p><p><b> ?。?)返回緩沖器</b></p><p> (5)FIFO(先進(jìn)先出)/SENSOR RAM及狀態(tài)碼</p><p> 2、74LS373鎖存器</p><p> 373為三態(tài)輸出的八 D 透明鎖存器,共有54S373 和 74LS373 兩種線路。我們使用的是74LS373
42、,其引腳圖如下圖3.2.5。</p><p> 圖3.2.5 74LS373引腳圖 表3.2.1 74LS373真值表</p><p> 引出端符號(hào):D0~D7是數(shù)據(jù)輸入端;/OE是三態(tài)允許控制端(低電平有效);LE是鎖存允許端;Q0~Q7是輸出端。其引腳功能如表3.2.1所示。</p><p> 當(dāng)三態(tài)允許控制
43、端 /OE 為低電平時(shí),Q0~Q7為正常邏輯狀態(tài),可用來(lái)驅(qū)動(dòng)負(fù)載或總線。當(dāng) /OE 為高電平時(shí),Q0~Q7 呈高阻態(tài),即不驅(qū)動(dòng)總線,也不為總線的負(fù)載,但鎖存器內(nèi)部的邏輯操作不受影響。 </p><p> 當(dāng)鎖存允許端 LE 為高電平時(shí),Q 隨數(shù)據(jù) D 而變。當(dāng) LE 為低電平時(shí),D 被鎖存在已建立的數(shù)據(jù)電平。當(dāng) LE 端施密特觸發(fā)器的輸入滯后作用,使交流和直流噪聲抗擾度被改善 400mV。</p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ī)串行通訊
- 單片機(jī)lcd系統(tǒng)顯示課程設(shè)計(jì)
- 設(shè)計(jì)一個(gè)完整的數(shù)據(jù)通信系統(tǒng)--數(shù)據(jù)通信課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--顯示電路
- lcd顯示設(shè)計(jì)單片機(jī)課程設(shè)計(jì)
- proteus仿真單片機(jī)實(shí)驗(yàn)
- 畢業(yè)設(shè)計(jì)---紅外數(shù)據(jù)通訊系統(tǒng)的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--- 單片機(jī)動(dòng)態(tài)掃描顯示
- 基于proteus和keil的單片機(jī)課程設(shè)計(jì)
- 單片機(jī)顯示系統(tǒng)課程設(shè)計(jì)報(bào)告-基于51內(nèi)核的單片機(jī)為主控芯片的單片機(jī)顯示系統(tǒng)
- 課程設(shè)計(jì)---單片機(jī)數(shù)據(jù)采集系統(tǒng)
- 單片機(jī)課程設(shè)計(jì)(led顯示管)
- 單片機(jī)課程設(shè)計(jì)---單片機(jī)數(shù)字顯示溫度計(jì)
- 單片機(jī)溫度采集系統(tǒng)的proteus仿真
- 課程設(shè)計(jì)---基于單片機(jī)的lcd顯示系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告--雙機(jī)串行通訊
- 單片機(jī)課程設(shè)計(jì)--用單片機(jī)控制的數(shù)據(jù)采集系統(tǒng)
- 一個(gè)單片機(jī)串行數(shù)據(jù)采集
- 基于單片機(jī)控制設(shè)計(jì)一個(gè)數(shù)控電流源【開題報(bào)告】
- 高速數(shù)據(jù)采集及無(wú)線數(shù)據(jù)通訊設(shè)計(jì).pdf
評(píng)論
0/150
提交評(píng)論