對于初學者來說,還有些不直觀,調試過程中看到的是一些數值,并沒有看到這些數值所引起的外圍電路的變化,例如數碼管點亮、發光管發光等。為了讓初學者更好地入門,筆者利用Keil 提供的AGSI 接口開發了兩塊仿真實驗板。這兩塊仿真板將枯燥無味的數字用形象的圖形表達出來,可以使初學者在沒有硬件時就能感受到真實的學習環境,降低單片機的入門門檻。圖1 是鍵盤、LED 顯示實驗仿真板的圖,從圖中可以看出,該板比較簡單,有在P1 口接有8 個發光二極管,在P3 口接有4 個按鈕,圖的右邊給出了原理圖。圖2 是另一個較為復雜的實驗仿真板。在該板上有8 個數碼管,16 個按鍵(接成4*4 的矩陣式),另外還有P1 口接的8個發光管,兩個外部中斷按鈕,一個帶有計數器的脈沖發生器等資源,顯然,這塊板可以完成更多的實驗。
上傳時間: 2013-10-18
上傳用戶:nanshan
Smith控制算法仿真與控制:了解計算機控制過程,及用不同種高級語言編寫實驗程序的方法與特點。了解Smith算法和程序設計。掌握階躍信號、自定義信號下,Smith算法的參數整定及被控對象的仿真與控制。了解組態軟件在工業自動化方面的應用和基本使用方法。 單回路溫度控制箱A/D、DA轉換板溫度檢測元件XMZ數字顯示儀萬用表 1 Smith控制算法的參數整定仿真,繪制仿真曲線。2 Smith控制算法實時控制的參數整定,繪制實時控制曲線。
上傳時間: 2013-11-25
上傳用戶:europa_lin
用C51寫的普通拼音輸入法源程序代碼:原作使用了一個二維數組用以查表,我認為這樣比較的浪費空間,而且每個字表的索引地址要手工輸入,效率不高。所以我用結構體將其改寫了一下。就是大家現在看到的這個。 因為代碼比較的大,共有6,000多漢字,這樣就得要12,000 byte來存放GB內碼,所以也是沒辦法的.編譯結果約為3000h,因為大部分是索引表,代碼優化幾乎無效。 在Keil C里仿真芯片選用的是華邦的W77E58,它有32k ROM, 256B on-chip RAM, 1K on-chip SRAM (用DPTR1指針尋址,相當于有1K的片上xdata)。條件有限,沒有上片試驗,仿真而已。 打算將其移植到AVR上,但CodeAVRC與IAR EC++在結構體、指針的定義使用上似乎與C51不太一樣,現在還未搞定。還希望在這方面有經驗的網友能給予指導。 #include<stdio.h> char * py_ime(char *); void main(void){ while(1) { char input_string[]="yI"; xdata char chinese_string[255]; sprintf(chinese_string,"%s",py_ime(input_string)); }}
上傳時間: 2013-10-30
上傳用戶:cainaifa
4位八段數碼管的十進制加計數仿真實驗,程序采用匯編語言編寫。此程序在仿真軟件上與EDN-51實驗板上均通過。仿真圖中的數碼管位驅動采用74HC04,如按EDN-51板上用想同的PNP三極管驅動在仿真軟件上則無法正常顯示。程序共分5塊,STAR0為數據初始化,STAR2為計數子程序,STAR3為4位數碼管動態顯示子程序,STAR4為按鍵掃描子程序,STS00是延時子程序。由于EDN-51實驗板上沒裝BCD譯碼器,所以編寫程序比較煩瑣。 程序如下: ORG 0000H LJMP STAR0 ;轉程序 SRAR0ORG 0200H ;程序地址 0200HSTAR0: CLR 00 ;位 00 清 0 MOV P1,#0FFH ;#0FFH-->P1 MOV P2,#0FH ;#0FH-->P2 MOV P0,#0FFH ;#0FFH-->P0 MOV 30H,#00H ;#00H-->30H MOV 31H,#00H ;#00H-->30H MOV 32H,#00H ;#00H-->30H MOV 33H,#00H ;#00H-->30H LJMP STAR3 ;轉程序 SRAR3STAR2: MOV A,#0AH ;#0AH-->A INC 30H ;30H+1 CJNE A,30H,STJE ;30H 與 A 比較,不等轉移 STJE MOV 30H,#00H ;#00H-->30H INC 31H ;31H+1 CJNE A,31H,STJE ;31H 與 A 比較,不等轉移 STJE MOV 31H,#00H ;#00H-->31H INC 32H ;32H+1 CJNE A,32H,STJE ;32H 與 A 比較,不等轉移 STJE MOV 32H,#00H ;#00H-->32H INC 33H ;33H+1 CJNE A,33H,STJE ;33H 與 A 比較,不等轉移 STJE MOV 33H,#00H ;#00H-->33H MOV 32H,#00H ;#00H-->32H MOV 31H,#00H ;#00H-->31H MOV 30H,#00H ;#00H-->30HSTJE: RET ;子程序調用返回STAR3: MOV R0,#30H ;#30H-->R0 MOV R6,#0F7H ;#0F7H-->R6SMG0: MOV P1,#0FFH ;#0FFH-->P1 MOV A,R6 ;R6-->A MOV P1,A ;A-->P1 RR A ;A向右移一位 MOV R6,A ;A-->R6 MOV A,@R0 ;@R0-->A ADD A,#04H ;#04H-->A MOVC A,@A+PC ;A+PC--> MOV P0,A ;A-->P0 AJMP SMG1 ;轉程序 SMG1SDATA: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H SMG1: LCALL STAR4 ;轉子程序 SRAR4 LCALL STS00 ;轉子程序 STS00 INC R0 ;R0+1 CJNE R6,#07FH,SMG0 ;#07FH 與 R6 比較,不等轉移 SMG0 AJMP STAR3 ;轉程序 SRAR3STAR4: JNB P2.0,ST1 ;P2.0=0 轉 ST1 CLR 00 ;位 00 清 0 SJMP ST3 ;轉ST3ST1: JNB 00,ST2 ;位 00=0 轉 ST2 SJMP ST3 ;轉 ST3ST2: LCALL STAR2 ;調子程序 STAR2 SETB 00 ;位 00 置 1ST3: RET ;子程序調用返回ORG 0100H ;地址 0100HSTS00: MOV 60H,#003H ;#003H-->60H (211)DE001: MOV 61H,#0FFH ;#0FFH-->61H (255)DE002: DJNZ 61H,DE002 ;61H 減 1 不等于 0 轉 DE002 DJNZ 60H,DE001 ;60H 減 1 不等于 0 轉 DE001 RET ;子程序調用返回 END ;結束 上次的程序共有293句,經小組成員建議,本人經幾天的研究寫了下面的這個程序,現在的程序用了63句,精簡了230句。功能沒有減。如誰有更簡練的程序,請發上來,大家一起學習。 4位八段數碼管的十進制加計數仿真實驗(含電路圖和仿真文件)
上傳時間: 2013-10-11
上傳用戶:sssl
使用注意:注意燒寫的時候不要勾選SC0,SC1這兩項加密項也不要選 初學51單片機或是業余玩玩單片機開發,每次總要不斷的調試程序,如沒有仿真器又不喜歡用軟件仿真,那只有每次把編譯好的程序燒錄到芯片上,然后在應用電路或實驗板上觀察程序運行的結果,對于一些小程序這樣的做好也可以很快找到程序上的錯誤,但是程序大了,變量也會變的很多,而直接燒片就很難看到這些變量的值了,在修改程序時還要不斷的燒片實驗,確實很麻煩,這時如果有一臺仿真器就會變得很好方便了。但一臺好的仿真器對于業余愛好者來說確實有一些貴,在這里介紹這種易于自制的51芯片仿真器雖然有一些地方不夠完善,但還是非常適于初學51單片機的朋友和經濟能力不是很好的業余愛好者?! ?nbsp;這個仿真器的仿真CPU是使用SST公司的SST89C58或SST89C54(其它相容的芯片也可,這里主要講述SST89C58),對于沒有可以燒寫SST89C58芯片的朋友應該選用CA版本的SST89C58芯片,這個CA型號的芯片出廠時已內置了BSL1.1E的固件程序。那什么是BSL呢?BSL就是英文BOOT-Strap Loader,意思就是可引導裝載,形象來說就像電腦用DOS起動盤起動后可以裝載應用程序并運行。只不過SST89C58是用串口來輸入程序資料的。為了能把編譯好的單片機程序HEX或BIN文件下載到SST89C58芯片上,SST公司還提供了一種叫EasyIAP的軟件,IAP為In-Application Programming,有了這個軟件就可以把SST89C54變為在線下載的實驗器。
上傳時間: 2013-11-18
上傳用戶:gonuiln
Emu51Form是一個軟仿真計時器,copy到keil\c51\bin下 project->option for target "target 1"->debug->dialog.dll->parameter改為-p51R -dEmu51Form即可在keil 7.0運行成功,因為使用的一些函數是在最新的AGSI文檔中獲得,所以大家試試在6.23下能不能用。
上傳時間: 2013-10-28
上傳用戶:15736969615
文中提出的卷積碼譯碼Matlab仿真方案,旨在用Viterbi譯碼實現對卷積碼譯碼的功能。仿真結果表明,維特比是一種良好的譯碼方式。
上傳時間: 2013-11-16
上傳用戶:gai928943
在FPGA進行算法驗證的時候,經常需要輸入仿真數據,這些數據可以用FPGA產生,但是如果數據產生過程很復雜的話,需要耗費很大的精力,并且產生的數據的準確性也不能保證。
上傳時間: 2013-10-10
上傳用戶:liujinzhao
ALTERA公司:用ModelSimSE進行功能仿真和時序仿真的方法(ALTERA篇)之學習筆記
標簽: ModelSimSE 時序仿真
上傳時間: 2013-11-08
上傳用戶:qingdou
摘要:單片機學習包括理論與實踐學習, 而實踐學習所占比例相對較多、 硬件投入大 ,在實踐學習中需要大量的實驗儀器和設備 在具體的工程實踐中 如果因為方案有誤而進行相應的開發設計 會浪費較多的時間和經費 一般的單位或個人由于沒有較多的經費投入導致實踐學習環節比較薄弱 提出一種新的思路 較為全面地闡述采用軟件仿真實驗的方法。
上傳時間: 2013-10-18
上傳用戶:ca05991270