51单片机C语言编程入门以及keil_uvision使用方法介绍(详讲版)
- 格式:pdf
- 大小:2.29 MB
- 文档页数:83
Keil C51使用详解V1.0第一章 Keil C51开发系统基本知识 (6)第一节系统概述 (6)第二节Keil C51单片机软件开发系统的整体结构 (6)1. C51 for Dos 72. C51 for Windows的安装及注意事项: (7)第四节Keil C51工具包各部分功能及使用简介 (7)1. C51与A51. 72. L51和BL51. 83. DScope51,Tscope51及Monitor51. 84. Ishell及uVision. 9第二章 Keil C51软件使用详解 (10)第一节Keil C51编译器的控制指令 (10)1. 源文件控制类 (10)2. 目标文件(Object)控制类: (10)3. 列表文件(listing)控制类: (10)第二节dScope51的使用 (11)1. dScope51 for Dos 112. dScope for Windows 12第三节Monitor51及其使用 (13)1. Monitor51对硬件的要求 (13)2. Mon51的使用 (13)3. MON51的配置 (13)4. 串口连接图: (13)5. MON51命令及使用 (14)第四节集成开发环境(IDE)的使用 (14)1. Ishell for Dos的使用 (14)2. uVision for windows的使用 (15)第三章 Keil C51 vs 标准C.. 15第二节内存区域(Memory Areas): (16)1. Pragram Area: (16)2. Internal Data Memory: 163. External Data Memory. 164. Speciac Function Register Memory. 16第三节存储模式 (16)1. Small模式 (16)2. Compact模式 (17)3. large模式 (17)第四节存储类型声明 (17)第五节变量或数据类型 (17)第六节位变量与声明 (17)1. bit型变量 (17)2. 可位寻址区说明20H-2FH.. 18第七节Keil C51指针 (18)1. 一般指针 (18)2. 存储器指针 (18)3. 指针转换 (18)第八节Keil C51函数 (19)1. 中断函数声明: (19)2. 通用存储工作区 (19)3. 选通用存储工作区由using x声明,见上例。
全面的KEIL和C51的使用免费
KEIL和C51是一款强大的集成开发环境和一种流行的8051系列单片
机C语言编译器。
KEIL提供了C51编译器和调试器,以及丰富的软件库
和开发工具,使得开发人员能够更方便地编写、调试和测试嵌入式系统。
全面使用KEIL和C51需要掌握以下几个方面的内容:
2.创建工程:在KEIL中创建工程是开始开发的第一步。
可以选择新
建空白工程或者导入已有的工程。
在工程中,可以添加源文件、头文件、
库文件等。
同时,还需要指定目标芯片型号和连接器脚本。
4.编译和调试:编写完程序后,可以选择编译和调试。
KEIL的C51
编译器会将源代码编译成可以在目标芯片上运行的机器码。
编译过程中,
会检查语法错误、类型错误、符号错误等,并生成可执行文件。
调试过程中,可以设置断点、查看变量值、单步运行等功能,以便调试和测试程序。
此外,KEIL还提供了一系列的工具和功能,如性能分析器、内存监
视器、逻辑分析器等,用于进一步提高开发效率和调试能力。
全面使用KEIL和C51需要学习的知识较多,可以通过以下途径进一
步深入学习:。
48 | 电子制作 2019年07月RC 是指RAM 为512,具有8K 字节系统可编程Flash 存储器。
STC89C52使用经典的MCS-51内核,但是做了很多的改进使得芯片具有传统51单片机不具备的功能。
在单芯片上,拥有灵巧的8位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。
2 最小系统板的选用AT89S51单片机最小系统,就是使单片机正常运行的最低配置,它有一系列模块组成(参见图1)。
图1 带USB 下载芯片单片机套件(1)复位系统: 当引脚9出现2个机器周期以上高电平时,单片机复位,程序从头开始运行。
(2)时钟系统:有振荡器电路产生频率等于晶振频率,这时用的是外界晶振。
也可以又外部单独输入,此时XTAL2脚接地,时钟信号由XTAL1输入。
(3)电源系统:VCC,和 GND 引脚,供电电压4--5.5V。
为了节省时间,可以网上购买散件,自己焊接,最后根据实物,测绘出具体的电路图。
我在教学中推荐同学们购买STC89C52板载USB 转串口,方便下载。
价格是二十多元,芯片座方便单片机的更换。
成可以用于下载的十六进制文件“XX.HEX”文件。
Keil C51是美国Keil Software 公司出品的51系列兼容单片机C 语言软件开发系统。
为了节省很多硬件方面的购买成本,电脑里面还得安装仿真软件PROTEUS,Proteus 软件是来自英国Labcenter Electronics 公司的EDA 工具软件,Proteus 软件除了其具有和其它EDA 工具一样的原理布图,PCB 自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器,逻辑分析仪等,您不需要别的,Proteus 为您建立了完备的电子设计开发环境。
Keil C51使用详解keilc51使用详解v1.0电子设计世界!版权所有,热烈欢迎贴文,切勿修正并标明原文。
留存一切权利。
第一章keilc51开发系统基本知识 (6)1第一节系统概述 (6)第二节keilc51单片机软件开发系统的整体结构...6第三节keilc51工具包的加装...71.c51fordos72.c51forwindows的安装及注意事项:...7第四节keilc51工具包各部分功能及使用简介...71.c51与a51.72.l51和bl51.83.dscope51,tscope51及monitor51.84.ishell及uvision.9第二章keilc51软件使用详解 (10)第一节keilc51编译器的控制指令...101.源文件掌控类 (10)2.目标文件(object)控制类:...103.列表文件(listing)控制类:...10第二节dscope51的使用...111.dscope51fordos112.dscopeforwindows12第三节monitor51及其使用...131.monitor51对硬件的要求...132.mon51的使用...133.mon51的配置...134.串口连接图:...135.mon51命令及使用...14第四节集成开发环境(ide)的使用...141.ishellfordos的使用 (14)22.uvisionforwindows的使用 (15)第三章keilc51vs标准c..15第一节keilc51扩展关键字...15第二节内存区域(memoryareas):...161.pragramarea:...162.internaldatamemory:163.externaldatam emory.162.可位串行区表明20h-2fh..18第七节keilc51指针...181.通常指针...182.存储器指针...183.指针切换...18第八节keilc51函数...191.中断函数声明:...192.通用型存储工作区 (19)3.选通用存储工作区由usingx声明,见上例。
keil C51 应用入门keil C51软件是众多单片机应用开发的优秀软件之一,它集编辑、编译、仿真于一体,支持汇编和C 语言的程序设计,界面友好,易学易用。
本章主要介绍keil C51的安装、开发环境和程序调试及仿真方法。
一keil C51软件的安装下面以keil C51 V7.50a版本为例,介绍如何安装keil µVision3集成开发环境。
先安装keil µVision2,然后安装升级版本keil µVision3。
图1-1安装初始化图1-2 安装向导对话框(1)把光盘放入光驱中(假定为F盘),进入F:keil 51V7.50a\setup目录下,这时会看到SETUP.EXE文件,双击该文件即可开始安装。
(2)这时会出现如图1-1所示的安装初始化画面,稍后弹出一个如图1-2所示的安装向导对话框,询问用户是安装、更新还是卸载软件,当然选择第一项“Install Support for Additional Microcontroller Architectures”安装该软件。
(3)单击Next钮,这时会出现如图1-3所示的安装询问对话框,提示用户是安装完全版还是评估版。
如果买了正版的keil C51就可选择Full V ersion,否则选择Eval V ersion。
图1-3 安装询问对话框(4)此后在弹出的几个确认对话框中选择Next,这是会出现如图1-4所示的安装路径设置对话框,默认路径是C:/KEIL。
当然用户可以单击选择适合自己安装的目录。
图1-4 安装路径设置对话框(5)在接下来的询问对话框中选择Next命令按钮加以确认,即可出现如图1-5所示的安装进度指示画面。
(6)接下来就是等待安装。
安装完成后单击Finish加以确认,此时可以在桌面上可看到keil µVision2软件的快捷图标,如图1-6所示。
双击它就可进入keil C51集成开发环境。
keil的使用方法Keil是一款嵌入式系统开发工具,功能强大且易于上手。
本文将为大家详细介绍Keil的使用方法,帮助大家更好的进行嵌入式系统开发。
第一步:安装Keil软件首先将Keil软件下载到本地,然后进行安装。
在安装过程中需要选择合适的安装路径,并按照提示完成安装。
安装完成后,可以打开Keil软件,进入编辑器界面。
第二步:创建工程在Keil中,开发者需要先创建一个工程,然后才能进行代码编写。
在“Project”菜单中选择“New Project”,然后按照提示进行操作。
在工程创建完成之后,需要添加需要使用的源文件和头文件。
第三步:编写代码在Keil的编辑器界面中开始编写代码。
Keil支持多种编程语言,如C语言、C++语言等。
在编写代码时,需要遵循一定的规范,如正确的命名变量、函数和宏定义等。
同时,也需要注意代码格式的规范,如使用空格、缩进等;还要注意代码的可读性和可维护性。
第四步:编译代码在代码编写完成后,需要将代码编译成可执行的二进制文件。
在Keil中,编译非常简单。
只需要在菜单栏的“Build”中选择“Compile”,Keil就会自动完成代码编译,并生成可执行的二进制文件。
第五步:下载程序将已经编译好的程序下载到目标设备中。
Keil支持多种下载方法,如串口下载、JTAG下载等。
根据实际的需要进行选择,并按照提示完成设备连接和下载操作。
在下载完成后,可以通过调试窗口进行程序的调试。
综上所述,Keil是一个非常方便的嵌入式系统开发工具。
通过上面的介绍,相信大家已经掌握了Keil的使用方法。
只要掌握好Keil 的使用方法,就可以轻松开发出高质量的嵌入式系统。
51单片机c语言教程在本教程中,我们将学习如何在51单片机上使用C语言进行编程。
无论您是初学者还是有一定经验的开发者,本教程都将对您有所帮助。
首先,我们需要了解一些基本概念。
51单片机是一种基于哈弗微电子公司的MCS-51架构的微控制器。
它采用了Harvard结构,即将程序存储器和数据存储器分开。
它具有各种功能和接口,可以满足不同的应用需求。
在使用C语言进行51单片机编程之前,必须安装相应的开发工具。
这里我们推荐使用Keil C51开发环境。
安装完成后,我们就可以开始编写第一个程序了。
#include <reg51.h>void main(){// 在这里编写您的代码}以上是一个简单的C语言程序模板。
我们使用了reg51.h头文件,该文件包含了与51单片机相关的寄存器定义和常量。
接下来,我们可以开始编写具体的功能代码了。
例如,如果我们想要在LED灯上闪烁一个简单的模式,可以使用以下代码:#include <reg51.h>sbit LED = P1^0;void main(){while(1){LED = 0; // 点亮LEDdelay(1000); // 延时1秒LED = 1; // 熄灭LEDdelay(1000); // 延时1秒}}在这个程序中,我们首先定义了一个LED的控制引脚,然后通过循环实现了闪烁的功能。
在每次循环中,我们先点亮LED,然后通过调用延时函数延时1秒,再将LED熄灭,再次延时1秒。
这样就形成了一个简单的LED闪烁效果。
除了控制IO口外,51单片机还可以实现其他各种功能,如定时器、串口通信等。
这些功能的实现也都可以通过C语言来完成。
希望通过本教程,您可以对51单片机的C语言编程有一个基本的了解。
在以后的学习中,您可以深入研究这些知识,并通过实践来提升自己的能力。
祝您学习愉快!。
Keil C语言程序设计示例教程(开发C8051F310)使用汇编语言或C语言要使用编译器,以便把写好的程序编译为机器码,才能把HEX可执行文件写入单片机内。
KEIL uVISION是众多单片机应用开发软件中最优秀的软件之一,它支持众多不同公司的MCS51架构的芯片,甚至ARM,它集编辑,编译,仿真等于一体,它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。
因此很多开发51应用的工程师或普通的单片机爱好者,都对它十分喜欢。
在这里以51单片机并结合C程序为例(汇编操作方法类似,唯一不同的是汇编源程序文件名后缀为“.ASM ”),图文描述工程项目的创建和使用方法。
1.首先我们要养成一个习惯:最好先建立一个空文件夹,把您的工程文件放到里面,以避免和其他文件混合,如下图, 创建了一个名为“PRJ_C8051”文件夹2.点击桌面上的Keil uVision4图标,出现启动画面:3.点击“project --- New uVision Project”新建一个工程:4.在对话框,选择放在刚才建立的“PRJ_C8051”文件夹下,给这个工程取个名为Test_C8051F310, 然后保存,工程的后缀为uvporj。
5.弹出一个框,在CPU类型下我们找到并选中“Silicon Laboratories. Inc.”下的C8051F3106.加入C8051起动码7.建立一个源程序文本8.在下面空白区别写入或复制一个完整的C程序:9.输入源程序文件名名称,示例输入“Test_C8051F310.c”,然后保存:10.把刚创建的源程序文件加入到工程项目文件中。
11.设置---目标(第1步~ 第4步)15.工程项目创建和设置全部完成!点击保持并编译16.在C8051F310中的C语言程序示例//-----------------------------------------------------------------------------// Includes// 在c8051f310.h在头文件中定义了C8051F310的寄存器、输入/输出的端口//-----------------------------------------------------------------------------#include <c8051f310.h> // SFR declarations//-----------------------------------------------------------------------------// 16-bit SFR Definitions for 'F30x//-----------------------------------------------------------------------------sfr16 TMR2RL = 0xca; // Timer2 reload valuesfr16 TMR2 = 0xcc; // Timer2 counter//-----------------------------------------------------------------------------// Global CONSTANTS//-----------------------------------------------------------------------------#define SYSCLK 24500000 / 8 // SYSCLK frequency in Hzsbit LED = P0^0; // LED='1' means ON//-----------------------------------------------------------------------------// Function PROTOTYPES//-----------------------------------------------------------------------------void SYSCLK_Init (void);void PORT_Init (void);void Timer2_Init (int counts);void Timer2_ISR (void);//-----------------------------------------------------------------------------// MAIN Routine//-----------------------------------------------------------------------------void main (void){// disable watchdog timerPCA0MD &= ~0x40; // WDTE = 0 (clear watchdog timer// enable)SYSCLK_Init (); // Initialize system clock to// 24.5MHzPORT_Init (); // Initialize crossbar and GPIOTimer2_Init (SYSCLK / 12 / 10); // Init Timer2 to generate// interrupts at a 10Hz rate.EA = 1; // enable global interruptswhile (1) // spin forever{}}//-----------------------------------------------------------------------------// SYSCLK_Init//-----------------------------------------------------------------------------//// This routine initializes the system clock to use the internal 24.5MHz / 8// oscillator as its clock source. Also enables missing clock detector reset.//void SYSCLK_Init (void){OSCICN = 0x80; // configure internal oscillator for// its lowest frequency RSTSRC = 0x04; // enable missing clock detector }//-----------------------------------------------------------------------------// PORT_Init//-----------------------------------------------------------------------------//// Configure the Crossbar and GPIO ports.// P3.3 - LED (push-pull)//void PORT_Init (void){// assignmentsXBR0 = 0x00; // no digital peripherals selectedXBR1 = 0x40; // Enable crossbar and weak pull-ups//P3MDOUT |= 0x08;P0MDOUT |= 0x03; // enable LED as a push-pull output}//-----------------------------------------------------------------------------// Timer2_Init//-----------------------------------------------------------------------------//// Configure Timer2 to 16-bit auto-reload and generate an interrupt at// interval specified by <counts> using SYSCLK/48 as its time base.//void Timer2_Init (int counts){TMR2CN = 0x00; // Stop Timer2; Clear TF2;// use SYSCLK/12 as timebase CKCON &= ~0x60; // Timer2 clocked based on T2XCLK;TMR2RL = -counts; // Init reload valuesTMR2 = 0xffff; // set to reload immediatelyET2 = 1; // enable Timer2 interruptsTR2 = 1; // start Timer2}//-----------------------------------------------------------------------------// Interrupt Service Routines//-----------------------------------------------------------------------------//-----------------------------------------------------------------------------// Timer2_ISR//-----------------------------------------------------------------------------// This routine changes the state of the LED whenever Timer2 overflows.//void Timer2_ISR (void) interrupt 5{TF2H = 0; // clear Timer2 interrupt flagLED = ~LED; // change state of LED}17.KEIL C语言与汇编语言的混合编程方法C语言中加入汇编语言模块的方法:例子:void func(){C语言代码……#pragma asmMOV R6,#23DELAY2: MOV R7,#191DELAY1: DJNZ R7,DELAY1DJNZ R6,DELAY2RET#pragma endasmC语言代码……}汇编部分需要用#pragma asm和#pragma endasm包起来18.KEIL C混合编程中的错误与解决方法1)Keil提示“asm/endasm”出错的解决方法如果只是像1中那样直接加入汇编代码的话,编译将会报错,错误如下:compiling sendata.c...sendata.c(81): error C272: 'asm/endasm' requires src-control to be active sendata.c(87): error C272: 'asm/endasm' requires src-control to be active Target not created解决方法如下:首先project workspace窗口右键单击包含有汇编部分的c语言文件名,然后在如上图所示的菜单中选择带有红色方框的选项在弹出的对话框中,将上图中红色方框选中的两项打上勾(默认的情况下,前面的勾是灰色的,要让这两项前的勾变为黑色的),点击确定。
MCS-51单片机及KeilUvision的使用简介MCS-51的编译过程,要求,以后运行环境,仿真。
这是上下的文档,到此来和大家分享下,里面有Keil Uvision汇编、仿真软件的简介和使用方法,安装方法,希望可以帮到学习汇编语言、单片机的同学。
第9章MCS-51单片机系统的开发与应用MCS-51单片机系统的开发应用MCS-51单片机系统的开发应用本讲主要内容9.1 单片机应用系统的研制9.2 磁电机性能智能测试台的研制9.3 水产养殖水体多参数测控仪9.4 课程设计:单片机温度控制实验装置的研制9.5 单片机的C语言程序开发MCS-51的编译过程,要求,以后运行环境,仿真。
这是自己在别的网上下的文档,到此来和大家分享下,里面有Keil Uvision汇编、仿真软件的简介和使用方法,安装方法,希望可以帮到学习汇编语言、单片机的同学。
第9章MCS-51单片机系统的开发与应用主要内容概述:主要内容概述:从总体设计、硬件设计、软件设计、可靠性设计、系统调试与测试等几个方面介绍了单片机应用系统设计的方法及基本过程,并给出了典型设计实例,同时还简单介绍了C51编程方法和Keil C51开发系统。
重点在于单片机应用系统开发的方法与实际应用,难点在于将单片机应用系统开发的方法应用于实际工程中,设计出最优的单片机应用系统。
MCS-51的编译过程,要求,以后运行环境,仿真。
这是自己在别的网上下的文档,到此来和大家分享下,里面有Keil Uvision汇编、仿真软件的简介和使用方法,安装方法,希望可以帮到学习汇编语言、单片机的同学。
第9章MCS-51单片机系统的开发与应用9.1 单片机应用系统研制过程MCS-51的编译过程,要求,以后运行环境,仿真。
这是自己在别的网上下的文档,到此来和大家分享下,里面有Keil Uvision汇编、仿真软件的简介和使用方法,安装方法,希望可以帮到学习汇编语言、单片机的同学。
第9章MCS-51单片机系统的开发与应用9.1.1 总体设计 1.明确设计任务认真进行目标分析,根据应用场合、工作环境、具体用途,考虑系统的可靠性、通用性、可维护性、先进性,以及成本等,提出合理的、详尽的功能技术指标。
单片机开发与仿真软件Keil C51的使用一、Keil C51 操作入门Keil C51 简介Keil C51 是德国知名软件公司Keil(现已并入ARM 公司)开发的基于8051 内核的微控制器软件开发平台,是目前开发8051 内核单片机的主流工具。
Keil 51支持汇编语言、C语言等各种开发语言。
其中,uVision2集成开发环境包含项目管理、源代码编辑和强大的程序调试环境。
uVision2调试器是一个强大的全特性调试器,允许用户在PC机上完全模拟目标程序、指令集和片内外围功能。
实验所用的是Keil C51 评估版。
Keil C51 的启动双击桌面上的“Keil uVision2”图标,启动Keil C51程序,启动界面如图1所示。
图1 Keil C51的启动界面建立第1 个Keil C51 程序Keil C51 是一个功能很强大的软件,但是使用起来并不复杂。
现在就通过建立一个简单的LED(发光二极管)闪烁发光的实例来初步掌握Keil C51的基本用法。
硬件电路参见图2,单片机I/O 输出低电平可点亮LED。
图2 LED 闪烁发光电路●新建工程。
执行Keil C51 软件的菜单“Project | N ew Project…”,弹出一个名为“Create New Project”的对话框。
先选择一个合适的文件夹准备来存放工程文件,比如“E:\Project\LedFlash”,其中“LedFlash”是新建的文件夹。
建议:今后每新建一个工程都要在适当的磁盘位置新建一个文件夹用来保存工程文件,以方便管理,并养成良好的习惯。
最后,为工程取名为“LedFlash”,并保存。
参见图3。
图3 新建Keil C51 工程●选择CPU。
紧接着,Keil C51 提示选择CPU 器件。
8051 内核单片机最早是由鼎鼎大名的Intel 公司发明的,后来其他厂商如Philips 、Atmel 、Winbond 等先后推出其兼容产品,并在8051 的基础上扩展了许多增强功能。