




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實驗報告姓名:宋大威 電氣1302班學號20134223067 簡介本次項目是以51系列單片機的增強型AT89C51系列單片機,設計與制作單片機系統(tǒng),按需求設計硬件原理圖,編寫、調試軟件程序 (Keil uVision4) ,硬件電路和軟件程序結合,進行硬件調試仿真,燒寫調試后的最終程序,系統(tǒng)上電運行。主要包括流水燈、數(shù)碼管、矩陣鍵盤、蜂鳴器、數(shù)字時鐘、液晶 LCD1602、片外RAM 擴展、A/D轉換和D/A轉換。所用芯片為AT89C51,CY62256,ADC0809,DAC0832鎖存器74LS373。目錄 流水燈1.1 實驗目的11.2電路圖11.3電路原理21.4程序設計思路21.5
2、實驗心得及反思3 數(shù)碼管2.1實驗目的42,2電路圖42.3電路原理52.4程序設計思路52.5實驗心得及反思5 矩陣鍵盤及蜂鳴器3.1實驗目的63.2電路圖63.3電路原理73.4程序設計思路73.5實驗心得及反思7 液晶顯示器LCD16024.1實驗目的84.2電路圖84.3電路原理94.4程序設計思路94.5實驗心得及反思10 片外RAM擴展5.1實驗目的115.2電路圖125.3電路原理125.4程序設計思路135.5實驗心得及反思14第六章A/D轉換 6.1實驗目的146.2電路圖156.3電路原理166.4程序設計思路166.5實驗心得及反思17第六章D/A轉換7.1實驗目的177
3、.2電路圖187.3電路原理197.4程序設計思路197.5實驗心得及反思19第八章 附錄程序8.1流水燈208.2數(shù)碼管218.3矩陣鍵盤228.4時鐘238.5液晶LCD160224 8.6片外RAM258.7A/D轉換268.8D/A轉換27第九章 參考文獻流水燈1實驗目的了解單片機的系統(tǒng)設計方法掌握Keil uVision4軟件的使用方法掌握焊接技術在開發(fā)板上實現(xiàn)八個發(fā)光LED被點亮2電路原理 3 實驗原理發(fā)光LED燈需要正向電壓才能導通,單片機給一個低電平后,所以連接的LED負極,就會導通發(fā)亮,點亮8個發(fā)光二級管時,先點亮一個,延時,再點亮下一個,再延時,循環(huán)往復,形成流水燈。不同規(guī)
4、格、不同顏色的LED參數(shù)是不一樣的。一般普通發(fā)光二極管,以紅色為例:LED工作電壓:1.8V2.4VLED工作電流:2mA20mA一般取電壓典型值:U=2VR2 5V -2V/0.02A5V-2V/0.02A =150,1.5K4程序設計思路點亮第三盞燈,并且延時點亮第二盞燈,并且延時點亮第四盞燈,并且延時點亮第一盞燈,并且延時點亮第八盞燈,并且延時點亮第六盞燈,并且延時點亮第五盞燈,并且延時點亮第七盞燈,并且延時開始5實驗心得及反思心得;這是我做的第一個實驗但是我覺得稱呼他為我的作品,從開始時的不知如何下手到后面駕輕就熟,收獲巨大,做完本次實驗,讓我們對單片機有了新的認識,也更加的體會到了將
5、理論與實際結合的重要性。理論聯(lián)系實際,才能更好的掌握知識運用知識。反思;在焊接電路板之前,我們要先理解本次實驗的原理以及電路圖的設計和布局,然后再開始焊接編程,在做完整個試驗后,才明白需要在做實驗之前要有一個大局觀。這樣才能用最少的空間做出最多的東西。也能節(jié)省材料,出現(xiàn)問題時,也有便于我們檢查錯誤。 數(shù)碼管 實驗目的了解供陽極數(shù)碼管的使用方法掌握數(shù)碼管動態(tài)顯示電路的連接方法練習動態(tài)顯示程序的結構及調試方電路原理圖實驗原理單片機通過驅動電路給數(shù)碼管中相應各段的發(fā)光二極管加正向電壓,該段發(fā)光二極管就會被點亮。不同段的發(fā)光二極管加正向電壓則亮,不加正向電壓則滅,這樣就可以通過各段的亮滅組合,來顯示不
6、同的數(shù)字和字符了。本次使用采用P1口為段選,P0.70.2分別對應第一個數(shù)碼管至第六個數(shù)碼管。采用各數(shù)碼管循環(huán)輪流顯示的方法,當循環(huán)顯示頻率較高時,利用人眼的暫留特性,看不出閃爍顯示現(xiàn)象,這種顯示需要一個接口完成字形碼的輸出,另一接口完成各數(shù)碼管的輪流點亮(數(shù)位選擇)。程序框圖給P0口0的段選,選通第一個數(shù)碼管(P0.7),延時,關閉第一個數(shù)碼管開始給P0口1的段選,選通第二個數(shù)碼管(P0.6),延時,關閉第二個數(shù)碼管給P0口2的段選,選通第三個數(shù)碼管(P0.5),延時,關閉第三個數(shù)碼管給P0口3的段選,選通第四個數(shù)碼管(P0.4),延時,關閉第四個數(shù)碼管給P0口4的段選,選通第五個數(shù)碼管(P
7、0.3),延時,關閉第五個數(shù)碼管給P0口5的段選,選通第六個數(shù)碼管(P0.2),延時,關閉第六個數(shù)碼管實驗心得本次實驗的電路連接有點麻煩,在焊接過程中一分心就容易犯錯,所以在做實驗中我們必須要注意力高度集中,要不然我們就會得不償失了。另外,在調試程序時,我們的數(shù)碼管的顯示不很穩(wěn)定,當時我們沒太在意。當老師檢驗時提出了這一問題,我們后來明白了,在實驗中出現(xiàn)任何一丁點異常都要引起注意,把問題解決,這樣我們做出的產品才會更有質量保證。矩陣鍵盤、時鐘與蜂鳴器實驗目的掌握4*4矩陣式鍵盤按鍵地設計方法掌握4*4矩陣鍵盤程序的識別原理掌握蜂鳴器的使用方法了解定時器的工作原理明白用鍵盤怎樣去調試時間并在數(shù)碼
8、管上顯示電路圖實驗原理矩陣鍵盤與蜂鳴器為了減少鍵盤與單片機接口所占用的I/O口的數(shù)目,所以將鍵盤排列成行列矩陣形式,程序先判斷有無鍵按下,當有鍵按下后,判斷哪一個按鍵被按下,采用逐行掃描查詢法。向行線輸出全掃描字00H,把全部行線置為地電平,然后將列線的電平狀態(tài)讀入累加器A中,如果有一根列線電平被拉至低電平,從而使列輸入不全為1。數(shù)碼顯示第二章已講,這里不再累述。給P0.0一個信號0,使蜂鳴器導通發(fā)聲。時鐘使用6位數(shù)碼管,數(shù)碼管分別顯示時、分、秒,用鍵盤進行時間的調整。選用定時器T0的第一模式工作 。先賦定時器的計數(shù)初值,賦給TL0, B0H,賦給TH0, 3CH,每次的定時時間為50微妙。開
9、放中斷,啟動定時器。中斷二十次即可得到一秒的時間。每秒的延時達到,秒計數(shù)加一。當秒計數(shù)器計數(shù)滿60,分計數(shù)加一,秒計時清零。當秒計數(shù)器計數(shù)滿60,時計數(shù)加一,分計時清零。當時計數(shù)器計滿24,全部清零。程序框圖矩陣鍵盤與蜂鳴器程序框圖開始判斷是否有鍵按下給A以00H,進行行掃描,確定按鍵行號,保存行首鍵號然后掃描列,并將對應的列序號保存鍵號(值)=行首鍵號+列號延時去抖后再判斷按鍵狀態(tài),確定有鍵按下輸出顯示,蜂鳴器發(fā)聲時鐘程序框圖開始初始化并設定中斷允許進入中斷調時調用鍵盤程序調用時間程序,計時鍵掃描,確定鍵值輸入鍵值,進行調時顯示時間否是實驗心得做完之前的兩個實驗,我們的信心也加強了,因為我們
10、在學習的過程有了小小的收獲??蛇@次實驗卻讓我們小小的郁悶了,感覺原理不是特別好懂,特別是時鐘的程序,因為對單片機的內部工作原理算是懵懂,不過后來,我們還是通過查找資料,慢慢的完成了實驗,可以說過程是艱難的,但是我們沒有放棄,也許毅力的練成就是從一次一次坎坷中積聚的吧。液晶顯示器(LCD1602)實驗目的了解LCD液晶顯示器的工作原理掌握LCD液晶顯示器的編程控制方法電路圖實驗原理1602液晶模塊內部的字符發(fā)生存儲器(CGROM)已經存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯數(shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼。程序框圖是是否否開始是否忙調LC
11、D顯示功能,清屏是否忙送顯示調整對比度返回實驗心得這次實驗主要是讓我們了解LCD,知道它作為外設怎么使用就行。雖然用處我們大家都知道,但是不能因為簡單我們就不去認真學,畢竟學習是個積累的過程。片外RAM擴展實驗目的掌握擴展片RAM的電路和程序設計方法理解擴展片RAM時讀寫和ALE等控制線的作用了解片外RAM情況下的單片機指令MOVX的執(zhí)行進程學習心得電路圖實驗原理由于89C51單片機片內RAM僅有128字節(jié),當系統(tǒng)需要較大容量RAM時,就需要片外擴展數(shù)據存儲器RAM,最大可擴展64KB。擴展數(shù)據存儲器空間地址,有P2口提供高8位地址,P0口分時提供8位地址和用作8位雙向數(shù)據總線,由地址鎖存器7
12、4H373控制。程序框圖由74LS373傳送到62256由62256傳送回單片機中數(shù)碼管上面顯示數(shù)據結束數(shù)據傳輸?shù)?2256中開始實驗心得這次實驗主要是電路的連接,理解時序與有關芯片的原理之后,就相對來說比較簡單了。所以在以后的實驗中我們既要認真地對待硬件,又要深刻地理解有關軟件,這樣才能真正地做到靈活運用知識去解決其他問題。AD轉換實驗目的1、了解AD轉換器的工作原理2、掌握AD轉換與單片機的接口方法3、通過實驗了解單片機如何進行數(shù)據采集電路圖實驗原理從滑動變阻器上得到模擬電壓,將模擬電壓信號輸入ADC0809芯片,ADC0809將模擬量轉化為數(shù)字量輸入AT89C51,AT89C51將輸入的
13、數(shù)字量處理,再送到數(shù)碼管顯示。程序框圖定義引腳以及顯示緩沖區(qū)單元清零緩沖區(qū),給DPTR查表表頭,ABC已經接地(選擇通道0)啟動AD轉換,待轉換結束則輸出,緩存結果并關閉輸出將AD轉換的結果(二進制)轉換為BCD碼將結果送至顯示緩沖區(qū)(從低位到高位,并且最高位點亮小數(shù)點)分別顯示開始實驗心得這個實驗是持續(xù)時間最長的,就因為那一句話使整個實驗延長了倆個多月,使我明白了做實驗要了解你所用的器件的所有的功能才能使你掌控大局觀,實驗如此,生活亦是如此,要知己知彼才能百戰(zhàn)不殆。DA轉換實驗目的了解DA轉換的基本原理了解運算放大器的工作原理了解DA轉換芯片的性能及編程方法掌握如何采集產生波形的樣點電路圖實
14、驗原理使用D/A轉換實現(xiàn)數(shù)字信號轉換為模擬信號。用運算放大器UA741實現(xiàn)電壓的放大。通過程序控制產生矩形波,三角波,正弦波。實驗心得由于這次實驗是需要把數(shù)字信號轉換為模擬信號,而模擬信號的產生就需要學會如何采集生成波形的樣點,初次接觸這方面的知識,在理解上與解決問題上給我們帶來了困擾,好在有學長的幫助以及我們的堅持,才做出了實驗效果。通過這次實驗,我們感觸很大,因為學長在傳遞知識時很無私也很友好,也因為我們的毅力讓我們選擇了接著奮斗。我們相信,以后我們再遇到困難時,繼續(xù)走下去的決心會加強,我們也會很樂意與人分享我們的知識的。附錄流水燈程序ORG 0000HAJMP MAINORG 0070H
15、MAIN: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數(shù)碼管程序ORG 0000HAJMP MAINORG 0030HMAIN:MOVP1,#0C0HCLRP0.7LCALLAXHSETBP0.7M
16、OVP1,#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,#0F0HCPLAJZK
17、EYLCALLDEL10msMOVP2,#0FHMOVA,P2ANLA,#0FHORLA,#0F0HCPLAJZKEYSKEY:MOVA,#00MOVR0,A /行值MOVR1,A /列值MOVR3,#7FH/暫存行SKEY2:MOVA,R3 /SKEY2判斷行數(shù)MOVP2,ANOPNOPNOPMOVA,P2MOVR1,AANLA,#0FHORLA,#0F0HCPLAS123:JNZSKEY3INCR0SETBCMOVA,R3RRCAMOVR3,AMOVA,R0CJNEA,#04H,SKEY2EKEY:RETSKEY3:MOVA,R1 /SKEY3判斷列值JNBACC.3,SKEY5JNBAC
18、C.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
19、.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,#04
20、H,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.0
21、SETBP0.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,MA
22、INCCLRP0.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.0SET
23、BP0.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 2
24、4HSS 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,
25、#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_
26、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
27、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
28、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 C
29、JNE 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
30、.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
31、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_DE
32、CKEY 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
33、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 D
34、JNZ 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 ACALLLC
35、DXZL 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 LCD
36、XZL: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 INCD
37、PTR 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.2RETENDAD轉換程序#include sbit ALE= P36;sbi
38、t ST= P06;sbit OE= P07;sbit EOC= P37;sbit MM1= P05;sbit MM2= P04;sbit MM3= P03;sbit MM4= P02;#define SEGOFF0 xFFvoid 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 i
39、nt i= 0; bitflag= 0;unsigned char dig10 = 0 xC0 ,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0 x80,0 x90; unsigned char dig110 = 0 x40 ,0 x79,0 x24,0 x30,0 x19,0 x12,0 x02,0 x78,0 x00,0 x10; while(1)/ 數(shù)碼管0 顯示dig0P1= SEGOFF;MM1= 0;P1= dig1smg0;delay(3);MM1= 1;/ 數(shù)碼管1 顯示dig1 P1= SEGOFF;MM2= 0;P1= digsmg1
40、;delay(2);MM2= 1;/ 數(shù)碼管2 顯示dig2P1= SEGOFF; MM3= 0;P1= digsmg2;delay(1);MM3= 1;/ 數(shù)碼管3 顯示dig3P1= SEGOFF; MM4= 0;P1= digsmg3;delay(0);MM4= 1;i = i + 1;/ 從AD0809中讀取采集得到的數(shù)據if(i10)ST= 0;ALE= 0;OE= 0;/ 設置ALEALE= 1;delay(2);ALE= 0;/ 開始ST= 1;delay(2);ST= 0;/ 保證數(shù)據轉換成功(ADC)while(!flag)flag= EOC;/ 打開輸出允許OE= 1;/
41、讀出數(shù)據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;x0;x-)for(y=z;y0;y-);DA轉換程序方波ORG0000HAJMPMAINORG0030HMAIN:SETBP3.4SETBP3.5MOVP1,#0FFHCLRP3.4CLRP3.5LCALLDELAYSETBP3.4SETBP3.5MOVP1,#00HCLRP
42、3.4CLRP3.5LCALLDELAYSETBP3.4SETBP3.5AJMPMAINDELAY:MOVR7,#200DEL1:MOVR6,#125 DEL2:DJNZR6,DEL2 DJNZR7,DEL1 RET END三角波ORG0000HAJMPMAINORG0030HMAIN:MOVA,#0FFHMAIN1:SETBP3.4SETBP3.5MOVP1,ACLRP3.4CLRP3.5DECACJNEA,#0H,MAIN1MAIN2:INCASETBP3.4SETBP3.5MOVP1,ACLRP3.4CLRP3.5CJNEA,#0FFH,MAIN2AJMPMAINEND正弦波ORG0000H JMPMAIN ORG0030HMAIN:MOV R1,#0FFHMOV DPTR,#TABMOV R2,#80HMAIN1:SETBP3.4SETBP3.5MOVA,R2MOVCA,A+DPTRMOVP1,AMOV A,R2INCAMOVR2,A CLRP3.4CLRP3.5DJNZR1,MAIN1SJMPMAINTAB:DB80H,83H,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030中國生態(tài)修復行業(yè)深度研究及發(fā)展前景投資評估分析
- 2025至2030中國瓶裝水行業(yè)深度研究及發(fā)展前景投資評估分析
- 2025至2030中國珠光色素粒子行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 工科研究生助教在課堂互動中的參與與影響
- 2025至2030中國玉器行業(yè)發(fā)展分析及投資前景與戰(zhàn)略規(guī)劃報告
- 加盟培訓學員課件圖片
- 幼兒情感教育中的心理輔導實踐
- 財務入職培訓課件
- 未來學校中的智能機器人教師
- 叉車作業(yè)培訓課件
- 初三體育中考課外訓練計劃
- 《乘梯安全常識普及課件》
- 小兒扁桃體腺樣體摘除術后的飲食護理干預
- 質量保證金退還申請書
- OptiStruct結構分析與工程應用
- 核磁液氦充裝服務合同(2篇)
- 溫室效應的產生與影響研究性學習報告
- 外協(xié)件檢驗流程
- GB/T 15972.40-2024光纖試驗方法規(guī)范第40部分:傳輸特性的測量方法和試驗程序衰減
- 應急局執(zhí)法內容培訓
- 國家開放大學國開電大《離散數(shù)學》形考任務+大作業(yè)答案
評論
0/150
提交評論