4位八段數(shù)碼管的十進制加計數(shù)仿真實驗,程序采用匯編語言編寫。此程序在仿真軟件上與EDN-51實驗板上均通過。仿真圖中的數(shù)碼管位驅動采用74HC04,如按EDN-51板上用想同的PNP三極管驅動在仿真軟件上則無法正常顯示。程序共分5塊,STAR0為數(shù)據(jù)初始化,STAR2為計數(shù)子程序,STAR3為4位數(shù)碼管動態(tài)顯示子程序,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句,經小組成員建議,本人經幾天的研究寫了下面的這個程序,現(xiàn)在的程序用了63句,精簡了230句。功能沒有減。如誰有更簡練的程序,請發(fā)上來,大家一起學習。 4位八段數(shù)碼管的十進制加計數(shù)仿真實驗(含電路圖和仿真文件)
上傳時間: 2013-10-11
上傳用戶:sssl
光盤內容1.1例 程 “例程”文件夾中為各章節(jié)的程序代碼,均在作者的目標板上(自行開發(fā))調試通過,以確保程序正確。n Keil C對中文文件、目錄以及空格等可能無法編譯連接,所以若要正確調試,須確保所有文件、目錄為連續(xù)英文名或數(shù)字。n 這些程序應用到其他C8051Fxxx系列單片機時,要確保各個操作寄存器的名稱、地址與各個控制位相一致,否則需要修改。很多寄存器位的位置并不相同,所以移植程序時,使用者要參考F040寄存器和移植對象單片機的寄存器,以確保正確操作。1.2 原理圖及pcb封裝“原理圖及pcb封裝”文件夾里包含作者制作的C8051F040PCB封裝和原理圖引腳定義文件c8051f040.ddb。其中PCB封裝與Silicon Laboratories公司(原Cygnal公司)提供的TQ100封裝稍有不同(在cygnalpcb文件中): 作者所做引腳長為2.5 mm,而cygnalpcb文件中的引腳長為1.3 mm。加長引腳焊盤是為了方便手工焊芯片。用戶可根據(jù)需要和習慣選擇封裝。
上傳時間: 2013-11-19
上傳用戶:
單片機萬年歷設計(含程序和原理圖以及PCB文件),盡供學習哦。
上傳時間: 2013-12-18
上傳用戶:familiarsmile
更新說明: 1。界面采用新的字體,不會再有那種難看的黑色粗體字,比以前的要漂亮多了。 2。加入全面的提示幫助,盡量減少普通用戶的各種疑惑。 3。修正生成文件的擴展名的一些BUG,不會總是加上FON的擴展名了。 4。修正生成字模數(shù)據(jù)的一些格式BUG,現(xiàn)在生成的C51格式字模數(shù)據(jù)基本上可以直接粘貼到源程序中使用而不需要修改了 5。加入新的字模數(shù)據(jù)格式調整項,允許用戶更自由的定制自己需要的數(shù)據(jù)格式 6。最重要的更新:全面支持保存當前設置功能,用戶設置的字模格式,主窗口狀態(tài)和字庫生成窗口選項信息均可保存,下一次打開窗口時不用重新設置(由于要全面更改程序使用的變量結構,所以這部分化了很多時間)。 7。修正了新建圖象時會自動跳到圖形模式的BUG 8。增加輸出緊湊格式數(shù)據(jù)選項,可以生成不包含空白行的字模數(shù)據(jù)。 9。完善了每行數(shù)據(jù)顯示個數(shù)的功能,可以任意設置每行顯示的數(shù)據(jù)個數(shù),并同時可以設置每行索引數(shù)據(jù)顯示個數(shù)。 10。修正了取模說明的一些錯誤,并改動了格式。 11。現(xiàn)在當用戶選擇10進制輸出時,會自動去掉生成字模數(shù)據(jù)前的“0x",或后面的“H”,選擇16進制時則會自動加上。 12。對各個窗體重新設計以全面適應最大化的需要,如果您覺得當前窗口不夠大,可以最大化使用。 13。增加生成英文點陣字庫功能,可自動生成ASCII碼從0-127的任意點陣字庫,使用方法同生成國標點陣字庫功能。 14。再次優(yōu)化代碼,去掉各種調試信息,使程序速度再快一些。 15。還有一些細微的調整我記不清了…… 需要注意的地方: 在測試的過程中我發(fā)現(xiàn)了一個問題:在WIN98或WINME下當用戶需要生成特大點陣的字模時(例如320*320,1024*768的漢字字模),此時由于數(shù)據(jù)量非常龐大,而WIN98/WINME會有64K的數(shù)據(jù)容量限制,所以在主窗口中是無法得到全部的字模數(shù)據(jù)的,這時您需要使用字庫生成功能,通過形成一個數(shù)據(jù)文件才能得到完整的字模數(shù)據(jù)。 另外生成特大字模時如果出現(xiàn)“內存不足”的提示,請把液晶仿真面板的像素點改小一些,這樣可以節(jié)省內存。
上傳時間: 2013-10-17
上傳用戶:fengzimili
DSP文件
標簽: CMD
上傳時間: 2014-12-28
上傳用戶:yuanxiaoqiang
本資料是關于基于Quartus II FPGA/CPLD數(shù)字系統(tǒng)設計實例(VHDL源代碼文件),需要的可以自己下載。
上傳時間: 2013-10-13
上傳用戶:caiiicc
本資料是FPGA開發(fā)板DIY 腳本文件。
上傳時間: 2013-11-24
上傳用戶:RQB123
VC 基于UDP協(xié)議的網絡文件傳輸源碼
上傳時間: 2013-10-19
上傳用戶:gtzj
展訊下載工具使用說明
上傳時間: 2013-11-10
上傳用戶:JasonC
展訊NVEDITOR
上傳時間: 2013-10-23
上傳用戶:Altman