-
該系統(tǒng)是一款磁卡閱讀存儲器,根據(jù)用戶要求解決了普通閱讀器只能實時連接計算機(jī),不能單獨(dú)使用的問題。而且針對作為特殊用途的磁卡,要求三道磁道都記錄數(shù)據(jù),并且第三磁道記錄格式與標(biāo)準(zhǔn)規(guī)定的記錄格式不同時,系統(tǒng)配套的應(yīng)用程序?qū)ζ渥隽苏_譯碼、顯示。 @@ 整個系統(tǒng)包括單片機(jī)控制的閱讀存儲器硬件部分,和配套使用的計算機(jī)界面應(yīng)用程序軟件部分。其中硬件電路包括磁條譯碼芯片、外部存儲器芯片、串口電平轉(zhuǎn)換芯片等等,所有的工作過程都是由單片機(jī)控制。我們這里選用紫外線擦除的87C52單片機(jī),電路使用的集成電路芯片都是采用SMT封裝器件,極大縮小了讀存器的體積,使用簡單,攜帶方便。 @@ 磁條譯碼芯片采用的是中青科技有限公司出品的M3-230.LQ F/2F解碼器集成電路。該IC實現(xiàn)了磁信號到電信號的轉(zhuǎn)換。外部存儲器則是使用的8K Bytes的24LC65集成芯片,擴(kuò)展8片,總?cè)萘窟_(dá)到8×8K。 @@ MAXIM公司出品的MAX232實現(xiàn)了單片機(jī)TTL電平到RS232接口電平的轉(zhuǎn)換,從而與計算機(jī)串口實現(xiàn)硬件連接。 @@ 計算機(jī)界面顯示程序采用當(dāng)今使用最廣的面向?qū)ο缶幊陶Z言Visual Basic 6.0版本(以后簡稱VB),并且使用VB帶有的串口通信控件MScomm,通過設(shè)置其屬性,使其和下位機(jī)單片機(jī)協(xié)議保持一致,進(jìn)而進(jìn)行正確的串口通信。關(guān)于磁道上數(shù)據(jù)記錄的譯碼,則是通過對每條磁道上數(shù)據(jù)記錄進(jìn)行多次實驗,認(rèn)真分析,進(jìn)而得到了各條磁道各自的編碼規(guī)則,按照其規(guī)則對其譯碼顯示。這部分程序也是通過VB編程語言實現(xiàn)的。另外,計算機(jī)應(yīng)用程序部分還實現(xiàn)了對下位機(jī)讀存器的擦除控制。 @@關(guān)鍵詞:磁卡,閱讀存儲器,單片機(jī),串口通信,track3數(shù)據(jù)譯碼
標(biāo)簽:
磁道
磁卡
上傳時間:
2013-08-05
上傳用戶:黃華強(qiáng)
-
本文以一個PDA項目為依托,在項目中,主要是開發(fā)該設(shè)備的軟件。其工作包括:上層應(yīng)用程序的開發(fā)、引導(dǎo)程序的編寫、Linux操作系統(tǒng)的移植和各種外設(shè)驅(qū)動程序的編寫以及文件系統(tǒng)的改進(jìn)。 本文首先分析了Linux操作系統(tǒng)的虛擬文件系統(tǒng)、高速緩沖區(qū)、MTD以及驅(qū)動程序模塊。接著,本文分析了JFFS2文件系統(tǒng)的不足,以及在大容量閃存設(shè)備中掛載速度過慢的原因。然后,本文結(jié)合JFFS2文件系統(tǒng)在開發(fā)過程中所出現(xiàn)的各種問題,以及在大容量閃存芯片上進(jìn)行掛載時的性能要求,對JFFS2文件系統(tǒng)作了一些實際的改進(jìn)。文中的創(chuàng)新性貢獻(xiàn)包括以下幾個方面: (1)在掃描一個擦除塊之前,首先把擦除塊中的所有內(nèi)容讀進(jìn)內(nèi)存。然后,在內(nèi)存中進(jìn)行所有的判斷操作以及拷貝,這樣就可以減少I/O操作。另外,由于所有的拷貝操作都在內(nèi)存中進(jìn)行,所以掛載速度就可以有所提升。 (2)通過加入“空閑區(qū)域管理節(jié)點(diǎn)”對閃存中的空閑區(qū)域進(jìn)行管理。這樣,在掃描的過程中,一旦發(fā)現(xiàn)該節(jié)點(diǎn)就可以跳過它所描述的空閑區(qū)域,從而加快掛載的速度。 (3)在掃描的階段中對有效數(shù)據(jù)實體進(jìn)行硬鏈接數(shù)的計算,因此,臨時目錄節(jié)點(diǎn)就不需要創(chuàng)建了,這樣也免除了臨時目錄的刪除步驟,所以對掛載速度也有明顯的提高。 最后,基于以上的研究與改進(jìn),結(jié)合本項目的實際要求,對大容量閃存設(shè)備的JFFS2文件系統(tǒng)的掛載過程進(jìn)行了改進(jìn)的實踐。
標(biāo)簽:
FLASH
ARM
嵌入式閃存
實踐
上傳時間:
2013-07-26
上傳用戶:damozhi
-
MSP430自升級Monitor程序
p Monitor程序是為了對MSP430設(shè)備進(jìn)行遠(yuǎn)程或在線升級而設(shè)計的一段代碼,該
代碼事先植入到MSP430的FLASH中,該代碼能通過外部的IIC,UART,SPI等通訊
方式對存放在MSP430內(nèi)的用戶代碼進(jìn)行升級,這樣用戶無須產(chǎn)品召回,無須
拆箱等情況下對內(nèi)部的代碼進(jìn)行升級。
p Monitor程序自升級的過程其實就是借助430自身能寫FLASH的特點(diǎn),把要更新
的代碼通過通訊接口傳輸給Monitor,由Monitor程序把該代碼寫到指定的
FLASH空間上。該通訊方式主要由IIC、SPI、UART組成。
標(biāo)簽:
MSP
430
串口下載
程序
上傳時間:
2013-04-24
上傳用戶:dpuloku
-
NEC閃光胸牌電路板的構(gòu)成電路板是由單片機(jī)應(yīng)用電路部分和閃存編程器兩部分構(gòu)成的?!鰡纹瑱C(jī)應(yīng)用電路部分單片機(jī)應(yīng)用電路部分主要是由電池(1220),開關(guān)和NEC 78K0/KB2(uPD78F0500)8位閃存單片機(jī)構(gòu)成。把程序?qū)懭雴纹瑱C(jī)內(nèi)置的閃存存儲器,就可以進(jìn)行各種控制了。■閃存編程器部分閃存編程器是把PC里的程序?qū)懭雴纹瑱C(jī)的閃存存儲器的裝置。您得到的電路板上的閃存編程器部分只有配線沒有零部件,要寫入程序必須購置零部件后焊接,您只要花費(fèi)很少的經(jīng)費(fèi)和精力即可完成。關(guān)于閃存編程器的制作方法下面會做詳細(xì)說明。
標(biāo)簽:
NEC
閃存編程器
上傳時間:
2013-10-31
上傳用戶:frank1234
-
為了解決一些遠(yuǎn)程單片機(jī)設(shè)備不方便升級內(nèi)部程序的困難,本文提出了利用單片機(jī)系統(tǒng)中現(xiàn)有的數(shù)據(jù)獲取方式來升級單片機(jī)內(nèi)部程序的方法。本文利用凌陽16 位單片機(jī)可以自讀寫片內(nèi)程序空間的特性,通過在片內(nèi)駐留BootLoader 程序的方式實現(xiàn)了凌陽16 位單片機(jī)片內(nèi)程序的在需要時的遠(yuǎn)程升級。單片機(jī)獲取數(shù)據(jù)的方式可以有很多,本文選取通過串口獲取數(shù)據(jù)進(jìn)行程序升級為例,并選取常見的凌陽單片機(jī)SPCE061A 為例介紹了此方法的設(shè)計思路以及實現(xiàn)過程。單片機(jī)的應(yīng)用非常廣泛,在某些情況下,單片機(jī)內(nèi)部程序的升級在所難免,但是往往需要對單片機(jī)產(chǎn)品進(jìn)行收回才能實現(xiàn),這樣在一些遠(yuǎn)程設(shè)備的程序升級問題上就顯得非常不方便。但是有些遠(yuǎn)程設(shè)備本身留有遠(yuǎn)程通訊的方式:例如某些遠(yuǎn)程數(shù)據(jù)傳輸模塊,為了把數(shù)據(jù)上報總會留有通訊的接口,比如422、485 甚至GPRS 或者局域網(wǎng)接口;又或者某些車載定位設(shè)備,為了和監(jiān)控中心通訊會留有GSM、CDMA 或者GPRS 等通訊方式。在這種情況下就可以利用其現(xiàn)有的通訊方式對其內(nèi)部單片機(jī)程序進(jìn)行升級而不需要收回產(chǎn)品。本文的主要內(nèi)容就是來研究這種遠(yuǎn)程升級單片機(jī)程序的方法。由于近年來凌陽科技的單片機(jī),尤其是 16 位單片機(jī),得到了越來越多的推廣,其應(yīng)用領(lǐng)域越來越廣泛。本文選取一種常見的凌陽科技的16 位單片機(jī)SPCE061A 為例,來介紹單片機(jī)程序遠(yuǎn)程升級的方法。SPCE061A 里內(nèi)嵌了32K 字的閃存(FLASH),即可以作為程序存儲空間又可以存儲數(shù)據(jù),并且有自讀寫任意閃存地址的能力,本文利用這一功能,提出了通過在單片機(jī)中駐留BootLoader 程序的方法,來實現(xiàn)單片機(jī)程序的遠(yuǎn)程升級。遠(yuǎn)程升級的實現(xiàn),需要單片機(jī)自身的響應(yīng)同時還需要遠(yuǎn)程服務(wù)器提供升級所需的代碼。下文將通過這兩個方面來分別介紹。
標(biāo)簽:
單片機(jī)程序
遠(yuǎn)程升級
上傳時間:
2013-10-31
上傳用戶:yxgi5
-
子程序庫的使用方法如下:1.將子程序庫全部內(nèi)容鏈接在應(yīng)用程序之后,統(tǒng)一編譯即可。優(yōu)點(diǎn)是簡單方便,缺點(diǎn)是程序太長,大量無關(guān)子程序也包含在其中。 2.僅將子程序庫中的有關(guān)部分內(nèi)容鏈接在應(yīng)用程序之后,統(tǒng)一編譯即可。有些子程序需要調(diào)用一些低級子程序,這些低級子程序也應(yīng)該包含在內(nèi)。優(yōu)點(diǎn)是程序緊湊,缺點(diǎn)是需要對子程序庫進(jìn)行仔細(xì)刪節(jié)。MCS-51 浮點(diǎn)運(yùn)算子程序庫及其使用說明本浮點(diǎn)子程序庫有三個不同層次的版本,以便適應(yīng)不同的應(yīng)用場合: 1.小型庫(FQ51A.ASM):只包含浮點(diǎn)加、減、乘、除子程序。 2.中型庫(FQ51B.ASM):在小型庫的基礎(chǔ)上再增加絕對值、倒數(shù)、比較、平方、開平方、 數(shù)制轉(zhuǎn)換等子程序。 3.大型庫(FQ51.ASM):包含本說明書中的全部子程序。 為便于讀者使用本程序庫,先將有關(guān)約定說明如下: 1.雙字節(jié)定點(diǎn)操作數(shù):用[R0]或[R1]來表示存放在由R0或R1指示的連續(xù)單元中的數(shù) 據(jù),地址小的單元存放高字節(jié)。如果[R0]=1234H,若(R0)=30H,則(30H)=12H,(31H)=34H。 2.二進(jìn)制浮點(diǎn)操作數(shù):用三個字節(jié)表示,第一個字節(jié)的最高位為數(shù)符,其余七位為 階碼(補(bǔ)碼形式),第二字節(jié)為尾數(shù)的高字節(jié),第三字節(jié)為尾數(shù)的低字節(jié),尾數(shù)用雙字節(jié) 純小數(shù)(原碼)來表示。
標(biāo)簽:
51單片機(jī)
浮點(diǎn)
程序庫
上傳時間:
2013-10-15
上傳用戶:wmwai1314
-
紅外遙控接收;=================================================;; zsMCU51實驗板配套學(xué)習(xí)例程;; 中山單片機(jī)學(xué)習(xí)網(wǎng) 智佳科技;; 作者:逸風(fē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;以下為進(jìn)入P3.2腳外部中斷子程序,也就是解碼程序IR:MOV R6,#9SB:ACALL DELAY882 ;調(diào)用882微秒延時子程序JB P2.2,EXIT ;延時882微秒后判斷P3.2腳是否出現(xiàn)高電平如果有就退出解碼程序DJNZ R6, SB ;重復(fù)10次,目的是檢測在8820微秒內(nèi)如果出現(xiàn)高電平就退出解碼程序;以上完成對遙控信號的9000微秒的初始低電平信號的識別。JNB P2.2, $ ;等待高電平避開9毫秒低電平引導(dǎo)脈沖ACALL DELAY2400JNB P2.2,IR_Rp ;ACALL DELAY2400 ;延時4.74毫秒避開4.5毫秒的結(jié)果碼MOV R1,#1AH ;設(shè)定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
標(biāo)簽:
紅外遙控
接收程序
上傳時間:
2013-11-01
上傳用戶:2525775
-
實現(xiàn)動態(tài)顯示效果的方法和以上幾種基本類似,這里以滾動顯示為例作一說明。對于需要滾動的文字,可以將其設(shè)置為位圖格式,暫存于內(nèi)存中,然后利用VC 提供的位圖拷貝函數(shù)BitBlt將位圖復(fù)制到顯示位置。對于特殊字符或圖形,則可以直接利用BitBlt函數(shù)調(diào)用到顯示位置。然后在類CLEDDlg的 OnTimer函數(shù)中調(diào)用該函數(shù),以實現(xiàn)文字的滾動顯示。另外,也可以通過設(shè)定不同的響應(yīng)時間間隔來改變文字的滾動速度。
程序清單:
ORG 00H
LOOP: MOV A,#0FFH ;開機(jī)初始化,清除畫面
MOV P0,A ;清除P0口
ANL P2,#00 ;清除P2口
MOV R2,#200
D100MS: MOV R3,#250 ;延時100毫秒
DJNZ R3,$
DJNZ R2,D100MS
MOV 20H,#00H ;取碼指針的初值
l100: MOV R1,#100 ;每個字的停留時間
L16: MOV R6,#16 ;每個字16個碼
標(biāo)簽:
LED
顯示屏
動態(tài)顯示
程序
上傳時間:
2013-11-06
上傳用戶:zl520l
-
一個小型超市進(jìn)銷存系統(tǒng),包括進(jìn)貨、銷售、庫存、報表、收銀等方面,本程序主要演示如何利用JSP和Servlet技術(shù)建立一個基于web的應(yīng)用系統(tǒng)
標(biāo)簽:
進(jìn)銷存系統(tǒng)
上傳時間:
2014-12-08
上傳用戶:181992417
-
Demo程序經(jīng)Keil701編譯后,代碼量為7-8K,可直接在KeilC51上仿真運(yùn)行。 使用方法:解壓后雙擊yy項目,點(diǎn)調(diào)試即可在串口仿真看到結(jié)果。 Demo程序創(chuàng)建了3個任務(wù)A、B、C優(yōu)先級分別為2、3、4,A每秒顯示一次,B每3秒顯示一次,C每6秒顯示一次。從顯示結(jié)果看,顯示3個A后顯示1個B,顯示6個A和2個B后顯示1個C,結(jié)果顯然正確。用戶可以仿照范例運(yùn)用更多系統(tǒng)API函數(shù)寫出自己的程序。只要程序中有顯示語句就可以用軟件仿真器看結(jié)果。注意:系統(tǒng)提供的顯示函數(shù)是并發(fā)的,他不是直接顯示到串口,而是先輸出到顯存,用戶不必?fù)?dān)心IO慢速操作影響程序運(yùn)行。串口輸入也采用了同樣的技術(shù),他使得用戶在CPU忙于處理其他任務(wù)時照樣可以盲打輸入命令。 將EXL2-shell目錄下的文件覆蓋yy目錄下的同名文件,將word.c、yyshell.c、yyshellsub.c、mystring.c加入項目,刪除yy1.c,編譯后調(diào)試即可。輸入help可得到在線幫助,具體命令用法見文章說明。 yangye網(wǎng)友推薦http://www.sics.se/~adam/lwip/網(wǎng)站學(xué)習(xí)TCPIP,該網(wǎng)站開放源代碼的lwip是專為8bit和16bitMCU設(shè)計的TCPIP協(xié)議棧,已在多種CPU上移植成功,推薦大家下載。
標(biāo)簽:
Demo
Keil
701
程序
上傳時間:
2014-11-01
上傳用戶:hopy