实验1 KEIL+PROTEUS使用——单灯闪烁
Keil与proteus完美结合教程
Keil与proteus完美结合教程Proteus 单片机仿真软件可与Keil或Pic的Mplab联接使用,单片机初学者的福音,有非常丰富的外围器件可供仿真使用简介:Proteus6.7是目前最好的模拟单片机外围器件的工具,真的很不错。
可以仿真51系列、AVR,PIC等常用的MCU及其外围电路(如LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分SPI器件,部分IIC器件,...)其实proteus 与 multisim 比较类似,只不过它可以仿真MCU!当然,软件仿真精度有限,而且不可能所有的器件都找得到相应的仿真模型,用开发板和仿真器当然是最好选择,可是估计初学者有的可能性比较小吧?如果你在学51单片机,如果你想自己动手做做LCD,LED,AD/DA,直流马达,SPI,IIC,键盘,...的小实验的话,试一下吧,不会让你失望的!用51不管你是用汇编或是C编程当然要用keil啦,uvisoin3有不少新特性呢!使用keil c51 v7.50 + proteus 6.7 可以像使用仿真器一样调试程序,一般而言,微机实验中用万利仿真器+电工系自己做的实验板的实验都可以做得到吧!当然,硬件实践还是必不可少的!!!本方案只是在没有硬件的情况下让你能像pspice 仿真模拟/数字电路那样仿真MCU及外围电路。
另外,即使有硬件,在程序编写早期用软件仿真一下也不错的!需要Proteus6.7 SP3和keil c51 v7.50请到本站:下载。
本站提供的是完全解密版和专业版。
放心使用。
为了使大家能最快的进入keil c51 v7.50 + proteus 6.7仿真本站特别编写了本教程共享,希望对本站大力支持!1 Proteus介绍Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。
因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。
keil与proteus的C单步联调
keil与proteus的C单步联调好了,这时候就可以看到那发光管一闪一闪的了。
联调设置我们已经知道如何把keil里写的东西让proteus动起来了,现在我们来讲讲如何进行联调。
1.先把vdm51.dll复制到X:\Program Files\Keil\C51\BIN里(X是你keil安装的盘符。
)2.用记事本打开keil目录下的tools.ini,在[C51] 栏目下加入TDRV9=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver" ) ,其中“TDRV9”中的“9”要根据实际情况写,不要和原来的重复。
还有“”里的文字其实就是你在keil选项里显示的文字,所以也可以自己定义。
如下图:3.在keil软件里的"options for target"target1→Debug"选项里选中右边的use,在下拉菜单中选择proteus vsm simulator。
如下图所示:4.在proteus 的debug 菜单中选中use remote debug monitor 。
如下图所示:1、已经安装了keil6.2和proteus7.82、安装keil与proteus联调驱动vdmagdi.exe,可以省去许多手动的设置,这个软件3、网上多了去。
4、打开keil和proteus软件,并各建立一个工程都保存在同一目录5、Keil设置(1)输出机器码(2)注意图中三个地方的设置注意:没有2,就没有c的联调,3是断点设置。
6、proteus设置(1)连接机器码(2)选远程调试7.调试(1)进入debug(2)一般选单步执行试验结果:。
proteus控制led灯闪烁的简单电路及程序
proteus控制led灯闪烁的简单电路及程序LED灯作为电子元件中广泛应用的一种,通过闪烁可以提供一种视觉提示。
在这篇文章中,我们将介绍如何使用Proteus软件设计一个简单的电路,并编写程序控制LED灯的闪烁效果。
本文将分为以下几个部分展开讨论。
1. 硬件设计在Proteus软件中,我们首先需要设计电路图。
请先插入一个微处理器芯片,例如Arduino UNO,然后将LED灯连接到芯片的一个数字引脚上。
确保LED的正极连接到数字引脚,负极连接到芯片的地线上。
为了实现闪烁效果,可以连接一个电阻到LED的负极,然后将另一端连接到芯片的VCC引脚。
2. 软件编程在设计了硬件电路后,我们需要编写控制LED闪烁的程序。
在Proteus软件中,可以使用Arduino IDE来完成这一任务。
以下是一个简单的C代码示例:```cvoid setup() {pinMode(2, OUTPUT); // 选择使用的数字引脚}void loop() {digitalWrite(2, HIGH); // LED灯亮起delay(1000); // 延时1秒digitalWrite(2, LOW); // LED灯熄灭delay(1000); // 延时1秒}```代码中的`setup`函数用于设置程序运行时的初始状态,其中`pinMode`函数用于配置数字引脚为输出模式。
`loop`函数则是程序的主要循环,其中`digitalWrite`函数用于控制LED灯的亮灭状态,`delay`函数用于给LED保持亮灭状态的时间间隔。
3. 仿真验证完成软件编程后,我们需要在Proteus中进行电路仿真验证。
打开Proteus软件,将设计好的电路图和编写好的程序导入到仿真环境中。
然后点击开始仿真按钮,程序将开始运行,并控制LED灯按照设定的时间间隔闪烁。
通过仿真验证,我们可以判断程序的逻辑是否正确,同时可以观察LED灯的正常工作情况。
LED灯闪烁控制
太原理工大学单片机原理与应用技术课程实验报告专业班级学号姓名指导教师LED 灯闪烁控制一、实验目的(1)掌握C语言、汇编语言编写单片机控制程序的方法;(2)掌握使用Keil C软件编写、编译、调试程序的方法;(3)掌握使用Proteus软件绘制电路原理图、硬件仿真和程序调试;(4)理解LED灯控制电路原理和延时程序的编写。
二、实验硬件和软件计算机1台,并安装Proteus软件和Keil C51软件。
三、实验任务在单片机I/O口上外接一个发光二极管LED,通过程序实现LED闪烁显示,即不停地一亮一灭,亮、灭持续时间均为0.2秒。
四、实验电路及分析实验电路如图所示,在P1.7口(也可选择其它端口)外接一个发光二极管D1,分析可知P1.7输出“0”时,D1点亮,P1.7输出“1”时D1熄灭。
LED 灯闪烁控制电路图五、实验程序编写1.程序编写(1)C语言程序#include <reg51.H>sbit D1=P1^7;void Delayms(unsigned int n){ unsigned int i, j;for(j=n; j>0;j--)for(i=112; i>0; i--);}int main( ){ while(1){ D1=0;Delayms(200);D1=1;Delayms(200);}}(2)程序流程图六、实验步骤1.利用Proteus软件绘制仿真电路图(1)打开Proteus软件,File→New Project进入工程创建向导,选择项目文件存放路径,项目文件名为“实验1.pdsprj”。
(2)创建原理图(schematic),默认模板为default,可根据电路规模选择合适的图纸大小。
(3)选择“Do not create a PCB layout”,即不绘制PCB图。
(4)选择第一项“No Firmware Project”,即不在Proteus平台下创建源程序。
单片机Keil C51和PROTEUS实验指导书
目录实验一单片机仿真开发系统的使用 (2)1.1 Keil C51 集成开发环境介绍 (2)1.2 用Proteus仿真软件 (6)1.3 实现单片机最小系统的简单应用。
(8)实验二显示及驱动电路设计用 (10)实验三简单输入/输出实验 (12)实验四外部中断的运用 (14)实验五单片机内部定时/计数器实验 (15)实验六串行口通信设计 (17)实验七直流电机控制 (18)实验八步进马达控制 (19)实验一单片机仿真开发系统的使用1.1 Keil C51 集成开发环境介绍①、运行keil C51编辑软件,软件界面如图1-1所示②、建立一个新的工程项目单击Project菜单,在弹出的下拉菜单中选中New Project选项③、保存工程项目a、选择要保存的文件路径,输入工程项目文件的名称,如保存的路径为C51文件夹,工程项目的名称为C51,如图所示,单击保存b、为工程项目选择单片机型号在弹出的对话框中选择需要的单片机型号,如图所示,这里选择51核单片机中使用较多的89S51,选定型号后,单击确定,出现如图所示的开发平台界面④、新建源程序文件在下图中单击“File”菜单,选择下拉菜单中的New选项,新建文件后得到如图的界面:⑤、保存源程序文件单击“File”菜单,选择下拉菜单中的Save选项,在弹出的对话框中选择保存的路径及源程序的名称,如图所示。
此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“Save As”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时必须键程序录入区域入正确的.扩展名。
注意,如果用C语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必须为(.asm)。
然后,单击“保存”按钮⑥、为工程项目添加源程序文件在编辑界面中,单击“Target”前面的“+”,再在“Source Group”上单击右键,得到如图所示的对话框,选择“Add File to Group’Source Group 1’”,弹出如图所示的对话框,选中要添加的源程序文件,单击“Add”,得到如图所示的界面,同时,在“Source Group 1”文件夹中多了一个添加的“Text1.c”文件。
Keil 与 Proteus 联合仿真设置步骤
四、Keil 属性设置
1、点击 Keil 界面上如图按钮。
2、选择“Debug”窗口。
3、将仿真模式设置为 Proteus 模式,点击“确定”,即可将 Keil 和 Proteus 进行 联合仿真。
Keil 与 Proteus 联合仿真设置步骤
一、联调破解补丁的安装
1、找到联调破解补丁“Vdmagdi ”文件,双击打开。
2、 点击下一步“Next ”按钮。
3、根据 Keil 版本选择安装版本,我们选择 uv2 ,点击下一步“Next ”按钮。
4、 点击下一步“Next ”按钮。 Nhomakorabea4、 点击下一步“Next ”按钮。
5、 点击完成“Finish ”按钮。
联调破解补丁文件就安装成功了。
二、复制文件
在 Proteus 安装文件夹中找到 PROSPICE.DLL 文件, 把此文件复制到 Proteus 安装目录的 Proteus 6 Professiona l\BI N 目录下。
三、Proteus 属性设置
点击 Proteus 界面上“Debug”菜单,将“Use Remote Debug Monitor”选项选中。
基于Keil和Proteus的花样广告灯设计及实现
第2卷 5
第2 期
电 脑 开 发 与 应 用
户嵌 入式 应用 ;
④ 真 正 源 代 码级 的对 C U 和 外 围 器 件 的 调 试 P
器;
⑤ 高级 G 接 口用 来在 目标 硬 件上 进 行 软 件 调 DI
试 以及 和 Mo i r5 nt 一 1进 行通 信 。 o
2 P oe s软件 r tu
Ke r s AT8 C5 , i, r t u , d etsn ih s ywo d : 9 Kel P o e s a v rii g l t 1 g
广 告 灯[ 已 为人 们所 常见 , 将 城市 装 扮 的美 丽 1 它
片机 的软 件 , i 提供 了包 括 C编译 器 、 汇编 、 Ke l 宏 连接
h r wa e a d s fwaesmu a in t ed v lp e to t e i lrs se a o e ee c . a d r n o t r i lt ,h e eo m n fo h rsmi y t msh d s mer fr n e o a
(
P1 a; 一
定 时/ 数器 、 计 5个 向量 两级 中断结构 、 2个全 双工 的 串
行 口 , 有 42 具 . 5 V~ 5 5 的 电 压 工 作 范 围 和 .0V
d l y 1 0 ) ea ( 0o 0 ;
a ( < < 1 1x 1 = a )00 ;
关 键 词 : T8C5 , elP oe s广 告 灯 A 9 1 K i rtu , , 中国分类号 : TN7 9 0 文献标识码 : A
De i n a h e e t l r u v r ii g Li ht sg nd Ac i v he Co o f lAd e tsn g s
proteus控制led灯闪烁的简单电路及程序
文章标题:Proteus控制LED灯闪烁的简单电路及程序一、引言Proteus是一款广泛用于电子电路仿真的软件,通过Proteus,我们可以方便地进行电路设计、仿真和调试。
在本文中,我们将探讨如何使用Proteus搭建一个简单的电路,实现对LED灯的闪烁控制,并给出相应的程序设计。
LED灯的闪烁控制是电子电路设计中的常见问题,我们希望通过本文的介绍,能够让大家更好地理解这一问题并掌握解决方法。
二、Proteus控制LED灯闪烁的简单电路设计1. 硬件部分设计在Proteus中搭建一个简单的LED灯闪烁控制电路,首先需要准备以下器件:Arduino开发板、LED灯、220欧姆电阻、面包板等。
具体的电路连接如下:将Arduino的数字引脚13接到LED的正极,将LED的负极接到220欧姆电阻,再将220欧姆电阻的另一端接到Arduino的地端。
在面包板上按照连接关系进行连线。
2. 软件部分设计接下来,我们需要在Proteus中进行程序设计。
首先打开Arduino IDE,编写以下简单的程序:```cvoid setup() {pinMode(13, OUTPUT);}void loop() {digitalWrite(13, HIGH);delay(1000);digitalWrite(13, LOW);delay(1000);}```该程序的作用是让数字引脚13上的LED灯每隔1秒闪烁一次。
接下来将该程序上传到Arduino开发板上,并在Proteus中进行仿真。
三、探讨LED灯闪烁控制的深入理解通过以上的简单电路设计与程序实现,我们实现了对LED灯的闪烁控制。
不过,LED灯的闪烁控制涉及到的知识远不止这些。
从电路设计的角度来看,我们还可以通过PWM控制LED灯的亮度和闪烁频率,实现更丰富的效果。
从程序设计的角度来看,我们还可以通过Arduino的定时器中断等功能,优化LED灯的闪烁控制程序,提高程序的灵活性和可扩展性。
项目一keil软件的使用及灯光闪烁
项目一:keil软件的使用及灯光闪烁实验一、项目目的:1、练习keil软件的使用2、会用单片机控制单个LED灯闪烁二、项目设备1、MCU01 主机模块2、MCU02 电源模块3、MCU04 显示模块4、SL-USBISP-A 在线下载器5、电子连线若干三、项目内容(一)keil软件的使用51 单片机系列最受欢迎的开发软件为Keil C51。
它支持汇编,C 语言开发,软件仿真等功能。
具有相当大的用户群,功能强大,资料丰富。
下面简要介绍一下它的使用方法。
安装完成后,运行此程序进入软件界面。
界面如下图所示:使用具体方法:1、建立项目建立项目的目的是方便对源程序的统一管理,对编译条件编译设置的存储等。
项目文件和源程序文件是相互独立的两种文件。
它们可以存放在不同的目录内,但为了以后管理,通常放在一个目录内。
建立项目的方法是菜单栏中的“Project->New->uVision Project”,然后会弹出一个保存对话框,请选择存放文件夹并保存(一般是事先建立一个文件夹)。
保存项目文件的同时会弹出一个“select device for Target ‘Taget 1’”对话框,通过此对话框选择目标芯片相同的型号并按确定按钮以确定。
最后还会弹出一个对话框,询问是否加载启动文件到项目中,如果是用C 语言开发就点“是”,如果要用汇编编程就点“否”。
整个流程如下图所示。
创建源程序通过“File->New”新建一个源文件,保存此源文件时没有扩展名,如果是 C 语言编程请加扩展名“.c”,如果用汇编编程请加扩展名“.asm”。
源文件最好与项目文件放在同一个文件夹内,以便管理。
2、添加源程序文件到项目右击项目管理器中的项目文件,在弹出的菜单中选择“Add Files to Group ’source Group 1’”,在弹出的对话框中找到上一步保存的源程序文件加载到项目中。
双击刚才加载的源程序文件,在工作空间中完成程序的编辑。
keil及proteus软件的使用实验报告
实验:kei及proteus软件的使用实验目的熟悉Keil C51 集成开发环境的使用方法,初步掌握Keil C51基本的操作和使用,能够输入、编译和仿真调试简单的程序。
实验内容在Keil C51 集成开发环境编写程序,实现P1.0口单灯闪烁的功能(假设P1.0口所接发光二极管低电平点亮),编写程序后在Keil C51 集成开发环境完成编译和仿真,实现全速运行、单步运行、并学会设置断点、查看相关寄存器等操作。
实验设备安装Keil C51的计算机一台。
实验原理及实验记录(1) 建立一个工程项目选择芯片确定选项。
执行Keil C51软件的菜单“Project | New Project…”,弹出一个名为“Create New Project”的对话框。
先选择一个合适的文件夹准备来存放工程文件,最后,为工程取名,并保存。
如图1-1所示,紧接着,Keil C51提示您选择CPU器件。
在这里可以选择Atmel 公司的AT89S51。
图1-1 Keil C51 工程的建立(2) 编写(或加入)汇编源文件或C 源文件,并添加到工程中。
执行菜单“File | N ew…”,出现一个名为“Text n”(其中n表示序号)的文档。
如图1-2所示。
图1-2 源文件的添加执行菜单“File | Save”,弹出一个名为“Save As”的对话框。
将文件名改为你事先起好的名称,如:led.asm然后保存。
注意:扩展名“.ASM或.c”不可省略。
单击Keil C51软件左边项目工作窗口“Target 1”上的“+”,将其展开。
然后右击“Source Group 1”文件夹,会弹出如图 1.7所示的选择菜单。
单击其中的“Add Files to Group 'Source Group 1'”项,将源程序文件添加到工程中。
然后编写如下程序源文件,并再次保存。
ORG 0000HMAIN: CLR P1.0 ;(1)点亮LEDMOV 30H,#255LCALL DELAY ;(2)调用延时子程序SETB P1.0 ;(3)熄灭LEDMOV 30H,#200LCALL DELAY ;(4)调用延时子程序AJMP MAIN ;(5)返回MAIN处执行DELAY: MOV R7,30H ;(6)延时程序D1: MOV R6,#250 ;(7)D2: DJNZ R6,D2 ;(8)R6存放内循环次数DJNZ R7,D1 ;(9)R7存放外循环次数RET ;(10)END(3) 设置参数单击“Project”菜单“Option…”选项(可能需要选择两次),在“Output”标签页,选中“Create HEX File”项,然后“确定”。
Proteus仿真单片机实验
目录引言 (2)实验1 PROTUES环境及LED闪烁综合实验 (7)实验2 多路开关状态指示 (10)实验3 报警产生器 (13)实验4 I/O并行口直接驱动LED显示 (16)实验5 按键识别方法之一 (19)实验6 一键多功能按键识别技术 (22)实验7 定时计数器T0作定时应用技术 (25)实验8定时计数器T0作定时应用技术 (28)实验9 “嘀、嘀、......”报警声 (32)实验10 8X8 LED点阵显示技术 (36)实验11电子琴 (40)引言单片机体积小,重量轻,具有很强的灵活性而且价格便宜,具有逻辑判断,定时计数等多种功能,广泛应用于仪器仪表,家用电器,医用设备的智能化管理和过程控制等领域。
以单片机为核心的嵌入式系统已经成为目前电子设计最活跃的领域之一。
在嵌入式系统的中,开发板成本高,特别是对于大量的初学者而言,还可能由于设计的错误导致开发板损坏。
利用Proteus我们可以很好地解决这个问题,由此我们可以快速地建立一个单片机仿真系统。
1. Proteus介绍Proteus是英国Labcenter Electronics公司开发的一款电路仿真软件,软件由两部分组成:一部分是智能原理图输入系统ISIS(Intelligent Schematic Input System)和虚拟系统模型VSM(Virtual Model System);另一部分是高级布线及编辑软件ARES (Advanced Routing and Editing Software)也就是PCB。
1.1 Proteus VSM的仿真Proteus可以仿真模拟电路及数字电路,也可以仿真模拟数字混合电路。
Proteus可提供30多种元件库,超过8000种模拟、数字元器件。
可以按照设计的要求选择不同生产厂家的元器件。
此外,对于元器件库中没有的元件,设计者也可以通过软件自己创建。
除拥有丰富的元器件外,Proteus还提供了各种虚拟仪器,如常用的电流表,电压表,示波器,计数/定时/频率计,SPI调试器等虚拟终端。
STM32实验报告
实验一:一个灯的闪烁一、实验要求1.熟悉使用STM32F103ZET6开发板2.利用C语言程序实现一个灯闪烁二、电路原理图图1-1 LED灯硬件连接图三、软件分析1.本实验用到以下3个库函数(省略了参数):RCC_DeInit();RCC_APB2PeriphClockCmd();GPIO_Init();2.配置输入的时钟:SystemInit()主要对RCC寄存器进行配置,GPIOA连接在APB2上,因此RCC_APB2PeriphClockCmd()函数需要使能APB2Periph_GPIOA3.声明GPIO结构: PF6~PF10口配置为输出GPIO_InitStructure.GPIO_Pin =GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10;4.应用GPIO口:点亮LED1有五种方法①ODR寄存器法:GPIOA->ODR=0xffbf;②位设置/清除寄存器法:GPIOA->BRR|=0X001;③方法③只适用于GPIOx_BSRR寄存器④GPIO_WriteBit()函数法:GPIO_Write(0xffbf);⑤置位复位库函数法:GPIO_ResetBits(GPIOF,GPIO_Pin_8);5.主函数程序:int main(void){RCC_Configuration(); /* 配置系统时钟 */GPIO_Configuration(); /* 配置GPIO IO口初始化 */ for(;;){GPIOF->ODR = 0xfeff; /* PF8=0 --> 点亮D3 */Delay(600000);GPIOF->ODR = 0xffff; /* PF8=1 --> 熄灭D3 */Delay(600000);}}四、实验现象下载程序后开发板上的LED1灯闪烁五、总结通过对本实验可以发现,和51等8位单片机相比,STM32对I/O端口的操作变得复杂了许多。
单片机单灯闪烁.ppt
功用能于。存放可读
写数据,后
128个单元被
特殊功能寄存
器占用。
MCS-51单片机内部结构
中央处理器CPU:8位,运算和控制功能 内部RAM:共256个RAM单元,用户使用前128个单元,
存放可读写数据,后128个单元被SFR占用。 通常内部RAM指的是前128B,即00H-FFH。
内部ROM:4KB FLASH ROM,用于存放程序、原始数
P3口线的第二功能
MCS-51单片机外部引脚
P3口第2功能表
MCS-51单片机时钟电路
时钟电路有两种方式:
➢ 内部时钟方式(大部分单片机采用内部时钟方式)
一般: 电容C01、C02 :30pF (20~ 80pF);
石英晶振fosc: 6MHz,12MHz,11.0592MHz NMOS、CMOS型单片机
20
21
VCC
P0. 0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 EA ALE PSEN P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0
(1)、电源:VCC(+5V)、GND(地) (2)、振荡电路:XTAL1、XTAL2 (3)、复位引脚:RST (4)、并行口:P0、P1、P2、P3 (5)、EA:片外程序存储器选择信号 (6)、PSEN:外部ROM读选通信号 (7)、ALE: Address Latch Enable 地址锁存有效信号输出端
时钟电路
T0 T1
ROM
RAM 定时计数器
CPU
并行接口 串行接口
中断系统
P0 P1 P2 P3 TXD RXD INT0 INT1
内部结构框图
proteus仿真实验【精选】
Proteus仿真实验一、实验目的1、通过实例熟悉proteus软件使用方法。
2、掌握具体电路proteus和keil仿真二、实验要求1、独立完成。
2、设计步骤符合标准规范。
三、实验设备计算机,proteus软件四、内容及步骤一)、实验内容:根据下图所示的电路图使用805l控制共阳七段显示器的显示:先搭建一个“8051基本IO实验”的仿真电路,使用8051的Port 1连接到一个共阳的七段显示器,然后让8051轮流显示0~9。
当您连接好电路,并且完成程序之后,您将看到七段显示器依次显示0~9二)、实习步骤:1、在Protues中,绘制电路图,并调试。
2、编写程序并调试(在Keil c 或实验箱编译系统下均可)。
附录一Keil Vison2使用入门Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,该软件提供丰富的库函数和功能强大的集成开发调试工具。
按下面的步骤建立第一个项目:1、点击Project--- New Project,在“文件名”中输入一个C程序项目名称。
“保存”后的文件扩展名为uv2,这是KEIL uVision2 项目文件扩展名,以后可以直接点击此文件以打开先前做的项目。
2、选择所要的单片机,这里选择常用的Ateml公司的A T89C51。
完成上面步骤后,就可以进行程序的编写了。
3、首先要在项目中创建新的程序文件或加入旧程序文件。
点击File—New按钮,或快捷键Ctrl+N。
出现一个新的文字编辑窗口,4、保存源文件,扩展名为.C。
并将该文件加入到刚才建立的项目中。
5、编译源文件。
点击Build target或Rebuild all target files,查看编译结果是否有错,若有错,则修改源程序。
否则,则可以进行调试。
6、进入调试模式如图2,调试程序。
点击Debug---Start/stop Debug session,进入调试模式。
STM32实验报告
实验一:一个灯的闪烁一、实验要求1.熟悉使用STM32F103ZET6开发板2.利用C语言程序实现一个灯闪烁二、电路原理图图1-1 LED灯硬件连接图三、软件分析1.本实验用到以下3个库函数(省略了参数):RCC_DeInit();RCC_APB2PeriphClockCmd();GPIO_Init();2.配置输入的时钟:SystemInit()主要对RCC寄存器进行配置,GPIOA连接在APB2上,因此RCC_APB2PeriphClockCmd()函数需要使能APB2Periph_GPIOA3.声明GPIO结构: PF6~PF10口配置为输出GPIO_InitStructure.GPIO_Pin =GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10;4.应用GPIO口:点亮LED1有五种方法①ODR寄存器法:GPIOA->ODR=0xffbf;②位设置/清除寄存器法:GPIOA->BRR|=0X001;③方法③只适用于GPIOx_BSRR寄存器④GPIO_WriteBit()函数法:GPIO_Write(0xffbf);⑤置位复位库函数法:GPIO_ResetBits(GPIOF,GPIO_Pin_8);5.主函数程序:int main(void){RCC_Configuration(); /* 配置系统时钟 */GPIO_Configuration(); /* 配置GPIO IO口初始化 */ for(;;){GPIOF->ODR = 0xfeff; /* PF8=0 --> 点亮D3 */Delay(600000);GPIOF->ODR = 0xffff; /* PF8=1 --> 熄灭D3 */Delay(600000);}}四、实验现象下载程序后开发板上的LED1灯闪烁五、总结通过对本实验可以发现,和51等8位单片机相比,STM32对I/O端口的操作变得复杂了许多。
基于proteus和keil的交通灯控制
for(i=0;i<4;i++)
{ switch(i)
//位选,选择点亮的数码管,
{
case(0):
A=0;B1=0;C=0; break;//显示第0位
case(1):
A=1;B1=0;C=0; break;//显示第1位
case(2): A=0;B1=1;C=0; break;//显示第2位
case(3): A=1;B1=1;C=0; break;//显示第3位
unsigned int time=0;//second unsigned int i,j,SA,SB;//交通灯显示状态位00,01,10,011 //分别表示Agreen,Ayellow,Bgreen,Byellow,
unsigned char code DIG_CODE[10]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f}; //0、1、2、3、4、5、6、7、8、9的显示码 unsigned char DisplayData[8]; //用来存放要显示的8位数的值 void DigDisplay(); //动态显示函数 void delay5how>=0&&Ashow<=3) { Agreen=1; Ared=0; Ayellow=0; Bred=1; Bgreen=0; Byellow=0; delay500ms(); Agreen=0; delay500ms(); } else { Agreen=1; Ared=0; Ayellow=0; Bred=1; Bgreen=0; Byellow=0; }
基于proteus和keil的交通灯系统控制
1、任务
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
注意:使用的是连接导线,不是画线工具,否则无法仿真。
图1-24绘制系统原理图
※系统仿真
(10)选中AT89C51单片机,并单击打开“Edit Component”对话框,在“Program File”栏后单击选择程序按钮,如图1-25所示。
※新建工程
(2)新建工程在“Project”菜单中选择“NewuVisionProject…”命令。如图1-4所示。
图1-4新建工程
(3)弹出新建工程窗口如图1-5所示,在对话窗中创建名为“test1”的工程,单击“保存”按钮。
注意:将新建的工程保存在准备工作中新建的“test1”文件夹中。
图1-5新建工程窗口
图1-22所需元件
※摆放元件
(7)在工作区中加添加完所需元件,并摆放到合适的位置。
※添加电源/地
(8)在工具栏上单击“Terminals Mode”按钮,在窗口中选择电源“POWER”添加到工作空间中,如图1-23所示。
注意:电源为“POWER”,接地为“GROUND”。
图1-23添加电源
※绘制电路
图1-11源文件添加到工程
※工程选项设定
(11)在工程(Project)窗口的“Target 1”上单击鼠标右键,弹出如图1-12所示的右键菜单中选择“Options for Target‘Target 1’…”。
图1-12选项设置
(12)在弹出如图1-13所示的“Options for Target‘Target 1’”窗口中选择“Output”选项卡,并勾选“Creat Hex File”选项,单击“OK”按钮关闭选项窗口。
2
单灯闪烁流程图如图1-2所示。
图1-2单灯闪烁流程图
3
/***********************************************************
*文件名称:main.c
*作者:
*版本:2012-01-29-V1.0
*说明:单片机P1.0外接LED,实现单灯闪烁
*修改记录:无
图1-25 Edit Component窗口
(11)打开如图1-26所示的“Select File Name”窗口,选择前面编译生成的“test1.hex”文件,单击“打开”按钮,然后单击“OK”按钮关闭“Edit Component”窗口。
图1-26选择HEX文件窗口
(12)单击“运行(RUN)”按钮进行仿真,观察完仿真结果后单击“停止(STOP)”按钮退出仿真,如图1-27所示。
图1-9添加文件
(9)弹出如图1-10所示的“Add Files to Group‘Source Group 1’”对话框中选择“main.c”文件,单击“Add”按钮,将“main.c”文件添加到工程中,然后单击“Close”按钮。
图1-10添加文件对话框
(10)在工程窗口中可以看到文件“main.c”已经添加,如图1-11所示。
74HC04
11
NPN三极管
Transistors
NPN
注意:<1>发光二极管需选择“LED-XXX”,单个的“LED”不能仿真,“XXX”表示发光二极管的颜色。
<2>数码管“7SEG-MPX1-CA”最后的“CA”表示共阳极,“CC”表示共阴极。
<3>使用电阻时,可以在RES的选项中更改电阻值。
(6)将本实训中需要AT89C51单片机、LED-RED、RES三个元件添加到工程器件库中,如图1-22所示。
2.掌握单片机控制LED的方法
3.掌握C51程序基本结构
4.了解软件延时的方法
三、实训内容
1
当二极管外加正偏电压时点亮,外加反偏电压时熄灭。本实训电路中二极管阳极恒接电源VCC(高电平),因此,想要使发光二级管D1点亮,只须控制单片机使P1.0输出低电平,想要使发光二极管D1熄灭,只须控制单片机P1.0输出高电平即可。若要亮灭闪烁变化,则需要控制单片机P1.0输出高、低电平循环交替。为看到持续亮灭效果,需要亮后延时一段时间,然后在熄灭LED,之后再延时一段时间,如此重复即可。
***********************************************************/
#include < regx52.h >//调用头文件
void delay( unsigned int );//延时函数声明
/***********************************************************
注意:最好将仿真文件和刚才创建的程序文件都放在一个工程文件夹下面,以便以后维护。
图1-19仿真文件保存对话框
※添加仿真元件
(4)在“DEVICES”窗口中单击“P”按钮,进行选择元件,如图1-20所示。
图1-20选取元件操作
(5)在打开如图1-21所示的“Pick Devices”窗口中选择所需要的仿真元件,双击将它添加到工程中。
(7)在常用工具栏中单击“保存文件”按钮,弹出如图1-8保存文件对话框。在“文件名”栏目中输入“main.c”,单击保存按钮。
注意:在保存文件对话框中输入的文件名必须加文件后缀“.c”。
图1-8另存为对话框
※添加文件到工程
(8)展开工程(“Project”)窗口中“Target 1”,在“Source Group 1”上单击鼠标右键,在弹出的右键菜单中选择“Add Files to Group‘Source Group 1’…”,如图1-9所示。
注意:次步骤必须执行,否则无法生成单片机使用的机器语言程序文件。
图1-13“Options for Target‘Target 1’”窗口
※程序录入
(13)在工作区的“main.c”文件中输入本工程的源程序,如图1-14所示。
图1-14编程窗口
※程序录入
(14)在如图1-15所示的编译工具栏中选择“build”按钮,将C51源文件翻译成HEX的机器语言文件。
实验
一、实训要求
编程使用AT89S52单片机实现控制一个发光二极管LED亮灭闪烁变化。电路如图1-1所示,单片机P1.0通过510欧的限流电阻接一个红色LED阴极,二极管的阳极接电源VCC。
图1-1单灯闪烁电路原理图
二、实训目的
1.熟练掌握单片机编程(KEIL)和仿真(PROTUES)软件的基本操作。
*出口参数:空
*备注:AT89S52单片机,晶振12MHz时,最小延时时间1ms
***********************************************************/
void delay( unsigned int n )//延时函数定义
{
unsigned int x, y;
for( x = 0; x < n; x ++ ){
for( y = 0; y < 121; y ++ ){
;
}
}
}
四、操作步骤
1
在电脑的硬盘上新建一个“test1”文件夹,用于存放本实训中所用到的工程文件(包括程序及仿真文件)。
注意:文件夹名称最好不要含有中文字符。
2
※启动KEIL
(1)双击桌面图标如图1-3所示,打开keil软件。
delay( 500 );//延时一段时间
P1_0 = 1;//P1.0接的LED灯灭
delay( 500 );//延时一段时间
}
}
/***********************************************************
*函数名称:delay
*函数功能:通用延时函数
*入口参数:延时时间变量n
图1-21选择元件窗口
注意:常用的元件库及元件见表1-1所示。
表1-1常用仿真元件表
序号
名称
库
元件
1
单片机
Microprocessor ICs
AT89C51
2
电阻
Resistors
RES
3
排阻
Resistors
RESPACK-8
4
发光二极管
Optoelectrorics
LED-RED
5
单个数码管
Optoelectrorics
7SEG-MPX1-CA
6
两位一体数码管
Optoelectrorics
7SEG-MPX2-CA
7
四位一体数码管
Optoelectrorics
7SEG-MPX4-CA
8
按钮
Switches&Relays
BUTTON
9
蜂鸣器
Speakers&Sounders
BUZZER
10
非门
TTL 74HC series
*函数名称:main
*函数功能:主函数
*入口参数:空
*出口参数:空
*备注:无
***********************************************************/
void main( void )
{
while( 1 ){//死循环
P1_0 = 0;/软件,如图1-18所示。
图1-18 PROTEUS界面
※新建仿真文件
(3)每次打开PROTEUS软件,系统会自动创建名为“UNTITLID”的仿真文件。在常用工具栏中单击保存文件,弹出保存对话框,如图1-19所示。将仿真文件保存在“test1”文件夹中,并将仿真文件命名为“test1”,单击保存按钮。