Keil C51使用詳解Keil C51 是美國Keil Software 公司出品的51 系列兼容單片機C 語言軟件開發系統,與匯編相比,C 語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。用過匯編語言后再使用C 來開發,體會更加深刻。Keil C51 軟件提供豐富的庫函數和功能強大的集成開發調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發大型軟件時更能體現高級語言的優勢。下面詳細介紹 Keil C51 開發系統各部分功能和使用。第二節 Keil C51 單片機軟件開發系統的整體結構C51 工具包的整體結構,如圖(1)所示,其中uVision 與Ishell 分別是C51 forWindows 和for Dos 的集成開發環境(IDE),可以完成編輯、編譯、連接、調試、仿真等整個開發流程。開發人員可用IDE 本身或其它編輯器編輯C 或匯編源文件。然后分別由C51 及A51 編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51 創建生成庫文件,也可以與庫文件一起經L51 連接定位生成絕對目標文件(.ABS)。ABS 文件由OH51 轉換成標準的Hex 文件,以供調試器dScope51 或tScope51 使用進行源代碼級調試,也可由仿真器使用直接對目標板進行調試,也可以直接寫入程序存貯器如EPROM 中。圖(1) C51 工具包整體結構圖第三節 Keil C51 工具包的安裝81. C51 for Dos在 Windows 下直接運行軟件包中DOS\C51DOS.exe 然后選擇安裝目錄即可。完畢后欲使系統正常工作須進行以下操作(設C:\C51 為安裝目錄):修改 Autoexec.bat,加入path=C:\C51\BinSet C51LIB=C:\C51\LIBSet C51INC=C:\C51\INC然后運行Autoexec.bat2. C51 for Windows 的安裝及注意事項:在 Windows 下運行軟件包中WIN\Setup.exe,最好選擇安裝目錄與C51 for Dos相同,這樣設置最簡單(設安裝于C:\C51 目錄下)。然后將軟件包中crack 目錄中的文件拷入C:\C51\Bin 目錄下。第四節 Keil C51 工具包各部分功能及使用簡介1. C51 與A51(1) C51C51 是C 語言編譯器,其使用方法為:C51 sourcefile[編譯控制指令]或者 C51 @ commandfile其中 sourcefile 為C 源文件(.C)。大量的編譯控制指令完成C51 編譯器的全部功能。包控C51 輸出文件C.LST,.OBJ,.I 和.SRC 文件的控制。源文件(.C)的控制等,詳見第五部分的具體介紹。而 Commandfile 為一個連接控制文件其內容包括:.C 源文件及各編譯控制指令,它沒有固定的名字,開發人員可根據自己的習慣指定,它適于用控制指令較多的場合。(2) A51A51 是匯編語言編譯器,使用方法為:9A51 sourcefile[編譯控制指令]或 A51 @ commandfile其中sourcefile 為匯編源文件(.asm或.a51),而編譯控制指令的使用與其它匯編如ASM語言類似,可參考其他匯編語言材料。Commandfile 同C51 中的Commandfile 類似,它使A51 使用和修改方便。2. L51 和BL51(1) L51L51 是Keil C51 軟件包提供的連接/定位器,其功能是將編譯生成的OBJ 文件與庫文件連接定位生成絕對目標文件(.ABS),其使用方法為:L51 目標文件列表[庫文件列表] [to outputfile] [連接控制指令]或 L51 @Commandfile源程序的多個模塊分別經 C51 與A51 編譯后生成多個OBJ 文件,連接時,這些文件全列于目標文件列表中,作為輸入文件,如果還需與庫文件(.LiB)相連接,則庫文件也必須列在其后。outputfile 為輸文件名,缺少時為第一模塊名,后綴為.ABS。連接控制指令提供了連接定位時的所有控制功能。Commandfile 為連接控制文件,其具體內容是包括了目標文件列表,庫文件列表及輸出文件、連接控制命令,以取代第一種繁瑣的格式,由于目標模塊庫文件大多不止1 個,因而第2 種方法較多見,這個文件名字也可由使用者隨意指定。(2) Bl51BL51 也是C51 軟件包的連接/定位器,其具有L51 的所有功能,此外它還具有以下3 點特別之處:a. 可以連接定位大于64kBytes 的程序。b. 具有代碼域及域切換功能(CodeBanking & Bank Switching)c. 可用于RTX51 操作系統RTX51 是一個實時多任務操作系統,它改變了傳統的編程模式,甚至不必用main( )函數,單片機系統軟件向RTOS 發展是一種趨勢,這種趨勢對于186 和38610及68K 系列CPU 更為明顯和必須,對8051 因CPU 較為簡單,程序結構等都不太復雜,RTX51 作用顯得不太突出,其專業版軟件PK51 軟件包甚至不包括RTX51Full,而只有一個RTX51TINY 版本的RTOS。RTX51 TINY 適用于無外部RAM 的單片機系統,因而可用面很窄,在本文中不作介紹。Bank switching 技術因使用很少也不作介紹。3. DScope51,Tscope51 及Monitor51(1) dScope51dScope51 是一個源級調試器和模擬器,它可以調試由C51 編譯器、A51 匯編器、PL/M-51 編譯器及ASM-51 匯編器產生的程序。它不需目標板(for windows 也可通過mon51 接目標板),只能進行軟件模擬,但其功能強大,可模擬CPU 及其外圍器件,如內部串口,外部I/O 及定時器等,能對嵌入式軟件功能進行有效測試。
上傳時間: 2013-11-01
上傳用戶:zhouxuepeng1
8051系列單片機應用系統的PROTEUS仿真設計:介紹PROTEUS軟件的基礎上,以電扶梯單片機控制系統為實例來介紹如何采用PROTEUS軟件進行8051單片機應用系統仿真設計。關鍵詞:8051單片機 應用系統 PROTEUS軟件 keil c軟件 綁定 仿真單片機在電子產品中的應用已經越來越廣泛,由于市場競爭日趨激烈,要求新產品的開發周期越來越短。因此應運而生了單片機仿真技術。PROTEUS軟件是英國Labcenter electronics公司研發的EDA工具軟件。它是一個集模擬電路、數字電路、模/數混合電路以及多種微控制器系統為一體的系統設計和仿真平臺。是目前同類軟件中最先進、最完整的電子類仿真平臺之一。它真正實現了在計算機上完成從原理圖、電路分析與仿真、單片機代碼調試與仿真、系統測試與功能驗證到PCB板生成的完整的電子產品研發過程。1. PROTEUS軟件簡介PROTEUS從1989年問世至今,經過了近20年的使用、完善,功能越來越強、性能越來越好。運行PROTEUS軟件,計算機系統需具有:200MHz或更高的奔騰處理器,Win98/Me/2000/XP或更高版本的操作系統,64MB或以上的可用硬盤空間,64MB或以上的RAM空間,用PROTEUS VSM仿真時,則要求300MHz以上的奔騰處理器,如果專門使用PROTEUS VSM作實時仿真較大或較復雜的電路系統,則建議采用更高配置的計算機系統,以便獲得更好的仿真效果[1]。已經安裝了Proteus ISIS7軟件的桌面上就會有圖標 。雙擊該圖標,出現工作界面如圖1所示。界面中包括:標題欄、下拉主菜單、快捷按鈕欄、標準工具欄、繪圖工具箱、狀態欄、選擇元器件按鈕、預覽對象方位控制按鈕、仿真操作按鈕、預覽窗口、電路原理圖編輯窗口等。
上傳時間: 2013-11-05
上傳用戶:003030
三種方法讀取鍵值 使用者設計行列鍵盤介面,一般常採用三種方法讀取鍵值。 中斷式 在鍵盤按下時產生一個外部中斷通知CPU,並由中斷處理程式通過不同位址讀資料線上的狀態判斷哪個按鍵被按下。 本實驗採用中斷式實現使用者鍵盤介面。 掃描法 對鍵盤上的某一行送低電位,其他為高電位,然後讀取列值,若列值中有一位是低,表明該行與低電位對應列的鍵被按下。否則掃描下一行。 反轉法 先將所有行掃描線輸出低電位,讀列值,若列值有一位是低表明有鍵按下;接著所有列掃描線輸出低電位,再讀行值。 根據讀到的值組合就可以查表得到鍵碼。4x4鍵盤按4行4列組成如圖電路結構。按鍵按下將會使行列連成通路,這也是見的使用者鍵盤設計電路。 //-----------4X4鍵盤程序--------------// uchar keboard(void) { uchar xxa,yyb,i,key; if((PINC&0x0f)!=0x0f) //是否有按鍵按下 {delayms(1); //延時去抖動 if((PINC&0x0f)!=0x0f) //有按下則判斷 { xxa=~(PINC|0xf0); //0000xxxx DDRC=0x0f; PORTC=0xf0; delay_1ms(); yyb=~(PINC|0x0f); //xxxx0000 DDRC=0xf0; //復位 PORTC=0x0f; while((PINC&0x0f)!=0x0f) //按鍵是否放開 { display(data); } i=4; //計算返回碼 while(xxa!=0) { xxa=xxa>>1; i--; } if(yyb==0x80) key=i; else if(yyb==0x40) key=4+i; else if(yyb==0x20) key=8+i; else if(yyb==0x10) key=12+i; return key; //返回按下的鍵盤碼 } } else return 17; //沒有按鍵按下 }
上傳時間: 2013-11-12
上傳用戶:a673761058
Keil是業界最好的51單片機開發工具之一,它擁有流暢的用戶界面與強大的仿真功能。ARM將Keil公司收購之后,正式推出了針對ARM微控制器的開發工具RVMDK,它將ARM編譯器RVCT與Keil的工程管理、調試仿真工具集成在一起,是一款非常強大的ARM微控制器開發工具。2007年5月,ARM正式授權中國深圳英蓓特公司代理中文版RVMDK的出售事務。很多嵌入式系統開發工程師對ARM的老版本開發工具ADS1.2非常熟悉,而RVMDK與ADS相比較,從外觀、仿真流程以及內部二進制編譯鏈接工具上都有了不少改進,用法稍有不同。本主的主旨是介紹通用的流程,以及一些注意事項,幫助ADS1.2用戶將老的,遺留的ADS1.2工程轉化成在RVMDK上進行開發調試的工程。 ARM新推出的微控制器開發工具RVMDK與ADS1.2在工具架構組成上有一些不同,這些區別包括:不同版本的ARM編譯器(compiler),不同的調試器(debugger),不同的仿真器(simulator),以及不同的硬件調試單元。作為ARM的新一代微控制器開發工具,RVMDK不但包含ARM的最新版本編譯鏈接工具,即RVDS3.0的編譯鏈接工具,而且根據微控制器調試開發的特點采用了與ADS,RVDS完全不同的調試、仿真環境,uVision debugger 與simulator。 RVMDK集成了RVDS3.0的編譯工具RVCT3.0,與ADS1.2相比,除去編譯、連接工具的可執行二進制文件不同之外,RVCT3.0的很多編譯連接選項與ADS編譯器也有不同。
上傳時間: 2013-11-01
上傳用戶:1051290259
高級FPGA設計結構、實現和優化 作者:(美)克里茲著,孟憲元譯;出版社:機械工程出版社 學FPGA不一定需要開發板,自己學會modelsim仿真、寫testbench,用PC機仿真就能有不少長進。這些都看完,剩下的就靠做項目自己領悟,再加上高手指點。 《高級FPGA設計:結構、實現也優化》以FPGA設計為主題,覆蓋了實踐過程中最可能遇到的深層次問題,并提供了經驗指導。在某些方面,《高級FPGA設計:結構、實現也優化》能夠取代有限的工業經歷,免去讀者學習的困難。這種先進的、實用的方法,成為此書的特色。
標簽: FPGA
上傳時間: 2013-11-01
上傳用戶:zhaiyanzhong
現代數字信號處理從視頻擴展到了中頻甚至射頻,針對要求信號處理的處理速度越來越高、傳輸速率越來越快等特點,給出了一款使用高性能FPGA、DAC以及經先進的PCB設計工具設計、仿真的高速信號處理模塊,實現了對高速信號的實時接收和處理。關鍵詞:數字信號處理; 高速電路; FPGA;設計與仿真
上傳時間: 2013-10-21
上傳用戶:wendy15
本文將探討微控制器與 PSoC (可編程系統單晶片)在數位電視應用上的設計挑戰,並比較微控制器和 PSoC 架構在處理這些挑戰時的不同處,以有效地建置執行。
上傳時間: 2013-11-22
上傳用戶:gengxiaochao
LCD仿真器是一種電子產品的輔助開發工具。目前LCD(液晶屏)在各種電子產品的使用越來越廣泛,開發人員在開發帶LCD的產品時會用到各種各樣的LCD,這些LCD或是現有的,或是定制,現有的LCD不一定能完全滿足設計需要,定制LCD需要時間,需要資金,做好后還有修改的可能性,造成不必要的浪費。傳統的做法是用LED(發光管)+驅動電路來仿真LCD,其弊端有四,一、電路復雜,功耗大,100多點的LCD電流將達1A左右。二、圖案逼真性差,不直觀。三、制作、修改困難,靈活性差。四、通用性不強。 LCD仿真器完全克服了以上存在的問題,她采用軟硬件結合的方法,充分發揮軟件在作圖、運算方面的優勢,使仿真的圖案與目標LCD圖案完全一致,仿真LCD特性與目標LCD特性幾乎一樣,并提供強大的LCD圖形編輯工具,對于不同的LCD產品,LCD仿真器硬件不必更換,只需制作不同的LCD圖案,她的靈活性、通用性將是您開發LCD產品的理想選擇。 LCD仿真器由采樣板、仿真軟件和LCD圖形編輯軟件組成,采樣板通過USB口與PC機通信。 LCD仿真器可以方便地與HT1621、Winbond、SAMSUNG,中穎、十速HOLTEK、義隆等帶LCD DRIVER的單片機連接。
上傳時間: 2013-11-06
上傳用戶:行者Xin
高級FPGA設計結構、實現和優化 作者:(美)克里茲著,孟憲元譯;出版社:機械工程出版社 學FPGA不一定需要開發板,自己學會modelsim仿真、寫testbench,用PC機仿真就能有不少長進。這些都看完,剩下的就靠做項目自己領悟,再加上高手指點。 《高級FPGA設計:結構、實現也優化》以FPGA設計為主題,覆蓋了實踐過程中最可能遇到的深層次問題,并提供了經驗指導。在某些方面,《高級FPGA設計:結構、實現也優化》能夠取代有限的工業經歷,免去讀者學習的困難。這種先進的、實用的方法,成為此書的特色。
標簽: FPGA
上傳時間: 2013-11-01
上傳用戶:一諾88
一 、數模混合設計的難點 二、提高數模混合電路性能的關鍵 三、仿真工具在數模混合設計中的應用 四、小結 五、混合信號PCB設計基礎問答
上傳時間: 2013-10-31
上傳用戶:bvdragon