您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 实验1-KEIL+PROTEUS使用——单灯闪烁
实验1KEIL+PROTEUS使用——单灯闪烁一、实训要求编程使用AT89S52单片机实现控制一个发光二极管LED亮灭闪烁变化。电路如图1-1所示,单片机P1.0通过510欧的限流电阻接一个红色LED阴极,二极管的阳极接电源VCC。图1-1单灯闪烁电路原理图二、实训目的1.熟练掌握单片机编程(KEIL)和仿真(PROTUES)软件的基本操作。2.掌握单片机控制LED的方法3.掌握C51程序基本结构4.了解软件延时的方法三、实训内容1.任务分析当二极管外加正偏电压时点亮,外加反偏电压时熄灭。本实训电路中二极管阳极恒接电源VCC(高电平),因此,想要使发光二级管D1点亮,只须控制单片机使P1.0输出低电平,想要使发光二极管D1熄灭,只须控制单片机P1.0输出高电平即可。若要亮灭闪烁变化,则需要控制单片机P1.0输出高、低电平循环交替。为看到持续亮灭效果,需要亮后延时一段时间,然后在熄灭LED,之后再延时一段时间,如此重复即可。2.流程图单灯闪烁流程图如图1-2所示。单灯闪烁开始灯亮灯灭延时一段时间延时一段时间图1-2单灯闪烁流程图3.参考程序/************************************************************文件名称:main.c*作者:*版本:2012-01-29-V1.0*说明:单片机P1.0外接LED,实现单灯闪烁*修改记录:无***********************************************************/#includeregx52.h//调用头文件voiddelay(unsignedint);//延时函数声明/************************************************************函数名称:main*函数功能:主函数*入口参数:空*出口参数:空*备注:无***********************************************************/voidmain(void){while(1){//死循环P1_0=0;//P1.0接的LED灯亮delay(500);//延时一段时间P1_0=1;//P1.0接的LED灯灭delay(500);//延时一段时间}}/************************************************************函数名称:delay*函数功能:通用延时函数*入口参数:延时时间变量n*出口参数:空*备注:AT89S52单片机,晶振12MHz时,最小延时时间1ms***********************************************************/voiddelay(unsignedintn)//延时函数定义{unsignedintx,y;for(x=0;xn;x++){for(y=0;y121;y++){;}}}四、操作步骤1.前期准备在电脑的硬盘上新建一个“test1”文件夹,用于存放本实训中所用到的工程文件(包括程序及仿真文件)。注意:文件夹名称最好不要含有中文字符。2.程序编写——KEIL软件使用(软件版本为KeiluVision4)※启动KEIL(1)双击桌面图标如图1-3所示,打开keil软件。※新建工程(2)新建工程在“Project”菜单中选择“NewuVisionProject…”命令。如图1-4所示。图1-4新建工程(3)弹出新建工程窗口如图1-5所示,在对话窗中创建名为“test1”的工程,单击“保存”按钮。注意:将新建的工程保存在准备工作中新建的“test1”文件夹中。图1-5新建工程窗口(4)弹出“SelectDeviceforTarget‘Target1’…”窗口如图1-6,在“Atmel”图1-3KEIL图标选项中选择“AT89S52”单片机,单击“确定”按钮。图1-6选择CPU型号窗口(5)在弹出如图1-7所示的对话框中,选择“否”按钮。图1-7复制启动代码对话框※新建文件(6)在常用工具栏中单击“新建文件”按钮,在工作区中新建Text2文件。(7)在常用工具栏中单击“保存文件”按钮,弹出如图1-8保存文件对话框。在“文件名”栏目中输入“main.c”,单击保存按钮。注意:在保存文件对话框中输入的文件名必须加文件后缀“.c”。图1-8另存为对话框※添加文件到工程(8)展开工程(“Project”)窗口中“Target1”,在“SourceGroup1”上单击鼠标右键,在弹出的右键菜单中选择“AddFilestoGroup‘SourceGroup1’…”,如图1-9所示。图1-9添加文件(9)弹出如图1-10所示的“AddFilestoGroup‘SourceGroup1’”对话框中选择“main.c”文件,单击“Add”按钮,将“main.c”文件添加到工程中,然后单击“Close”按钮。图1-10添加文件对话框(10)在工程窗口中可以看到文件“main.c”已经添加,如图1-11所示。图1-11源文件添加到工程※工程选项设定(11)在工程(Project)窗口的“Target1”上单击鼠标右键,弹出如图1-12所示的右键菜单中选择“OptionsforTarget‘Target1’…”。图1-12选项设置(12)在弹出如图1-13所示的“OptionsforTarget‘Target1’”窗口中选择“Output”选项卡,并勾选“CreatHexFile”选项,单击“OK”按钮关闭选项窗口。注意:次步骤必须执行,否则无法生成单片机使用的机器语言程序文件。图1-13“OptionsforTarget‘Target1’”窗口※程序录入(13)在工作区的“main.c”文件中输入本工程的源程序,如图1-14所示。图1-14编程窗口※程序录入(14)在如图1-15所示的编译工具栏中选择“build”按钮,将C51源文件翻译成HEX的机器语言文件。图1-15编译工具栏(15)在如图1-16所示的“BuildOutput”窗口中查看编译结果,看是否有错误或警告,并进行错误修改,直到没有错误位置,查看倒数第2行是否提示创建HEX文件。图1-16“BuildOutput”窗口(16)保存工程。3.程序仿真——PROTEUS软件使用(软件版本为PROTEUS7.5SP3)※启动PROTEUS(1)双击如图1-17所示的桌面图标,打开PROTEUS仿真软件。(2)打开仿真软件,如图1-18所示。图1-18PROTEUS界面图1-17KEIL图标※新建仿真文件(3)每次打开PROTEUS软件,系统会自动创建名为“UNTITLID”的仿真文件。在常用工具栏中单击保存文件,弹出保存对话框,如图1-19所示。将仿真文件保存在“test1”文件夹中,并将仿真文件命名为“test1”,单击保存按钮。注意:最好将仿真文件和刚才创建的程序文件都放在一个工程文件夹下面,以便以后维护。图1-19仿真文件保存对话框※添加仿真元件(4)在“DEVICES”窗口中单击“P”按钮,进行选择元件,如图1-20所示。图1-20选取元件操作(5)在打开如图1-21所示的“PickDevices”窗口中选择所需要的仿真元件,双击将它添加到工程中。图1-21选择元件窗口注意:常用的元件库及元件见表1-1所示。表1-1常用仿真元件表序号名称库元件1单片机MicroprocessorICsAT89C512电阻ResistorsRES3排阻ResistorsRESPACK-84发光二极管OptoelectroricsLED-RED5单个数码管Optoelectrorics7SEG-MPX1-CA6两位一体数码管Optoelectrorics7SEG-MPX2-CA7四位一体数码管Optoelectrorics7SEG-MPX4-CA8按钮Switches&RelaysBUTTON9蜂鸣器Speakers&SoundersBUZZER10非门TTL74HCseries74HC0411NPN三极管TransistorsNPN注意:1发光二极管需选择“LED-XXX”,单个的“LED”不能仿真,“XXX”表示发光二极管的颜色。2数码管“7SEG-MPX1-CA”最后的“CA”表示共阳极,“CC”表示共阴极。3使用电阻时,可以在RES的选项中更改电阻值。(6)将本实训中需要AT89C51单片机、LED-RED、RES三个元件添加到工程器件库中,如图1-22所示。图1-22所需元件※摆放元件(7)在工作区中加添加完所需元件,并摆放到合适的位置。※添加电源/地(8)在工具栏上单击“TerminalsMode”按钮,在窗口中选择电源“POWER”添加到工作空间中,如图1-23所示。注意:电源为“POWER”,接地为“GROUND”。图1-23添加电源※绘制电路(9)使用连线工具,将各元件用导线连接起来,绘制完成的电路如图1-24所示。注意:使用的是连接导线,不是画线工具,否则无法仿真。图1-24绘制系统原理图※系统仿真(10)选中AT89C51单片机,并单击打开“EditComponent”对话框,在“ProgramFile”栏后单击选择程序按钮,如图1-25所示。图1-25EditComponent窗口(11)打开如图1-26所示的“SelectFileName”窗口,选择前面编译生成的“test1.hex”文件,单击“打开”按钮,然后单击“OK”按钮关闭“EditComponent”窗口。图1-26选择HEX文件窗口(12)单击“运行(RUN)”按钮进行仿真,观察完仿真结果后单击“停止(STOP)”按钮退出仿真,如图1-27所示。图1-27运行仿真(13)保存仿真文件。注意:良好的编程习惯是学习的重要方法。五、思考题1.使用多种方法修改程序,使发光二极管亮灭时间长一些。2.假设单片机P1.0、P1.1、P1.2、P1.3引脚各接1个发光二极管D1-D4,编程实现D1-D4同时亮灭变化。3.假设单片机P1.0、P1.1、P1.2、P1.3引脚各接1个发光二极管D1-D4,编程实现D1-D4逐个循环点亮。
本文标题:实验1-KEIL+PROTEUS使用——单灯闪烁
链接地址:https://www.777doc.com/doc-5004786 .html