24c16讀寫驅(qū)動程序,//=-------------------------------------------------------------------------------/*模塊調(diào)用:讀數(shù)據(jù):read(unsigned int address)寫數(shù)據(jù):write(unsigned int address,unsigned char dd) dd為要寫的 數(shù)據(jù)字節(jié)*///------------------------------------------------------------------------------ sbit sda=P3^0;sbit scl=P3^1; sbit a0=ACC^0; //定義ACC的位,利用ACC操作速度最快sbit a1=ACC^1;sbit a2=ACC^2;sbit a3=ACC^3;sbit a4=ACC^4;sbit a5=ACC^5;sbit a6=ACC^6;sbit a7=ACC^7; //------------------------------------------------------------------------------#pragma disablevoid s24(void) //起始函數(shù){_nop_(); scl=0; sda=1; scl=1; _nop_(); sda=0; _nop_(); _nop_(); scl=0; _nop_(); _nop_(); sda=1;} //------------------------------------------------------------------------------#pragma disablevoid p24(void) //停止函數(shù){sda=0; scl=1; _nop_(); _nop_(); sda=1;} //-----------------------------------------------------------------------------#pragma disableunsigned char rd24(void) /////////////////從24c16讀一字節(jié)數(shù)據(jù){ ACC=0x00;sda=1;scl=1;a7=sda;_nop_();_nop_();_nop_();_nop_();scl=0;scl=1;a6=sda;_nop_();_nop_();_nop_();_nop_();scl=0;scl=1;a5=sda;_nop_();_nop_();_nop_();_nop_();scl=0;scl=1;a4=sda;_nop_();_nop_();_nop_();_nop_();scl=0;scl=1;a3=sda;_nop_();_nop_();_nop_();_nop_();scl=0;scl=1;a2=sda;_nop_();_nop_();_nop_();_nop_();scl=0;scl=1;a1=sda;_nop_();_nop_();_nop_();_nop_();scl=0;scl=1;a0=sda;_nop_();_nop_();_nop_();_nop_();scl=0;sda=1;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0; /// ///////////////24c16的一位回答位。return(ACC);}//------------------------------------------------------------------------------#pragma disablevoid wd24(unsigned char dd) ////////////////向24c16寫一字節(jié)數(shù)據(jù){ sda=1;ACC=dd;sda=a7;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;sda=a6;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;sda=a5;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;sda=a4;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;sda=a3;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;sda=a2;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;sda=a1;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;sda=a0;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;sda=0;scl=1;//scl=0;(在下面程序中)}//---------------------------------------------------------------------------#pragma disableunsigned char read(unsigned int address){unsigned char dd; s24(); ////////////////////////開始條件 wd24(0xa0); /////////////////////////寫器件地址(寫命令) _nop_();_nop_();_nop_();_nop_(); scl=0; ///////////////////////////////////接收器件地址確認信號 wd24(address); //////////////////////////// 寫數(shù)據(jù)地址 _nop_();_nop_();_nop_();_nop_(); scl=0;s24(); ///////////////////////////////////開始條件 wd24(0xa1); /////////////////////////////寫器件地址(讀命令) scl=0; dd=rd24(); //////////////////////////////////讀 一字節(jié) p24(); ////////////////////////////////////停止條件 return(dd);}//------------------------------------------------------------------------------#pragma disablevoid write(unsigned int address,unsigned char dd){s24(); /////////////////開始條件 wd24(0xa0); ////////////////////////寫器件地址; scl=0; wd24(address); /////////////////////寫數(shù)據(jù)地址 scl=0; wd24(dd); //////////////////////////寫dd數(shù)據(jù) scl=0; p24(); /////////////////////////停止條件; }
上傳時間: 2013-11-18
上傳用戶:墻角有棵樹
紅外遙控接收;=================================================;; zsMCU51實驗板配套學習例程;; 中山單片機學習網(wǎng) 智佳科技;; 作者:逸風 QQ:105558851;; http://www.zsmcu.com; E-mail:info@zsmcu.com;=================================================ORG 0000HLJMP START;轉(zhuǎn)入主程序ORG 0010HSTART:MAIN:JNB P2.2,IRLJMP MAIN;以下為進入P3.2腳外部中斷子程序,也就是解碼程序IR:MOV R6,#9SB:ACALL DELAY882 ;調(diào)用882微秒延時子程序JB P2.2,EXIT ;延時882微秒后判斷P3.2腳是否出現(xiàn)高電平如果有就退出解碼程序DJNZ R6, SB ;重復10次,目的是檢測在8820微秒內(nèi)如果出現(xiàn)高電平就退出解碼程序;以上完成對遙控信號的9000微秒的初始低電平信號的識別。JNB P2.2, $ ;等待高電平避開9毫秒低電平引導脈沖ACALL DELAY2400JNB P2.2,IR_Rp ;ACALL DELAY2400 ;延時4.74毫秒避開4.5毫秒的結果碼MOV R1,#1AH ;設定1AH為起始RAM區(qū)MOV R2,#4PP:MOV R3,#8JJJJ:JNB P2.2,$ ;等待地址碼第一位的高電平信號LCALL DELAY882 ;高電平開始后用882微秒的時間尺去判斷信號此時的高低電平狀態(tài)MOV C,P2.2 ;將P3.2引腳此時的電平狀態(tài)0或1存入C中 JNC UUU ;如果為0就跳轉(zhuǎn)到UUULCALL DELAY1000UUU:MOV A,@R1 ;將R1中地址的給ARRC A ;將C中的值0或1移入A中的最低位MOV @R1,A ;將A中的數(shù)暫時存放在R1中DJNZ R3,JJJJ ;接收地址碼的高8位INC R1 ;對R1中的值加1,換下一個RAMDJNZ R2,PP ;接收完16位地址碼和8位數(shù)據(jù)碼和8位數(shù)據(jù),存放在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
拼音輸入法杳詢函數(shù): unsigned char code * py_ime(unsigned char input_py_val[]); input_py_val為已輸入的拼音碼字符串頭指針, 反回值為中文的起始地址,當為0時,杳詢失敗 應用舉例: { unsigned char input_string[]={"bang"}; unsigned char chines_string[100]; sprintf(chines_string,"%s",py_ime(input_string)); }
上傳時間: 2014-03-18
上傳用戶:gxy670166755
自動檢測80C51 串行通訊中的波特率本文介紹一種在80C51 串行通訊應用中自動檢測波特率的方法。按照經(jīng)驗,程序起動后所接收到的第1 個字符用于測量波特率。這種方法可以不用設定難于記憶的開關,還可以免去在有關應用中使用多種不同波特率的煩惱。人們可以設想:一種可靠地實現(xiàn)自動波特檢測的方法是可能的,它無須嚴格限制可被確認的字符。問題是:在各種的條件下,如何可以在大量允許出現(xiàn)的字符中找出波特率的定時間隔。顯然,最快捷的方法是檢測一個單獨位時間(single bit time),以確定接收波特率應該是多少。可是,在RS-232 模式下,許多ASCII 字符并不能測量出一個單獨位時間。對于大多數(shù)字符來說,只要波特率存在合理波動(這里的波特率是指標準波特率),從起始位到最后一位“可見”位的數(shù)據(jù)傳輸周期就會在一定范圍內(nèi)發(fā)生變化。此外,許多系統(tǒng)采用8 位數(shù)據(jù)、無奇偶校驗的格式傳輸ASCII 字符。在這種格式里,普通ASCII 字節(jié)不會有MSB 設定
上傳時間: 2013-10-15
上傳用戶:shirleyYim
為實現(xiàn)設備中存在的低速數(shù)據(jù)光纖通信的同步復接/ 分接,提出一種基于FPGA 的幀同步頭信號提取檢測方案,其中幀頭由7 位巴克碼1110010 組成,在數(shù)據(jù)的接收端首先從復接數(shù)據(jù)中提取時鐘信號,進而檢測幀同步信號,為數(shù)字分接提供起始信號,以實現(xiàn)數(shù)據(jù)的同步分接。實驗表明,此方案成功地在光纖通信系統(tǒng)的接收端檢測到幀同步信號,從而實現(xiàn)了數(shù)據(jù)的正確分接。
標簽: FPGA 光纖通信系統(tǒng) 幀同步 檢測
上傳時間: 2013-10-17
上傳用戶:q123321
基于現(xiàn)場可編程門陣列(FPGA),設計了采用RS485標準的數(shù)據(jù)通信協(xié)議。其中,高速信號接收,采用同步485通信協(xié)議,高速接口包括時鐘和數(shù)據(jù)兩個信號,時鐘速率3.6864 MHz,利用同步時鐘上升沿檢測數(shù)據(jù)。低速信號接收采用異步485通信協(xié)議,波特率115.2 kbps,每字節(jié)1個起始位,8個數(shù)據(jù)位,1個截止位。針對高速數(shù)據(jù)接收時的情況,加入1 MB 容量的靜態(tài)存儲器SRAM作為緩存,保證接收數(shù)據(jù)的可靠性。
標簽: 485 RS 數(shù)據(jù)通信 協(xié)議
上傳時間: 2013-10-10
上傳用戶:笨小孩
數(shù)字同步的基本概念 同步是指通信雙方的定時信號符合一定的時間關系,它又可以分為位同步、幀同步和網(wǎng)同步: 位同步是指通信雙方的位定時脈沖信號頻率相等且符合一定的相位關系。 幀同步是指通信雙方的幀定時信號的頻率相同且保持一定的相位關系。幀同步的作用是在同步復用的情況下,能夠正確地區(qū)分每一幀的起始位置從而確定各路信號的相應位置并正確地把它們區(qū)分開來。幀同步是通過在信碼中插入幀同步碼來實現(xiàn)的。 網(wǎng)同步是指網(wǎng)絡中各個節(jié)點的時鐘信號的頻率相等 。
標簽: 數(shù)字同步網(wǎng) 時間同步
上傳時間: 2013-10-29
上傳用戶:宋桃子
設計采用MSP430單片機作為核心器件的聲音導引智能系統(tǒng),可以實現(xiàn)對電機控制、ASSP芯片以及顯示模塊、語音收發(fā)、無線收發(fā)模塊的控制,應用多通道兩相四線式步進電機/直流電機控制芯片ASSP芯片,實現(xiàn)對可移動聲源的運動控制,系統(tǒng)通過語音收發(fā)模塊實現(xiàn)可移動聲源的定位,并通過無線收發(fā)模塊進行對可移動聲源的運動控制。同時應用ZX240128M1液晶顯示,可以顯示過程的測量響應時間、可移動聲源的起始位置到OX線的垂直距離及平均速度。整個系統(tǒng)具有人性化,智能化等優(yōu)點。
標簽: 聲音導引智能系統(tǒng)
上傳時間: 2013-12-14
上傳用戶:yd19890720
設計采用MSP430單片機作為核心器件的聲音導引智能系統(tǒng),可以實現(xiàn)對電機控制、ASSP芯片以及顯示模塊、語音收發(fā)、無線收發(fā)模塊的控制,應用多通道兩相四線式步進電機/直流電機控制芯片ASSP芯片,實現(xiàn)對可移動聲源的運動控制,系統(tǒng)通過語音收發(fā)模塊實現(xiàn)可移動聲源的定位,并通過無線收發(fā)模塊進行對可移動聲源的運動控制。同時應用ZX240128M1液晶顯示,可以顯示過程的測量響應時間、可移動聲源的起始位置到OX線的垂直距離及平均速度。整個系統(tǒng)具有人性化,智能化等優(yōu)點。
標簽: 聲音導引智能系統(tǒng)
上傳時間: 2013-11-03
上傳用戶:windwolf2000
一個24c16的讀寫程序(已經(jīng)調(diào)試過)(arens) //////////////////////////////////////////////////////////////// //24c16讀寫驅(qū)動程序,F(xiàn)M24C16A-AT24C16中文資料pdf //=-------------------------------------------------------------------------------/*模塊調(diào)用:讀數(shù)據(jù):read(unsigned int address)寫數(shù)據(jù):write(unsigned int address,unsigned char dd) dd為要寫的 數(shù)據(jù)字節(jié)*///---------------------------------------------------------------------------------- sbit sda=P3^0;sbit scl=P3^1; sbit a0=ACC^0; //定義ACC的位,利用ACC操作速度最快sbit a1=ACC^1;sbit a2=ACC^2;sbit a3=ACC^3;sbit a4=ACC^4;sbit a5=ACC^5;sbit a6=ACC^6;sbit a7=ACC^7; //--------------------------------------------------------------------------------------#pragma disablevoid s24(void) //起始函數(shù){_nop_(); scl=0; sda=1; scl=1; _nop_(); sda=0; _nop_(); _nop_(); scl=0; _nop_(); _nop_(); sda=1;
上傳時間: 2013-10-31
上傳用戶:fdfadfs