紅外遙控接收;=================================================;; 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
PLC 以 其 可靠性高、抗干擾能力強、配套齊全、功能完善、適應性強等特點,廣泛應用于各種控制領域。PLC作為通用工業控制計算機,是面向工礦企業的工控設備,使用梯形圖符號進行編程,與繼電器電路相當接近,被廣大工程技術人員接受。但是在實際應用中,如何編程能夠提高PLC程序運行速度是一個值得我們思考研究的問題。1 PLC工作原理PLC 與 計 算機的工作原理基本相同,即在系統程序的管理下,通過運行應用程序完成用戶任務。但兩者的工作方式有所不同。計算機一般采用等待命令的工作方式,而PLC在確定了工作任務并裝人了專用程序后成為一種專用機,它采用循環掃描工作方式,系統工作任務管理及應用程序執行都是用循環掃描方式完成的。PLC 有 兩 種基本的工作狀態,即運行(RUN)與停止(STOP)狀態。在這兩種狀態下,PLC的掃描過程及所要完成的任務是不盡相同的,如圖1所示。 PLC在RUN工作狀態時,執行一次掃描操作所的時間稱為掃描周期,其典型值通常為1一100nis,不同PLC廠家的產品則略有不同。掃描周期由內部處理時間、輸A/ 輸出處理執行時間、指令執行時間等三部分組成。通常在一個掃描過程中,執行指令的時間占了絕大部分,而執行指令的時間與用戶程序的長短有關。用戶 程 序 是根據控制要求由用戶編制,由許多條PLC指令所組成。不同的指令所對應的程序步不同,以三菱FX2N系列的PLC為例,PLC對每一個程序步操作處理時間為:基本指令占0.741s/步,功能指令占幾百微米/步。完成一個控制任務可以有多種編制程序的方法,因此,選擇合理、巧妙的編程方法既可以大大提高程序運行速度,又可以保證可靠性。 提高PLC程序運行速度的幾種編程方法2.1 用數據傳送給位元件組合的方法來控制輸出在 PL C應 用編程中,最后都會有一段輸出控制程序,一般都是用邏輯取及輸出指令來編寫,如圖2所示。在圖2所示的程序中,邏輯取的程序步為1,輸出的程序步為2,執行上述程序共需3個程序步。通常情況下,PLC要控制的輸出都不會是少量的,比如,有8個輸出,在條件滿足時要同時輸出。此時,執行圖2所示的程序共需17個程序步。若我們通過位元件的組合并采用數據傳送的方法來完成圖2所示的程序,就會大大減少程序步驟。在三 菱 PLC中,只處理ON/OFF狀態的元件(如X,Y,M和S),稱為位元件。但將位元件組合起來也可以處理數據。位元件組合由Kn加首元件號來表示。位元件每4bit為一組組合成單元。如KYO中的n是組數,當n=1時,K,Yo 對應的是Y3一Yo。當n二2時,KZYo對應的是Y7一Yo。通過位元件組合,就可以用處理數據的方式來處理位元件,圖2程序所示的功能可用圖3所示的傳送數據的方式來完成。
上傳時間: 2013-11-11
上傳用戶:幾何公差
介紹了基于以太網的加載方法, 包括網絡接口控制HPI接口控制,該技術靈活方便,可脫離仿真器實現遠程,大容量的程序代碼加載,快速完成DSP系統的軟件更新
上傳時間: 2013-11-20
上傳用戶:taiyang250072
在DSP系統上運行的程序,系統上電復位后需要加載程序到DSP的程序存儲器內。這是使用外部加載模式時的系統開發不可缺少的環節。針對實際需求,提出了一種使用USB對ADSP_TS101S進行鏈路口加載的方案,并介紹了設計思想和實現過程。實際應用的試驗證明,提出的加載方案有效且簡單易行。
上傳時間: 2013-10-30
上傳用戶:tianming222
(C++_面向對象程序設計_譚浩強)word完整版加ppt版
上傳時間: 2013-10-17
上傳用戶:xzt
本程序主要表現了C++多文件系統的MCU構建方法,任何支持C++的MCU/ARM/DSP都可用 此法構建。 特別要注意變量的重復定義問題: 最好每個C/CPP文件包含與自己同名的H頭文件,在其H頭文件中再包含一個中間 起橋梁作用的H頭文件,我一般喜歡main.h 變量或函數要在C/CPP中定義,絕對不要在H頭文件中定義! 但一定要在H頭文件中用extern加變量或函數聲明。
上傳時間: 2013-10-12
上傳用戶:dingdingcandy
CH451 使用一個系統時鐘信號來同步芯片內部的各個功能部件,例如,當系統時鐘信號的頻率變高時,顯示驅動刷新將變快、按鍵響應時間將變短、上電復位信號的寬度將變窄、看門狗周期也將變短。一般情況下,CH451 的系統時鐘信號是由內置的阻容振蕩提供的,這樣就不再需要任何外圍電路,但內置RC 振蕩的頻率受電源電壓的影響較大,當電源電壓降低時,系統時鐘信號的頻率也隨之降低。在某些實際應用中,可能希望CH451 提供更長或者更短的顯示刷新周期、按鍵響應時間等,這時就需要調節系統時鐘信號的頻率。CH451 提供了CLK 引腳,用于外接阻容振蕩。當在CLK 引腳與地GND 之間跨接電容后,系統時鐘信號的頻率將變低;當在CLK 引腳與正電源VCC 之間跨接電阻后,系統時鐘信號的頻率將變高。因為CH451 的系統時鐘信號被用于芯片內部的所有功能部件,所以其頻率不宜進行大幅度的調節,一般情況下,跨接電容的容量在5pF 至100pF 之間,跨接電阻的阻值在20KΩ至500KΩ之間。跨接一個47pF 的電容則頻率降低為一半,跨接一個47KΩ的電阻則頻率升高為兩倍。另外,CH451 的CLK 引腳可以直接輸入外部的系統時鐘信號,但外部電路的驅動能力不能小于±2mA。CH451 在CLKO 引腳提供了系統時鐘信號的二分頻輸出,對于一些不要求精確定時的實際應用,可以由CLKO 引腳向單片機提供時鐘信號,簡化外圍電路。 單片機接口程序下面提供了U1(MCS-51 單片機)與U2(CH451)的接口程序,供參考。;**********************;需要主程序定義的參數CH451_DCLK BIT P1.7 ;串行數據時鐘,上升沿激活CH451_DIN BIT P1.6 ;串行數據輸出,接CH451 的數據輸入CH451_LOAD BIT P1.5 ;串行命令加載,上升沿激活CH451_DOUT BIT P3.2 ;INT0,鍵盤中斷和鍵值數據輸入,接CH451 的數據輸出CH451_KEY DATA 7FH ;存放鍵盤中斷中讀取的鍵值
上傳時間: 2013-11-22
上傳用戶:671145514
低空測試儀試驗需要把整個測試儀作為吊艙掛在直升機下工作,能適應各種惡劣的自然條件,用于某飛行部件地海雜波環境下的測試。以PC104嵌入式計算機為硬件平臺,標準C++為開發工具,針對低空測試儀數據采集需求開發了測控程序。通過電平I\O控制電源板給各信號加電時序,A\D卡實時采集信號,高度表通過串口回傳高度數據。著重介紹了低空測試儀的軟硬系統設計方案,給出了一組測試數據,驗證了測控程序的有效性。現場應用表明,該系統具有設計合理,操作簡便,測試準確的特點,達到了設計要求。
上傳時間: 2013-10-11
上傳用戶:hphh
記錄程序記錄的程序源碼,操作Access數據庫。 有導入導出數據、填加、修改、刪除記錄等主要操作。 同時有最小化到托盤區的功能。
上傳時間: 2013-12-21
上傳用戶:xymbian