freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于51單片機(jī)嵌入式web服務(wù)器-資料下載頁

2025-06-28 00:31本頁面
  

【正文】 32KB,而8字節(jié)的用戶名和8字節(jié)的密碼可以存放在外圍FLASH存儲區(qū)未端(7FF0H~8000H)。FLASH的資源分布如圖521所示。索引區(qū)(0000H~0200H)Web資源文件區(qū)未使用區(qū)用戶名和密碼區(qū)圖521 FLASH的資源分布在處理瀏覽器提交的數(shù)據(jù)信息時(shí),按照以下兩個(gè)步驟進(jìn)行程序設(shè)計(jì):首先,服務(wù)器要根據(jù)遠(yuǎn)程瀏覽器傳送過來的數(shù)據(jù)信息,決定服務(wù)器的HTTP服務(wù)的方式;其次,將Web資源發(fā)送給遠(yuǎn)程瀏覽器或使用ProcessPostData函數(shù)來處理瀏覽器提交的數(shù)據(jù)。在TCP連接的初始化完成后,在應(yīng)用層的用戶登錄程序使用函數(shù)TCPAppRxData( )來接收傳輸層的數(shù)據(jù)。這個(gè)函數(shù)對數(shù)據(jù)包中收到的字節(jié)都調(diào)用一次。用戶程序首先檢查ASCII碼是P還是G以確定WebServer對HTTP服務(wù)的方式。在服務(wù)器接收的數(shù)據(jù)包中,P表示以Post開始的用戶提交的數(shù)據(jù)信息第一個(gè)ASCII碼;G表示以Get開始的用戶請求Web資源的第一個(gè)ASCII碼,缺省的HTTP服務(wù)的方式是Get,即WebServer響應(yīng)遠(yuǎn)程瀏覽器對Web資源的請求。程序通過設(shè)定標(biāo)志位HTTP_METHOD來確定HTTP服務(wù)的方式。用戶在登錄和密碼文本框中輸入用戶名和密碼后提交登錄信息。校驗(yàn)用戶登錄信息可通過兩種途徑:第一種途徑,系統(tǒng)上電復(fù)位后,先從FLASH中取出用戶名和密碼存放在RAM中,當(dāng)用戶程序接收到來自TCP數(shù)據(jù)包的登錄數(shù)據(jù)后,采用逐個(gè)字節(jié)比較的方法進(jìn)行用戶信息的校驗(yàn);第二種途徑,當(dāng)用戶程序接收到來自TCP數(shù)據(jù)包中的登錄數(shù)據(jù)后,再按字節(jié)從FLASH中取出用戶名和密碼進(jìn)行校驗(yàn)。與第二種方法相比,第一種方法能夠滿足WebServer對實(shí)時(shí)性的要求。為提高RAM資源的利用率,在校驗(yàn)結(jié)束后,用戶程序釋放16個(gè)字節(jié)的RAM資源。以太網(wǎng)作為接口,以C8051F020為硬件平臺,利用軟件化的嵌入式TCP/IP,能夠?qū)崿F(xiàn)HTTP服務(wù)。web服務(wù)器在家電網(wǎng)絡(luò)接入Internet中的應(yīng)用,為其接入Internet提供了一種無需額外的PC或網(wǎng)關(guān)設(shè)備的解決方案。這種低成本、高性能的方案,具有可靠、靈活的特點(diǎn),適用于通訊速率不大于56Kbps、允許時(shí)延大于1秒、需要連接Internet的家庭自動化設(shè)備。用戶可以根據(jù)需要,按照本文提供的方法,構(gòu)造自己的網(wǎng)絡(luò)服務(wù)器,可為普通的電氣設(shè)備或系統(tǒng)如公共服務(wù)設(shè)備、家庭醫(yī)療保健設(shè)備、工業(yè)自動化系統(tǒng)等,賦予接入Internet的能力。6 調(diào)試結(jié)果經(jīng)過了收集資料,設(shè)計(jì)方案,調(diào)試程序等一系列工作后,:,后來是網(wǎng)線接接通的情況.圖61 PING的結(jié)果 圖62是查看網(wǎng)卡的物理地址,結(jié)果顯示網(wǎng)卡的物理地址是000102030405.圖53 物理地址 圖64是HTTP協(xié)議的實(shí)現(xiàn),所用的網(wǎng)頁地址是:圖64 HTTP的實(shí)現(xiàn)7結(jié)束語經(jīng)過一年多的辛勤努力,不斷的編程與調(diào)試,本課題的研究工作基本達(dá)到了課題開始初期所預(yù)期的效果,歸納起來,主要有以下幾個(gè)方面。 [1]單片機(jī)與網(wǎng)卡的接口,實(shí)現(xiàn)了網(wǎng)卡的接收與發(fā)送數(shù)據(jù)包的功能。[2]對龐大、復(fù)雜的TCP/IP協(xié)議進(jìn)行了精簡,使之成為不需要太大程序存儲空間的、適合嵌入式WEB服務(wù)器功能要求的協(xié)議棧。 由于時(shí)間及個(gè)人精力的原因,本課題在以下幾個(gè)方面還有待進(jìn)一步的研究: (1)如何實(shí)現(xiàn)單片機(jī)直接控制網(wǎng)卡芯片,而不是以ISA總線的方式控制網(wǎng)卡。這樣的產(chǎn)品體積更小,成本更低,可靠性更高。 (2)禁止非授權(quán)用戶瀏覽服務(wù)器以及數(shù)據(jù)在傳輸時(shí)的安全性,這就是所謂的身份認(rèn)證和數(shù)據(jù)加密問題。 (3)本嵌入式WEB服務(wù)器在同一時(shí)刻只支持一個(gè)客戶機(jī)的訪問,如果實(shí)際情況訪問的客戶較多,應(yīng)當(dāng)實(shí)現(xiàn)多用戶的同時(shí)接入功能。 (4)進(jìn)一步完善TCP/IP協(xié)議棧的功能。如根據(jù)網(wǎng)絡(luò)的擁塞狀況,可進(jìn)行相應(yīng)大小的IP報(bào)文分片:ARP協(xié)議的高速緩存及老化等。如果單片機(jī)ROM空間允許的話,還可增加TCP協(xié)議中規(guī)定的各種定時(shí)器,使TCP協(xié)議更加健壯。參考文獻(xiàn)[1] 呂京建,肖海橋。嵌入式internet技術(shù)及其應(yīng)用。今日電子 1999(10)24~26[2] 趙海。嵌入式internet21世紀(jì)一場信息技術(shù)革命。北京清華大學(xué)出版社,2001[3]閻磊、李玉強(qiáng)、[J].《沈陽工業(yè)大學(xué)學(xué)報(bào)》,[4]夏克國. SCENIX單片機(jī)嵌入式Internet方案 [J].中國電子網(wǎng),:/ .[5]「M].北京:中國紡織出版社,1996.[6]老古。單片機(jī)與TCP/IP網(wǎng)絡(luò).[7]蔡寧果,[J].計(jì)算機(jī)應(yīng)用,2002,2,14^16.[8] 楊光友, ,[9]雷斌,楊建華,黃超,等。Visual C++[M].北京:人民郵電出版社,2000.[10](美)Douglas :原理、協(xié)議與結(jié)構(gòu)[M].林瑤,蔣慧,杜蔚軒,:電子工業(yè)出版社,2001.[11](美) Stevens. TCP/IP詳解一卷1:協(xié)議[M].范建華,骨光輝,張濤,:機(jī)械工業(yè)出版社,2000.[12](美)Tim Parker,Mark 〔M].:機(jī)械工業(yè)出版社,2000.[13](美))Thomas [M].趙軍鎖,李志。機(jī)械工業(yè)出版社,2000.[14](美)Chander [M]郭志剛,壽國礎(chǔ),:人民郵電出版社,2000.[15] 鄧龍軍,梁志坤,王澤芳.單片機(jī)在以太網(wǎng)通信中的應(yīng)用.廣東工業(yè)大學(xué)學(xué)報(bào),2001.[16] REALTEK SEMICONDUCTOR CO., .[17]. RFC1661, The PointtoPoint Protocol (PPP). Internet Engineering Task Force, 1994.[18] 劉文科 ,劉德營等主編 ,《單片機(jī)原理及應(yīng)用》,北京: 中國水利水電出版社,2002年9月,第2版,17[19](加)Randy [M].胡敏,呂秀娟,楊寧,:機(jī)械工業(yè)出版社,2002.[20]李宏橋,[M].北京:機(jī)械工業(yè)出版社, 2002附 錄 Avoid init_8019(void){ Delay1ms(10)。 Rtl8019AS_Reset()。 //復(fù)位8019 reg00=0x21。 //使芯片處于停止模式,這時(shí)進(jìn)行寄存器設(shè)置 停止模式下,將不會發(fā)送和接收數(shù)據(jù)包 Delay1ms(10)。 //延時(shí)10毫秒,確保芯片進(jìn)入停止模式 page(0)。 //對第0頁進(jìn)行操作 reg0a= 0x00。 reg0b= 0x00。 reg0c= 0xe0。 //monitor mode (no packet receive) reg0d= 0xe2。 //loop back mode 使芯片處于mon和loopback模式,跟外部網(wǎng)絡(luò)斷開 ////使用0x40~0x4B為網(wǎng)卡的發(fā)送緩沖區(qū),共12頁(3K Bytes),////使用0x4c~0x7F為網(wǎng)卡的接受緩沖區(qū),共52頁 1頁有256字節(jié)的內(nèi)容 reg01=0x4c。 //接受緩沖區(qū)的首地址 reg02=0x80。 //接受緩沖區(qū)的終止地址 reg03=0x4c。 //BNRY,將讀指針復(fù)原 reg04=0x40。 //發(fā)送緩沖區(qū)的首地址 reg07=0xff。 //清除所有中斷標(biāo)志位 reg0f=0x00。 //disable all interrupt reg0e=0xc8。 //byte dma 8位dma方式 page(1)。 reg07=0x4d。 //CURR,將接受指針復(fù)原 reg08=0x00。 //MAR0~7,配置多播物理地址 reg09=0x41。 reg0a=0x00。 reg0b=0x00。 reg0c=0x00。 reg0d=0x00。 reg0e=0x00。 reg0f=0x00。 //reg00=0x22。 //這時(shí)讓芯片開始工作 ReadRtl8019NodeID()。 //讀出網(wǎng)卡的物理地址48位 WriteRtl8019NodeID()。 //將網(wǎng)卡地址寫入到mar寄存器 page(0)。 reg0c=0xcc。 //將網(wǎng)卡設(shè)置成正常的模式,跟外部網(wǎng)絡(luò)連接 reg0d=0xe0。 reg00=0x22。 //這時(shí)讓芯片開始工作 reg07=0xff。 //清除所有中斷標(biāo)志位}void send_frame(UCHAR xdata * outbuf, UINT len)//發(fā)送一個(gè)數(shù)據(jù)包的命令,長度最小為60字節(jié),最大1514字節(jié)*/{UCHAR i。UINT ii。 page(0)。 if(len60)len=60。 txd_buffer_select=!txd_buffer_select。 //兩次發(fā)送的時(shí)候用兩塊寄存器,避免沖突 if (txd_buffer_select) reg09=0x40 。 //txdwrite highaddress else reg09=0x46 。 //txdwrite highaddress reg08=0x00。 //read page address low reg0b=len8。 //read count high reg0a=lenamp。0xff。 //read count low。 reg00=0x12。 //write dma, page0 for (ii=0。iilen。ii++) { reg10=*(outbuf+ii)。 } reg0b=0x00。 //read count high 中止DMA操作 reg0a=0x00。 //read count low。 reg00=0x22。 //plete dma page 0 for(i=0。i16。i++) //最多重發(fā)16次 { for(ii=0。ii1000。ii++) //檢查txp為是否為低 { if ((reg00amp。0x04)==0) break。 } if ((reg04amp。0x01)!=0) break。 //表示發(fā)送成功 reg00=0x3e。 } reg07=0xff。 if(txd_buffer_select) reg04=0x40。 //txd packet start。 else reg04=0x46。 //txd packet start。 reg06=len8。 //high byte counter reg05=lenamp。0xff。 //low byte counter reg07=0xff。 reg00=0x3e。 //to sendpacket。 free(outbuf)。}UCHAR xdata * rcve_frame(void)//如果收到一個(gè)有效的數(shù)據(jù)包,返回收到的數(shù)據(jù),否則返回NULL{ UCHAR bnry,curr,next_page。UINT len, ii。volatile UCHAR temp。UCHAR xdata * buf。 page(0)。 reg07=0xff。 //清中斷標(biāo)志 bnry=reg03。 //bnry page have read 讀頁指針 page(1)。 curr=reg07。 //////page(0)。 if ((curr==0)) return NULL。 //讀的過程出錯(cuò) next_page=bnry。 bnry++。 if (bnry0x7f) bnry=0x4c。 if (bnry!=curr) //此時(shí)表示有新的數(shù)據(jù)包在緩沖區(qū)里 { //讀取一包的前4個(gè)字節(jié):4字節(jié)的8019頭部 page(0)。 reg09=bnry。 //read page address high reg08=0x00。 //read page address low reg0b=0x00。 //read count high reg0a=4。 //read count low。 reg00=0x0a。 //read dma temp = reg10。 //8019的接收狀態(tài)字節(jié) temp = reg10。 //8019的下一頁指針 next_page = temp1。 //next page start1 len = reg10。 temp = reg10。 len += temp8。 reg0b=0x00。 reg0a=0x00。 reg00=0x22。//plete dma page 0 // Allocate enough memory to hold the ining frame buf = (UCHAR xdata *)malloc(len)。 if (buf == NULL) { // out of RAM // Tell 8019 to skip the frame page(1)。 curr=reg07。 //page1 page(0)。 //切換回page0 bnry = curr 1。
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1