(3)放置元器件至图形编辑窗口
在对象选择器窗口中,选中AT89C51,将鼠标置于图形编辑窗口该对象的欲放置的位置、单击鼠标左键,该对象被完成放置。同理,将BUTTON、RES等放置到图形编辑窗口中。如图5-6所示。
若元器件方向需要调整,先在ISIS对象选择器窗口中单击选中该元器件,再单击工具栏上相应的转向按钮后再将其放置于图形编辑窗口。
若对象位置需要移动,将鼠标移到该对象上,单击鼠标右键,此时我们已经注意到,该对象的颜色已变至红色,表明该对象已被选中,按下鼠标左键,拖动鼠标,将对象移至新位置后,松开鼠标,完成移动操作。
通过一系列的移动、旋转、放置等操作,将元器件放在ISIS编辑窗口中合适的位置。如图5-6所示。
(4)放置终端(电源、地)
放置电源操作:单击工具栏中的终端按钮
,在对象选择器窗口中选择,把元器件旋转到合适的方向
“POWER”如图5-7所示,再在编辑区中要放电源的位置单击完成。放置地(GROUND)的操作与此类似。
图5-6各元器件放在ISIS编辑窗口中合适的位置
图5-7放置终端符号
(5)元器件之间的连线
Proteus的智能化可以在你想要画线的时候进行自动检测。下面,我们来操作将电阻R1的右端连接到LED显示器的左端,如图5-6所示。当鼠标的指针靠近R1右端的连接点时,跟着鼠标的指针就会出现一个“□”号,表明找到了R1的连接点,单击鼠标左键,移动鼠标(不用拖动鼠标),将鼠标的指针靠近LED的左端的连接点时,跟着鼠标的指针就会出现一个“□”号,表明找到了LED显示器的连接点,单击鼠标左键完成电阻R1和LED的连线。
Proteus具有线路自动路径功能(简称WAR),当选中两个连接点后,WAR将选择一个合适的路径连线。WAR可通过使用标准工具栏里的“WAR”命令按钮来关闭或打开,也可以在菜单栏的“Tools”下找到这个图标。
同理,我们可以完成其它连线。在此过程的任何时刻,都可以按ESC键或者单击鼠标的右键来放弃画线。
(6)修改、设置元器件的属性
PROTEUS库中的元器件都有相应的属性,要设置修改元器件的属性,只需要双击ISIS编辑区中的该元器件。例如,发光二极管的限流电阻R1,双击它弹出如图5-7所示的属性窗口,在窗口中已经将电阻的阻值修改为330欧姆。图5-9是编辑完成的“简单实例”的电路。
图5-8设置限流电阻阻值为330欧姆
图5-9编辑完成的简单实例的电路图
1.3.2步骤二:源程序设计与生成目标代码文件 (1)程序流程图
开始 声明变量 点亮发光二极管 延时500毫秒 关闭发光二极管 延时500毫秒 主程序
图5-10 发光二极管闪烁的流程图
(2)源程序设计
将放光二极管闪烁的程序保存在文件FLASH_LED.C中,在keil中编译生成目标代码文件,本例为FLASH_LED.HEX。
#include
sbit D1=P1^0; //声明单片机P1口的第一位 void delay(uint z); //声明子函数 void main() {
while(1) //大循环 {
D1=0; //点亮第一个发光二极管
}
}
delay(500); //延时500毫秒
D1=1; //关闭第一个发光二极管 delay(500); //延时500毫秒
void delay(uint z) //延时子程序延时约z毫秒 { }
1.3.3 步骤三:PROTEUS仿真
(1)加载目标代码文件
双击编辑窗口的AT89C52器件,在弹出如图5—11所示属性编辑对话框Program File一栏中单击打开按钮
,出现文件浏览对话框,找到
uint x,y; for(x=z;x>0;x--)
for(y=110;y>0;y--);
FLASH_LED.HEX文件,单击“打开”按钮,完成添加文件。在Clock frequency栏中把频率设置为12MHZ,仿真系统则以12MHZ的时钟频率运行。因为单片机运行的时钟频率以属性设置中的“Clock frequency”为准,所以在编辑区设计MCS-51系列单片机系统电路时,可以略去单片机振荡电路,并且复位电路也可以略去。所以从子情境三开始就将振荡电路和复位电路省略。