版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、單片機原理與接口技術(shù)單片機原理與接口技術(shù) (C語言版)語言版)第第1章章 單片機及其開發(fā)工具單片機及其開發(fā)工具1主主 編編:周國運周國運清華大學(xué)出版社清華大學(xué)出版社為什么要開這門課?為什么要開這門課? 微機的功能、應(yīng)用通過外設(shè)(I/O、存儲)體現(xiàn) 接口實現(xiàn):外設(shè)與微機間的信息交換 使外設(shè)按我們要求工作,需要開發(fā)新的硬件及驅(qū)動 CPU/OS/總線結(jié)構(gòu)發(fā)展導(dǎo)致接口技術(shù)的變革23第第1章章 單片機及其開發(fā)工具單片機及其開發(fā)工具目目 錄錄 1.1 單片機的基本概念單片機的基本概念 1.2 單片機的發(fā)展概況單片機的發(fā)展概況 1.3 單片機的特點及應(yīng)用單片機的特點及應(yīng)用 1.4 常用單片機簡介常用單片機簡
2、介 1.5 單片機單片機程序程序開發(fā)開發(fā)軟件軟件Keil C簡介簡介 1.6 單片機系統(tǒng)單片機系統(tǒng)模擬軟件模擬軟件Proteus簡介簡介 本章包括單片機概述和單片機開發(fā)工具兩本章包括單片機概述和單片機開發(fā)工具兩個部分內(nèi)容。概述介紹了單片機的概念、發(fā)個部分內(nèi)容。概述介紹了單片機的概念、發(fā)展概況、應(yīng)用及特點,以及一些常用的單片展概況、應(yīng)用及特點,以及一些常用的單片機;開發(fā)工具介紹了程序開發(fā)軟件機;開發(fā)工具介紹了程序開發(fā)軟件Keil C,電,電路設(shè)計及仿真調(diào)試軟件路設(shè)計及仿真調(diào)試軟件Proteus。 通過本章的學(xué)習(xí):對單片機有一個基本的通過本章的學(xué)習(xí):對單片機有一個基本的認(rèn)識;基本掌握用認(rèn)識;基本掌
3、握用Keil C和和Proteus開發(fā)單片機開發(fā)單片機程序,構(gòu)建系統(tǒng)電路以及仿真調(diào)試的方法,程序,構(gòu)建系統(tǒng)電路以及仿真調(diào)試的方法,為學(xué)好單片機打下基礎(chǔ)。為學(xué)好單片機打下基礎(chǔ)。4第第1章章 單片機及其開發(fā)工具單片機及其開發(fā)工具1.1 單片機的基本概念單片機的基本概念5單片機:單片機:將將CPU、隨機存儲器、只讀存儲器、隨機存儲器、只讀存儲器、中斷系統(tǒng)、定時器中斷系統(tǒng)、定時器/計數(shù)器以及計數(shù)器以及I/O接口電路等,接口電路等,微微型計算機的主要部件集成在一塊芯片上,使其具有型計算機的主要部件集成在一塊芯片上,使其具有計算機的基本功能。計算機的基本功能。此就是此就是“單片微型計算機單片微型計算機”(
4、Single Chip Micro Computer,SCMC或或SCM),),簡稱為簡稱為“單單片微機片微機”、或、或“單片機單片機”。微控制器概念:微控制器概念:芯片上除了具有微機的功能部芯片上除了具有微機的功能部件之外,還集成有外部設(shè)備,如件之外,還集成有外部設(shè)備,如A/D、D/A、RTC、PWM 、USB、Watchdog等。等。 微處理器微處理器 存儲器存儲器 外部設(shè)備外部設(shè)備 接口適配器接口適配器 控制總線控制總線數(shù)據(jù)總線數(shù)據(jù)總線地址總線地址總線圖圖1-1 1-1 微機系統(tǒng)的組成微機系統(tǒng)的組成1.1 1.1 單片機的基本概念單片機的基本概念61.2 單片機的發(fā)展概況單片機的發(fā)展概況
5、 主要內(nèi)容主要內(nèi)容 1.2.1 單片機的歷史單片機的歷史 1.2.1 單片機技術(shù)的發(fā)展單片機技術(shù)的發(fā)展71.2.1 單片機的歷史單片機的歷史 一一 、4 4位單片機階段位單片機階段1971年年Intel公司首先開發(fā)出了第一片公司首先開發(fā)出了第一片4位微位微處理器處理器4004,主要用于家用電器、計算器、高級,主要用于家用電器、計算器、高級玩具中。玩具中。4004的問世,既標(biāo)志著微處理器的誕生,也的問世,既標(biāo)志著微處理器的誕生,也標(biāo)志著單片機、嵌入式系統(tǒng)的誕生標(biāo)志著單片機、嵌入式系統(tǒng)的誕生。1975年美國德克薩斯儀器公司(年美國德克薩斯儀器公司(TI)推出)推出4位單片機位單片機TMS-1000
6、。 4位單片機主要用于家用電器、電子玩具等。位單片機主要用于家用電器、電子玩具等。81.2.1 單片機的歷史單片機的歷史 二、二、 8位單片機階段位單片機階段 1976年年9月,美國月,美國Intel公司首先推出了公司首先推出了MCS-48系系列列8位單片機,其增強型便是位單片機,其增強型便是MCS-51。 8位單片機由于功能強大,被廣泛用于工業(yè)控制、位單片機由于功能強大,被廣泛用于工業(yè)控制、智能接口、儀器儀表等各個領(lǐng)域。智能接口、儀器儀表等各個領(lǐng)域。 三、三、16位單片機階段位單片機階段 1983 年年Intel公司推出了公司推出了16位單片機位單片機MCS-96系列。系列。16位單片機可用
7、于高速復(fù)雜的控制系統(tǒng)。位單片機可用于高速復(fù)雜的控制系統(tǒng)。 四、四、32位單片機位單片機 近幾年,更高性能的近幾年,更高性能的32位單片機得到廣泛的應(yīng)位單片機得到廣泛的應(yīng)用,典型的機型有用,典型的機型有ARM、DSP等系列。等系列。91.2.2 單片機技術(shù)的發(fā)展單片機技術(shù)的發(fā)展 一、片內(nèi)程序存儲器的發(fā)展一、片內(nèi)程序存儲器的發(fā)展單片機的程序存儲器(單片機的程序存儲器(ROM)經(jīng)歷了)經(jīng)歷了ROMEPROME2PROMFLASH ROM的發(fā)展,容量也由小的發(fā)展,容量也由小變大。變大。 二、看門狗定時器二、看門狗定時器 單片機在運行時由于干擾等原因,可能會出現(xiàn)單片機在運行時由于干擾等原因,可能會出現(xiàn)軟
8、件混亂。軟件混亂。 看門狗電路就是用于在看門狗電路就是用于在CPU運行出現(xiàn)程序混亂時,運行出現(xiàn)程序混亂時,使系統(tǒng)恢復(fù)正常工作的一種方法。使系統(tǒng)恢復(fù)正常工作的一種方法。 101.2.2 單片機技術(shù)的發(fā)展單片機技術(shù)的發(fā)展 三、節(jié)電模式三、節(jié)電模式 在節(jié)電模式下,在節(jié)電模式下,CPU和部分部件進(jìn)入睡眠狀態(tài),和部分部件進(jìn)入睡眠狀態(tài),但片內(nèi)但片內(nèi)RAM和寄存器等部件保持工作狀態(tài),以達(dá)和寄存器等部件保持工作狀態(tài),以達(dá)到節(jié)能的目的。到節(jié)能的目的。 四、加強輸入輸出功能四、加強輸入輸出功能 某有些單片機具備大功率的輸入某有些單片機具備大功率的輸入/輸出接口,輸出接口,可直接驅(qū)動熒光顯示器、可直接驅(qū)動熒光顯示器
9、、LCD和和LED。 還有一些還有一些增加了接口或定時器增加了接口或定時器的數(shù)量,或者的數(shù)量,或者增加了新型的接口,如增加了新型的接口,如IIC、SPI等。等。11 五、單片機制造工藝提高五、單片機制造工藝提高 半導(dǎo)體制作工藝的提高,使單片機的體積可以半導(dǎo)體制作工藝的提高,使單片機的體積可以做的更小,時鐘頻率更高。可以集成更多的存做的更小,時鐘頻率更高??梢约筛嗟拇鎯ζ骱筒考?,降低產(chǎn)品的價格。儲器和部件,降低產(chǎn)品的價格。 六、在線編程和調(diào)試技術(shù)六、在線編程和調(diào)試技術(shù) 一些新型的單片機實現(xiàn)了在系統(tǒng)編程(一些新型的單片機實現(xiàn)了在系統(tǒng)編程(ISP)和在應(yīng)用編程(和在應(yīng)用編程(IAP)功能。)功能
10、?,F(xiàn)在常使用的單片機都有該功能,如深圳宏現(xiàn)在常使用的單片機都有該功能,如深圳宏晶公司的晶公司的STC系列單片機。系列單片機。121.2.2 單片機技術(shù)的發(fā)展單片機技術(shù)的發(fā)展1.3 單片機的特點及應(yīng)用單片機的特點及應(yīng)用主要內(nèi)容主要內(nèi)容 1.3.1 單片機的特點單片機的特點 1.3.2 單片機的應(yīng)用單片機的應(yīng)用 13 一、一、ROM和和RAM存儲器區(qū)分使用存儲器區(qū)分使用 ROM稱為程序存儲器,存放程序、固定常數(shù)稱為程序存儲器,存放程序、固定常數(shù)及數(shù)據(jù)表格。及數(shù)據(jù)表格。 RAM則為數(shù)據(jù)存儲器,用作工作區(qū)及存放用則為數(shù)據(jù)存儲器,用作工作區(qū)及存放用戶數(shù)據(jù)。戶數(shù)據(jù)。二、采用面向控制的指令系統(tǒng)二、采用面向控
11、制的指令系統(tǒng) 為滿足控制的需要,單片機有更強的邏輯控為滿足控制的需要,單片機有更強的邏輯控制能力,特別是具有很強的位處理能力。制能力,特別是具有很強的位處理能力。141.3.1 單片機的特點單片機的特點三、三、I/O引腳通常多功能引腳通常多功能 由于單片機芯片上引腳數(shù)目有限,為了解決實由于單片機芯片上引腳數(shù)目有限,為了解決實際引腳數(shù)和需要的信號線的矛盾,采用了際引腳數(shù)和需要的信號線的矛盾,采用了引腳功引腳功能復(fù)用能復(fù)用的方法。引腳處于何種功能,可由指令來的方法。引腳處于何種功能,可由指令來設(shè)置或由機器狀態(tài)來區(qū)分。設(shè)置或由機器狀態(tài)來區(qū)分。 四、單片機外部擴展能力強四、單片機外部擴展能力強 在內(nèi)部
12、的各種功能部分不能滿足應(yīng)用需求時,在內(nèi)部的各種功能部分不能滿足應(yīng)用需求時,均可在外部進(jìn)行擴展(如均可在外部進(jìn)行擴展(如擴展擴展ROM、RAM,I/O接接口,定時器口,定時器/計數(shù)器,中斷控制器計數(shù)器,中斷控制器等),與許多通等),與許多通用的微機接口芯片兼容,給應(yīng)用系統(tǒng)設(shè)計帶來極用的微機接口芯片兼容,給應(yīng)用系統(tǒng)設(shè)計帶來極大的方便和靈活性。大的方便和靈活性。151.3.1 單片機的特點單片機的特點 五、體積小、價格低五、體積小、價格低 易于產(chǎn)品化,它能方便地組成各種智能化的控易于產(chǎn)品化,它能方便地組成各種智能化的控制設(shè)備和儀器,做到機電一體化。制設(shè)備和儀器,做到機電一體化。六、六、抗干擾、可靠性
13、高抗干擾、可靠性高 在各種惡劣的環(huán)境下都能可靠地工作,這是其在各種惡劣的環(huán)境下都能可靠地工作,這是其它類型計算機無法比擬的。它類型計算機無法比擬的。 七七、易實現(xiàn)多機和分布式控制易實現(xiàn)多機和分布式控制 使整個控制系統(tǒng)的效率和可靠性大為提高使整個控制系統(tǒng)的效率和可靠性大為提高161.3.1 單片機的特點單片機的特點 單片機的應(yīng)用范圍十分廣泛,主要的應(yīng)單片機的應(yīng)用范圍十分廣泛,主要的應(yīng)用領(lǐng)域有:用領(lǐng)域有: 工業(yè)控制工業(yè)控制 儀器儀表儀器儀表 計算機外部設(shè)備與智能接口計算機外部設(shè)備與智能接口 商用產(chǎn)品商用產(chǎn)品 家用電器家用電器 消費類電子產(chǎn)品消費類電子產(chǎn)品 通訊設(shè)備和網(wǎng)絡(luò)設(shè)備通訊設(shè)備和網(wǎng)絡(luò)設(shè)備 兒童
14、智能玩具兒童智能玩具 汽車、輪船、飛機等大型運輸工具汽車、輪船、飛機等大型運輸工具 交通控制設(shè)備交通控制設(shè)備171.3.2 單片機的應(yīng)用單片機的應(yīng)用單片機的應(yīng)用(單片機的應(yīng)用(2)當(dāng)前我國嵌入式系統(tǒng)的主要應(yīng)用領(lǐng)域當(dāng)前我國嵌入式系統(tǒng)的主要應(yīng)用領(lǐng)域客戶分布:客戶分布:主要在電信、醫(yī)療、汽車、安主要在電信、醫(yī)療、汽車、安全、工業(yè)控制和消費類等行業(yè)。全、工業(yè)控制和消費類等行業(yè)。產(chǎn)品分布:產(chǎn)品分布:主要在消費類電子、通信、醫(yī)主要在消費類電子、通信、醫(yī)療、安全等行業(yè)。療、安全等行業(yè)。其中在消費類電子領(lǐng)域其中在消費類電子領(lǐng)域占最大的市場份額。占最大的市場份額。發(fā)展重點:發(fā)展重點:移動多媒體、數(shù)字娛樂、手機移
15、動多媒體、數(shù)字娛樂、手機終端、汽車電子、醫(yī)療成為嵌入式系統(tǒng)應(yīng)用終端、汽車電子、醫(yī)療成為嵌入式系統(tǒng)應(yīng)用市場的發(fā)展重點。市場的發(fā)展重點。 181.4 常用單片機簡介常用單片機簡介主要內(nèi)容主要內(nèi)容 1.4.1 MCS-51系列單片機系列單片機 1.4.2 ATMEL89系列單片機系列單片機 1.4.3 STC系列單片機系列單片機 1.4.4 常見的其它系列單片機常見的其它系列單片機191.4.1 MCS-51系列單片機系列單片機 MCS-51系列單片機:系列單片機:Intel在在1980-1982年陸續(xù)推出了指令系統(tǒng)完全相同、內(nèi)部結(jié)年陸續(xù)推出了指令系統(tǒng)完全相同、內(nèi)部結(jié)構(gòu)基本相同的構(gòu)基本相同的8031
16、、8051和和8751等型號單等型號單片機,初步形成片機,初步形成MCS-51系列,被奉為系列,被奉為“工工業(yè)控制單片機標(biāo)準(zhǔn)業(yè)控制單片機標(biāo)準(zhǔn)”。 8031:片內(nèi)無:片內(nèi)無ROM8051:片內(nèi)有掩膜:片內(nèi)有掩膜PROM8751:片內(nèi)有紫外線擦除的片內(nèi)有紫外線擦除的PROM20 MCS-51增強型單片機:增強型單片機: 主要包括主要包括89C52、89C54、89C58、89C516等型號,等型號,它們的區(qū)別主要是它們的區(qū)別主要是三個方面:一是片內(nèi)三個方面:一是片內(nèi)RAM由由128B增加到增加到256B;二是二是多一個定時器多一個定時器/計數(shù)器計數(shù)器;三是片內(nèi)三是片內(nèi)Flash ROM由由4KB分
17、別分別增加增加到到了了8KB、16KB、32KB和和64KB。 不同廠家的產(chǎn)品可能還增加有其它外設(shè)或功能,不同廠家的產(chǎn)品可能還增加有其它外設(shè)或功能,但引腳和指令都是完全兼容的。但引腳和指令都是完全兼容的。為了討論方便起見,為了討論方便起見,我們將我們將89C51(包括(包括8031、8051、8751等)等)稱為基本型稱為基本型,其他的型號稱為增強其他的型號稱為增強型型。211.4.1 MCS-51系列單片機系列單片機1.4.2 ATMEL 89系列單片機系列單片機 Atmel公司生產(chǎn)的公司生產(chǎn)的89系列單片機是市場上比較具系列單片機是市場上比較具有代表性的有代表性的MCS-51單片機。單片機
18、。一、一、ATMEL89系列單片機型號說明系列單片機型號說明 AT89系列單片機型號由三個部分組成,它們分別系列單片機型號由三個部分組成,它們分別是是前綴、型號、后綴前綴、型號、后綴,其格式如下:,其格式如下: AT89C(LV、S)XXXX-XXXX 1、前綴、前綴 前綴由字母前綴由字母“AT”組成,它表示該器件是組成,它表示該器件是ATMEL公司的產(chǎn)品。公司的產(chǎn)品。221.4.2 ATMEL89系列單片機系列單片機 2、型號、型號 型號由型號由“89CXXXX”或或“89LVXXXX”或或“89SXXXX”等表示。等表示?!?”表示芯片內(nèi)部含表示芯片內(nèi)部含F(xiàn)lash存儲器;存儲器;“C”表
19、示是表示是CMOS產(chǎn)品;產(chǎn)品;“LV”表示低電壓產(chǎn)品;表示低電壓產(chǎn)品;“S”表示含可下載的表示含可下載的Flash存儲器。存儲器?!癤XXX”為表示型號的數(shù)字,為表示型號的數(shù)字,如:如:51、52、2051、8252等。等。23 3、后綴、后綴 后綴由后綴由“XXXX”四個參數(shù)組成,與產(chǎn)品型號間用四個參數(shù)組成,與產(chǎn)品型號間用“-”號隔開。號隔開。 后綴中第一個參數(shù)后綴中第一個參數(shù)“X”表示速度表示速度后綴中第二個參數(shù)后綴中第二個參數(shù)“X”表示封裝表示封裝 后綴中第三個參數(shù)后綴中第三個參數(shù)“X”表示溫度范圍表示溫度范圍 后綴中第四個參數(shù)后綴中第四個參數(shù)“X” 說明產(chǎn)品的處理情況說明產(chǎn)品的處理情況
20、如如AT89S52-24PC,后綴表示,后綴表示24MHz、塑料封裝、塑料封裝、商業(yè)級(商業(yè)級(I為工業(yè)級)為工業(yè)級)241.4.2 ATMEL89系列單片機系列單片機 二、二、AT89C51單片機單片機 AT89C51單片機特點:單片機特點: 與與MCS-51產(chǎn)品完全兼容;產(chǎn)品完全兼容; 具有具有4K字節(jié)的字節(jié)的Flash內(nèi)部程序存儲器,可寫內(nèi)部程序存儲器,可寫/擦擦1000次;次; 全靜態(tài)操作:全靜態(tài)操作:0Hz24MHz; 三級程序存儲器加密;三級程序存儲器加密; 128字節(jié)內(nèi)部字節(jié)內(nèi)部RAM;251.4.2 ATMEL89系列單片機系列單片機 32根可編程根可編程I/O線;線; 2個個
21、16位定時器位定時器/計數(shù)器;計數(shù)器; 6個中斷源;個中斷源; 可編程串行可編程串行UART通道;通道; 低功耗空閑和掉電方式。低功耗空閑和掉電方式。 CMOS工藝,低功耗。工藝,低功耗。261.4.2 ATMEL89系列單片機系列單片機 三、三、AT89S52單片機單片機 AT89S52單片機特點:單片機特點: 與與MCS-51產(chǎn)品兼容;產(chǎn)品兼容; 具有具有8K字節(jié)可在系統(tǒng)編程的字節(jié)可在系統(tǒng)編程的Flash內(nèi)部程序內(nèi)部程序存儲器,可寫存儲器,可寫/擦擦1000次;次; 4.0V5.5V的工作電壓范圍;的工作電壓范圍; 全靜態(tài)操作:全靜態(tài)操作:0Hz24MHz; 三級程序存儲器加密;三級程序存
22、儲器加密; 256字節(jié)內(nèi)部字節(jié)內(nèi)部RAM;271.4.2 ATMEL89系列單片機系列單片機 全雙工異步串行通信通道;全雙工異步串行通信通道; 低功耗空閑和掉電方式;低功耗空閑和掉電方式; 通過中斷中止掉電方式;通過中斷中止掉電方式; 看門狗定時器;看門狗定時器; 兩個數(shù)據(jù)指針。兩個數(shù)據(jù)指針。281.4.2 ATMEL89系列單片機系列單片機 STC15L2K60S2系列單片機特點如下:系列單片機特點如下: 1個時鐘個時鐘/機器周期,增強型機器周期,增強型8051內(nèi)核,速度內(nèi)核,速度比傳統(tǒng)比傳統(tǒng)8051快快712倍。倍。 工作電壓工作電壓3.85.5V(5V單片機)單片機)/2.43.6V(3
23、V單片機)。單片機)。 內(nèi)部高精度內(nèi)部高精度R/C時鐘,內(nèi)部時鐘從時鐘,內(nèi)部時鐘從535MHz可可選。選。 861K字節(jié)片內(nèi)字節(jié)片內(nèi)Flash程序存儲器,擦寫次數(shù)程序存儲器,擦寫次數(shù)10萬次以上。萬次以上。 大容量大容量2048字節(jié)片內(nèi)字節(jié)片內(nèi)RAM數(shù)據(jù)存儲器。數(shù)據(jù)存儲器。 通用通用I/O口口(42/38/30/26個個)。291.4.3 STC系列單片機系列單片機 ISP/IAP(在系統(tǒng)可編程(在系統(tǒng)可編程/在應(yīng)用可編程),無在應(yīng)用可編程),無需編程器需編程器/仿真器。仿真器。 硬件看門狗。硬件看門狗。 先進(jìn)的指令集結(jié)構(gòu),兼容普通先進(jìn)的指令集結(jié)構(gòu),兼容普通8051指令集,指令集,有硬件乘法有
24、硬件乘法/除法指令。除法指令。 6個定時器,個定時器,2個個16位可重裝載定時器位可重裝載定時器T0和和T1兼容普通兼容普通8051的定時器,新增了一個的定時器,新增了一個16位的位的定時器定時器T2,并可實現(xiàn)時鐘輸出,并可實現(xiàn)時鐘輸出,3路路CCP/PCA可再實現(xiàn)可再實現(xiàn)3個定時器。個定時器。301.4.3 STC系列單片機系列單片機 高速高速ADC,8通道通道10位,速度可達(dá)位,速度可達(dá)30萬次萬次/秒。秒。3路路PWM還可當(dāng)還可當(dāng)3路路D/A使用。使用。 雙串口雙串口/UART,兩個完全獨立的高速異步串行,兩個完全獨立的高速異步串行通信端口,分時切換可當(dāng)通信端口,分時切換可當(dāng)5組串口使用
25、。組串口使用。 3通道捕獲通道捕獲/比較單元比較單元(CCP/PCA/PWM)。 可徹底省掉外部昂貴復(fù)位電路,內(nèi)部集成高可徹底省掉外部昂貴復(fù)位電路,內(nèi)部集成高可靠復(fù)位電路、可靠復(fù)位電路、ISP編程時編程時8級復(fù)位門檻電壓級復(fù)位門檻電壓可選。可選。311.4.3 STC系列單片機系列單片機1.4.4 常見的其它系列單片機常見的其它系列單片機 AVR單片機單片機 Motorola單片機單片機 MicroChip單片機單片機 Scenix單片機單片機 華邦單片機華邦單片機321.5 單片機程序開發(fā)軟件單片機程序開發(fā)軟件Keil C簡介簡介 主要內(nèi)容主要內(nèi)容 1.5.1 Keil C集成開發(fā)工具簡介集
26、成開發(fā)工具簡介 1.5.2 Keil C操作方法操作方法 1.5.3 Keil C程序開發(fā)方法程序開發(fā)方法 1.5.4 Keil C調(diào)試運行方法調(diào)試運行方法331.5 單片機系統(tǒng)的開發(fā)方法單片機系統(tǒng)的開發(fā)方法Keil C是德國是德國KEIL公司開發(fā)的單片機公司開發(fā)的單片機C語言編譯語言編譯器器。其前身是。其前身是FRANKLIN C51,功能相當(dāng)強大。,功能相當(dāng)強大。 Vision3是一個是一個for Windows 的、集成化的單片的、集成化的單片機編程軟件,機編程軟件,集成了文件編輯處理、項目管理、集成了文件編輯處理、項目管理、編譯鏈接、軟件模擬調(diào)試等多種功能,是強大的編譯鏈接、軟件模擬調(diào)
27、試等多種功能,是強大的單片機程序開發(fā)工具。單片機程序開發(fā)工具。無論是學(xué)習(xí)、還是開發(fā),都是必須掌握的基本無論是學(xué)習(xí)、還是開發(fā),都是必須掌握的基本工具。工具。在后面的討論中,對在后面的討論中,對Keil C和和Vision3兩個術(shù)語兩個術(shù)語不做嚴(yán)格的區(qū)分,不做嚴(yán)格的區(qū)分,一般多稱呼為一般多稱呼為Keil C,包含有,包含有Vision3集成開發(fā)環(huán)境之意。集成開發(fā)環(huán)境之意。 341.5.1 Keil C集成開發(fā)工具簡介集成開發(fā)工具簡介1、編譯器和鏈接器、編譯器和鏈接器Keil C的編譯器和鏈接器包括的編譯器和鏈接器包括C51、A51、L51和和BL51。C51是是C語言編譯器語言編譯器,其功能是將,
28、其功能是將C源代碼編譯源代碼編譯生成可重新定位的目標(biāo)模塊文件(生成可重新定位的目標(biāo)模塊文件(.OBJ) 。A51是匯編語言編譯器是匯編語言編譯器,其功能是將匯編源代,其功能是將匯編源代碼編譯生成可重新定位的目標(biāo)模塊文件(碼編譯生成可重新定位的目標(biāo)模塊文件(.OBJ)。)。L51是鏈接是鏈接/定位器定位器,其功能是將,其功能是將.OBJ文件與文件與庫文件鏈接,定位生成絕對目標(biāo)文件。庫文件鏈接,定位生成絕對目標(biāo)文件。 351.5.1 KeilC集成工具簡介集成工具簡介BL51也是鏈接也是鏈接/定位器定位器,除了具有,除了具有L51所有的所有的功能之外,功能之外, (1)可以鏈接定位大于可以鏈接定位
29、大于64KB的程序;的程序;(2) 具有代碼域及域切換功能;具有代碼域及域切換功能;(3)可用于可用于RTX51實時多任務(wù)操作系統(tǒng)。實時多任務(wù)操作系統(tǒng)。2、LIB51庫管理器庫管理器LIB51可以把可以把.OBJ文件構(gòu)建成目標(biāo)庫文件構(gòu)建成目標(biāo)庫(.LIB)這些庫是按規(guī)定格式排列的目標(biāo)模塊,可在這些庫是按規(guī)定格式排列的目標(biāo)模塊,可在以后被鏈接器所使用。以后被鏈接器所使用。361.5.1 KeilC集成工具簡介集成工具簡介3、模擬調(diào)試器、模擬調(diào)試器Keil C有三個模擬調(diào)試器。有三個模擬調(diào)試器。(1)軟件模擬調(diào)試器)軟件模擬調(diào)試器dScope511)模擬程序運行與調(diào)試)模擬程序運行與調(diào)試,包括,包
30、括C、匯編、宏匯編、匯編、宏匯編程序;程序;2)模擬)模擬CPU及其外圍器件及其外圍器件,如串行口、定時器,如串行口、定時器/計數(shù)器、計數(shù)器、I/O口等??诘?。(2)硬件調(diào)試器)硬件調(diào)試器tScope51tScope51用于對硬件目標(biāo)板進(jìn)行調(diào)試。用于對硬件目標(biāo)板進(jìn)行調(diào)試。(3)監(jiān)視程序)監(jiān)視程序Monitor51通過串行口,通過串行口,PC機與目標(biāo)板進(jìn)行通信,利用機與目標(biāo)板進(jìn)行通信,利用 Monitor51,在,在PC機上顯示程序的運行情況機上顯示程序的運行情況371.5.1 Keil C的操作方法的操作方法 Keil C菜單項主要有:菜單項主要有:文件(文件(File)、編輯)、編輯(Edi
31、t)、查看()、查看(View)、項目()、項目(Project)、調(diào))、調(diào)試(試(Debug)、閃存()、閃存(Flash)、片內(nèi)外設(shè))、片內(nèi)外設(shè)(Peripherals)、工具()、工具(Tools)等項。等項。我們知道,各工具都是相應(yīng)菜單項的快捷操作我們知道,各工具都是相應(yīng)菜單項的快捷操作按鈕按鈕,所以,下面只介紹各個菜單項,并指明對,所以,下面只介紹各個菜單項,并指明對應(yīng)的工具按鈕。應(yīng)的工具按鈕。 下面僅介紹常用而不太熟悉的菜單項和按鈕下面僅介紹常用而不太熟悉的菜單項和按鈕。 38Keil C 在編輯狀態(tài)下的操作界面在編輯狀態(tài)下的操作界面 (6個部分)個部分)39信息輸出窗口項目管理器
32、窗口工具欄菜單欄編輯窗口狀態(tài)信息欄1.5.1 Keil C操作方法操作方法 1文件(文件(File)菜單)菜單Device Database:打開器件(單片機)庫。:打開器件(單片機)庫。License Manament:打開軟件注冊管理窗口。:打開軟件注冊管理窗口。 2編輯(編輯(Edit)菜單)菜單1)Indent Select Text:選中內(nèi)容向右縮一個制表符位:選中內(nèi)容向右縮一個制表符位2)Unindent Select Text:選中的內(nèi)容向左移動:選中的內(nèi)容向左移動3)Toggle Bookmark:在當(dāng)前行放置書簽:在當(dāng)前行放置書簽4)Goto Next Bookmark:將光
33、標(biāo)移到下一個書簽:將光標(biāo)移到下一個書簽5)Goto Previous Bookmark:將光標(biāo)移到上個書簽:將光標(biāo)移到上個書簽6)Clear All Bookmark:清除文件中所有的書簽:清除文件中所有的書簽401 2 3 4 5 6 7 8 9 101.5.1 Keil C操作方法操作方法 3查看(查看(View)菜單)菜單1)Project Window:顯示或隱藏項目管理窗口顯示或隱藏項目管理窗口2)Output Window:顯示或隱藏輸出窗口:顯示或隱藏輸出窗口3)Source Browser:打開源文件瀏覽器窗口:打開源文件瀏覽器窗口4)Disassembly Window:顯示
34、或隱藏反匯編窗口:顯示或隱藏反匯編窗口5)Watch & Call Stack Window:觀察和堆棧窗口:觀察和堆棧窗口6)Code Coverage Window:顯隱代碼覆蓋窗口:顯隱代碼覆蓋窗口7)Serial Window #1:顯隱串口據(jù)輸入:顯隱串口據(jù)輸入/輸出窗口輸出窗口8)Memory Window:顯隱顯示或隱藏存儲器窗口:顯隱顯示或隱藏存儲器窗口 411 2 3 4 5 6 7 81.5.1 Keil C操作方法操作方法 4項目(項目(Project)菜單)菜單Import Vision1 Project :導(dǎo)入:導(dǎo)入Vision項目項目Select Device fo
35、r Target Target1:為當(dāng)前項目為當(dāng)前項目Target1選擇單片機選擇單片機Remove Item:從項目中刪去選中的項:從項目中刪去選中的項1)Translate:編譯當(dāng)前文件:編譯當(dāng)前文件2)Build Target:編譯修改過的文件:編譯修改過的文件3)Rebuild all target files:重新編譯所有的文件:重新編譯所有的文件4)Stop build:停止編譯:停止編譯421 2 3 41.5.2 Keil C操作方法操作方法5、調(diào)試(、調(diào)試(Debug)菜單)菜單1)Start/Stop Debugging:啟動:啟動/停止調(diào)試模式停止調(diào)試模式2)Run:全速
36、運行:全速運行3)Step Running :跟蹤運行:跟蹤運行4)Step Over of current function :單步運行:單步運行5)Step out of current function:一步執(zhí)行完當(dāng)前函數(shù)并返回一步執(zhí)行完當(dāng)前函數(shù)并返回6)Run to Cursor line:一步運行到當(dāng)前光標(biāo)處一步運行到當(dāng)前光標(biāo)處7)Stop Running:停止運行:停止運行431 2 3 4 5 6 71.5.2 Keil C操作方法操作方法1)Insert/Remove Breakpoint:在當(dāng)前行設(shè)置在當(dāng)前行設(shè)置/清除斷點清除斷點2)Enable/Disable Breakp
37、oint:使能使能/禁止當(dāng)前行的斷點禁止當(dāng)前行的斷點3)Disable All Breakpoints:禁止所有斷點禁止所有斷點4)Kill All Breakpoints:清除所有斷點:清除所有斷點5)Show Next Statement:顯示下一條指令:顯示下一條指令441 2 3 4 51.5.2 Keil C操作方法操作方法6、片內(nèi)外設(shè)(、片內(nèi)外設(shè)(Peripheral)菜單)菜單1)Reset CPU:復(fù)位復(fù)位CPU2)Interrupt:設(shè)置設(shè)置/觀察中斷(觸發(fā)方式、觀察中斷(觸發(fā)方式、優(yōu)先級、使能、中斷標(biāo)志等)優(yōu)先級、使能、中斷標(biāo)志等)3)I/O Ports:設(shè)置設(shè)置/觀察各個
38、并行觀察各個并行I/O口口(Port0、Port1、Port2、Port3) 4)Serial:設(shè)置:設(shè)置/觀察串行口觀察串行口5)Timer:設(shè)置:設(shè)置/觀察各個定時器觀察各個定時器/計數(shù)器計數(shù)器6)A/D Converter:設(shè)置:設(shè)置/觀察觀察A/D轉(zhuǎn)換器轉(zhuǎn)換器7)D/A Converter:設(shè)置:設(shè)置/觀察觀察D/A轉(zhuǎn)換器轉(zhuǎn)換器451.5.3 Keil C程序開發(fā)方法程序開發(fā)方法本節(jié)我們以例本節(jié)我們以例1-1一個流水燈程序為例,介紹一個流水燈程序為例,介紹使用使用Keil C的項目開發(fā)過程。的項目開發(fā)過程。例例1-1 流水燈電路如圖流水燈電路如圖1-9所示,對所示,對89C52單單片機
39、編程,使片機編程,使P1口輸出控制口輸出控制8個發(fā)光二極管循環(huán)個發(fā)光二極管循環(huán)點亮點亮2個左移做流水燈顯示。個左移做流水燈顯示。項目開發(fā)過程主要有以下步驟:項目開發(fā)過程主要有以下步驟:創(chuàng)建項目創(chuàng)建項目創(chuàng)建文件創(chuàng)建文件編寫程序編寫程序編譯項目編譯項目46471.6.3 Proteus 原理圖設(shè)計原理圖設(shè)計舉例舉例圖圖1-9 例例1-1流水燈電路圖流水燈電路圖連線標(biāo)號連線標(biāo)號電流探針電流探針輸出端口輸出端口輸入端口輸入端口電壓探針電壓探針連線標(biāo)號連線標(biāo)號電平標(biāo)示電平標(biāo)示1.5.3 Keil C程序開發(fā)方法程序開發(fā)方法在在Keil C中,文件的中,文件的管理采用的是項目管理采用的是項目(也(也叫工程
40、)叫工程)方式方式,而不是,而不是以前的單一文件方式。以前的單一文件方式。工程管理器的功能:工程管理器的功能:對對C51源程序、匯編源程源程序、匯編源程序、頭文件等文件統(tǒng)一序、頭文件等文件統(tǒng)一管理;可以對文件進(jìn)行管理;可以對文件進(jìn)行分組。如右圖所示。與分組。如右圖所示。與Windows的資源管理器的資源管理器相似。相似。48圖圖1-10 Keil C的項目管理器的項目管理器 1.5.3 Keil C程序開發(fā)方法程序開發(fā)方法1、創(chuàng)建項目、創(chuàng)建項目(1)創(chuàng)建項目)創(chuàng)建項目選擇選擇Project菜單下的菜單下的New Project命令命令,創(chuàng)建,創(chuàng)建新工程,在對話框中設(shè)定新工程的位置,輸入新新工程
41、,在對話框中設(shè)定新工程的位置,輸入新工程名字保存即可。工程名字保存即可。( 2)選擇)選擇CPU在出現(xiàn)的為新工程選擇在出現(xiàn)的為新工程選擇CPU的界面,在的界面,在“data base”欄下選擇所使用的欄下選擇所使用的CPU。確定后,會彈出一。確定后,會彈出一“Copy Standard 8051 Startup Code to Project Folder and Add File to Project”信息,信息, 一般選擇一般選擇“否否”即可。即可。491.5.3 Keil C程序開發(fā)方法程序開發(fā)方法2、創(chuàng)建文件、創(chuàng)建文件(1)創(chuàng)建文件)創(chuàng)建文件選擇選擇FileNew命令,便打開一個新程序
42、編命令,便打開一個新程序編輯窗口,然后選擇輯窗口,然后選擇fileSave命令,在彈出的保存命令,在彈出的保存文件對話窗口的文件名欄,輸入文件對話窗口的文件名欄,輸入C語言程序文件語言程序文件名名“l(fā)amp.c”,點擊保存按鈕便完成文件的創(chuàng)建。,點擊保存按鈕便完成文件的創(chuàng)建。用相同方法,可以創(chuàng)建匯編語言文件和文本用相同方法,可以創(chuàng)建匯編語言文件和文本文件等。文件等。501.5.3 Keil C程序開發(fā)方法程序開發(fā)方法(2)把文件加入到項目)把文件加入到項目加入的文件可以是加入的文件可以是C文件,也可以是匯編文件。文件,也可以是匯編文件。加入程序文件的過程如下。加入程序文件的過程如下。1)在項目
43、管理器窗口中展開)在項目管理器窗口中展開Target1文件夾文件夾,可以看到可以看到Source Group1。2)向)向Source Group1添加文件添加文件。在。在Source Group1點擊鼠標(biāo)右鍵,會彈出一菜單,其中有一點擊鼠標(biāo)右鍵,會彈出一菜單,其中有一“Add Files to GroupSource Group1”命令,點擊命令,點擊后會彈出一對話框,選擇需要加入的程序文件后會彈出一對話框,選擇需要加入的程序文件,并且一次可以加入多個文件。如圖并且一次可以加入多個文件。如圖1-13所示。所示。3)移走項目:)移走項目:在欲移走的文件上點擊鼠標(biāo)右在欲移走的文件上點擊鼠標(biāo)右鍵,
44、會彈出一菜單,鍵,會彈出一菜單,執(zhí)行其中的執(zhí)行其中的“Remove File * ”命令命令即可。即可。511.5.3 Keil C程序開發(fā)方法程序開發(fā)方法4)對文件分組)對文件分組:可以按功能對項目管理器:可以按功能對項目管理器中的文件分成組,如圖中的文件分成組,如圖1-10所示。所示。先使用圖先使用圖1-13中的中的“Manage Components”命令建立組命令建立組,然,然后用鼠標(biāo)直接在組之間移動文件即可。后用鼠標(biāo)直接在組之間移動文件即可。 52圖圖1-13 項目加入文件的操作方法項目加入文件的操作方法 .531.5.3 Keil C程序開發(fā)方法程序開發(fā)方法3、編寫程序、編寫程序#
45、include /包含特殊功能寄存器的頭文件包含特殊功能寄存器的頭文件#include /包含有循環(huán)移位函數(shù)的頭文件包含有循環(huán)移位函數(shù)的頭文件void delay10 xms(unsigned char x)/延時延時10 xms函數(shù)函數(shù) unsigned int i; /設(shè)振蕩頻率為設(shè)振蕩頻率為12MHzwhile(x-) /延時延時x個個10msfor(i=0;i830;i+); /試驗得出試驗得出830void main(void)/主函數(shù)主函數(shù) unsigned char lamp=0 x03; while(1)P1=lamp;/從從P1口輸出數(shù)據(jù)口輸出數(shù)據(jù)lamplamp=_crol
46、_(lamp, 1);/輸出數(shù)據(jù)循環(huán)左移輸出數(shù)據(jù)循環(huán)左移1位位delay10 xms(100);/延時延時1s 1.5.3 Keil C程序開發(fā)方法程序開發(fā)方法4、項目的編譯鏈接、項目的編譯鏈接設(shè)置輸出設(shè)置輸出.hex文件:文件:在在Target1上點擊鼠標(biāo)右鍵,上點擊鼠標(biāo)右鍵,出現(xiàn)類似圖出現(xiàn)類似圖1-13所示的菜單,點擊執(zhí)行所示的菜單,點擊執(zhí)行“Options for Target Target1”命令,在彈出的會話界面選擇命令,在彈出的會話界面選擇“Output”標(biāo)簽,選中標(biāo)簽,選中“Create HEX File”項即可,如項即可,如圖圖1-14所示(見下頁)。所示(見下頁)。 編譯鏈接
47、方法:編譯鏈接方法:使用使用Project菜單下的菜單下的Build target命令或命令或Rebuild all target Files命令命令,或者直接點擊工,或者直接點擊工具欄中對應(yīng)的按鈕。具欄中對應(yīng)的按鈕。編譯鏈接結(jié)果:編譯鏈接結(jié)果:若有錯誤則不能通過,并且會在若有錯誤則不能通過,并且會在信息窗口給出相應(yīng)的錯誤信息。信息窗口給出相應(yīng)的錯誤信息。編譯鏈接通過后,編譯鏈接通過后,會產(chǎn)生一會產(chǎn)生一.hex目標(biāo)文件目標(biāo)文件。 541.5.3 Keil C程序開發(fā)方法程序開發(fā)方法在在Target1上點擊鼠標(biāo)右鍵,出現(xiàn)類似圖上點擊鼠標(biāo)右鍵,出現(xiàn)類似圖1-10所示的菜單,點擊執(zhí)行所示的菜單,點擊
48、執(zhí)行“Options for Target Target1”命令,在彈出的會話界面選擇命令,在彈出的會話界面選擇“Output”標(biāo)簽,選中標(biāo)簽,選中“Create HEX File”即可即可55圖圖1-14 選擇項目輸出選擇項目輸出.hex文件的操作方法文件的操作方法 1.5.4 Keil C調(diào)試運行方法調(diào)試運行方法這一部分介紹怎樣對項目運行調(diào)試,怎樣觀察這一部分介紹怎樣對項目運行調(diào)試,怎樣觀察修改各部分的數(shù)據(jù),怎樣觀察修改各片內(nèi)外設(shè)的運修改各部分的數(shù)據(jù),怎樣觀察修改各片內(nèi)外設(shè)的運行狀態(tài)。行狀態(tài)。1、使用不同運行方式進(jìn)行調(diào)試、使用不同運行方式進(jìn)行調(diào)試(1)進(jìn)入調(diào)試狀態(tài))進(jìn)入調(diào)試狀態(tài)點擊點擊De
49、bug菜單下的菜單下的Start/Stop Debug Session命命令或相應(yīng)的按鈕令或相應(yīng)的按鈕,即可進(jìn)入調(diào)試狀態(tài)。調(diào)試狀態(tài)下,即可進(jìn)入調(diào)試狀態(tài)。調(diào)試狀態(tài)下的操作界面如圖的操作界面如圖1-15所示。所示。 561.5.4 Keil C調(diào)試運行方法調(diào)試運行方法57圖圖1-15 Keil C在調(diào)試狀態(tài)下的界面在調(diào)試狀態(tài)下的界面程序窗口程序窗口存儲器窗口存儲器窗口變量窗口變量窗口調(diào)試命令窗口調(diào)試命令窗口寄存器窗口寄存器窗口P1口口1.5.4 Keil C調(diào)試運行方法調(diào)試運行方法(2)各種運行方式)各種運行方式5種運行方式:種運行方式:全速運行、跟蹤運行、單步運全速運行、跟蹤運行、單步運行、跳出
50、函數(shù)、運行到光標(biāo)處行、跳出函數(shù)、運行到光標(biāo)處。命令分別對應(yīng)為:。命令分別對應(yīng)為: Run 、Step、Step Over、Step out of current function、Run to Cursor line。如果用全速運行命令如果用全速運行命令Run ,可以使用,可以使用Stop Running命令停止運行。命令停止運行。退出調(diào)試狀態(tài):退出調(diào)試狀態(tài):再次點擊再次點擊Debug菜單下的菜單下的Start/Stop Debug Session命令或相應(yīng)的按鈕命令或相應(yīng)的按鈕。 581.5.4 Keil C調(diào)試運行方法調(diào)試運行方法2、斷點的設(shè)置與刪除、斷點的設(shè)置與刪除方法方法1:用鼠標(biāo)雙擊
51、用鼠標(biāo)雙擊。在需要設(shè)置的行的最前。在需要設(shè)置的行的最前面,雙擊鼠標(biāo)左鍵,即可設(shè)置或清除斷點。面,雙擊鼠標(biāo)左鍵,即可設(shè)置或清除斷點。方法方法2:用命令或命令按鈕用命令或命令按鈕。先將光標(biāo)移到需。先將光標(biāo)移到需要設(shè)置的行,然后點擊要設(shè)置的行,然后點擊Debug菜單下的菜單下的Insert/Remove Breakpoint命令或工具欄中的相應(yīng)按命令或工具欄中的相應(yīng)按鈕,即可設(shè)置或清除斷點。鈕,即可設(shè)置或清除斷點。另外還有斷點禁用和全部清除命令及按鈕另外還有斷點禁用和全部清除命令及按鈕,也,也容易使用。容易使用。 591.5.4 Keil C調(diào)試運行方法調(diào)試運行方法3、寄存器的觀察與修改、寄存器的觀
52、察與修改(1)顯示寄存器窗口)顯示寄存器窗口寄存器窗口、在線幫助窗口和工程管理器是同寄存器窗口、在線幫助窗口和工程管理器是同一個窗口一個窗口,在工程管理器窗口下包含,在工程管理器窗口下包含3個標(biāo)簽,即個標(biāo)簽,即包含包含3個區(qū)域。個區(qū)域。顯示出寄存器窗口:顯示出寄存器窗口:在調(diào)試狀態(tài)下,點擊在調(diào)試狀態(tài)下,點擊View菜單下的菜單下的Project Window命令或?qū)?yīng)的按鈕命令或?qū)?yīng)的按鈕,就會,就會顯示或隱藏工程管理器窗口,然后點擊窗口下邊的顯示或隱藏工程管理器窗口,然后點擊窗口下邊的寄存器標(biāo)簽,即顯示出寄存器窗口。寄存器標(biāo)簽,即顯示出寄存器窗口。 601.5.4 Keil C調(diào)試運行方法調(diào)
53、試運行方法(2)寄存器的觀察與修改)寄存器的觀察與修改窗口中的寄存器分為窗口中的寄存器分為2組:組:通用寄存器和系統(tǒng)通用寄存器和系統(tǒng)寄存器寄存器。通用寄存器為。通用寄存器為8個工作寄存器個工作寄存器R0R7;系;系統(tǒng)寄存器包括寄存器統(tǒng)寄存器包括寄存器A、B、SP、PC、DPTR、PSW、states、sec。states為運行的機器周期數(shù),為運行的機器周期數(shù),sec為運為運行的時間行的時間。兩種修改寄存器兩種修改寄存器(除了除了sec和和states之外之外)值的方式:值的方式:一是用鼠標(biāo)直接點擊左鍵進(jìn)行修改;二是在圖一是用鼠標(biāo)直接點擊左鍵進(jìn)行修改;二是在圖1-15所示的調(diào)試命令窗口直接輸入寄
54、存器的值,如輸入所示的調(diào)試命令窗口直接輸入寄存器的值,如輸入“A=0 x32”,則寄存器,則寄存器A的值立即顯示的值立即顯示32。 611.5.4 Keil C調(diào)試運行方法調(diào)試運行方法4、變量的觀察與修改、變量的觀察與修改(1)顯示變量窗口)顯示變量窗口在調(diào)試狀態(tài)下,點擊在調(diào)試狀態(tài)下,點擊View菜單菜單下的下的Watch & Call Stack Window命令命令或?qū)?yīng)的按鈕,就會顯示或隱藏或?qū)?yīng)的按鈕,就會顯示或隱藏變量窗口。變量窗口。變量窗口包含有變量窗口包含有4個顯示區(qū)個顯示區(qū)(標(biāo)簽),可以分(標(biāo)簽),可以分別顯示別顯示局部變量局部變量(Locals標(biāo)簽)、標(biāo)簽)、指定變量指定變量
55、(Watch #1和和Watch #2兩個標(biāo)簽)、及兩個標(biāo)簽)、及堆棧調(diào)用堆棧調(diào)用(Call Stack標(biāo)簽)。標(biāo)簽)。 621.5.4 Keil C調(diào)試運行方法調(diào)試運行方法(2)變量的觀察與修改)變量的觀察與修改局部變量:局部變量:顯示的是當(dāng)前函數(shù)中的變量顯示的是當(dāng)前函數(shù)中的變量,這些,這些變量不用設(shè)置,自動出現(xiàn)在窗口中。變量不用設(shè)置,自動出現(xiàn)在窗口中。其它變量:其它變量:可以在可以在Watch#1或或Watch#2標(biāo)簽按標(biāo)簽按F2輸入變量名輸入變量名。在程序運行中,可以觀察這些變量的。在程序運行中,可以觀察這些變量的變化,也可以用鼠標(biāo)點擊修改它們的值。變化,也可以用鼠標(biāo)點擊修改它們的值。觀
56、察變量更簡單的方法:觀察變量更簡單的方法:在程序停止運行時在程序停止運行時,將光標(biāo)放到要觀察的變量上停大約將光標(biāo)放到要觀察的變量上停大約1秒,就會出現(xiàn)秒,就會出現(xiàn)對應(yīng)變量的當(dāng)前值,如對應(yīng)變量的當(dāng)前值,如lamp=0 x18。 631.5.4 Keil C調(diào)試運行方法調(diào)試運行方法5、存儲器的觀察與修改、存儲器的觀察與修改(1)顯示存儲器窗口顯示存儲器窗口在調(diào)試狀態(tài)下,在調(diào)試狀態(tài)下,點擊點擊View菜單下的菜單下的Memory Window命令或?qū)?yīng)的按鈕命令或?qū)?yīng)的按鈕,就會顯示或隱藏存儲,就會顯示或隱藏存儲器窗口。器窗口。存儲器窗口包含存儲器窗口包含4個標(biāo)簽個標(biāo)簽,即有,即有4個顯示區(qū),分個顯
57、示區(qū),分別是別是Memory#1、Memory#4。( 2)存儲器的觀察)存儲器的觀察在在4個顯示區(qū)上邊的個顯示區(qū)上邊的“Address”欄輸入不同類型欄輸入不同類型的地址,可以觀察不同的存儲區(qū)域的地址,可以觀察不同的存儲區(qū)域。 641.5.4 Keil C調(diào)試運行方法調(diào)試運行方法1)觀察片內(nèi))觀察片內(nèi)RAM直接尋址的直接尋址的data區(qū):區(qū):在在Address欄輸入欄輸入D:xx(xx為十六進(jìn)制數(shù)),便為十六進(jìn)制數(shù)),便顯示從顯示從xx地址開始的數(shù)據(jù)。高地址開始的數(shù)據(jù)。高128字節(jié)顯示的是特字節(jié)顯示的是特殊功能寄存器的內(nèi)容。殊功能寄存器的內(nèi)容。2)觀察片內(nèi))觀察片內(nèi)RAM間接尋址的間接尋址的
58、idata區(qū):區(qū):在在Address欄輸入欄輸入I:xx,便顯示從,便顯示從xx地址開始地址開始的的數(shù)據(jù)。高數(shù)據(jù)。高128字節(jié)顯示的也是數(shù)據(jù)區(qū)的內(nèi)容。字節(jié)顯示的也是數(shù)據(jù)區(qū)的內(nèi)容。3)觀察片外)觀察片外RAM的的xdata區(qū):區(qū):在在Address欄輸入欄輸入X:xxxx,便顯示從,便顯示從xxxx地址開始的數(shù)據(jù)。地址開始的數(shù)據(jù)。4)觀察程序存儲器)觀察程序存儲器ROM code區(qū):區(qū):在在Address欄輸入欄輸入C:xxxx,便顯示從,便顯示從xxxx地址開地址開始的程序代碼。始的程序代碼。 651.5.4 Keil C調(diào)試運行方法調(diào)試運行方法(3)存儲器中數(shù)據(jù)的修改存儲器中數(shù)據(jù)的修改1)程
59、序存儲器中的數(shù)據(jù)不能修改)程序存儲器中的數(shù)據(jù)不能修改2)其它)其它3個區(qū)域數(shù)據(jù)的修改方法:個區(qū)域數(shù)據(jù)的修改方法:用鼠標(biāo)對準(zhǔn)欲修改的單元,用鼠標(biāo)對準(zhǔn)欲修改的單元,點擊鼠標(biāo)右鍵,在點擊鼠標(biāo)右鍵,在彈出的菜單中有一彈出的菜單中有一“Modify Memory at 0 x”命令,命令,執(zhí)行該命令執(zhí)行該命令,對又彈出的數(shù)據(jù)輸入欄輸入數(shù)據(jù),對又彈出的數(shù)據(jù)輸入欄輸入數(shù)據(jù),然后用鼠標(biāo)左鍵點擊然后用鼠標(biāo)左鍵點擊“OK”即可。即可。 661.5.4 Keil C調(diào)試運行方法調(diào)試運行方法6、片內(nèi)外設(shè)的觀察與設(shè)置、片內(nèi)外設(shè)的觀察與設(shè)置單擊單擊Peripheral菜單,可以選擇某一種或幾種菜單,可以選擇某一種或幾種外
60、設(shè)進(jìn)行觀察、設(shè)置。外設(shè)進(jìn)行觀察、設(shè)置。(1)中斷系統(tǒng)的觀察與設(shè)置)中斷系統(tǒng)的觀察與設(shè)置 在調(diào)試狀態(tài)下,在調(diào)試狀態(tài)下,單擊單擊PeripheralInterrupt命令,就命令,就會顯示或隱藏中斷會顯示或隱藏中斷系統(tǒng)窗口,如右圖系統(tǒng)窗口,如右圖所示。所示。 671.5.4 Keil C調(diào)試運行方法調(diào)試運行方法(2)串行口的設(shè)置與觀察)串行口的設(shè)置與觀察在調(diào)試狀態(tài)下,在調(diào)試狀態(tài)下,點擊點擊View菜單下的菜單下的Serial Window #1或或Serial Window #2命令或?qū)?yīng)的按命令或?qū)?yīng)的按鈕鈕,就會顯示或隱藏串行口窗口。,就會顯示或隱藏串行口窗口。 串行口窗口提供了一個串行口窗口
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 線下管理課程設(shè)計
- 2024年海南省建筑安全員C證(專職安全員)考試題庫
- 現(xiàn)代教育及課程設(shè)計
- 移動計費系統(tǒng)課程設(shè)計
- 短視頻培訓(xùn)課程設(shè)計
- 咖啡館環(huán)保包裝與可持續(xù)發(fā)展實踐考核試卷
- 電氣機械物聯(lián)網(wǎng)技術(shù)考核試卷
- 燃?xì)饩咝袠I(yè)安全生產(chǎn)與應(yīng)急預(yù)案編制考核試卷
- 電子表課程設(shè)計
- 電子招生課程設(shè)計案例
- CDNL-MR08 高溫試驗測量方法 不確定度評定報告 V1.0
- 拓?fù)鋵W(xué)(黑龍江聯(lián)盟)知到章節(jié)答案智慧樹2023年哈爾濱工程大學(xué)
- 質(zhì)量功能展開一種以市場為導(dǎo)向的質(zhì)量策略
- 《新編MPA英語閱讀教程教學(xué)參考書》正文(第一-第十五單元)第二稿
- 酒店各崗位崗位職責(zé)
- “青藍(lán)工程”師徒結(jié)對體育青年教師總結(jié)反思
- 《工程造價管理》期末考試復(fù)習(xí)題(含答案)
- 露天煤礦土石方剝離施工組織設(shè)計
- 維修站出門證管理規(guī)定
- 臨時聘用人員薪酬管理辦法
- 國開電大成本會計形考任務(wù)6參考答案
評論
0/150
提交評論