图5-11加载目标代码文件窗口
(2)仿真 单击按钮隔500毫秒闪烁。
,启动仿真,仿真运行片段如图5-12所示。发光二极管间
图5—12仿真运行片段
红色方块代表低电平,蓝色方块代表高电平,灰色方块代表不确定电平 1.4 扩展练习
改成让P1.1口控制LED灯1秒钟闪烁一次。
子情境二:用发光二极管实现流水灯乒乓球效果
2.1 子情境目标:
(1)通过AT89C52单片机控制8个发光二极管,实现亮点由低位到高位再由高位到低位来回流动的乒乓球效果
(2)用PROTEUS设计、仿真以AT89C52为核心的放光二极管流水灯电路。
(3)掌握发光二极管的控制方法 2.2 子情境步骤
2.2.1 步骤一: PROTEUS电路设计
(1)选取元器件:按快捷键“P”按钮,打开元器件选择窗口。在关键词栏中输入元器件的关键词,选取需要的元器件。
①单片机:AT89C52 ②电阻、8排阻:RES* ③红色发光二极管:LED-RED ④瓷片电容:CAP* ⑤晶振:CRYSTAL
(2)放置元器件:在对象选择器中单击选中AT89C52,在编辑区中合适的位置单击,器件AT89C52就被放置到编辑区中。如果要改变元器件的放置方向,先在ISIS对象选择器中单击选中该元器件,再单击工具栏上相应的转向按钮置于图形编辑窗口。 (3)放置终端(电源、地)
放置电源操作:单击工具栏中的终端按钮
,在对象选择器窗口中选择
,把元器件旋转到合适的方向后再将其放
“POWER”,再在编辑区中要放电源的位置单击完成。放置地(GROUND)的操作与此类似。
(4)元器件之间的连线
因为ISIS的智能化程度很高,只要单击所要连线的起点和终点。例如元器件的引脚、终端等,在这两点间会自动生成一条线。若要画折线,只要在转
折点单击;若中途想取消连线,右击即可。
(5)元器件属性设置
PROTEUS库中的元器件都有相应的属性,要设置修改元器件的属性,只需要双击ISIS编辑区中的该元器件。设置好的原理图如图5-13所示。
图5-13流水灯乒乓效果原理图
2.2.2步骤二:源程序设计与目标代码文件生成 (1)程序流程图
开始 声明变量 赋初值,点亮第一个发光二极管 左移一位,延时500ms no 7次? yes 右移一位,延时500ms yes no 7次? 图5-14 程序流程图
(2)源程序设计
#include
#include
void delay(int z); //声明子函数
unsigned char temp; //定义一个变量,用来给P1口赋值 int i,j;