实验十KeilC软件使用实验.docx
《实验十KeilC软件使用实验.docx》由会员分享,可在线阅读,更多相关《实验十KeilC软件使用实验.docx(19页珍藏版)》请在冰豆网上搜索。
实验十KeilC软件使用实验
实验十KeilC软件的使用实验
一.实验目的
KeilC51软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM语言和C语言的程序设计。
掌握KeilC51软件的使用方法。
二.实验设备
TDN86/51开发系统,KeilC51软件。
三.实验内容及步骤
进入KeilC51后,屏幕如下图所示。
启动KeilC51时的屏幕
几秒钟后出现编辑界:
进入KeilC51后的编辑界面
简单程序的调试
学习程序设计语言、学习某种程序软件,最好的方法是直接操作实践。
下面通过简单的编程、调试,引导大家学习KeilC51软件的基本使用方法和基本的调试技巧。
1)建立一个新工程
单击Project菜单,在弹出的下拉菜单中选中NewProject选项
2)然后选择你要保存的路径,输入工程文件的名字,比如保存到C51目录里,工程文件的名字为C51,如下图所示,然后点击保存.
3)这时会弹出一个对话框,要求你选择单片机的型号,可以根据你使用的单片机来选择,keilc51几乎支持所有的51核的单片机,这里还是以用的比较多的Atmel的89C51来说明,如下图所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定.
4)完成上一步骤后,屏幕如下图所示
到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。
5)在下图中,单击“File”菜单,再在下拉菜单中单击“New”选项
新建文件后屏幕如下图所示
此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,但这里建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“SaveAs”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。
注意,如果用C语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必须为(.asm)。
然后,单击“保存”按钮。
6)回到编辑界面后,单击“Target1”前面的“+”号,然后在“SourceGroup1”上单击右键,弹出如下菜单
然后单击“AddFiletoGroup‘SourceGroup1’”屏幕如下图所示
选中Test.c,然后单击“Add”屏幕如下图所示
注意到“SourceGroup1”文件夹中多了一个子项“Text1.c”了吗?
子项的多少与所增加的源程序的多少相同
7)现在,请输入如下的C语言源程序:
#include//包含文件
#include
voidmain(void)//主函数
{
SCON=0x52;
TMOD=0x20;
TH1=0xf3;
TR1=1;//此行及以上3行为PRINTF函数所必须
printf(“HelloIamKEIL.\n”);//打印程序执行的信息
printf(“Iwillbeyourfriend.\n”);
while
(1);}
在输入上述程序时,Keilc51会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。
程序输入完毕后,如下图所示
8)在上图中,单击“Project”菜单,再在下拉菜单中单击“BuiltTarget”选项(或者使用快捷键F7),编译成功后,再单击“Project”菜单,在下拉菜单中单击“Start/StopDebugSession”(或者使用快捷键Ctrl+F5),屏幕如下所示
9)调试程序:
在上图中,单击“Debug”菜单,在下拉菜单中单击“Go”选项,(或者使用快捷键F5),然后再单击“Debug”菜单,在下拉菜单中单击“StopRunning”选项(或者使用快捷键Esc);再单击“View”菜单,再在下拉菜单中单击“SerialWindows#1”选项,就可以看到程序运行后的结果,其结果如下图所示
至此,我们在KeilC51上做了一个完整工程的全过程。
但这只是纯软件的开发过程,如何使用程序下载器看一看程序运行的结果呢?
10)单击“Project”菜单,再在下拉菜单中单击“
”在下图中,单击“Output”中单击“CreateHEXFile”选项,使程序编译后产生HEX代码,供下载器软件使用。
把程序下载到单片机中。
实验十一Proteus软件的使用实验
一.实验目的
掌握Proteus软件的使用方法。
二.实验设备
TDN86/51开发系统,ProteusDesignSuit7,KeilC51软件。
三.ProteusISIS简介
ProteusISIS是英国Labcenter公司开发的电路分析与实物仿真软件。
它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:
①实现了单片机仿真和SPICE电路仿真相结合。
具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
②支持主流单片机系统的仿真。
目前支持的单片机类型有:
68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
③提供软件调试功能。
在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如KeilC51uVision2等软件。
④具有强大的原理图绘制功能。
四.实验内容及步骤
1.启动ProteusISIS,界面如下图。
Proteus启动界面
Proteus工作界面
2.Proteus的鼠标使用原则
在Proteus中,鼠标操作与传统的方式不同,右键选取、左键编辑或移动:
右键单击-选中对象,此时对象呈红色;再次右击已选中的对象,即可删除该对象。
右键拖拽-框选一个块的对象。
左键单击-放置对象或对选中的对象编辑对象的属性。
左键拖拽-移动对象。
3.原理图设计的步骤
(1)新建设计文件并设置图纸参数和相关信息
(2)放置元器件
(3)对原理图进行布线
(4)调整、检查和修改
(5)补充完善
(6)存盘和输出
4.放置元器件
(1)选择元器件
单击图标工具栏中的
图标,并选择下图所示对象选择器中的
按钮,出现选择元器件对话框
对象选择器中P按钮
元器件选择对话框
(2)放置元器件
在对象选择器窗口中,选中元器件,将鼠标置于图形编辑窗口该对象的欲放位置,单击鼠标左键,该对象被完成放置。
(3)移动元器件
若对象位置需要移动,将鼠标移到该对象上,单击鼠标右键,此时我们已经注意到,该对象的颜色已变至红色,表明该对象已被选中,按下鼠标左键,拖动鼠标,将对象移至新位置后,松开鼠标,完成移动操作。
(4)删除元器件
对于误放置的元器件,右键双击对象,即可删除,若不小心进行了误删除操作,可通过工具栏的撤销按钮进行恢复。
(5)调整元器件方位
选中元器件,使其高亮显示,单击旋转按钮,可调整方位。
(6)撤销选中(刷新)
编辑窗口显示正在编辑的电路原理图,可以通过执行菜单命令“View”下的“Redraw”命令来刷新显示内容,也可以点击工具栏的刷新命令按钮回或者快捷键“R”,与此同时预览窗口中的内容也将被刷新。
(7)编辑对象
先用鼠标右键点击选中对象,然后用鼠标左键点击对象,此时出现属性编辑对话框。
这里你可以改变元器件标号、值、PCB封装以及是否把这些东西隐藏等,修改完毕,点击“OK”按钮即可。
5.对原理图布线
Proteus的智能化可以在你想要画线的时候进行自动检测。
Proteus具有线路自动路径功能(简称WAR),当选中两个连接点后,WAR将选择一个合适的路径连线。
单击绘图工具栏中的总线按钮
,使之处于选中状态。
将鼠标置于图形编辑窗口,绘制出总线。
单击绘图工具栏中的导线标签按钮
,在图形编辑窗口,完成导线或总线的标注。
我们会发现许多器件没有Vcc和GND引脚,其实他们隐藏了,在使用的时候可以不用加电源。
如果需要加电源可以点击工具箱的接线端按钮
,这时对象选择器将出现一些接线端。
在器件选择器里点击对应符号,将鼠标移到原理图编辑区,左键点击一下即可放置。
6.KeilC与Proteus连接仿真调试
在KeilC中编译输出*.HEX文件,右键选中工作区中单片机芯片,左键单击打开属性对话框,如下图所示,按下
按钮,在弹出的选择文件对话框中选择相应的*.HEX文件。
通过
控制仿真,可以看到程序的运行过程。
流水灯参考程序:
ORG0000H
AJMPSTART
ORG0030H
START:
MOVA,#0FFH
CLRC;初识化寄存器
MOVR2,#08H;置左循环初值
LOOP:
RLCA;带C逻辑左循环
MOVP1,A;送P1口显示
ACALLDELAY;调用延时子程序
DJNZR2,LOOP;判断循环次数到否
MOVR2,#07H;置右循环初值
LOOP1:
RRCA;带C逻辑右循环
MOVP1,A;送P1口显示
ACALLDELAY;调用延时子程序
DJNZR2,LOOP1;判断循环次数到否
AJMPSTART;循环执行
DELAY:
MOVR3,#20;延时子程序
D1:
MOVR4,#20
D2:
MOVR5,#248
DJNZR5,$
DJNZR4,D2
DJNZR3,D1
RET
END
线路原理图
附:
PROTEUS原理图元器件库详细说明
------------------------------------------------------------
Proteus仿真库简介
元件名称中文名说明
7407驱动门
1N914二极管
74Ls00与非门
74LS04非门
74LS08与门
74LS390TTL双十进制计数器
7SEG4针BCD-LED输出从0-9对应于4根线的BCD码
7SEG3-8译码器电路BCD-7SEG[size=+0]转换电路
ALTERNATOR交流发电机
AMMETER-MILLImA安培计
AND与门
BATTERY电池/电池组
BUS总线
CAP电容
CAPACITOR电容器
CLOCK时钟信号源
CRYSTAL晶振
D-FLIPFLOPD触发器
FUSE保险丝
GROUND地
LAMP灯
LED-RED红色发光二极管
LM016L2行16列液晶可显示2行16列英文字符,有8位数据总线D0-D7,RS,R/W,EN三个控制端口(共14线),工作电压为5V。
没背光,和常用的1602B功能和引脚一样(除了调背光的二个线脚)
LOGICANALYSER逻辑分析器
LOGICPROBE逻辑探针
LOGICPROBE[BIG]逻辑探针用来显示连接位置的逻辑状态
LOGICSTATE逻辑状态用鼠标点击,可改变该方框连接位置的逻辑状态
LOGICTOGGLE逻辑触发
MASTERSWITCH按钮手动闭合,立即自动打开
MOTOR马达
OR或门
POT-LIN三引线可变电阻器
POWER电源
RES电阻
RESISTOR电阻器
SWITCH按钮手动按一下一个状态
SWITCH-SPDT二选通一按钮
VOLTMETER伏特计
VOLTMETER-MILLImV伏特计
VTERM串行口终端
Electromechanical电机
Inductors变压器
LaplacePrimitives拉普拉斯变换
MemoryIcs
MicroprocessorIcs
Miscellaneous各种器件AERIAL-天线;ATAHDD;ATMEGA64;BATTERY;CELL;CRYSTAL-晶振;FUSE;METER-仪表;
ModellingPrimitives各种仿真器件是典型的基本元器模拟,不表示具体型号,只用于仿真,没有PCB
Optoelectronics各种发光器件发光二极管,LED,液晶等等
PLDs&FPGAs
Resistors各种电阻
SimulatorPrimitives常用的器件
Speakers&Sounders
Switches&Relays开关,继电器,键盘
SwitchingDevices晶阊管
Transistors晶体管(三极管,场效应管)
TTL74series
TTL74ALSseries
TTL74ASseries
TTL74Fseries
TTL74HCseries
TTL74HCTseries
TTL74LSseries
TTL74Sseries
AnalogIcs模拟电路集成芯片
Capacitors电容集合
CMOS4000series
Connectors排座,排插
DataConvertersADC,DAC
DebuggingTools调试工具
ECL10000Series
------------------------------------------------------------
PROTEUS元件库元件名称及中英对照
AND与门
ANTENNA天线
BATTERY直流电源
BELL铃,钟
BVC同轴电缆接插件
BRIDEG1整流桥(二极管)
BRIDEG2整流桥(集成块)
BUFFER缓冲器
BUZZER蜂鸣器
CAP电容
CAPACITOR电容
CAPACITORPOL有极性电容
CAPVAR可调电容
CIRCUITBREAKER熔断丝
COAX同轴电缆
CON插口
CRYSTAL晶体整荡器
DB并行插口
DIODE二极管
DIODESCHOTTKY稳压二极管
DIODEVARACTOR变容二极管
DPY_3-SEG3段LED
DPY_7-SEG7段LED
DPY_7-SEG_DP7段LED(带小数点)
ELECTRO电解电容
FUSE熔断器
INDUCTOR电感
INDUCTORIRON带铁芯电感
INDUCTOR3可调电感
JFETNN沟道场效应管
JFETPP沟道场效应管
LAMP灯泡
LAMPNEDN起辉器
LED发光二极管
METER仪表
MICROPHONE麦克风
MOSFETMOS管
MOTORAC交流电机
MOTORSERVO伺服电机
NAND与非门
NOR或非门
NOT非门
NPNNPN三极管
NPN-PHOTO感光三极管
OPAMP运放
OR或门
PHOTO感光二极管
PNP三极管
NPNDARNPN三极管
PNPDARPNP三极管
POT滑线变阻器
PELAY-DPDT双刀双掷继电器
RES1.2电阻
RES3.4可变电阻
RESISTORBRIDGE?
桥式电阻
RESPACK?
电阻
SCR晶闸管
PLUG?
插头
PLUGACFEMALE三相交流插头
SOCKET?
插座
SOURCECURRENT电流源
SOURCEVOLTAGE电压源
SPEAKER扬声器
SW?
开关
SW-DPDY?
双刀双掷开关
SW-SPST?
单刀单掷开关
SW-PB按钮
THERMISTOR电热调节器
TRANS1变压器
TRANS2可调变压器
TRIAC?
三端双向可控硅
TRIODE?
三极真空管
VARISTOR变阻器
ZENER?
齐纳二极管
DPY_7-SEG_DP数码管
SW-PB开关
----------------------------------------------------------------------
PROTEUS原理图元器件库详细说明
Device.lib包括电阻、电容、二极管、三极管和PCB的连接器符号
ACTIVE.LIB包括虚拟仪器和有源器件
DIODE.LIB包括二极管和整流桥
DISPLAY.LIB包括LCD、LED
BIPOLAR.LIB包括三极管
FET.LIB包括场效应管
ASIMMDLS.LIB包括模拟元器件
VALVES.LIB包括电子管
ANALOG.LIB包括电源调节器、运放和数据采样IC
CAPACITORS.LIB包括电容
COMS.LIB包括4000系列
ECL.LIB包括ECL10000系列
MICRO.LIB包括通用微处理器
OPAMP.LIB包括运算放大器
RESISTORS.LIB包括电阻
FAIRCHLD.LIB包括FAIRCHLD半导体公司的分立器件
LINTEC.LIB包括LINTEC公司的运算放大器
NATDAC.LIB包括国家半导体公司的数字采样器件
NATOA.LIB包括国家半导体公司的运算放大器
TECOOR.LIB包括TECOOR公司的SCR和TRIAC
TEXOAC.LIB包括德州仪器公司的运算放大器和比较器
ZETEX.LIB包括ZETEX公司的分立器件