歡迎來到裝配圖網! | 幫助中心 裝配圖網zhuangpeitu.com!
裝配圖網
ImageVerifierCode 換一換
首頁 裝配圖網 > 資源分類 > DOCX文檔下載  

系列單片機的增強型-AT89C51系列單片機電子設計實驗報告.docx

  • 資源ID:8896998       資源大?。?span id="xvi53vs" class="font-tahoma">407.53KB        全文頁數:42頁
  • 資源格式: DOCX        下載積分:9.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

系列單片機的增強型-AT89C51系列單片機電子設計實驗報告.docx

實驗報告姓名:宋大威 電氣1302班學號20134223067 簡介本次項目是以51系列單片機的增強型AT89C51系列單片機,設計與制作單片機系統(tǒng),按需求設計硬件原理圖,編寫、調試軟件程序 (Keil uVision4) ,硬件電路和軟件程序結合,進行硬件調試仿真,燒寫調試后的最終程序,系統(tǒng)上電運行。主要包括流水燈、數碼管、矩陣鍵盤、蜂鳴器、數字時鐘、液晶 LCD1602、片外RAM 擴展、A/D轉換和D/A轉換。所用芯片為AT89C51,CY62256,ADC0809,DAC0832鎖存器74LS373。目錄第一章 流水燈 1.1 實驗目的1 1.2電路圖1 1.3電路原理2 1.4程序設計思路2 1.5實驗心得及反思3第二章 數碼管 2.1實驗目的4 2,2電路圖4 2.3電路原理5 2.4程序設計思路5 2.5實驗心得及反思5第三章 矩陣鍵盤及蜂鳴器 3.1實驗目的6 3.2電路圖6 3.3電路原理7 3.4程序設計思路7 3.5實驗心得及反思7第四章 液晶顯示器LCD1602 4.1實驗目的8 4.2電路圖8 4.3電路原理9 4.4程序設計思路9 4.5實驗心得及反思10第五章 片外RAM擴展 5.1實驗目的11 5.2電路圖12 5.3電路原理12 5.4程序設計思路13 5.5實驗心得及反思14第六章A/D轉換 6.1實驗目的14 6.2電路圖15 6.3電路原理16 6.4程序設計思路16 6.5實驗心得及反思17第六章D/A轉換 7.1實驗目的17 7.2電路圖18 7.3電路原理19 7.4程序設計思路19 7.5實驗心得及反思19第八章 附錄程序 8.1流水燈20 8.2數碼管21 8.3矩陣鍵盤22 8.4時鐘23 8.5液晶LCD160224 8.6片外RAM25 8.7A/D轉換26 8.8D/A轉換27第九章 參考文獻第一章 流水燈1實驗目的u 了解單片機的系統(tǒng)設計方法u 掌握Keil uVision4軟件的使用方法u 掌握焊接技術u 在開發(fā)板上實現八個發(fā)光LED被點亮2電路原理 3 實驗原理發(fā)光LED燈需要正向電壓才能導通,單片機給一個低電平后,所以連接的LED負極,就會導通發(fā)亮,點亮8個發(fā)光二級管時,先點亮一個,延時,再點亮下一個,再延時,循環(huán)往復,形成流水燈。不同規(guī)格、不同顏色的LED參數是不一樣的。一般普通發(fā)光二極管,以紅色為例:LED工作電壓:1.8V2.4VLED工作電流:2mA20mA一般取電壓典型值:U=2VR2 5V -2V/0.02A5V-2V/0.02A =150,1.5K4程序設計思路點亮第三盞燈,并且延時點亮第二盞燈,并且延時點亮第四盞燈,并且延時點亮第一盞燈,并且延時點亮第八盞燈,并且延時點亮第六盞燈,并且延時點亮第五盞燈,并且延時點亮第七盞燈,并且延時開始5實驗心得及反思心得;這是我做的第一個實驗但是我覺得稱呼他為我的作品,從開始時的不知如何下手到后面駕輕就熟,收獲巨大,做完本次實驗,讓我們對單片機有了新的認識,也更加的體會到了將理論與實際結合的重要性。理論聯系實際,才能更好的掌握知識運用知識。反思;在焊接電路板之前,我們要先理解本次實驗的原理以及電路圖的設計和布局,然后再開始焊接編程,在做完整個試驗后,才明白需要在做實驗之前要有一個大局觀。這樣才能用最少的空間做出最多的東西。也能節(jié)省材料,出現問題時,也有便于我們檢查錯誤。第二章 數碼管 1. 實驗目的u 了解供陽極數碼管的使用方法u 掌握數碼管動態(tài)顯示電路的連接方法u 練習動態(tài)顯示程序的結構及調試方2. 電路原理圖3. 實驗原理單片機通過驅動電路給數碼管中相應各段的發(fā)光二極管加正向電壓,該段發(fā)光二極管就會被點亮。不同段的發(fā)光二極管加正向電壓則亮,不加正向電壓則滅,這樣就可以通過各段的亮滅組合,來顯示不同的數字和字符了。本次使用采用P1口為段選,P0.70.2分別對應第一個數碼管至第六個數碼管。采用各數碼管循環(huán)輪流顯示的方法,當循環(huán)顯示頻率較高時,利用人眼的暫留特性,看不出閃爍顯示現象,這種顯示需要一個接口完成字形碼的輸出,另一接口完成各數碼管的輪流點亮(數位選擇)。4. 程序框圖給P0口0的段選,選通第一個數碼管(P0.7),延時,關閉第一個數碼管開始給P0口1的段選,選通第二個數碼管(P0.6),延時,關閉第二個數碼管給P0口2的段選,選通第三個數碼管(P0.5),延時,關閉第三個數碼管給P0口3的段選,選通第四個數碼管(P0.4),延時,關閉第四個數碼管給P0口4的段選,選通第五個數碼管(P0.3),延時,關閉第五個數碼管給P0口5的段選,選通第六個數碼管(P0.2),延時,關閉第六個數碼管5. 實驗心得本次實驗的電路連接有點麻煩,在焊接過程中一分心就容易犯錯,所以在做實驗中我們必須要注意力高度集中,要不然我們就會得不償失了。另外,在調試程序時,我們的數碼管的顯示不很穩(wěn)定,當時我們沒太在意。當老師檢驗時提出了這一問題,我們后來明白了,在實驗中出現任何一丁點異常都要引起注意,把問題解決,這樣我們做出的產品才會更有質量保證。第二章 矩陣鍵盤、時鐘與蜂鳴器1. 實驗目的l 掌握4*4矩陣式鍵盤按鍵地設計方法l 掌握4*4矩陣鍵盤程序的識別原理l 掌握蜂鳴器的使用方法l 了解定時器的工作原理l 明白用鍵盤怎樣去調試時間并在數碼管上顯示2. 電路圖3. 實驗原理i. 矩陣鍵盤與蜂鳴器為了減少鍵盤與單片機接口所占用的I/O口的數目,所以將鍵盤排列成行列矩陣形式,程序先判斷有無鍵按下,當有鍵按下后,判斷哪一個按鍵被按下,采用逐行掃描查詢法。向行線輸出全掃描字00H,把全部行線置為地電平,然后將列線的電平狀態(tài)讀入累加器A中,如果有一根列線電平被拉至低電平,從而使列輸入不全為1。數碼顯示第二章已講,這里不再累述。給P0.0一個信號0,使蜂鳴器導通發(fā)聲。ii. 時鐘使用6位數碼管,數碼管分別顯示時、分、秒,用鍵盤進行時間的調整。選用定時器T0的第一模式工作 。先賦定時器的計數初值,賦給TL0, B0H,賦給TH0, 3CH,每次的定時時間為50微妙。開放中斷,啟動定時器。中斷二十次即可得到一秒的時間。每秒的延時達到,秒計數加一。當秒計數器計數滿60,分計數加一,秒計時清零。當秒計數器計數滿60,時計數加一,分計時清零。當時計數器計滿24,全部清零。4. 程序框圖i. 矩陣鍵盤與蜂鳴器程序框圖開始判斷是否有鍵按下給A以00H,進行行掃描,確定按鍵行號,保存行首鍵號然后掃描列,并將對應的列序號保存鍵號(值)=行首鍵號+列號延時去抖后再判斷按鍵狀態(tài),確定有鍵按下輸出顯示,蜂鳴器發(fā)聲ii. 時鐘程序框圖開始初始化并設定中斷允許進入中斷調時調用鍵盤程序調用時間程序,計時鍵掃描,確定鍵值輸入鍵值,進行調時顯示時間否是5. 實驗心得做完之前的兩個實驗,我們的信心也加強了,因為我們在學習的過程有了小小的收獲??蛇@次實驗卻讓我們小小的郁悶了,感覺原理不是特別好懂,特別是時鐘的程序,因為對單片機的內部工作原理算是懵懂,不過后來,我們還是通過查找資料,慢慢的完成了實驗,可以說過程是艱難的,但是我們沒有放棄,也許毅力的練成就是從一次一次坎坷中積聚的吧。第三章 液晶顯示器(LCD1602)1. 實驗目的l 了解LCD液晶顯示器的工作原理l 掌握LCD液晶顯示器的編程控制方法2. 電路圖3. 實驗原理1602液晶模塊內部的字符發(fā)生存儲器(CGROM)已經存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯數字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼。4. 程序框圖是是否否開始是否忙調LCD顯示功能,清屏是否忙送顯示調整對比度返回5. 實驗心得這次實驗主要是讓我們了解LCD,知道它作為外設怎么使用就行。雖然用處我們大家都知道,但是不能因為簡單我們就不去認真學,畢竟學習是個積累的過程。第四章 片外RAM擴展1. 實驗目的l 掌握擴展片RAM的電路和程序設計方法l 理解擴展片RAM時讀寫和ALE等控制線的作用l 了解片外RAM情況下的單片機指令MOVX的執(zhí)行進程l 學習心得2. 電路圖3. 實驗原理由于89C51單片機片內RAM僅有128字節(jié),當系統(tǒng)需要較大容量RAM時,就需要片外擴展數據存儲器RAM,最大可擴展64KB。擴展數據存儲器空間地址,有P2口提供高8位地址,P0口分時提供8位地址和用作8位雙向數據總線,由地址鎖存器74H373控制。4. 程序框圖由74LS373傳送到62256由62256傳送回單片機中數碼管上面顯示數據結束數據傳輸到62256中開始5. 實驗心得這次實驗主要是電路的連接,理解時序與有關芯片的原理之后,就相對來說比較簡單了。所以在以后的實驗中我們既要認真地對待硬件,又要深刻地理解有關軟件,這樣才能真正地做到靈活運用知識去解決其他問題。第五章 AD轉換1. 實驗目的l 1、了解AD轉換器的工作原理l 2、掌握AD轉換與單片機的接口方法l 3、通過實驗了解單片機如何進行數據采集2. 電路圖3. 實驗原理從滑動變阻器上得到模擬電壓,將模擬電壓信號輸入ADC0809芯片,ADC0809將模擬量轉化為數字量輸入AT89C51,AT89C51將輸入的數字量處理,再送到數碼管顯示。4. 程序框圖定義引腳以及顯示緩沖區(qū)單元清零緩沖區(qū),給DPTR查表表頭,ABC已經接地(選擇通道0)啟動AD轉換,待轉換結束則輸出,緩存結果并關閉輸出將AD轉換的結果(二進制)轉換為BCD碼將結果送至顯示緩沖區(qū)(從低位到高位,并且最高位點亮小數點)分別顯示開始5. 實驗心得這個實驗是持續(xù)時間最長的,就因為那一句話使整個實驗延長了倆個多月,使我明白了做實驗要了解你所用的器件的所有的功能才能使你掌控大局觀,實驗如此,生活亦是如此,要知己知彼才能百戰(zhàn)不殆。第六章 DA轉換1. 實驗目的l 了解DA轉換的基本原理l 了解運算放大器的工作原理l 了解DA轉換芯片的性能及編程方法l 掌握如何采集產生波形的樣點2. 電路圖3. 實驗原理使用D/A轉換實現數字信號轉換為模擬信號。用運算放大器UA741實現電壓的放大。通過程序控制產生矩形波,三角波,正弦波。4. 實驗心得由于這次實驗是需要把數字信號轉換為模擬信號,而模擬信號的產生就需要學會如何采集生成波形的樣點,初次接觸這方面的知識,在理解上與解決問題上給我們帶來了困擾,好在有學長的幫助以及我們的堅持,才做出了實驗效果。通過這次實驗,我們感觸很大,因為學長在傳遞知識時很無私也很友好,也因為我們的毅力讓我們選擇了接著奮斗。我們相信,以后我們再遇到困難時,繼續(xù)走下去的決心會加強,我們也會很樂意與人分享我們的知識的。第七章 附錄附錄一 流水燈程序ORG 0000HAJMP MAINORG 0070HMAIN:MOVP1,#0FEHLCALLAXHMOVP1,#0FDHLCALLAXHMOVP1,#0FBHLCALLAXHMOVP1,#0F7HLCALLAXHMOVP1,#0EFHLCALLAXHMOVP1,#0DFHLCALLAXHMOVP1,#0BFHLCALLAXHMOVP1,#07FHLCALLAXHAJMP MAINAXH:MOV R7,#250 D1:MOV R6,#250 D2:DJNZ R6,D2 DJNZ R7,D1 RETEND附錄二 數碼管程序ORG 0000HAJMP MAINORG 0030HMAIN:MOVP1,#0C0HCLRP0.7LCALLAXHSETBP0.7MOVP1,#0F9HCLRP0.6LCALLAXHSETBP0.6MOVP1,#0A4HCLRP0.5LCALLAXHSETBP0.5MOVP1,#0B0HCLRP0.4LCALLAXHSETBP0.4MOVP1,#99HCLRP0.3LCALLAXHSETBP0.3MOVP1,#92HCLRP0.2LCALLAXHSETBP0.2AJMP MAINAXH:MOVR7,#2D1:MOVR6,#30D2:DJNZR6,D2DJNZR7,D1END附錄三 矩陣鍵盤程序ORG0000HAJMPKEYORG0030HKEY:MOVP2,#00HMOVA,P2ANLA,#0FHORLA,#0F0HCPLAJZKEYLCALLDEL10msMOVP2,#0FHMOVA,P2ANLA,#0FHORLA,#0F0HCPLAJZKEYSKEY:MOVA,#00MOVR0,A /行值MOVR1,A /列值MOVR3,#7FH/暫存行SKEY2:MOVA,R3 /SKEY2判斷行數MOVP2,ANOPNOPNOPMOVA,P2MOVR1,AANLA,#0FHORLA,#0F0HCPLAS123:JNZSKEY3INCR0SETBCMOVA,R3RRCAMOVR3,AMOVA,R0CJNEA,#04H,SKEY2EKEY:RETSKEY3:MOVA,R1 /SKEY3判斷列值JNBACC.3,SKEY5JNBACC.2,SKEY6JNBACC.1,SKEY7JNBACC.0,SKEY8AJMPEKEYSKEY5:MOVA,#00HMOVR2,AAJMPDKEYSKEY6:MOVA,#01HMOVR2,AAJMPDKEYSKEY7:MOVA,#02HMOVR2,AAJMPDKEYSKEY8:MOVA,#03HMOVR2,AAJMPDKEYDKEY:MOVA,R0ACALLDECODEAJMPMAIN0DECODE:MOVA,R0MOVB,#04HMULABADDA,R2RETMAIN0:CLRP0.2CJNEA,#00H,MAIN1CLRP0.0MOVP1,#0C0HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAIN1:CJNEA,#01H,MAIN2CLRP0.0MOVP1,#0F9HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAIN2:CJNEA,#02H,MAIN3CLRP0.0MOVP1,#0A4HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHJMPKEYMAIN3:CJNEA,#03H,MAIN4CLRP0.0MOVP1,#0B0HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAIN4:CJNEA,#04H,MAIN5CLRP0.0MOVP1,#99HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAIN5:CJNEA,#05H,MAIN6CLRP0.0MOVP1,#92HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAIN6:CJNEA,#06H,MAIN7CLRP0.0MOVP1,#82HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAIN7:CJNEA,#07H,MAIN8CLRP0.0MOVP1,#0F8HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAIN8:CJNEA,#08H,MAIN9CLRP0.0MOVP1,#80HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAIN9:CJNEA,#09H,MAINACLRP0.0MOVP1,#90HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAINA:CJNEA,#0AH,MAINBCLRP0.0MOVP1,#88HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAINB:CJNEA,#0BH,MAINCCLRP0.0MOVP1,#83HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAINC:CJNEA,#0CH,MAINDCLRP0.0MOVP1,#0C6HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAIND:CJNEA,#0DH,MAINECLRP0.0MOVP1,#0A1HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAINE:CJNEA,#0EH,MAINFCLRP0.0MOVP1,#86HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAINF:CJNEA,#0FH,CXFCLRP0.0MOVP1,#8EHLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYCXF:LJMPKEYDEL10ms:MOVR7,#10HTS1:MOVR6,#0FFHTS2:DJNZR6,TS2DJNZR7,TS1RETDEL50ms:MOVR7,#200TS3:MOVR6,#125TS4:DJNZR6,TS4DJNZR7,TS3RETEND附錄四 時鐘程序H_BIT EQU 20HM_BIT EQU 21HS_BIT EQU 22HHH EQU 23HMM EQU 24HSS EQU 25HHH_BIT EQU 26HMM_BIT EQU 27HSS_BIT EQU 28HORG 00HAJMP MAINORG 0BHAJMP TIME0ORG 30HMAIN: MOV SP,#60H MOV P2,#0FH MOV R5,#00H MOV H_BIT,#00H MOV M_BIT,#00H MOV S_BIT,#00H MOV HH_BIT,#00H MOV MM_BIT,#00H MOV SS_BIT,#00H MOV HH,#00H MOV MM,#00H MOV SS,#00H MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H SETB EA SETB ET0 SETB TR0LOOP: LCALL EY LCALL KEY LJMP LOOPEY: LCALL LOOP1 MOV DPTR,#TAB MOV A,H_BIT MOVC A,A+DPTR MOV P1,A CLR P0.7 LCALL DIS1 SETB P0.7 MOV A,HH_BIT MOVC A,A+DPTR MOV P1,A CLR P0.6 LCALL DIS1 SETB P0.6 MOV A,M_BIT MOVC A,A+DPTR MOV P1,A CLR P0.5 LCALL DIS1 SETB P0.5 MOV A,MM_BIT MOVC A,A+DPTR MOV P1,A CLR P0.4 LCALL DIS1 SETB P0.4 MOV A,S_BIT MOVC A,A+DPTR MOV P1,A CLR P0.3 LCALL DIS1 SETB P0.3 MOV A,SS_BIT MOVC A,A+DPTR MOV P1,A CLR P0.2 LCALL DIS1 SETB P0.2 RETLOOP1: MOV A,SS MOV B,#10 DIV AB MOV S_BIT,A MOV SS_BIT,B MOV A,MM MOV B,#10 DIV AB MOV M_BIT,A MOV MM_BIT,B MOV A,HH MOV B,#10 DIV AB MOV H_BIT,A MOV HH_BIT,B RETTIME0: PUSH ACC PUSH PSW MOV TH0,#3CH MOV TL0,#0B0H INC R5 CJNE R5,#20,LOOP2 MOV R5,#00H INC SS MOV A,SS CJNE A,#60,LOOP2 MOV SS,#00H INC MM MOV A,MM CJNE A,#60,LOOP2 MOV MM,#00H INC HH MOV A,HH CJNE A,#24,LOOP2 MOV HH,#00HLOOP2: POP PSW POP ACC RETIKEY: CLREA LCALLEY JNB P2.3,SS_KEYKEY1: SETBEA RETSS_KEY: LCALL EY1 LCALL DIS1 JNB P2.3,SS_KEYSSA: LCALL EY1 LCALL S_KEY JNB P2.0,KEY3 LJMP SSAKEY3: LJMP KEY1S_KEY: JNB P2.2,S_ADDKEY JNB P2.1,S_DECKEY LCALL DIS1 JNB P2.3,MM_KEY RETS_ADDKEY: LCALLEY1 LCALL DIS1 JNB P2.2,S_ADDKEY INC SS MOV A,SS CJNE A,#60,SS_KEY1 MOV SS,#00HSS_KEY1: LJMP SSAS_DECKEY: LCALLEY1 LCALL DIS1 JNB P2.1,S_DECKEY MOV A,SS CJNE A,#00,SS_KEY2 MOV SS,#60SS_KEY2: DEC SS LJMP SS_KEY1 MM_KEY: LCALL EY2 LCALL DIS1 JNB P2.3,MM_KEYMMA: LCALL EY2 LCALL M_KEY JNB P2.0,KEY4 LJMP MMAKEY4: LJMP KEY1M_KEY: JNB P2.2,M_ADDKEY JNB P2.1,M_DECKEY LCALL DIS1 JNB P2.3,HH_KEY RETM_ADDKEY: LCALLEY2 LCALL DIS1 JNB P2.2,M_ADDKEY INC MM MOV A,MM CJNE A,#60,MM_KEY1 MOV MM,#00HMM_KEY1: LJMP MMAM_DECKEY: LCALLEY2 LCALL DIS1 JNB P2.1,M_DECKEY MOV A,MM CJNE A,#00,MM_KEY2 MOV MM,#60MM_KEY2: DEC MM LJMP MM_KEY1HH_KEY: LCALL EY3 LCALL DIS1 JNB P2.3,HH_KEYHHA: LCALL EY3 LCALL H_KEY JNB P2.0,KEY5 LJMP HHAKEY5: LJMP KEY1H_KEY: JNB P2.2,H_ADDKEY JNB P2.1,H_DECKEY LCALL DIS1 JNB P2.1,SSB RETH_ADDKEY: LCALLEY3 LCALL DIS1 JNB P2.2,H_ADDKEY INC HH MOV A,HH CJNE A,#24,HH_KEY1 MOV HH,#00HHH_KEY1: LJMP HHAH_DECKEY: LCALL EY3 LCALL DIS1 JNB P2.1,H_DECKEY MOV A,HH CJNE A,#00,HH_KEY2 MOV HH,#24HH_KEY2: DEC HH LJMP HH_KEY1SSB: LJMP SS_KEYEY1: LCALL LOOP1 MOV DPTR,#TAB MOV A,S_BIT MOVC A,A+DPTR MOV P1,A CLR P0.3 LCALL DIS1 SETB P0.3 MOV A,SS_BIT MOVC A,A+DPTR MOV P1,A CLR P0.2 LCALL DIS1 SETB P0.2 RETEY2: LCALL LOOP1 MOV DPTR,#TAB MOV A,M_BIT MOVC A,A+DPTR MOV P1,A CLR P0.5 LCALL DIS1 SETB P0.5 MOV A,MM_BIT MOVC A,A+DPTR MOV P1,A CLR P0.4 LCALL DIS1 SETB P0.4 RETEY3: LCALL LOOP1 MOV DPTR,#TAB MOV A,H_BIT MOVC A,A+DPTR MOV P1,A CLR P0.7 LCALL DIS1 SETB P0.7 MOV A,HH_BIT MOVC A,A+DPTR MOV P1,A CLR P0.6 LCALL DIS1 SETB P0.6 RETDIS1: MOV R6,#20 DJNZ R6,$ RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HEND附錄五 液晶LCD1602程序ORG0000HAJMPMAINORG000BHAJMPTIMEORG0100H MAIN:MOVTMOD,#00H MOVTL0,#00H MOVTH0,#00H SETBEA SETBET0 SETBTR0 MOV50H,#32H MOVSP,#60H ACALLMOSHISHEZHI ACALLLCDQP MOVA,#80H ACALLLCDXZL MOVDPTR,#TAB1 ACALLLOOP4 MOVA,#0C0H ACALLLCDXZL MOVDPTR,#TAB2 ACALLLOOP4 LOOP:AJMPLOOP TIME:MOVTL0,#00H MOVTH0,#00H DJNZ50H,TIME0 MOV50H,#32H TIME0:RETI MOSHISHEZHI:MOVA,#38HLCALLLCDXZL MOVA,#0EH LCALLLCDXZL MOVA,#06H LCALLLCDXZL RET LOOP2:PUSHAcc LOOP3:CLRP2.6 SETBP2.7 CLRP2.5 SETBP2.5 MOVA,P1 CLRP2.5 JBAcc.7,LOOP3 POPAcc ACALLDELAY RET LCDXZL:ACALLLOOP2 CLRP2.5 CLRP2.6 CLRP2.7 SETBP2.5 MOVP1,A CLRP2.5 RET LCDDXX:ACALLLOOP2 CLRP2.5 SETBP2.6 CLRP2.7 SETBP2.5 MOVP1,A CLRP2.5 RET DELAY:MOV52H,#05H DELAY1:MOV51H,#0F8HDJNZ51H,$ DJNZ52H,DELAY1 RET LCDQP:MOVA,#01H ACALLLCDXZL RET LOOP4:PUSHAcc LOOP5:CLRA MOVCA,A+DPTR JZLOOP6 ACALLLCDDXX INCDPTR AJMPLOOP5 LOOP6:POPAcc RETTAB1:DB" Gue xue ling",00HTAB2:DB" Zhong qiang",00HEND附錄六 片外RAM程序WR1BITP3.6RD1BITP3.7ORG0000HAJMPMAINORG0030HMAIN:LCALLWRITELCALLREADLCALLSYWRITE:SETBWR1MOVA,#0F8HMOVXR1,ACLRWR1SETBWR1RETREAD:SETBRD1MOVXA,R1CLRRD1SETBRD1RETSY:MOVP1,ACLRP0.2RETEND附錄七 AD轉換程序#include <reg51.h>sbit ALE= P36;sbit ST= P06;sbit OE= P07;sbit EOC= P37;sbit MM1= P05;sbit MM2= P04;sbit MM3= P03;sbit MM4= P02;#define SEGOFF0xFFvoid delay(int z);void main()unsigned int dat= 0;unsigned inttemp= 0;unsigned inttemp1= 0;unsigned char smg0= 0;unsigned char smg1= 0;unsigned char smg2= 0;unsigned char smg3= 0;unsigned int i= 0; bitflag= 0;unsigned char dig10 = 0xC0 ,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90; unsigned char dig110 = 0x40 ,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10; while(1)/ 數碼管0 顯示dig0P1= SEGOFF;MM1= 0;P1= dig1smg0;delay(3);MM1= 1;/ 數碼管1 顯示dig1 P1= SEGOFF;MM2= 0;P1= digsmg1;delay(2);MM2= 1;/ 數碼管2 顯示dig2P1= SEGOFF; MM3= 0;P1= digsmg2;delay(1);MM3= 1;/ 數碼管3 顯示dig3P1= SEGOFF; MM4= 0;P1= digsmg3;delay(0);MM4= 1;i = i + 1;/ 從AD0809中讀取采集得到的數據if(i>10)ST= 0;ALE= 0;OE= 0;/ 設置ALEALE= 1;delay(2);ALE= 0;/ 開始ST= 1;delay(2);ST= 0;/ 保證數據轉換成功(ADC)while(!flag)flag= EOC;/ 打開輸出允許OE= 1;/ 讀出數據dat= P2;OE= 0;temp1= dat*100/256;temp= temp1*40; smg0= temp/1000;smg1= temp%1000/100;smg2= temp%100/10;smg3= temp%10; i= 0;void delay(int z)int x,y;for(x=60;x>0;x-)for(y=z;y>0;y-);附錄八 DA轉換程序A. 方波ORG0000HAJMPMAINORG0030HMAIN:SETBP3.4SETBP3.5MOVP1,#0FFHCLRP3.4CLRP3.5LCALLDELAYSETBP3.4SETBP3.5MOVP1,#00HCLRP3.4CLRP3.5LCALLDELAYSETBP3.4SETBP3.5AJMPMAINDELAY:MOVR7,#200DEL1:MOVR6,#125 DEL2:DJNZR6,DEL2 DJNZR7,DEL1 RET ENDB. 三角波ORG0000HAJMPMAINORG0030HMAIN:MOVA,#0FFHMAIN1:SETBP3.4SETBP3.5MOVP1,ACLRP3.4CLRP3.5DECACJNEA,#0H,MAIN1MAIN2:INCASETBP3.4SETBP3.5MOVP1,ACLRP3.4CLRP3.5CJNEA,#0FFH,MAIN2

注意事項

本文(系列單片機的增強型-AT89C51系列單片機電子設計實驗報告.docx)為本站會員(wux****ua)主動上傳,裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(點擊聯系客服),我們立即給予刪除!

溫馨提示:如果因為網速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!