串行編程器源程序(Keil C語言)//FID=01:AT89C2051系列編程器//實現編程的讀,寫,擦等細節//AT89C2051的特殊處:給XTAL一個脈沖,地址計數加1;P1的引腳排列與AT89C51相反,需要用函數轉換#include <e51pro.h> #define C2051_P3_7 P1_0#define C2051_P1 P0//注意引腳排列相反#define C2051_P3_0 P1_1#define C2051_P3_1 P1_2#define C2051_XTAL P1_4#define C2051_P3_2 P1_5#define C2051_P3_3 P1_6#define C2051_P3_4 P1_7#define C2051_P3_5 P3_5 void InitPro01()//編程前的準備工作{ SetVpp0V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=0; Delay_ms(20); nAddress=0x0000; SetVpp5V();} void ProOver01()//編程結束后的工作,設置合適的引腳電平{ SetVpp5V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=1;} BYTE GetData()//從P0口獲得數據{ B_0=P0_7; B_1=P0_6; B_2=P0_5; B_3=P0_4; B_4=P0_3; B_5=P0_2; B_6=P0_1; B_7=P0_0; return B;} void SetData(BYTE DataByte)//轉換并設置P0口的數據{ B=DataByte; P0_0=B_7; P0_1=B_6; P0_2=B_5; P0_3=B_4; P0_4=B_3; P0_5=B_2; P0_6=B_1; P0_7=B_0;} void ReadSign01()//讀特征字{ InitPro01(); Delay_ms(1);//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(20); ComBuf[2]=GetData(); C2051_XTAL=1; C2051_XTAL=0; Delay_us(20); ComBuf[3]=GetData(); ComBuf[4]=0xff;//----------------------------------------------------------------------------- ProOver01();} void Erase01()//擦除器件{ InitPro01();//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 C2051_P3_3=1; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(1); SetVpp12V(); Delay_ms(1); C2051_P3_2=0; Delay_ms(10); C2051_P3_2=1; Delay_ms(1);//----------------------------------------------------------------------------- ProOver01();} BOOL Write01(BYTE Data)//寫器件{//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 //寫一個單元 C2051_P3_3=0; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; SetData(Data); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); Delay_us(20); C2051_P3_4=0; Delay_ms(2); nTimeOut=0; P0=0xff; nTimeOut=0; while(!GetData()==Data)//效驗:循環讀,直到讀出與寫入的數相同 { nTimeOut++; if(nTimeOut>1000)//超時了 { return 0; } } C2051_XTAL=1; C2051_XTAL=0;//一個脈沖指向下一個單元//----------------------------------------------------------------------------- return 1;} BYTE Read01()//讀器件{ BYTE Data;//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 //讀一個單元 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=1; C2051_P3_7=1; Data=GetData(); C2051_XTAL=1; C2051_XTAL=0;//一個脈沖指向下一個單元//----------------------------------------------------------------------------- return Data;} void Lock01()//寫鎖定位{ InitPro01();//先設置成編程狀態//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 if(ComBuf[2]>=1)//ComBuf[2]為鎖定位 { C2051_P3_3=1; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; Delay_us(20); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); } if(ComBuf[2]>=2) { C2051_P3_3=1; C2051_P3_4=1; C2051_P3_5=0; C2051_P3_7=0; Delay_us(20); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); }//----------------------------------------------------------------------------- ProOver01();} void PreparePro01()//設置pw中的函數指針,讓主程序可以調用上面的函數{ pw.fpInitPro=InitPro01; pw.fpReadSign=ReadSign01; pw.fpErase=Erase01; pw.fpWrite=Write01; pw.fpRead=Read01; pw.fpLock=Lock01; pw.fpProOver=ProOver01;}
上傳時間: 2013-11-12
上傳用戶:gut1234567
1 任務 設計一個文本編輯器。 2 基本要求 1 如圖所示,設計一個有菜單欄的編輯窗口,在該窗口可以實現文本的輸入,利用DEL鍵、BackSpace鍵、Home鍵、End鍵、上下左右光標鍵,實現對輸入文本的全屏幕編輯。 2 實現文件的新建、打開、保存、另存為與退出等功能。 包含 設計思路、技術報告、和不同階段的設計源代碼 擴展要求 1 要求使用彩色組和背景顏色來設計界面顏色。 2 模擬一些著名編輯器(如Source Insight)的其它功能,如比較詳細的幫助功能,對特定的命令或保留字(如C語言或匯編語言)能顯示不同的醒目顏色。 3 自己參考其它編輯器進行發揮。
上傳時間: 2013-11-03
上傳用戶:lhc9102
一)需求 很多情況下我們需要知道字節流的編碼,比如 1) 使用編輯器打開文本文件的時候,編輯器需要識別文本文件的各種編碼 2) 上傳文件后,分析上傳文件字節流需要知道它的編碼 3) 讀取某個web頁面的源代碼,并要輸出時,需要知道正確的編碼才能輸出正確的內容 ..............
上傳時間: 2013-12-20
上傳用戶:dsgkjgkjg
? Java函數速查 你能很快的查到你要的函數 DataBinding類 代表數據源字段和組件屬性之間一個單獨的綁定。 package com.ms.wfc.data.ui public class DataBinding implements IConstructable 說明 DataBinder控件使用該類來表示數據源中的每一個綁定。 請參閱:《Microsoft Visual J++ 6.0 程序員指南》第18章“WFC中的數據綁定”。 構造器 DataBinding.DataBinding 創建一個DataBinding對象。 語法 public DataBinding () public DataBinding ( IComponent target, String propertyName,String fieldName ) public DataBinding ( IComponent target, String propertyName,String fieldName, IDataFormat format )
標簽: DataBinding package Java data
上傳時間: 2013-12-20
上傳用戶:TRIFCT
1.套接字編程原理 1.1 Client/server通信模型 1.2 Windows Sockets規范 1.3 套接字 1.3.1 套接字定義 1.3.2分類 1.3.3 套接字的作用 1.3.4端口與地址 1.3.5 套接口屬性 2.基本的Windows Sockets API編程 2.1常用函數 2.2 TCP實例 2.3 UDP實例 2.4 Socket 通信阻塞的解決方法 3.MFC下的Socket編程的類 3.1 CAsyncSocket類 3.2 CSocket類 3.3 Windows Sockets:帶存檔的套接字的工作方式 3.4 流式套接字通信的操作順序 3.5 使用 CAsyncSocket 類 3.6 從套接字類派生 3.7 套接字通知 3.8 一個使用CSocket類的網絡通信實例 3.8.1 服務器端應用程序設計(ServerDemo) 3.8.2 客戶端應用程序設計(項目名稱ClientDemo) 4.套接字的托管實現 4.1 System::Net::Sockets 命名空間 4.2 實例:一個新郵件檢查器
標簽: Windows Sockets Client server
上傳時間: 2014-01-20
上傳用戶:zhangzhenyu
使用方法:用文本方式打開FlashFXP文件夾下的Sites.dat文件你會發現許多如下字段: [ftp://www.2ky.cn] Created=37525.5835161227 IP=www.realoveyou.com User=software Pass=45C170E56C99BB1A47 Port=21 Options=30033330000330011 將Pass=45C170E56C99BB1A47中等號后面的字串復制到FlashFXP密碼解密器里,按解密按鈕就得到真正的FTP明文密碼。 【MD5值:540ff30708aeaf8a33fdf4bd2fbd6006】
標簽: 37525.5835161227 FlashFXP Created Sites
上傳時間: 2014-01-27
上傳用戶:亞亞娟娟123
在工業溫度測控場合K型熱電偶因其線性度 好,價格便宜,測量范圍寬而得到廣泛的使用.但它往往需要冷端補償,且電路較復雜,調試麻煩,而­ K型熱電偶串行模數轉換器MAX6675 不但可將模擬信號轉換成溫度值對應的數 字量,而且自帶冷端補償, 其溫度分辨能力達0.25。可以滿足絕大多數工業應用場合。
上傳時間: 2015-08-16
上傳用戶:上善若水
一個很好用的 lcd 時鐘程序 C語言 #include<reg51.h> #include<stdio.h> //定義計時器0 的重裝值 #define RELOAD_HIGH 0x3C #define RELOAD_LOW 0xD2 //定義按鍵彈跳時間 #define DB_VAL //定義設置模式的最大時間間隔 #define TIMEOUT 200 //定義游標位置常數 #define HOME 0 #define HOUR 1 #define MIN 2 #define SEC 3
標簽: include define RELOAD stdio
上傳時間: 2014-12-19
上傳用戶:zukfu
超音波測距程式,使用於輪式行動平臺(機器人)本體,本程式可用於避障、導航
上傳時間: 2015-11-06
上傳用戶:TRIFCT
解碼器,利用差錯控制算法解漢明碼,BCH碼等多種碼字
標簽: 解碼器
上傳時間: 2013-12-17
上傳用戶:13681659100