基于AT89C2051的紅外遙控學習器源程序6 源程序 ORG 0000h AJMP MAIN ORG 0003H AJMP KEYPRESS ORG 000BH AJMP TIMEOUT ORG 001BH AJMP TIMEOUT SENDDUAN BIT P3.0 JIEDUAN BIT P3.1 INTRPO BIT P3.2 JIEXUAN BIT P3.3 SENDLIGHT BIT P3.4 JIELIGHT BIT P3.5 CS BIT P3.7 DATADUAN BIT P1.6 CLK BIT P1.7 JIANWEI EQU R5 JIANMA EQU R6 SHANGJIAN EQU 07H;R7 OPENKEY EQU 81H CLOSEKEY EQU 00H CHUT0 EQU 11H CHUT1 EQU 11H BUFBEGIN EQU 18H OPENT1 EQU 88H CLOSET1 EQU 00H OPENT0 EQU 82H CLOSET0 EQU 00H DATABEG1 EQU 0AAH DATABEG2 EQU 33H ORG 0030HMAIN: MOV IE,#80H MOV IP,#00H MOV P3,#0FFH CLR CS SETB P1.0 SETB P1.1 SETB P1.2 CLR P1.3 CLR P1.4 CLR P1.5 CLR P1.6 CLR P1.7 MOV R3,#80H MOV R0,00HCYCLE1: MOV @R0,#00H INC R0 DJNZ R3,CYCLE1 MOV PSW,#00H MOV SP,#07H MOV TMOD,#11H MOV TCON,#00H START: MOV SP,#07H SETB SENDDUAN CLR F0 SETB EXOWAITKEY: MOV C,F0 JNC WAITKEY CJNC JIANMA,#1BH,SEND LCALL LEARNP LJMP STARTSEND: LCALL SENDP LJMP START SENDP: SETB SENDDUAN CLR F0 MOV TMOD,#CHUT1
上傳時間: 2013-10-15
上傳用戶:lyy1234
1、程序的基本格式先介紹二條偽指令:EQU ——標號賦值偽指令ORG ——地址定義偽指令PIC16C5X在RESET后指令計算器PC被置為全“1”,所以PIC16C5X幾種型號芯片的復位地址為:PIC16C54/55:1FFHPIC16C56:3FFHPIC16C57/58:7FFH一般來說,PIC的源程序并沒有要求統一的格式,大家可以根據自己的風格來編寫。但這里我們推薦一種清晰明了的格式TITLE This is ⋯⋯ ;程序標題;--------------------------------------;名稱定義和變量定義;--------------------------------------F0 EQU 0RTCC EQU 1PC EQU 2STATUS EQU 3FSR EQU 4RA EQU 5RB EQU 6RC EQU 7┋PIC16C54 EQU 1FFH ;芯片復位地址PIC16C56 EQU 3FFHPIC16C57 EQU 7FFH;-----------------------------------------ORG PIC16C54 GOTO MAIN ;在復位地址處轉入主程序ORG 0 ;在0000h開始存放程序;-----------------------------------------;子程序區;-----------------------------------------DELAY MOVLW 255┋RETLW 0;------------------------------------------;主程序區;------------------------------------------MAINMOVLW B‘00000000’TRIS RB ;RB已由偽指令定義為6,即B口┋LOOPBSF RB,7 CALL DELAYBCF RB,7 CALL DELAY┋GOTO LOOP;-------------------------------------------END ;程序結束注:MAIN標號一定要處在0頁面內。2、程序設計基礎
上傳時間: 2013-11-14
上傳用戶:cjf0304
微機接口技術試題:《微機接口技術》模擬試題 一、 選擇題:(每空1分,共20分)1. CPU與外設之間交換數據常采用 、 、 和 四種方式,PC機鍵盤接口采用 傳送方式。 ⒉ 當進行DMA方式下的寫操作時,數據是從 傳送到 __中。 ⒊ PC總線、ISA總線和EISA總線的地址線分別為: 、 和 根。 ⒋ 8254定時/計數器內部有 個端口、共有 種工作方式。 ⒌8255的A1和A0引腳分別連接在地址總線的A1和A0,當命令端口的口地址為317H時,則A口、B口、C口的口地址分別為 、 、 。 ⒍ PC微機中最大的中斷號是 、最小的中斷號是 。 ⒎PC微機中鍵盤是從8255的 口得到按鍵數據。 ⒏ 串行通信中傳輸線上即傳輸_________,又傳輸_________。 二、選擇題:(每題2分,共10分)⒈ 設串行異步通信每幀數據格式有8個數據位、無校驗、一個停止位,若波特率為9600B/S,該方式每秒最多能傳送( )個字符。 ① 1200 ② 150 ③ 960 ④ 120 2.輸出指令在I/O接口總線上產生正確的命令順序是( )。① 先發地址碼,再發讀命令,最后讀數據。② 先發讀命令、再發地址碼,最后讀數據。③ 先送地址碼,再送數據,最后發寫命令。④ 先送地址碼,再發寫命令、最后送數據。3 使用8254設計定時器,當輸入頻率為1MHZ并輸出頻率為100HZ時,該定時器的計數初值為( )。 ① 100 ② 1000 ③ 10000 ④ 其它 4 在PC機中5號中斷,它的中斷向地址是( )。 ① 0000h:0005H ② 0000h:0010H ③ 0000h:0014H ④ 0000h:0020H 5. 四片8259級聯時可提供的中斷請求總數為( )。 ① 29個 ② 30個 ③ 31個 ④ 32個 6. 下述總線中,組內都是外設串行總線為( )組。① RS-485、IDE、ISA。② RS-485、IEEE1394、USB。③ RS-485、PCI、IEEE1394。④ USB、SCSI、RS-232。 7. DMA在( )接管總線的控制權。① 申請階段 ② 響應階段 ③ 數據傳送階段 ④ 結束階段 8. 中斷服務程序入口地址是( )。 ① 中斷向量表的指針 ② 中斷向量 ③ 中斷向量表 ④ 中斷號
上傳時間: 2013-11-16
上傳用戶:xiaoxiang
紅外遙控接收;=================================================;; zsMCU51實驗板配套學習例程;; 中山單片機學習網 智佳科技;; 作者:逸風 QQ:105558851;; http://www.zsmcu.com; E-mail:info@zsmcu.com;=================================================ORG 0000hLJMP START;轉入主程序ORG 0010HSTART:MAIN:JNB P2.2,IRLJMP MAIN;以下為進入P3.2腳外部中斷子程序,也就是解碼程序IR:MOV R6,#9SB:ACALL DELAY882 ;調用882微秒延時子程序JB P2.2,EXIT ;延時882微秒后判斷P3.2腳是否出現高電平如果有就退出解碼程序DJNZ R6, SB ;重復10次,目的是檢測在8820微秒內如果出現高電平就退出解碼程序;以上完成對遙控信號的9000微秒的初始低電平信號的識別。JNB P2.2, $ ;等待高電平避開9毫秒低電平引導脈沖ACALL DELAY2400JNB P2.2,IR_Rp ;ACALL DELAY2400 ;延時4.74毫秒避開4.5毫秒的結果碼MOV R1,#1AH ;設定1AH為起始RAM區MOV R2,#4PP:MOV R3,#8JJJJ:JNB P2.2,$ ;等待地址碼第一位的高電平信號LCALL DELAY882 ;高電平開始后用882微秒的時間尺去判斷信號此時的高低電平狀態MOV C,P2.2 ;將P3.2引腳此時的電平狀態0或1存入C中 JNC UUU ;如果為0就跳轉到UUULCALL DELAY1000UUU:MOV A,@R1 ;將R1中地址的給ARRC A ;將C中的值0或1移入A中的最低位MOV @R1,A ;將A中的數暫時存放在R1中DJNZ R3,JJJJ ;接收地址碼的高8位INC R1 ;對R1中的值加1,換下一個RAMDJNZ R2,PP ;接收完16位地址碼和8位數據碼和8位數據,存放在1AH/1BH/1CH/1DH的RAM中MOV P1,1DH ;將按鍵的鍵值通過P1口的8個LED顯示出來!CLR P2.3 ;蜂鳴器鳴響-嘀嘀嘀-的聲音,表示解碼成功LCALL DELAY2400LCALL DELAY2400LCALL DELAY2400SETB P2.3;蜂鳴器停止LJMP MAINIR_Rp:LJMP MAINEXIT:LJMP MAIN ;退出解碼子程序;=============================882DELAY882: ;1.085x ((202x4)+5)=882MOV R7,#202DELAY882_A:NOPNOPDJNZ R7,DELAY882_ARET;=============================1000DELAY1000: ;1.085x ((229x4)+5)=999.285MOV R7,#229DELAY1000_A:NOPNOPDJNZ R7,DELAY1000_ARET;=============================2400
上傳時間: 2013-11-01
上傳用戶:2525775
4位八段數碼管的十進制加計數仿真實驗,程序采用匯編語言編寫。此程序在仿真軟件上與EDN-51實驗板上均通過。仿真圖中的數碼管位驅動采用74HC04,如按EDN-51板上用想同的PNP三極管驅動在仿真軟件上則無法正常顯示。程序共分5塊,STAR0為數據初始化,STAR2為計數子程序,STAR3為4位數碼管動態顯示子程序,STAR4為按鍵掃描子程序,STS00是延時子程序。由于EDN-51實驗板上沒裝BCD譯碼器,所以編寫程序比較煩瑣。 程序如下: ORG 0000h LJMP STAR0 ;轉程序 SRAR0ORG 0200H ;程序地址 0200HSTAR0: CLR 00 ;位 00 清 0 MOV P1,#0FFH ;#0FFH-->P1 MOV P2,#0FH ;#0FH-->P2 MOV P0,#0FFH ;#0FFH-->P0 MOV 30H,#00H ;#00H-->30H MOV 31H,#00H ;#00H-->30H MOV 32H,#00H ;#00H-->30H MOV 33H,#00H ;#00H-->30H LJMP STAR3 ;轉程序 SRAR3STAR2: MOV A,#0AH ;#0AH-->A INC 30H ;30H+1 CJNE A,30H,STJE ;30H 與 A 比較,不等轉移 STJE MOV 30H,#00H ;#00H-->30H INC 31H ;31H+1 CJNE A,31H,STJE ;31H 與 A 比較,不等轉移 STJE MOV 31H,#00H ;#00H-->31H INC 32H ;32H+1 CJNE A,32H,STJE ;32H 與 A 比較,不等轉移 STJE MOV 32H,#00H ;#00H-->32H INC 33H ;33H+1 CJNE A,33H,STJE ;33H 與 A 比較,不等轉移 STJE MOV 33H,#00H ;#00H-->33H MOV 32H,#00H ;#00H-->32H MOV 31H,#00H ;#00H-->31H MOV 30H,#00H ;#00H-->30HSTJE: RET ;子程序調用返回STAR3: MOV R0,#30H ;#30H-->R0 MOV R6,#0F7H ;#0F7H-->R6SMG0: MOV P1,#0FFH ;#0FFH-->P1 MOV A,R6 ;R6-->A MOV P1,A ;A-->P1 RR A ;A向右移一位 MOV R6,A ;A-->R6 MOV A,@R0 ;@R0-->A ADD A,#04H ;#04H-->A MOVC A,@A+PC ;A+PC--> MOV P0,A ;A-->P0 AJMP SMG1 ;轉程序 SMG1SDATA: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H SMG1: LCALL STAR4 ;轉子程序 SRAR4 LCALL STS00 ;轉子程序 STS00 INC R0 ;R0+1 CJNE R6,#07FH,SMG0 ;#07FH 與 R6 比較,不等轉移 SMG0 AJMP STAR3 ;轉程序 SRAR3STAR4: JNB P2.0,ST1 ;P2.0=0 轉 ST1 CLR 00 ;位 00 清 0 SJMP ST3 ;轉ST3ST1: JNB 00,ST2 ;位 00=0 轉 ST2 SJMP ST3 ;轉 ST3ST2: LCALL STAR2 ;調子程序 STAR2 SETB 00 ;位 00 置 1ST3: RET ;子程序調用返回ORG 0100H ;地址 0100HSTS00: MOV 60H,#003H ;#003H-->60H (211)DE001: MOV 61H,#0FFH ;#0FFH-->61H (255)DE002: DJNZ 61H,DE002 ;61H 減 1 不等于 0 轉 DE002 DJNZ 60H,DE001 ;60H 減 1 不等于 0 轉 DE001 RET ;子程序調用返回 END ;結束 上次的程序共有293句,經小組成員建議,本人經幾天的研究寫了下面的這個程序,現在的程序用了63句,精簡了230句。功能沒有減。如誰有更簡練的程序,請發上來,大家一起學習。 4位八段數碼管的十進制加計數仿真實驗(含電路圖和仿真文件)
上傳時間: 2013-10-11
上傳用戶:sssl
近年來隨著科技的飛速發展,單片機的應用正在不斷深入,同時帶動傳統控制檢測技術日益更新。在實時檢測和自動控制的單片機應用系統中,單片機往往作為一個核心部件來使用,僅單片機方面知識是不夠的,還應根據具體硬件結構軟硬件結合,加以完善。 十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來實現這井然秩序呢?靠的就是交通信號燈的自動指揮系統。交通信號燈控制方式很多。本系統采用MSC-51系列單片機ATSC51和可編程并行I/O接口芯片8255A為中心器件來設計交通燈控制器,實現了能根據實際車流量通過8051芯片的P1口設置紅、綠燈燃亮時間的功能;紅綠燈循環點亮,倒計時剩5秒時黃燈閃爍警示(交通燈信號通過PA口輸出,顯示時間直接通過8255的PC口輸出至雙位數碼管);車輛闖紅燈報警;綠燈時間可檢測車流量并可通過雙位數碼管顯示。本系統實用性強、操作簡單、擴展功能強。 程序源代碼 ORG 0000h ;主程序的入口地址 LJMP MAIN ;跳轉到主程序的開始處 ORG 0003H ;外部中斷0的中斷程序入口地址 ORG 000BH ;定時器0的中斷程序入口地址
上傳時間: 2013-12-21
上傳用戶:1234321@q
蜂鳴器唱《祝你平安》 * * ********************************************************************************/ SPK bit P2.3 ORG 0000h LJMP START ORG 000BH INC 20H 中斷服務,中斷計數器加1 MOV TH0,#0D8H MOV TL0,#0EFH 12M晶振,形成10毫秒中斷
標簽: 蜂鳴器
上傳時間: 2014-11-08
上傳用戶:bruce5996
LCD_1602液晶顯示模塊的實例程序,例子是在液晶模塊的第二行第一個字符的位置顯示字母“A”。源程序的第一行是: ORG 0000h
上傳時間: 2013-12-25
上傳用戶:咔樂塢
ContentsMIPI是什么?o D-PHY物理層特點?МIРI 的數據傳送oDSI&CSI應用MIPI:手機產業處理界面MIPI協議是手機行業的領導者倡導一個開放的移動接口標準MIPI Spec:DCS-顯示命令接口DBI-顯示總線接口DPI-顯示像素接口DSI一顯示串行接口CSI一顯示攝像接口D-PHY物理層MIPI特點低功耗模式·動態調整到低功耗模式、高速傳送模式和低信號擺幅模式。高速模式每通道可以傳送500-1000Mbps低成本物理層EMI(抗輻射)數據包報頭(4 bytes)數據標識符(DI*1byte:包含虛擬數據通道[7:6]和數據類型[5:0].,數據包*2byte:要傳送的數據,長度固定兩個字節。誤差校正碼(ECC)"1byte:可以把兩個位的錯誤糾正例程數據包報頭(4 bytes)數據標識符(Di)*1byte:包含虛擬數據通道[7:6]和數據類型[5:0].字數(WC)*2byte:傳送數據的長度,固定為兩個字節錯誤校驗碼(ECC)*1byte:可以修復兩個位的錯誤有效傳送數據(0~65535 bytes)最大字節-2^16.數據包頁腳(2 bytes):校驗如果數據包的有效長度為0,那么校驗位為FFFFh如果校驗碼不能計算,那么校驗碼的值為0000h數據包的長度:e4+(0-65535)+2-6~ 65541 bytesSync Event(H Start,H End,v Start,V End),Data Type =xx 0001(x1h)同步事件是兩個字的數據包(1個字節的指令和一個字節的校驗,因些他們可以精確的表示同步事件的開始和結束.干單個司步開始或同步結束事件的長度和位置在前面的圖中有說明。同步事件的定義如下:Data Type= 00 0001(01h)場同步開始Data Type= 01 0001(11h)場同步結束Data Type= 10 0001(21b)行同步開始.Data Type= 11 0001(31h)行同步結束為了盡可能精確的體理一個同步事件,那么開始標識位必須放在第一位,結束標識位必須放在最后一位,行同步也是一樣。同步事件的開始和結束應該是成對出現的,假如只有一個同步事件(通常是開始),那么這個數據也是可以傳送出去的。
標簽: mipi
上傳時間: 2022-05-08
上傳用戶: