1.標(biāo)題:writing to PIC18f2420 Flash
問(wèn)題:只有保持寄存器的最后8字節(jié)作為“寫(xiě)”的結(jié)果出現(xiàn)在VSM的程序存儲(chǔ)器中(通過(guò)寫(xiě)設(shè)置EECON1 的WR位)。pic18f2420應(yīng)該像其它的轉(zhuǎn)移8位寄存器的數(shù)據(jù)一樣并列轉(zhuǎn)移64位寄存器數(shù)據(jù)。為什么會(huì)出現(xiàn)這樣的問(wèn)題呢?
2.標(biāo)題:Difference between models?
問(wèn)題 :近來(lái)我發(fā)現(xiàn)Proteus的庫(kù)中有許多的模型,VSM DLL模型,Schematic模型和Spice模型之間有什么不同啊?
答:在 Proteus正式版中,其幫助文件部分的TYPES OF MODEL章節(jié)詳細(xì)講解了這個(gè)問(wèn)題。
3.標(biāo)題:UART2 Interrupt not work in PIC
問(wèn)題:我使用CCS編輯器V.3.249和 PIC18F8720,將G1,G2管腳用作二級(jí)異步收發(fā)端口,我可以從這兩個(gè)端口收發(fā)數(shù)據(jù),但是仿真時(shí)不能使用中斷。為什么仿真時(shí)RDA2中斷不能工作呢?是不是因?yàn)镻roteus或者CCS呢?
答:請(qǐng)確認(rèn)你使用的Proteus版本并激活你的帳號(hào),然后再運(yùn)行仿真看看。
4.標(biāo)題:Error on Keil and Proteus co-simulating
問(wèn)題:我把Proteus 升級(jí)到SP4之后,每當(dāng)我用Keil 和Proteus聯(lián)調(diào)的時(shí)候,系統(tǒng)總是報(bào)告:"Error: Target DLL has been cancelled....",這是怎么回事呢?在Proteus演示版下一切都正常,在專(zhuān)業(yè)版中就出現(xiàn)這個(gè)問(wèn)題,而且在Proteus 6.9 SP4 professional 下,源代碼窗口中不能使用單步進(jìn)和單步出等調(diào)試按鈕工具。這是怎么回事呢?
答:1) 下載并安裝最新的VSM Keil Debugger Driver
2) 使能Proteus下的'Use Remote Debug Monitor'
3) 在Keil的工程選項(xiàng)下設(shè)置使用Proteus VSM Simulator
4) 在uVision Debug菜單下的Proteus VSM Simulator設(shè)置主機(jī)IP地址為127.0.0.1 端口為8000
5) 如果電腦安裝了防火墻,請(qǐng)?jiān)O(shè)置其“允許通過(guò)”的規(guī)則
6) 如果上述操作還不能奏效,那就只有卸載proteus專(zhuān)業(yè)版和演示版,然后再重裝專(zhuān)業(yè)版。
5.標(biāo)題:cmos 40106 timing
問(wèn)題:我在振蕩器中使用CMOS 40106反相器的時(shí)候,想知道當(dāng)它超出頻率的時(shí)候是怎么工作的;我知道可以通過(guò)給設(shè)計(jì)項(xiàng)目建立程序并在仿真時(shí)用顯示器觀測(cè)到它的頻率。
答:在你的電路中分別設(shè)置3組不同的R和C值,然后分別測(cè)量其輸出頻率,測(cè)量結(jié)果看起來(lái)會(huì)很接近VSM中顯示的結(jié)果:F = .6/RC。如果你想要電路達(dá)到預(yù)期的效果,可以將555作為振蕩器使用,其頻率和電壓是相對(duì)獨(dú)立的。
6.標(biāo)題:who can tell me for device creating
問(wèn)題:我在哪里可以找到我在PROTEUS中創(chuàng)建編輯的元器件的參考值啊?
答:可以在元器件的屬性中修改,先右鍵選中再左鍵單擊,在彈出的對(duì)話(huà)框中的頂部有一欄“component reference”在其空格區(qū)域中填入一個(gè)標(biāo)注號(hào)碼即可,且不要勾選其右邊的hidden選項(xiàng)。
7.標(biāo)題:proteus demo v6.9 sp4 and keil RVMD ARM3.01 a problem
問(wèn)題:我下載了最新版本的PROTEUS v6.9 sp4演示版和keil ARM RVMD V3.01用于仿真,但是在keil中啟動(dòng)代碼調(diào)試時(shí),IDE發(fā)出命令行缺失的警告,而且不能執(zhí)行單步運(yùn)行的命令。我的測(cè)試文件編輯得非常簡(jiǎn)單,而且 PROTEUS VSM與keil的連接看起來(lái)沒(méi)有什么錯(cuò)誤,出現(xiàn)這種問(wèn)題的原因是什么呢?
答:肯定是PROTEUS VSM與keil的連接有問(wèn)題
8.標(biāo)題:source code windows don’t work with F10 OR F11
問(wèn)題:在PROTEUS 6.7 SP3 版本下,導(dǎo)入COF文件并在調(diào)試模式下于源代碼調(diào)試窗口中,按下F10可以讓程序單步運(yùn)行,在actualization 6.9 sp3中用不了單步的工具,有何方法可以解決這個(gè)問(wèn)題嗎?
答:我在proteus 6.9 sp4版本下可以執(zhí)行單步命令,而且F10,F11等單步命令工具能否正常使用與所編程序的結(jié)構(gòu)有很大的關(guān)系。
9.標(biāo)題:LCD problem in proteus 6.7
問(wèn)題:用PIC 18F452單片機(jī)和LCD032設(shè)計(jì)了一個(gè)系統(tǒng),在LCD032上顯示兩行字符。程序在軟件上已經(jīng)經(jīng)過(guò)調(diào)試,沒(méi)有問(wèn)題,而且系統(tǒng)在proteus6.5 demo 版上運(yùn)行也很正常,可是LCD屏幕上只顯示一行信息,在proteus 6.9版本下情況也是如此,有什么方法可以解決呢?
答:在LCD顯示器的屬性中設(shè)置“TRACE=1”,然后在仿真日志中查看LCD接收到什么命令信息,很可能是顯示器在進(jìn)入第二行顯示模式時(shí)沒(méi)有收到命令或者是因?yàn)榻oLCD發(fā)送命令時(shí),它還沒(méi)有準(zhǔn)備好接收。請(qǐng)你注意觀察一下顯示器第二行的首地址是多少,這個(gè)首地址必須與LM032L的通訊地址相匹配才行,如果不匹配,必須在代碼中修改其地址。
10.標(biāo)題:simulating two microcontroller at the once
問(wèn)題:我不知道怎么做才能在一個(gè)設(shè)計(jì)項(xiàng)目中裝載兩個(gè)源代碼文件。如果我調(diào)試主控制器,另外一個(gè)控制器卻裝載不了其HEX和源代碼文件,我應(yīng)該把兩個(gè)源程序鏈接成一個(gè)嗎?
答: proteus可以同時(shí)仿真兩個(gè)以上的微控制器,也可讓一個(gè)微控制器運(yùn)行多個(gè)程序代碼文件,步驟如下:1)必須讓proteus工作在標(biāo)準(zhǔn)的獨(dú)立仿真 IDE中(不與其它軟件如keil聯(lián)調(diào)),如MPLAB,它能夠在單任務(wù)下實(shí)現(xiàn)對(duì)多核處理器的仿真。我們可以更好地比較容易地編輯編譯程序,然后根據(jù)固件的要求給處理器植入相應(yīng)的程序;例如把fred.cof文件植入mcuA,把bob.cof文件植入mcuB。
2)要注意電腦的配置的限制,對(duì)于一般標(biāo)準(zhǔn)的PC,在40MHZ的時(shí)鐘頻率下,同時(shí)聯(lián)網(wǎng)運(yùn)行4個(gè)PIC單片機(jī)構(gòu)成的系統(tǒng),系統(tǒng)將不能實(shí)時(shí)工作。所以如果對(duì)仿真的要求很高的話(huà),就相應(yīng)要求電腦有很高的配置。
11.標(biāo)題:graphic display 240×128
問(wèn)題:我想用T6963C微控制器設(shè)計(jì)一個(gè)系統(tǒng)來(lái)仿真一個(gè)240×128象素的圖形顯示器,但是proteus能夠支持的最大的顯示器的象素為240×64,我能不能得到更大象素的顯示器模型?
答:如果你是正版用戶(hù)的話(huà),在我們公司的技術(shù)論壇上可以看到一個(gè)模塊“model requests”,你可以向公司提出申請(qǐng),我們有一個(gè)免費(fèi)的SDK(軟件開(kāi)發(fā)工具包)贈(zèng)送,你只需要簽署一份保密協(xié)議。該SDK附有使用指南,有了該 SDK,你就可以自己創(chuàng)建復(fù)雜的器件模型。
12.標(biāo)題:KS103 Graphic LCD controller-ampire 12864
問(wèn)題:我有一項(xiàng)設(shè)計(jì)需要用到Atmega32和KS103 graphic LCD,可是proteus只有一個(gè)例子Bascom AVR (ks108),且運(yùn)行不了。
答:對(duì)于Bascom,系統(tǒng)不會(huì)產(chǎn)生調(diào)試文件,因?yàn)锳TMega不能支持裝載Basic語(yǔ)言程序,所以很難看到錯(cuò)誤發(fā)生在什么地方。我認(rèn)為ATMega進(jìn)入讀LCD初始化程序時(shí)的狀態(tài)字所需要的時(shí)間取決于嵌入在Bascom的驅(qū)動(dòng)程序。仿真模型(KS0108控制器)支持很多用C、匯編、Basic語(yǔ)言寫(xiě)的應(yīng)用軟件。我建議你按下列步驟操作一下:
1) 把LCD的時(shí)鐘頻率改為100KHZ,
2) 選擇system set animation options spice options DSIM,設(shè)置“contention handling”為忽略方式
也可以用T6963代替KS108
13.標(biāo)題:DC motor model
問(wèn)題:誰(shuí)能幫我設(shè)置一下DC motor的參數(shù)?
答: 一下是一種參考設(shè)置:
terminal inductance :2mH back-emf constant:0.47(v/1000rpm)
torque constant:4.49(mnm/A) terminal resistance:4.6(ohm)
rotor inertia:0.8(g*cmm) motor regulation R/K2^: 228(1000/NMS)
14.標(biāo)題:555 simulation
問(wèn)題:我想仿真555在非穩(wěn)態(tài)模式下頻率為10KHZ,占空比為35%,我該怎么用虛擬示波器觀察呢?
答:選中虛擬示波器后左擊,將其放置到原理圖中,將其的一個(gè)管腳連到555的第三號(hào)管腳,然后點(diǎn)擊“play”按鈕啟動(dòng)仿真,可以像真的示波器一樣調(diào)試其掃描、輸入等屬性,這樣就可以觀察到信號(hào)波形,如果需要精確定量測(cè)量波形的話(huà)建議你用圖形仿真工具。
15.標(biāo)題: DRIVER VSM MPLAB-PROTEUS windows XP
問(wèn)題:在哪里可以下載到MPLAB7.4的調(diào)試驅(qū)動(dòng)程序,ISIS demo版會(huì)因?yàn)関dmmplab.exe 26110/2005而不能在XP系統(tǒng)下工作嗎?
答:不需要下載驅(qū)動(dòng)程序,你需要的文件全部在6.9(不論是演示版還是專(zhuān)業(yè)版)。在安裝新的驅(qū)動(dòng)程序前應(yīng)該先卸載舊的MPLAB驅(qū)動(dòng)程序。如果還是不行,建議你重裝proteus。Proteus可以在 windows me/98/2000/xp多種系統(tǒng)下運(yùn)行。
16.標(biāo)題: maximum frequency
問(wèn)題:我搞了一個(gè)項(xiàng)目,必須給接收器發(fā)送一個(gè)頻率為915MHZ的信號(hào),我懷疑在如此高的頻率下,PROTEUS ISIS能否正常運(yùn)行,能夠用ISIS來(lái)仿真在發(fā)送器和接收器之間的高頻數(shù)據(jù)傳送嗎?
答:頻率對(duì)仿真來(lái)說(shuō)不是問(wèn)題,理論上正常的頻率可以超過(guò)十億GHZ。主要問(wèn)題是模型是理想的,很多等價(jià)模型,包括有寄生效應(yīng)的模型都被用到了。器件廠(chǎng)商可以免費(fèi)提供那些RF模型。傳輸線(xiàn)在幾何上沒(méi)有什么特別的定義與限制,他們?cè)诜抡鏁r(shí)采用C、R、L單位長(zhǎng)度,這就使直接仿真微波傳輸帶變得很困難。電磁仿真不同于直接的仿真,為了仿真波形傳輸、放射線(xiàn)、色度亮度干擾、電磁干擾等等,仿真器必須先解決麥克斯韋方程并提供3D空間形式的結(jié)果。有很多專(zhuān)用仿真器已經(jīng)面世,他們使用有限的狀態(tài)時(shí)域或者電磁矢量等可能的方法。
17.標(biāo)題:distortion graphs: which curves are which
問(wèn)題:我使用失真分析儀來(lái)研究一個(gè)電路,產(chǎn)生了兩條圖形曲線(xiàn)(諧波畸變波形)。手冊(cè)上規(guī)定:“通過(guò)在圖表上放置一個(gè)指針來(lái)確定一條圖形曲線(xiàn)。你正指向的曲線(xiàn)將在狀態(tài)欄的右邊被識(shí)別并顯示出來(lái)。”可是我沒(méi)有看到任何指示性的信息,我所看到的只是當(dāng)前X/Y的坐標(biāo)值。
答:通過(guò)點(diǎn)擊圖表頂端的標(biāo)題欄可以最大化圖表窗口,然后選擇一個(gè)圖表,在圖形的底部你將能夠看到2F1或者3F1,狀態(tài)欄上的文本標(biāo)簽對(duì)應(yīng)于相應(yīng)顏色的圖線(xiàn)。我們可以通過(guò)兩條豎直的坐標(biāo)線(xiàn)來(lái)測(cè)量圖形。
18.標(biāo)題:Any Flash in Proteus simunlation library?
問(wèn)題:我的ARM系統(tǒng)需要一個(gè) 型號(hào)為SST39VF016的FLASH,但是proteus的元件庫(kù)中并沒(méi)有這個(gè)器件啊?
答:如果你是正版用戶(hù)的話(huà),可以登錄我們公司的網(wǎng)站,在技術(shù)論壇的“model requests”模塊下提交你所需要的芯片模型的申請(qǐng),我們會(huì)單獨(dú)給你發(fā)過(guò)去的。
19.標(biāo)題:REAL TIME SIMULATION FAILED
問(wèn)題:我使用的是PROTEUS6.7正式版,且已經(jīng)通過(guò)注冊(cè),我在仿真的時(shí)候PROTEUS總是報(bào)告相同的錯(cuò)誤“real time simulation failed”,有誰(shuí)能告訴我錯(cuò)誤是怎么回事嗎,我怎樣才能得到proteus的使用指南呢?
答:你不妨把你的設(shè)計(jì)例子或者仿真日志發(fā)過(guò)來(lái)讓我看看,同時(shí)請(qǐng)注意一點(diǎn),如果是共享版用戶(hù)的話(huà),你只能運(yùn)行PIC16F84A的系統(tǒng)。
20.標(biāo)題:Proteus in linux
問(wèn)題:有沒(méi)有一些在LINUX下使用PROTEUS的方案?
答:我們目前還沒(méi)有計(jì)劃設(shè)計(jì)可以在linux下運(yùn)行proteus的軟件,主要是因?yàn)闆](méi)有實(shí)際上沒(méi)有足夠的可行性。
21.標(biāo)題:Simulation or Animation timings
問(wèn)題:我需要讓4個(gè)七段數(shù)碼管在屏幕上顯示每秒更新一次,但是我設(shè)置了動(dòng)畫(huà)選項(xiàng),它們還是更快地變化,有沒(méi)有什么好的解決該問(wèn)題的建議呢?
答:如果它們是多元顯示器的話(huà),要更新它們的顯示是非常少見(jiàn)的。所有的多元顯示器每次在傳送一個(gè)字符的時(shí)候點(diǎn)亮一個(gè)顯示單元,實(shí)際上只是數(shù)碼管點(diǎn)亮的時(shí)間間隔太短了,人的肉眼看起來(lái)像同時(shí)點(diǎn)亮一樣。如果你運(yùn)行的是針對(duì)于時(shí)鐘的仿真,且要每秒更新其顯示值,就需要更快地掃描顯示單元。在動(dòng)畫(huà)設(shè)置選項(xiàng)下, FRAMES PER SECOND將決定VSM刷新屏幕的頻率,其右下方的參數(shù)項(xiàng)TIMESTEPS PER FRAME 應(yīng)該是FPS的倒數(shù)。當(dāng)仿真運(yùn)行的時(shí)候,在屏幕的左下方觀察一下使用CPU的百分比。如果該百分比顯示為100%,就意味你的CPU已經(jīng)因?yàn)槌?fù)荷工作而不能達(dá)到你所設(shè)置的動(dòng)畫(huà)效果運(yùn)行的速度。很明顯,CPU的使用率將取決于你要求CPU處理的任務(wù)的多少,你的處理器時(shí)鐘速度有多快和你所指定的ARM的數(shù)量多少等等因素。請(qǐng)注意無(wú)論是proteus演示版還是專(zhuān)業(yè)版的破解版,都不能用來(lái)仿真新建的含有PIC系列單片機(jī)的系統(tǒng)。
22.標(biāo)題:CPU load 100% - What does this mean???
問(wèn)題:在運(yùn)行電路仿真的時(shí)候,在底部的狀態(tài)欄下顯示“CPU load 100%”,是什么意思?
答:“CPU load 100%”意味著電腦的CPU已經(jīng)以其最快的速度在工作,也意味著CPU趕不上你在ANIMATION SETTINGS下設(shè)定的渴望得到的動(dòng)畫(huà)刷新率。CPU LOAD是代表你想要仿真的速度和電腦能夠運(yùn)行的速度的綜合(即處理器的速度和RAM的速度)。數(shù)字仿真相對(duì)于模擬仿真容易進(jìn)行一些,速度更快一些。如果你想使電腦仿真得更快一些,你可以對(duì)電路進(jìn)行分塊仿真(對(duì)邏輯量或者交流耦合很有好處,但是不利于模擬量尤其是帶有直流耦合和直流反饋的模擬量)。
另外,你使用了一些例如555或者是晶體振蕩器等器件嗎?如果用了的話(huà),用信號(hào)源代替它們。理論上應(yīng)該盡量降低CPU的使用率,數(shù)字越低,電腦就有越多的空閑資源來(lái)按你所選擇的動(dòng)畫(huà)設(shè)置處理運(yùn)算并每秒顯示多少幀,與此同時(shí)“TIMESTEP”的數(shù)值應(yīng)該為每秒多少幀的倒數(shù)(例如:如果你想每秒顯示 10幀數(shù)據(jù),timestep的值應(yīng)該設(shè)為100毫秒。)如果你想不延時(shí)地向CPU傳送用于顯示的數(shù)據(jù),你可以將TIMESTEP的值設(shè)大一點(diǎn)。另一方面, 減慢動(dòng)畫(huà)的刷新率(frames per second)取決于你想要看到什么東西。在一些電路中,你可以在較低的時(shí)鐘下運(yùn)行仿真,結(jié)果是一樣的。
22.標(biāo)題:MMC Card simulation
問(wèn)題:有沒(méi)有誰(shuí)已經(jīng)購(gòu)買(mǎi)了labcenter公司網(wǎng)站上宣稱(chēng)為3維模型的MMC(多媒體控制器)虛擬仿真模型?
答:這個(gè)模型如今已經(jīng)出于我們的直接管理之下,它會(huì)被添加進(jìn)sp4的升級(jí)服務(wù)包里。
23.標(biāo)題:U14,RO (Output) connected
問(wèn)題:我在仿真電路的時(shí)候得到了如下信息:
WARNING: U14,RO (Output) connected toU1,RC7/RX/DT (I/O)
U14 is a MAX487
U1 is a PIC16F877A
這是怎么回事?
答:看起來(lái)不是仿真器的問(wèn)題,而是電氣規(guī)則檢查出來(lái)的問(wèn)題,說(shuō)明你的電路連接有問(wèn)題。請(qǐng)仔細(xì)檢查電路吧。
24.標(biāo)題:PIC18 C program
問(wèn)題:我使用MPLAB C編譯器,盡管在MPLAB環(huán)境下程序可以運(yùn)行,但是我不能實(shí)現(xiàn)ISIS的電路與MPLAB的聯(lián)合調(diào)試。當(dāng)我編譯的時(shí)候電腦就死機(jī)了,我已經(jīng)試過(guò)很多種代碼產(chǎn)生工具但是沒(méi)有一個(gè)起作用。我以前還沒(méi)有遇到過(guò)這種情況,所以迫切地需要幫助。
答:在Proteus ISIS中創(chuàng)建新的原理圖設(shè)計(jì)或者修改所設(shè)計(jì)的原理圖;
1)啟動(dòng)MAPLAB,創(chuàng)建或打開(kāi)已有的工程文件,如果需要的話(huà)還可以直接修改工程文件,然后在MPLAB的正常模式下編輯編譯程序,切換到ISIS,給ISIS中的PIC器件指定一個(gè)后綴名為“.cof”的文件作為其程序?qū)傩浴?/P>
2)在MPLAB中啟動(dòng)ISIS,在MAPLAB 的“Debugger”菜單下選擇“Proteus VSM”,系統(tǒng)將自動(dòng)在MAPLAB窗口的右邊彈出一個(gè)Proteus VSM的瀏覽窗口,如果其沒(méi)有自動(dòng)出現(xiàn),可以在MAPLAB的“View”菜單下選擇“Proteus VSM View”,隨后會(huì)彈出Proteus VSM的瀏覽窗口;
3)點(diǎn)擊MAPLAB上面靠右邊的綠色按鈕“start simulating/debugging”或者在MPLAB的“Debugger”菜單下選擇“start simulation”就可以開(kāi)始MAPLAB與PROTEUS的聯(lián)調(diào)了
注意PROTEUS和MPLAB的版本,微星公司在3.0版本更改了COFF文件,所以PROTEUS舊版本不支持新格式的COFF文件。
25.標(biāo)題:Proteus 6 Demo
問(wèn)題:為什么proteus 演示版不能仿真PIC16F630 or PIC16F676?
答:演示版的一些功能被限制了,所以不能仿真PIC16F630 or PIC16F676,如果你使用全能版的話(huà)絕對(duì)不會(huì)出現(xiàn)這個(gè)問(wèn)題。
26.標(biāo)題:80C31 Timer 0 ...
問(wèn)題:我設(shè)計(jì)了一個(gè)電路,用到了80c31的timer 0,然后在keil c中編輯程序并通過(guò)編譯且能正常工作,但是在proteus下不能工作,我找不到任何錯(cuò)誤因?yàn)殡娐吩趯?shí)際的硬件環(huán)境下能夠正常工作。
答:你不應(yīng)該使用定時(shí)器0模式(它是13位的),而應(yīng)該使用定時(shí)器1模式(它是16位的),所以它的計(jì)數(shù)范圍更大,很適合于你的設(shè)計(jì)。另一方面,你的設(shè)置TH0 = 0xff; TL0 = 0xff;有問(wèn)題,因?yàn)槿绻@樣設(shè)置的話(huà),在T0的下一個(gè)脈沖來(lái)到時(shí),定時(shí)器就會(huì)溢出了。
27.標(biāo)題:A question about compim
問(wèn)題:我想知道在PROTEUS中能否仿真串口或者RS232和其它的通訊端口,例如PROTEUS有一個(gè)例子文件叫做DataLog.DSN,它是開(kāi)放的虛擬控制臺(tái),但是如果我想編輯一項(xiàng)接收數(shù)據(jù)并可控制的應(yīng)用程序或者在DOS系統(tǒng)下啟動(dòng)一個(gè)用C語(yǔ)言編寫(xiě)的應(yīng)用程序,我該怎么做呢?
答:你需要兩個(gè)串行端口和一個(gè)零信號(hào)調(diào)制解調(diào)器電纜或者一個(gè)虛擬的串行端口巡回驅(qū)動(dòng)器。虛擬終端可以很好地仿真實(shí)際的終端,從而讓你看到電路工作的效果。我們還可以為VSM編寫(xiě)允許給DOS窗口傳遞數(shù)據(jù)的插件程序。
28標(biāo)題:compim help
問(wèn)題:我需要有關(guān)于串口設(shè)備的幫助,可以直接將串口設(shè)備連接到微控制器還是要使用RS232電壓轉(zhuǎn)換器呢?假設(shè)在正常的發(fā)送、接收情況下應(yīng)該連接除RX、TX、GND之外的其它東西嗎?能夠用VB語(yǔ)言編寫(xiě)串口的界面嗎?
答:你需要用串口(虛擬串行端口接口)代替虛擬終端,還必須在PC上有2個(gè)空閑的串行通訊端口和一根零訊號(hào)調(diào)制解調(diào)器電纜。假設(shè)串口1和串口2空閑,用前面所說(shuō)的電纜將兩個(gè)串口連接起來(lái),并設(shè)置串口為COM1端口,然后使用窗口終端并設(shè)置為COM2。你將看到在發(fā)送給虛擬終端之前的任何輸出現(xiàn)在被發(fā)送給windows終端
29.標(biāo)題:Help needed with VSM Proton+ PIC18 ALCD
問(wèn)題:我正使用PROTON+提供的與proteus vsm綁定的開(kāi)發(fā)板,我用到的板子包括了PIC18ALCD,帶有18F452處理器和一個(gè)字符LCD及4個(gè)LED。不管我怎么做,當(dāng)我給PORTD的 ANY管腳寫(xiě)數(shù)據(jù)的時(shí)候,無(wú)論置位LED還是給LCD寫(xiě)數(shù)據(jù),PORTD所有的管腳信號(hào)都被清零。如果我在原型板上運(yùn)行程序,就不會(huì)出現(xiàn)這種情況,代碼能夠正常運(yùn)行。我知道18F452有一種允許PORTD作為并行端口使用的功能所以它支持與圖形LCD的連接。但是無(wú)論我怎樣設(shè)置熔絲,又并聯(lián)PORTD的控制位,還是出現(xiàn)上述問(wèn)題。因此我懷疑問(wèn)題出在PROTN提供的PRINT.INC文件,該文件包含可以將PROTON的basic命令(例如 PRINT)轉(zhuǎn)換成匯編語(yǔ)言命令的程序代碼,不知何故,圖形LCD PRINT命令與字符LCD PRINT命令發(fā)生了混合,圖形LCD被PIC18 GLCD PROTEUS仿真器,而且PORTD并用作了并行端口。另外,當(dāng)我單步運(yùn)行PROTON+提供的樣本程序的代碼時(shí)也有這個(gè)問(wèn)題。所以我想知道怎樣才能確保18F452仿真器不并聯(lián)使用PORTD,怎樣才能使PROTON開(kāi)發(fā)板正常工作?
答:我用到了跟你一樣的開(kāi)發(fā)板,我使用PIC18_ALCD_VHB虛擬板和PROTON+ VER 3.2.4.8(1.0.4.6集成開(kāi)發(fā)環(huán)境)快速地檢查了SER_BUFF18.BAS,沒(méi)有發(fā)現(xiàn)任何你所提到的問(wèn)題。對(duì)于 SER_BUFF18.BAS and PIC18_ALCD_VHB,我所看到的是D1的LED連續(xù)地亮滅閃爍(周期為半秒),而且虛擬終端的輸入字符被顯示在LCD1的第一行,其第二行等待顯示緩沖器中的數(shù)據(jù),我可以更改LED符號(hào)的名稱(chēng)來(lái)實(shí)現(xiàn)任何一個(gè)LED(D1,D2,D3,D4)的閃爍,甚至可以通過(guò)增加LED的名稱(chēng)實(shí)現(xiàn)所有的LED 同時(shí)閃爍。具體設(shè)置如下:
Symbol LED1 = PORTD.1 ' Alias LED to PORTD.1
Symbol LED2 = PORTD.2 ' Alias LED to PORTD.2
Symbol LED3 = PORTD.3 ' Alias LED to PORTD.3
and including in the LOOP:
LOOP:
High LED ' Turn on LED connected to PORTD.0
High LED1 ' Turn on LED connected to PORTD.1
High LED2 ' Turn on LED connected to PORTD.2
High LED3 ' Turn on LED connected to PORTD.3
DelayMS 500 ' Wait 500mS
Low LED ' Turn off LED connected to PORTD.0
Low LED1 ' Turn off LED connected to PORTD.1
Low LED2 ' Turn off LED connected to PORTD.2
Low LED3 ' Turn off LED connected to PORTD.3
DelayMS 500 ' Wait another 500mS
30.標(biāo)題:Visual Basic Project needs a Device on compin
問(wèn)題:我用VB6為PIC18F542單片機(jī)系統(tǒng)設(shè)計(jì)了一個(gè)界面。調(diào)試工具實(shí)時(shí)執(zhí)行的時(shí)候我最關(guān)心的是 我沒(méi)有讓RS232的兩個(gè)端口連接我的PC,由此導(dǎo)致了我的設(shè)計(jì)程序有一半很難調(diào)試并運(yùn)行。有誰(shuí)能夠幫助我實(shí)現(xiàn)在一個(gè)仿真環(huán)境中應(yīng)用兩個(gè)串行端口而不會(huì)發(fā)生沖突問(wèn)題?
答:如果你只有一個(gè)物理串行端口,你就不能使用串口作為VB6程序的接口。任何的應(yīng)用軟程序本身都要占用串行接口而且windows會(huì)告知該端口已經(jīng)被占用。使用虛擬的串行端口驅(qū)動(dòng)程序可以實(shí)現(xiàn)你的電腦有你想要多少數(shù)量的串行端口,而且這些端口直接還可以建立連接。
31.標(biāo)題:A problem with timer0 and INT0
問(wèn)題:我想在外部中斷0信號(hào)到來(lái)的時(shí)刻啟動(dòng)定時(shí)器0,并讓定時(shí)器0中斷28次,但是現(xiàn)在定時(shí)器0中斷56次。通過(guò)圖表觀測(cè),發(fā)現(xiàn)外部中斷0只發(fā)生過(guò)一次,這是怎么回事呢?
32.標(biāo)題:Proteus & Mplab Debugging? Help!
問(wèn)題:我使用MPLAB7.40和Proteus6.7時(shí)遇到了一個(gè)問(wèn)題,那就是在PROTEUS下調(diào)試C18源代碼的時(shí)候,我不能輸入數(shù)據(jù)給寄存器(采用PIC18F452單片機(jī)),例如程序運(yùn)行到需要輸入數(shù)據(jù)的地方時(shí)我不知道怎么輸入數(shù)據(jù)因此程序就停在那了。在MPLAB這邊,我嘗試過(guò)在“watch window”中通過(guò)選擇“add SFR”按鈕然后給選擇的寄存器輸入數(shù)據(jù),但是沒(méi)有反應(yīng),這是對(duì)于輸入端口的管腳,但是對(duì)于輸出端口的管腳,我只要輸入數(shù)據(jù),其輸出就會(huì)改變了。在 Proteus下,我使用proteus中的鍵盤(pán)連接端口。
答:
33.標(biāo)題:MPLAB IDE V7.4 and Debugger
問(wèn)題:我在MPLAB集成開(kāi)發(fā)環(huán)境下的調(diào)試器下使用PROTEUS VSM的時(shí)候遇到了一個(gè)問(wèn)題,如果我將調(diào)試器由PROTEUS VSM改為MPLAB SIM或者什么都不用之后我再也不能返回采用PROTEUS VSM作為調(diào)試器了,而且啟動(dòng)仿真后在輸出窗口中就會(huì)收到如下的有關(guān)于錯(cuò)誤的信息:Initializing Proteus VSM Simulation...
Initializing simulation...
Proteus VSM Simulation encountered fatal error(s).
Failed to start the Proteus VSM simulation session.
Please ensure that you have loaded the correct design.
Proteus VSM Simulation stopped.
一旦我收到這個(gè)信息我就不得不重啟電腦。引起該問(wèn)題的原因是不是還有哪些地方?jīng)]有設(shè)置啊?
答:你沒(méi)有損失任何東西,你碰到的是一個(gè)經(jīng)常性的BUG問(wèn)題, SP4提供了一個(gè)系統(tǒng)文件,可以解決這個(gè)問(wèn)題。同時(shí),你不用調(diào)用PC結(jié)束任務(wù),你可以關(guān)閉所以的PROTEUS任務(wù)并打開(kāi)MPLAB。打開(kāi)任務(wù)管理器,停止ISIS‘stuck’的進(jìn)程(從進(jìn)程中選擇ISIS,點(diǎn)擊鼠標(biāo)右鍵,結(jié)束進(jìn)程)
34.標(biāo)題:Hex & Terminal
問(wèn)題:我需要通過(guò)串行端口給仿真電路輸入一個(gè)十六進(jìn)制的字節(jié),該怎么實(shí)現(xiàn)呢?
答:我認(rèn)為虛擬終端不能滿(mǎn)足你的要求。手冊(cè)上說(shuō)虛擬終端響應(yīng)CR,BS,&BELL,但是其它的代碼會(huì)被忽略。我嘗試過(guò)將兩個(gè)虛擬終端對(duì)接,并按住“CTR+A”(利用虛擬終端發(fā)送十六進(jìn)制數(shù)據(jù)01H),但是不起作用。因此我懷疑它不能正常工作的原因是它模擬的是ASCII終端。你可以使用虛擬終端作為輸入設(shè)備,每次輸入兩個(gè)字符并生成十六進(jìn)制數(shù)據(jù),然后發(fā)送給任務(wù)電路。另外,用模式信號(hào)發(fā)生器也可以實(shí)現(xiàn)你的愿望,盡管它的輸出數(shù)據(jù)流被限制在 1Kbyte。先創(chuàng)建一個(gè)模式文件并用作模式信號(hào)發(fā)生器的激勵(lì)源。
35.標(biāo)題:default simulation parameters
問(wèn)題:有沒(méi)有方法可以使PROTEUS恢復(fù)它默認(rèn)的仿真參數(shù)設(shè)置?
答:目前的版本還沒(méi)有這個(gè)功能,你要想恢復(fù)設(shè)置,只有按照它的默認(rèn)參數(shù)手動(dòng)去更改設(shè)置。具體可參照下圖:
36.標(biāo)題:Can see variables with VSM for PIC18 + PICC lite ?
問(wèn)題:我打算購(gòu)買(mǎi)有PIC18模型的PROTEUS VSM,我想知道如果我使用CCS(DSP的軟件操作平臺(tái)),我可以觀察變量嗎?我想要一個(gè)好的支持觀察變量的C語(yǔ)言編輯器,但是IAR的價(jià)格太高。誰(shuí)有什么好的建議嗎?
答:MCC18免費(fèi)學(xué)生版是一個(gè)不錯(cuò)的選擇哦,其注冊(cè)版雖然沒(méi)有什么使用限制,但是價(jià)格比較高。整合MCC18和PROTEUS MPLAB你就可以觀察到變量,設(shè)置斷點(diǎn)等等。MPLAB插件技術(shù)的一大優(yōu)點(diǎn)就是所有的編譯器賣(mài)主都會(huì)支持將MPLAB作為代碼產(chǎn)生的工具(他們需要產(chǎn)生 MPLAB兼容的COFF文件)。MPLAB從COFF文件中提取了調(diào)試數(shù)據(jù)以后,它就跟PROTEUS采用什么編輯器和什么匯編程序沒(méi)有什么關(guān)系了,因?yàn)檎{(diào)試器所需要的函數(shù)功能完全由MAPLAB提供。