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

正文內(nèi)容

基于單片機89c51的ic卡識別(參考版)

2024-12-10 02:22本頁面
  

【正文】 最后,衷心地感謝 我的家人,感謝你們一直以來給予我的支持和。同時,也向兩年來所有教授過我和幫助過我的老師表示感謝,感謝您們對我的諄諄教誨、耐心指導(dǎo)和無私的幫助。他淵博的學(xué)識,敏銳的學(xué)術(shù)洞察力,嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,一絲不茍的負責(zé)精神,以及對學(xué)生孜孜不倦的教誨都給予了我極其深刻的印象,讓我受益匪淺。 Begin End. 遼寧石油化工大學(xué)繼續(xù)教育學(xué)院論文 38 致 謝 論文寫作即將畫上一個圓滿的句號 , 在論文寫作的過程中 , 從論文的選題到確定思路 , 從資料的搜集、提綱的擬定到內(nèi)容的 寫作與修改 , 繼而諸多觀點的梳理 ,都得益于我的老師的悉心指導(dǎo)和匠心點撥。 Export SendByte。 End。 Res:=Inb(COM)。 Begin Repear: Status:=Inb(COM+5)。Stdcall。 End。 Until((Status and $20)=$20)。 Var Status:Byte。 {發(fā)送一字節(jié) } Procedure SendByte(Const Dbyte:Byte)。 Outb(COM+3,$03)。 Outb(COM,BAUDL)。 End。 Else Begin BAUDL:=$18。 BAUDH:=$00。 Else COM:=COM2。 Var BAUDL,BAUDH:Byte。Const Band:String)。 End。pascal。 End。pascal。 End。pascal。{DLL 中全局變量 } Procedure Outb(Const Port:Word。 COM2: =$2f8。 Classes。 下面給出基于 的串行通信 DLL 程序: Library Mydll。 上述 3 種方式各有特點。 ( 2) 對于 RAD 開發(fā)系統(tǒng)(如 VB),可利用 ActiveX 串行通信控件。 Goto fuwei。 } ONCOMM=0。 While(! TI)。 Break。 Write_ic(0,16)。 Receive( )。 While(! TI)。 Break。 TI=0。 Switch(a) { case 0xaa: SBUF=0xaa。 RI=0。 / * 等待與上機位建立 通信聯(lián)系 * / ONCOMM=1。 遼寧石油化工大學(xué)繼續(xù)教育學(xué)院論文 33 Read_bytes(0,16)。 IC_WR=1。 Delay(10)。 Fuwei: init( )。j++)。i++) For(j=0。k++) For(i=0。 For(k=o。 RST==1。 Delay(10)。 遼寧石油化工大學(xué)繼續(xù)教育學(xué)院論文 32 If(! ICOUT) { If(IC_WR ONCOMM) { PWR=1。 } } / * 拔卡中斷程序,主要完成 IC 卡下電及讀 /寫復(fù)位 * / Void int_0(void)interrupt 0 using 1 { While(! ICOUT)。y++) { While_byte(address[y],buf[y])。 For(y=0。 Buf[i]=a。 RI=0。i16。 遼寧石油化工大學(xué)繼續(xù)教育學(xué)院論文 31 } } / * 接收 16B 存入緩沖區(qū) * / / * 波特率 2400, 8 位數(shù)據(jù)位, 1 位停止位, 無校驗位 * / / * 緩沖區(qū)為 buf * / Void teceive(void) { Uchar I,a。j1000。 TI=0。i++) { SBUF=buf[i]。 For(i=0。 } / * 將數(shù)據(jù)緩沖區(qū) 16B 發(fā)往上位機 * / / * 波特率 2400, 8位數(shù)據(jù)位, 1位停止位,無校驗為 2 * / / * 待發(fā)送數(shù)據(jù)在 buf 緩沖區(qū) * / Void transfer(void) { Uchar i。 } TR1=1。 If(BAUI)==0 { PCON=0x08。 TH1=0xf3。 TMOD=0x20。 ONCOMM=0。 PWR=1。j++)。 } For(j=0。 While(TI= =1)。i++)。 For(j=0。 A=SBUF。 while(RI= =0)。 Uint j。 Stop_ic()。 遼寧石油化工大學(xué)繼續(xù)教育學(xué)院論文 29 Wd24(address)。 } } / * * / / * 字節(jié)寫入模式寫函數(shù),其中 address 為單元地址, dd 為數(shù)據(jù) * / Void write_byte(uchar address,uchar dd) { Start_ic()。y++) { a=read_byter(address,y)。 For(y=0。 Return(x)。 X=rd24()。 Start_ic()。 Wd24(0a0)。 } 遼寧石油化工大學(xué)繼續(xù)教育學(xué)院論文 28 / * 隨機地址地字節(jié)函數(shù), address 為預(yù)讀單元地址 * / Uchar read_buter(uchar address) { Uchar x。 While(sda==1)。 Sda=1。scl=1。scl=0。 Sda=a1。scl=1。scl=0。 Sda=a3。scl=1。scl=0。 Sda=a5。scl=1。scl=0。 Sda=a7。 Return(ACC)。scl=1。scl=0。 Scl=1。a1=sda。scl=0。 Scl=1。a3=sda。scl=0。 Scl=1。a5=sda。scl=0。 Scl=1。a7=sda。 } 遼寧石油化工大學(xué)繼續(xù)教育學(xué)院論文 27 / * 讀字節(jié)函數(shù),無應(yīng)答信號 * / Unsigned char rd24(void) { sda=1。 Scl=0。 Scl=1。 } Void ack_ic(void) { Sda=0。 Scl=0。 Sda=1。 Scl=1。 Delay(6)。 Delay(2)。 Void start_ic(void) { Sda=1。 Sbit ONCOMM=flag1。 Uchar flag。 Sbit a7=ACC7。 Sbit a5=ACC5。 Sbit a3=ACC3。 Sbit sda=P16。 通過這次畢業(yè)設(shè)計使我明白了自己原來知識還比較欠缺,學(xué)習(xí)是一個長期積累的過程,在以后的工作、生活中都應(yīng)該不斷的學(xué)習(xí),努力提高自己的綜合素質(zhì),為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。畢業(yè)設(shè)計使我清楚的認(rèn)識到團結(jié)協(xié)作的重要 性 ,能很好的跟別人交流和探討某個問題,我想這是我的最大的收獲。以 2400 波特率為例,當(dāng) SMOD=0 時,波特率參數(shù)為 0F9H,實際波特率為 2232,此時波特率相對誤差是 7%;而當(dāng) SMOD=1 時, 波特率參數(shù)為 0F3H,實際波特率為 2401,此時波特率相對誤差是 %,滿足正常通信所規(guī)定的 波特率相對誤差小于 5%的要求。由于上、下位機通信的數(shù)據(jù)量很?。ㄗ疃酁?IC 卡的容量),因此通信波特率可選低一些,如 2400;但要高度重視下位機(即 IC 卡讀 /寫器)的波特率參數(shù)整頂問題。程序框圖如圖 4- 2 所示。 如何使上、下位機均不死機或能簡單恢復(fù)正常工作呢?對于作為下位機的 IC 卡讀 /寫器,利用 IC 卡能隨意插拔,再結(jié)合 IC 卡的拔卡處理是一個高級中斷的特點,將 IC 卡的拔卡中斷程序設(shè)計成 2 個分支:( 1)非 IC 卡讀 /寫且非與上位機通信狀態(tài);( 2)在與上位機通信或正在對 IC 卡讀 /寫狀態(tài)。其程序如圖 4- 2 所示: 遼寧石油化工大學(xué)繼續(xù)教育學(xué)院論文 22 圖 4- 2 串行通信才用 3 線制軟握手方式 ( 2)軟件系統(tǒng)分析 為保證 IC 卡讀 /寫過程準(zhǔn)確可靠,除要保證讀 /寫函數(shù)嚴(yán)格按照 IC 卡的讀 /寫時序外,還須采用“重讀”和“復(fù)讀”措施。本系統(tǒng)中關(guān)鍵的軟復(fù)位是通過在外中斷 INT0 服務(wù)函數(shù)中設(shè)置軟復(fù)位標(biāo)志、在主函數(shù)中強制跳轉(zhuǎn)到函數(shù)首實現(xiàn)的。一旦有卡插入,則設(shè)置讀 /寫卡標(biāo)志(有卡);在通信時,設(shè)置正在通 信標(biāo)志?!坝锌ú迦敕瘛笔怯眠^判斷P33 引腳的高低電平來實現(xiàn)的。避免數(shù)據(jù)不全或錯誤數(shù)據(jù)讀入或?qū)懭?。讀 /寫器的主程序框圖如圖 4-1 所示。 遼寧石油化工大學(xué)繼續(xù)教育學(xué)院論文 21 第 4 章 軟件部分 工作過程 軟件結(jié)構(gòu)設(shè)計及其分析 ( 1) 讀 /寫器軟件結(jié)構(gòu) 讀 /寫器的讀 /寫操作由上位 PC機進行控制,通過串行通信的命令字節(jié)來實現(xiàn)。程序各部分的功能,由各個模塊分別實現(xiàn)。 圖 3-9 軟件系統(tǒng)采用模塊化結(jié)構(gòu),包括主程序、顯示子程序和串口中斷服務(wù)程序。顯示時并不識別顯示緩沖區(qū)的數(shù)據(jù),只是依次從顯示緩沖區(qū)提取數(shù)據(jù) 向顯示屏發(fā)送并送入相應(yīng)的鎖存消隱和行值信號,完成掃描。單片機通過串口接收 PC 機傳來的數(shù)據(jù)(包括顯示內(nèi)容,顯示方式和顯示狀態(tài))暫時放在接收緩沖區(qū),處理后放入數(shù)據(jù)存儲區(qū)保存,然后 再根據(jù)顯示方式從數(shù)據(jù)存儲區(qū)中讀出數(shù)據(jù)放入顯示緩沖區(qū)用于顯示。 圖 3-8 遼寧石油化工大學(xué)繼續(xù)教育學(xué)院論文 20 軟件系統(tǒng) 程序可以實現(xiàn)與計算機的通信,可非常方便地任意修改所要顯示的漢字;并使顯示屏可固定、平移地顯示漢字。單片機輸出信號直接與串入并出移位寄存器 74HC595 的鎖存器輸出端連接。輸入數(shù)據(jù)在串行移位時 鐘SRCLK 上升沿由串行輸入端 SER 輸入到芯片內(nèi)部串行移位寄存器中,同時 , SQH 端串行 輸出;在鎖存時鐘信號 RCLK 上升沿到來時,芯片將內(nèi)部串行移位寄存器 8 位數(shù)據(jù)并行輸出。 輸入驅(qū)動由八個 8位串行輸入,串行或并行輸出三態(tài)移位寄存器 74HC595 實現(xiàn)。 圖 3-7 驅(qū)動部分用兩個 74HC138 譯碼,將行選通信號作為兩個譯碼器地址輸入,可以得到 16行的行值信號。在取出IC卡,即 IC卡與單片機斷開連接,蜂鳴器也要響。 本設(shè)計當(dāng)中蜂鳴起的做用是 IC卡與單片機是否連接。反之亦然。這種能力緣于其特殊的晶體結(jié)構(gòu)。要做到這點,必須保證 IC 卡的下電迅速及時 圖 3-4 ( 2)蜂鳴器 遼寧石油化工大學(xué)繼續(xù)教育學(xué)院論文 18 一般所指的蜂鳴器是以壓電陶瓷為主要元件的。每次對 IC卡讀 /寫完成后。由單片機 89C51 的 P14 信號通過小功率三極管 9012 控制系統(tǒng)的 +5V電源切入 IC 卡座??ㄆ瑳]收到一個 8 位碼長的地址或數(shù)據(jù)后都以置 SDA 線為低電平方式“確認(rèn)”應(yīng)答信號,其波形如圖 3-3 所示 圖 3-3 外圍電路 ( 1) 狀態(tài)燈 IC 卡的上電一般是可知的,即對 IC 卡讀 /寫時,須給 IC 卡上電(送電源),因此, IC卡的上電控制比較簡單。 數(shù)據(jù)輸入 /輸出應(yīng)答邏輯單元產(chǎn)生數(shù)據(jù)輸入 /輸出操作應(yīng)答信號。 “開始”狀態(tài):當(dāng) SCL 處于高電平
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1