第一篇:實驗四、RBF神經(jīng)網(wǎng)絡(luò)實驗報告
實驗
四、RBF神經(jīng)網(wǎng)絡(luò)
一、實驗目的
通過計算機編程實現(xiàn)并驗證RBF神經(jīng)網(wǎng)絡(luò)的曲線擬合及模式分類能力。
二、實驗內(nèi)容
1)用Matlab實現(xiàn)RBF神經(jīng)網(wǎng)絡(luò),并對給定的曲線樣本集實現(xiàn)擬合; 2)通過改變實驗參數(shù),觀察和分析影響RBF神經(jīng)網(wǎng)絡(luò)的結(jié)果與收斂速度的因素;
三、實驗原理、方法和手段
RBF網(wǎng)絡(luò)能夠逼近任意的非線性函數(shù),可以處理系統(tǒng)內(nèi)的難以解析的規(guī)律性,具有良好的泛化能力,并有很快的學習收斂速度,已成功應用于非線性函數(shù)逼近、時間序列分析、數(shù)據(jù)分類、模式識別、信息處理、圖像處理、系統(tǒng)建模、控制和故障診斷等。
簡單說明一下為什么RBF網(wǎng)絡(luò)學習收斂得比較快。當網(wǎng)絡(luò)的一個或多個可調(diào)參數(shù)(權(quán)值或閾值)對任何一個輸出都有影響時,這樣的網(wǎng)絡(luò)稱為全局逼近網(wǎng)絡(luò)。由于對于每次輸入,網(wǎng)絡(luò)上的每一個權(quán)值都要調(diào)整,從而導致全局逼近網(wǎng)絡(luò)的學習速度很慢。BP網(wǎng)絡(luò)就是一個典型的例子。
如果對于輸入空間的某個局部區(qū)域只有少數(shù)幾個連接權(quán)值影響輸出,則該網(wǎng)絡(luò)稱為局部逼近網(wǎng)絡(luò)。常見的局部逼近網(wǎng)絡(luò)有RBF網(wǎng)絡(luò)、小腦模型(CMAC)網(wǎng)絡(luò)、B樣條網(wǎng)絡(luò)等。
徑向基函數(shù)解決插值問題
完全內(nèi)插法要求插值函數(shù)經(jīng)過每個樣本點,即有P個。
RBF的方法是要選擇P個基函數(shù),每個基函數(shù)對應一個訓練數(shù)據(jù),各基函數(shù)形式為,由于距離是徑向同性的,因此稱為徑向基函數(shù)。
。樣本點總共||X-Xp||表示差向量的模,或者叫2范數(shù)。
基于為徑向基函數(shù)的插值函數(shù)為:
輸入X是個m維的向量,樣本容量為P,P>m??梢钥吹捷斎霐?shù)據(jù)點Xp是徑向基函數(shù)φp的中心。
隱藏層的作用是把向量從低維m映射到高維P,低維線性不可分的情況到高維就線性可分了。
將插值條件代入:
寫成向量的形式為維度無關(guān),當Φ可逆時,有,顯然Φ是個規(guī)模這P對稱矩陣,且與X的。
對于一大類函數(shù),當輸入的X各不相同時,Φ就是可逆的。下面的幾個函數(shù)就屬于這“一大類”函數(shù):
1)Gauss(高斯)函數(shù)
2)Reflected Sigmoidal(反常S型)函數(shù)
3)Inverse multiquadrics(擬多二次)函數(shù)
σ稱為徑向基函數(shù)的擴展常數(shù),它反應了函數(shù)圖像的寬度,σ越小,寬度越窄,函數(shù)越具有選擇性。
完全內(nèi)插存在一些問題:
1)插值曲面必須經(jīng)過所有樣本點,當樣本中包含噪聲時,神經(jīng)網(wǎng)絡(luò)將擬合出一個錯誤的曲面,從而使泛化能力下降。
由于輸入樣本中包含噪聲,所以我們可以設(shè)計隱藏層大小為K,K
2)基函數(shù)個數(shù)等于訓練樣本數(shù)目,當訓練樣本數(shù)遠遠大于物理過程中固有的自由度時,問題就稱為超定的,插值矩陣求逆時可能導致不穩(wěn)定。
擬合函數(shù)F的重建問題滿足以下3個條件時,稱問題為適定的: 解的存在性 解的唯一性 解的連續(xù)性
不適定問題大量存在,為解決這個問題,就引入了正則化理論。正則化理論
正則化的基本思想是通過加入一個含有解的先驗知識的約束來控制映射函數(shù)的光滑性,這樣相似的輸入就對應著相似的輸出。
尋找逼近函數(shù)F(x)通過最小化下面的目標函數(shù)來實現(xiàn):
加式的第一項好理解,這是均方誤差,尋找最優(yōu)的逼近函數(shù),自然要使均方誤差最小。第二項是用來控制逼近函數(shù)光滑程度的,稱為正則化項,λ
是正則化參數(shù),D是一個線性微分算子,代表了對F(x)的先驗知識。曲率過大(光滑度過低)的F(x)通常具有較大的||DF||值,因此將受到較大的懲罰。
直接給出(1)式的解:
權(quán)向量
(2)G(X,Xp)稱為Green函數(shù),G稱為Green矩陣。Green函數(shù)與算子D的形式有關(guān),當D具有旋轉(zhuǎn)不變性和平移不變性時,類Green函數(shù)的一個重要例子是多元Gauss函數(shù):
。這
正則化RBF網(wǎng)絡(luò)
輸入樣本有P個時,隱藏層神經(jīng)元數(shù)目為P,且第p個神經(jīng)元采用的變換函數(shù)為G(X,Xp),它們相同的擴展常數(shù)σ。輸出層神經(jīng)元直接把凈輸入作為輸出。輸入層到隱藏層的權(quán)值全設(shè)為1,隱藏層到輸出層的權(quán)值是需要訓練得到的:逐一輸入所有的樣本,計算隱藏層上所有的Green函數(shù),根據(jù)(2)式計算權(quán)值。廣義RBF網(wǎng)絡(luò)
Cover定理指出:將復雜的模式分類問題非線性地映射到高維空間將比投影到低維空間更可能線性可分。
廣義RBF網(wǎng)絡(luò):從輸入層到隱藏層相當于是把低維空間的數(shù)據(jù)映射到高維空間,輸入層細胞個數(shù)為樣本的維度,所以隱藏層細胞個數(shù)一定要比輸入層細胞個數(shù)多。從隱藏層到輸出層是對高維空間的數(shù)據(jù)進行線性分類的過程,可以采用單層感知器常用的那些學習規(guī)則,參見神經(jīng)網(wǎng)絡(luò)基礎(chǔ)和感知器。
注意廣義RBF網(wǎng)絡(luò)只要求隱藏層神經(jīng)元個數(shù)大于輸入層神經(jīng)元個數(shù),并沒有要求等于輸入樣本個數(shù),實際上它比樣本數(shù)目要少得多。因為在標準RBF網(wǎng)絡(luò)中,當樣本數(shù)目很大時,就需要很多基函數(shù),權(quán)值矩陣就會很大,計算復雜且容易產(chǎn)生病態(tài)問題。另外廣RBF網(wǎng)與傳統(tǒng)RBF網(wǎng)相比,還有以下不同:
徑向基函數(shù)的中心不再限制在輸入數(shù)據(jù)點上,而由訓練算法確定。各徑向基函數(shù)的擴展常數(shù)不再統(tǒng)一,而由訓練算法確定。
輸出函數(shù)的線性變換中包含閾值參數(shù),用于補償基函數(shù)在樣本集上的平均值與目標值之間的差別。
因此廣義RBF網(wǎng)絡(luò)的設(shè)計包括: 結(jié)構(gòu)設(shè)計--隱藏層含有幾個節(jié)點合適
參數(shù)設(shè)計--各基函數(shù)的數(shù)據(jù)中心及擴展常數(shù)、輸出節(jié)點的權(quán)值。下面給出計算數(shù)據(jù)中心的兩種方法:
數(shù)據(jù)中心從樣本中選取。樣本密集的地方多采集一些。各基函數(shù)采用統(tǒng)一的偏擴展常數(shù):
dmax是所選數(shù)據(jù)中心之間的最大距離,M是數(shù)據(jù)中心的個數(shù)。擴展常數(shù)這么計算是為了避免徑向基函數(shù)太尖或太平。
自組織選擇法,比如對樣本進行聚類、梯度訓練法、資源分配網(wǎng)絡(luò)等。各聚類中心確定以后,根據(jù)各中心之間的距離確定對應徑向基函數(shù)的擴展常數(shù)。
λ是重疊系數(shù)。
接下來求權(quán)值W時就不能再用行數(shù)大于列數(shù),此時可以求Φ偽逆。
了,因為對于廣義RBF網(wǎng)絡(luò),其
數(shù)據(jù)中心的監(jiān)督學習算法
最一般的情況,RBF函數(shù)中心、擴展常數(shù)、輸出權(quán)值都應該采用監(jiān)督學習算法進行訓練,經(jīng)歷一個誤差修正學習的過程,與BP網(wǎng)絡(luò)的學習原理一樣。同樣采用梯度下降法,定義目標函數(shù)為
ei為輸入第i個樣本時的誤差信號。
上式的輸出函數(shù)中忽略了閾值。
為使目標函數(shù)最小化,各參數(shù)的修正量應與其負梯度成正比,即
具體計算式為
上述目標函數(shù)是所有訓練樣本引起的誤差總和,導出的參數(shù)修正公式是一種批處理式調(diào)整,即所有樣本輸入一輪后調(diào)整一次。目標函數(shù)也可以為瞬時值形式,即當前輸入引起的誤差
此時參數(shù)的修正值為:
四、實驗結(jié)果
RBF神經(jīng)網(wǎng)絡(luò)函數(shù)用于線性回歸,用exp(PI*0.1)作為訓練數(shù)據(jù),然后輸入的測試數(shù)是exp(PI*0.1),其實際的輸出結(jié)果與預測的輸出結(jié)果完全一致,預測效果很好,其圖如下圖所示。
RBF神經(jīng)網(wǎng)絡(luò)函數(shù)用于分類,其實際的輸出結(jié)果與預測的輸出結(jié)果如下圖所示。
第二篇:BP神經(jīng)網(wǎng)絡(luò)實驗報告
BP神經(jīng)網(wǎng)絡(luò)實驗報告
一、實驗目的1、熟悉MATLAB中神經(jīng)網(wǎng)絡(luò)工具箱的使用方法;
2、通過在MATLAB下面編程實現(xiàn)BP網(wǎng)絡(luò)逼近標準正弦函數(shù),來加深對BP網(wǎng)絡(luò)的了解和認識,理解信號的正向傳播和誤差的反向傳遞過程。
二、實驗原理
由于傳統(tǒng)的感知器和線性神經(jīng)網(wǎng)絡(luò)有自身無法克服的缺陷,它們都不能解決線性不可分問題,因此在實際應用過程中受到了限制。而BP網(wǎng)絡(luò)卻擁有良好的繁泛化能力、容錯能力以及非線性映射能力。因此成為應用最為廣泛的一種神經(jīng)網(wǎng)絡(luò)。
BP算法的基本思想是把學習過程分為兩個階段:第一階段是信號的正向傳播過程;輸入信息通過輸入層、隱層逐層處理并計算每個單元的實際輸出值;第二階段是誤差的反向傳遞過程;若在輸入層未能得到期望的輸出值,則逐層遞歸的計算實際輸出和期望輸出的差值(即誤差),以便根據(jù)此差值調(diào)節(jié)權(quán)值。這種過程不斷迭代,最后使得信號誤差達到允許或規(guī)定的范圍之內(nèi)。
基于BP算法的多層前饋型網(wǎng)絡(luò)模型的拓撲結(jié)構(gòu)如上圖所示。
BP算法的數(shù)學描述:三層BP前饋網(wǎng)絡(luò)的數(shù)學模型如上圖所示。三層前饋網(wǎng)中,輸入向量為:;隱層輸入向量為:;輸出層輸出向量為:;期望輸出向量為:。輸入層到隱層之間的權(quán)值矩陣用V表示,其中列向量為隱層第j個神經(jīng)元對應的權(quán)向量;隱層到輸出層之間的權(quán)值矩陣用W表示,其中列向量為輸出層第k個神經(jīng)元對應的權(quán)向量。
下面分析各層信號之間的數(shù)學關(guān)系。
對于輸出層,有
對于隱層,有
以上兩式中,轉(zhuǎn)移函數(shù)f(x)均為單極性Sigmoid函數(shù):
f(x)具有連續(xù)、可導的特點,且有
以上共同構(gòu)成了三層前饋網(wǎng)了的數(shù)學模型。
當網(wǎng)絡(luò)輸出和期望輸出不相等時,存在輸出誤差E如下:
將以上誤差定義式展開至隱層,有
進一步展開至輸入層,有
由上式可以看出,網(wǎng)絡(luò)輸入誤差是兩層權(quán)值W和V的函數(shù),因此調(diào)整權(quán)值可以改變誤差E。
顯然,調(diào)整權(quán)值的原則是使誤差不斷的減小,因此應使權(quán)值的調(diào)整量與誤差的負梯度成正比,即:
式中負號表示梯度下降,常數(shù)表示比例系數(shù),在訓練中反映了學習速率。
容易看出,BP學習算法中,各層權(quán)值調(diào)整公式形式上都是一樣的,均有3個因素決定,即:學習速率、本層誤差信號和本層輸入信號X/Y。其中輸出層誤差信號同網(wǎng)絡(luò)的期望輸出與實際輸出之差有關(guān),直接反映了輸出誤差,而各隱層的誤差信號與前面各層的誤差信號都有關(guān),是從輸出層開始逐層反傳過來的。
三、程序
clc
clear
all
k=1;
n=10;
P=[-1:0.05:1];
T=sin(k*pi*P);
plot(P,T,'-');
title('要逼近的非線性函數(shù)');
xlabel('輸入向量');
ylabel('非線性函數(shù)目標輸出向量');
net=newff(minmax(P),[n,1],{'tansig','purelin'},'trainlm');
y1=sim(net,P);
net.trainParam.epochs=50;
net.trainParam.goal=0.01;
net=train(net,P,T);
y2=sim(net,P);
figure;
plot(P,T,'-',P,y1,'--',P,y2,'*');
title('訓練前后的網(wǎng)絡(luò)仿真結(jié)果對比');
xlabel('輸入向量');
ylabel('輸出向量');
legend('目標函數(shù)輸出向量','未訓練BP網(wǎng)絡(luò)輸出','已訓練BP網(wǎng)絡(luò)輸出');
仿真結(jié)果如下圖:
由仿真結(jié)果圖可以看出,未經(jīng)訓練的BP網(wǎng)絡(luò)輸出與目標函數(shù)差距很大,逼近效果不理想,而對BP網(wǎng)絡(luò)訓練之后的輸出可以較精確的逼近目標函數(shù),并且BP網(wǎng)絡(luò)的訓練迭代次數(shù)僅約1.2次,網(wǎng)絡(luò)的輸出目標誤差就達到了精度要求,收斂速度很快。函數(shù)逼近效果、網(wǎng)絡(luò)訓練的收斂速度與原始非線性函數(shù)的頻率、BP網(wǎng)絡(luò)隱含層單元神經(jīng)元的數(shù)目以及BP網(wǎng)絡(luò)訓練函數(shù)有關(guān)。
四、實驗結(jié)論
通過編程實現(xiàn)使用BP網(wǎng)絡(luò)對函數(shù)進行逼近,對BP網(wǎng)絡(luò)的信號和誤差傳遞的原理以及隱層、輸出層權(quán)值調(diào)整的規(guī)則有了充分的理解和認識。
BP網(wǎng)絡(luò)是一個強大的工具,它是應用最為廣泛的網(wǎng)絡(luò)。用于文字識別、模式分類、文字到聲音的轉(zhuǎn)換、圖像壓縮、決策支持等。
但是,通過實驗看出,它還是存在一定的不足。由于本實驗中采用的學習率是固定不變的,從而使得在函數(shù)逼近的時候在有些地方出現(xiàn)了偏離,如果能自適應的調(diào)整學習率,使網(wǎng)絡(luò)在學習初期具有較大的學習率,以快速逼近函數(shù),當已經(jīng)逼近理想輸出時再使用較小的學習率,來更加精準的去逼近函數(shù),這樣會得到更好的逼近效果和更小的錯誤率。
另外,BP網(wǎng)絡(luò)還具有收斂速度慢、容易陷入局部極小值的問題。這些問題通過對標準BP算法的改進能得到一定程度的解決。
第三篇:電子商務(wù)實驗報告實驗四
實驗四 手機銀行業(yè)務(wù)------招商銀行手機銀行業(yè)務(wù)及其
安全機制(選做)
一、實驗目的
1、掌握招商銀行手機銀行業(yè)務(wù)支付流程及相關(guān)概念;
2、了解招商銀行手機銀行業(yè)務(wù)的服務(wù)內(nèi)容;
3、理解招商銀行手機銀行業(yè)務(wù)的安全機制;
二、實驗內(nèi)容
1.瀏覽招商銀行網(wǎng)站(http://004km.cn/)
2.了解招商銀行手機銀行業(yè)務(wù)
3.熟悉招商銀行手機銀行業(yè)務(wù)(http://mobile.cmbchina.com/MobileWeb)的電子支付流程及有關(guān)規(guī)定。瀏覽并理解招商銀行手機銀行業(yè)務(wù)的安全機制.先登錄再進行各項業(yè)務(wù)的操作,并且記錄操作流程。
三、思考題:
1.思考網(wǎng)上手機銀行存在哪些安全問題?
手機銀行遇到的安全問題主要有兩個,一是手機遺失;二是手機遭黑客入侵。專家表示,若無動態(tài)密碼,若僅憑借賬號、賬戶的交易密碼和手機驗證碼操作,手機一旦被盜竊或驗證短信被復制、攔截,那么手機銀行的賬戶資金安全就會受到威脅。
2.你認為影響用戶進行手機支付的因素有哪些?
(1)大多數(shù)手機用戶都遭遇過垃圾信息(短信、彩信、電話)的騷擾。(2)機卡分離模式以及難以落實的手機實名制。
(3)手機支付在我國尚屬初級階段,運營商與銀行兩套系統(tǒng)間的業(yè)務(wù)融合一時難以完成。(4)手機支付利益各方還未達成統(tǒng)一的結(jié)算標準。
(5)雖然從技術(shù)上已經(jīng)解決了手機支付的安全問題,但手機支付標準的統(tǒng)一仍需一段時間。(6)長期以來使用現(xiàn)金、銀行卡消費已經(jīng)成為一種消費習慣.
第四篇:實驗四工業(yè)工程實驗報告2011
實驗四自動化立體倉庫作業(yè)
一、實驗目的了解自動化立體倉庫的入庫、移庫、出庫作業(yè)和電子標簽貨架系統(tǒng);根據(jù)產(chǎn)品生產(chǎn)線規(guī)劃設(shè)計AGV小車的運行軌跡。
二、實驗內(nèi)容
結(jié)合減速器裝配生產(chǎn)線進行入庫、移庫、出庫作業(yè)和電子標簽輔助揀選,規(guī)劃設(shè)計AGV小車的運行軌跡,用其為裝配線各工作站運送零件,完成減速器的裝配。
三、實驗步驟
1.將減速器箱體入庫到立體倉庫。
2.將其余零件入庫到電子標簽貨架。
3.規(guī)劃AGV小車領(lǐng)取零件運送至各工作站的運行軌跡。
4.運行AGV小車至電子標簽貨架,并進行零件出庫作業(yè)。
5.用AGV小車將零件運送至各工作站。
6.制定生產(chǎn)計劃,啟動流水線,進行減速器裝配作業(yè)。
7.對減速器成品進行移庫作業(yè)。
8.將減速器成品出庫。
第五篇:實驗四 存儲器部件實驗報告
實驗四 存儲器部件實驗
班級:通信111班 學號:201110324119 姓名:邵懷慷 成績:
一、實驗目的
1、熟悉ROM芯片和RAM芯片在功能和使用方法等方面的相同和差異之處;學習用編程器設(shè)備向EEPROM芯片內(nèi)寫入一批數(shù)據(jù)的過程和方法。
2、理解并熟悉通過字、位擴展技術(shù)實現(xiàn)擴展存儲器系統(tǒng)容量的方案。
3、了解靜態(tài)存儲器系統(tǒng)使用的各種控制信號之間正常的時序關(guān)系。
4、了解如何通過讀、寫存儲器的指令實現(xiàn)對58C65 ROM芯片的讀、寫操作。
5、加深理解存儲器部件在計算機整機系統(tǒng)中的作用。
二、實驗內(nèi)容
1、要完成存儲器容量擴展的教學實驗,需為擴展存儲器選擇一個地址,并注意讀寫和OE等控制信號的正確狀態(tài)。
2、用監(jiān)控程序的D、E命令對存儲器進行讀寫,比較RAM(6116)、EEPROM(28系列芯片)、EPROM(27系列芯片)在讀寫上的異同。
3、用監(jiān)控程序的A命令編寫一段程序,對RAM(6116)進行讀寫,用D命令查看結(jié)果是否正確。
4、用監(jiān)控程序的A命令編寫一段程序,對擴展存儲器EEPROM(28 系列芯片)進行讀寫,用D命令查看結(jié)果是否正確;如不正確,分析原因,改寫程序,重新運行。
三、實驗步驟
1、檢查擴展芯片插座的下方的插針要按下列要求短接:標有“/MWR”“RD”的插針左邊兩個短接,標有“/MRD”“GND”的插針右邊兩個短接。
2、RAM(6116)支持即時讀寫,可直接用A、E 命令向擴展的存儲器輸入程序或改變內(nèi)存單元的值。
(1)用E命令改變內(nèi)存單元的值并用D命令觀察結(jié)果。
1)在命令行提示符狀態(tài)下輸入:
E 2020↙
屏幕將顯示: 2020 內(nèi)存單元原值:
按如下形式鍵入:
2020 原值:2222(空格)原值:3333(空格)原值:4444(空格)原值:5555 ↙(1)結(jié)果
2)在命令行提示符狀態(tài)下輸入:
D 2020↙
屏幕將顯示從2020內(nèi)存單元開始的值,其中2020H~2023H的值為:
2222 3333 4444 5555
問題:斷電后重新啟動教學實驗機,用D命令觀察內(nèi)存單元2020~2023 的值。會發(fā)現(xiàn)
什么問題,為什么?
答:斷電結(jié)果:
斷電后重新啟動教學實驗機,用D命令觀察內(nèi)存單位2020~2023的值。會發(fā)現(xiàn)原來置入到這幾個內(nèi)存單位的值已經(jīng)改變,用戶在使用RAM時,必須每次斷電重啟后豆芽平重新輸入程序或修改內(nèi)存單位的值。(2)用A 命令輸入一段程序,執(zhí)行并觀察結(jié)果。
在命令行提示符狀態(tài)下輸入:
A 2000↙
屏幕將顯示: 2000:
按如下形式鍵入:
2000: MVRD R0,AAAA
MVRD R1,5555
AND R0,R1
RET
問題:采用單步和連續(xù)兩種方式執(zhí)行這段程序,察看結(jié)果,斷電后發(fā)生什么情況? 答:輸出結(jié)果
分析:從采用但不和連續(xù)兩種方式執(zhí)行這段程序,察看結(jié)果,斷電后發(fā)生什么情況R1的數(shù)據(jù)改變了。
3、將擴展的ROM芯片(27或28系列或28的替代產(chǎn)品58C65芯片)插入標有“EXTROMH”和“EXTROML”的自鎖緊插座,要注意芯片插入的方向,帶有半圓形缺口的一方朝左插入。如果芯片插入方向不對,會導致芯片燒毀。然后鎖緊插座。
4、將擴展的ROM 芯片(27或28系列或28的替代產(chǎn)品58C65芯片)插入標有“EXTROMH”和“EXTROML”的插座,要注意芯片插入的方向,帶有半圓形缺口的一方朝左插入。如果芯 片插入方向不對,會導致芯片燒毀。然后鎖緊插座。
5、將擴展芯片下方的插針按下列方式短接:將標有“/MWR”“ PGM”和“RD”的三個插針左面兩個短接,將標有“/MWR”“/OE”“GND”的三個插針左邊兩個短接。
6、將擴展芯片上方標有EXTROMH和EXTROML的“/CS”信號用自鎖緊線短接,然后短接到MEMDC 138 芯片的上方的標有“4000-5fff”地址單元。
注意:標有/CS 的圓孔針與標有MEM/CS 的一排圓孔針中的任意一個都可以用導線相連;連接的地址范圍是多少,用戶可用的地址空間就是多少。
下面以2764A 為例,進行擴展EPROM 實驗。
7、EPROM 是紫外線可擦除的電可改寫的只讀存儲器芯片。在對EPROM 進行重寫前必須先擦除并判斷芯片是否為空,再通過編程器進行編程。
(1)將芯片0000~001F 的內(nèi)存單元的值置成01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F(2)將編程好的芯片插在擴展芯片的高位,低位不插,按上面的提示插好插針。問題:
(1)用D命令查看內(nèi)存單元0000~001F的值,結(jié)果是什么?
(2)用E命令向芯片的內(nèi)存單元置入數(shù)值,再用D命令察看,原來的值是否發(fā)生改變?(3)用A命令向芯片所在的地址鍵入程序,用U命令反匯編,發(fā)現(xiàn)什么?為什么會出現(xiàn)這種
情況?
(4)將教學機斷電后重啟,用D命令看內(nèi)存單元0000~001F的內(nèi)容,數(shù)值是否發(fā)生變化? 下面以AT28C64B(或其替代產(chǎn)品58C65 芯片)為例,進行擴展EEPROM實驗。
8、AT28C64B的讀操作和一般的RAM一樣,而其寫操作,需要一定的時間,大約為1 毫秒。因此,需要編寫一延遲子程序,在對EEPROM進行寫操作時,調(diào)用該子程序,以完成正確的讀寫。(1)用E 命令改變內(nèi)存單元的值并用D命令觀察結(jié)果。1)在命令行提示符狀態(tài)下輸入: E 5000↙
屏幕將顯示: 5000 內(nèi)存單元原值: 按如下形式鍵入:
5000 原值:2424(按空格)原值:3636(按空格)原值:4848(按空格)原值:5050↙ 2)在命令行提示符狀態(tài)下輸入: D 5000↙
屏幕將顯示5000H~507FH 內(nèi)存單元的值,從5000 開始的連續(xù)四個內(nèi)存單元的值依次 為2424 3636 4848 5050。
3)斷電后重新啟動,用D命令察看內(nèi)存單元5000~5003的值,會發(fā)現(xiàn)這幾個單元的值沒有發(fā)生改變,說明EEPROM的內(nèi)容斷電后可保存。輸出結(jié)果:
分析:從輸出的結(jié)果來看斷電后重新啟動,用D命令察看內(nèi)存單位500~5003的值,會發(fā)現(xiàn)這幾個單位的值沒有發(fā)生改變,說明EEPROM的內(nèi)容斷電后可保存。
(2)AT28C64B存儲器不能直接用A 命令輸入程序,單字節(jié)的指令可能會寫進去,雙字節(jié)指令的低位會出錯(建議試一試),可將編寫好的程序用編程器寫入片內(nèi);也可將程序放到RAM(6116)中,調(diào)用延時子程序,訪問AT28C64B 中的內(nèi)存地址。
下面給出的程序,在5000H~500FH 單元中依次寫入數(shù)據(jù)0000H、0001H、...000FH。從2000H單元開始輸入主程序:(2000)MVRD R0,0000 MVRD R2,0010 ;R2記錄循環(huán)次數(shù)
MVRD R3,5000 ;R3的內(nèi)容為16 位內(nèi)存地址
(2006)STRR [R3],R0 ;將R0寄存器的內(nèi)容放到R3 給出的內(nèi)存單元中
CALA 2200 ;調(diào)用程序地址為2200的延時子程序 INC R0 ;R0加1 INC R3 ;R3加1 DEC R2 ;R2減1 JRNZ 2006 ;R2不為0跳轉(zhuǎn)到2006H RET 從2200H 單元開始輸入延時子程序:(2200)PUSH R3 MVRD R3,F(xiàn)FFF(2203)DEC R3 JRNZ 2203 POP R3 RET 運行主程序,在命令提示符下輸入:G 2000↙。輸出結(jié)果:
注意:運行G命令的時候,必須要將將標有“/MWR”“/OE”“GND”的三個插針右邊兩個短接。程序執(zhí)行結(jié)束后,在命令提示符下輸入:D 5000↙; 可看到從5000H開始的內(nèi)存單元的值變?yōu)?5000:0000 0001 0002 0003 0004 0005 0006 0007 5008:0008 0009 000A 000B 000C 000D 000E 000F。
四、思考題
1)為何能用E 命令直接寫AT28C64B的存儲單元,而A命令則有時不正確;
答:E命令是儲存寄存器指令A時監(jiān)控器指令,而E直接多個程序?qū)懭階T28C64B的存儲單元,寫入的速度快,A命令只能是一次寫入執(zhí)行一條程序,是延遲指令、所以用E命令直接寫A。T28C64B的存儲單元,而A命令則有時不正確。
2)修改延時子程序,將其延時改短,可將延時子程序中R3的內(nèi)容賦成00FF或0FFF等,再看運行結(jié)果。
五、實驗心得與體會
通過本次試驗的難度在于怎樣弄清楚ROM芯片和RAM芯片在功能和使用方法等方面的同和差異之處:學習編程器設(shè)備向EEPROM芯片內(nèi)寫入一批數(shù)據(jù)的過程跟方法的工作原理,我在我預習做試驗的時候,閱讀到計算機存儲器系統(tǒng)由ROM和RAM兩個存儲區(qū)組成,分別由EPROM芯片(或EEPROM芯片)和RAM芯片構(gòu)成。TEC-XP教學極端及中還了另外幾個存儲器器件插座,可以插上相應儲存器芯片成存儲器容量擴展的教學實驗,為此必須比較清楚的了解:是我們做實驗的一大難點,同時也是我們計算機組成原理 的重點。同時在做實驗的時候也遇到一些相應的疑問,RAM和EPROM、EEPROM存儲器芯片在讀寫控制跟寫入時間等方面的同異之處,并正確建立連接關(guān)系和在過程中完成正確的讀寫過程。