《一篇詳細的KEIL C51 UV2使用教程》
(這篇文章在2001年由w78713發表在C51新聞組,很古老但也很實用!)
這裡我大致說說怎麼開始keil vision2,因為我剛開始用它,不當之處請莫見笑!希望可以互相交流,共同促進。
1、首先是新建一個*.c文件(file new),寫入你的程序,保存;
2、由(project new project)建立新工程,按程序要求輸入工程名(默認後綴是.uv2),確定後彈出對話框提示你選單片機,比如我是選atmel的89c52,然後確定;
3、由(view project window)打開project window,在工程管理區顯示有一個target1的文件夾,單擊其前面的+號打開該文夾,可看到有一個名為source group1的子文件夾,右擊它,在彈除菜單裡選擇add file to group 'source group1', 在彈出『打開』對話框裡選中剛才建立的*.c文件,確定後,再用close關閉對話框,你可以看到source group1的子文件夾裡有文件了(就是剛才那個加進去的*.c文件)。雙擊將它打開,這時如果程序的保留字沒有加亮,可以用(view option)打開對話框,選defalt,在確定就行了,當然你可以按你的習慣選其他的;
4、至此你可以看到(project build)菜單或按鈕欄可用了。選擇它(或按F7)編譯你的程序,在改正程序中的所有錯誤後,debug start/stop debug session菜單和相應的按鈕就可用了,選擇它就可以開始調試了。在view memory打開內存觀查器,在address欄裡輸入d:0x**可以看到內部ram的直接尋址的變量,輸入x:0x****,可以看到指定的外部ram地址,c:0x****對應代碼區,而i:0x** 可以觀察內部ram的間接尋址的變量(89c52的129~256地址,與特殊寄存器的直接尋址區分)。我還不知道如果觀察ram中直接位列表,不知道是不是vision2沒有提供這個功能,如果你知道麻煩告訴我一聲,不過可以用watch,觀察個別的位變量。
推薦閱讀
學習單片機要用到keil等的代碼編譯軟體,初學者需要從第一步新建工程走起,做好第一步,才能越走越遠。工具/原料電腦,keil軟體方法/步驟打開keil軟體,找到project,下拉菜單有一項new uvision project。點擊這個項目,會出現一個項目路逕自定義項目名稱和保存位置。選擇需要燒代碼的單片機晶片的生產公司以及相應的晶片型號上一步做好以後,出現一個提示,點是就會生成一個51的啟動文件,否就不會出現,如圖,是點了是以上步驟就新建了一個工程。我們可以直接add進去已有的文件。本次介紹如何自己新建文件。點標題欄的新建按鈕,出現了一個隨機的text1,點擊保存按鈕,會提出下圖的對話框。如果是C語言就在文件名後加上.c
發表於 2021-01-10
實驗目的:初步掌握Keil(C51語言)和SUN ES59PA實驗儀的操作和使用,能夠輸入和運行簡單的程序。實驗設備:SUN ES59PA實驗儀一套、具有一個RS232串行口並安裝Keil C51的計算機一臺。實驗原理及環境:1.在計算機上已安裝Keil C51軟體。這個軟體既可以與硬體(SUN ES59PA實驗儀)連接,在硬體(單片機)上運行程序;也可以不與硬體連接,僅在計算機上以虛擬仿真的方法運行程序。如果程序有對硬體的驅動,就需要與硬體連接;如果沒有硬體動作,僅有軟體操作,就可以使用虛擬仿真。2. 實驗的硬體環境:A3區:CPU總線、I/O接口 片選區JP37,JP45:地址線A0..A7;JP48、JP50:CPU的D0
發表於 2020-11-25
1."c" not an argument in function sum 該標識符不是函數的參數 2.array bounds missing ] in function main 缺少數組界限符 "]" 3.Array size too large in function main 數組規模太大 4.bad file name format in include directive 在包含指令中的文件名格式不正確. 5.Call of non-function in function main 調用未經
發表於 2020-10-15
;Keil版本: μVision 4.1.0 STM32固件庫版本: V3.4.0 第一步,建立工程文件夾,在其子文件夾內拷貝並整理好相應的文件。 1.1、建立工程文件夾,將它命名為"SysTick"。 1.2、在"SysTick"下分別建立"Lib
發表於 2020-10-15
1.由Keil C生成的啟動代碼程序清單1.1 AT89C51啟動代碼$NOMOD51 //不使用51默認的特殊功能寄存器;---; This file is part of the C51 Compiler package; Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc
發表於 2020-09-23
定義j時應注意其變量類型char,此循環當j=0時,再執行一次則keil中j=0XFF,而不是-1,所以無法跳出循環。但在vc6.0中是可以跳出循環的。解決辦法如下:不能讓j的值為負數uchar j;
發表於 2020-09-21