keil使用教程及51单片机数据传送例程

合集下载

KeilC51使用教程

KeilC51使用教程

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语言文件名,然后在如上图所示的菜单中选择带有红色方框的选项在弹出的对话框中,将上图中红色方框选中的两项打上勾(默认的情况下,前面的勾是灰色的,要让这两项前的勾变为黑色的),点击确定。

Keil C51串口收发范例及说明

Keil C51串口收发范例及说明

51 //需要在"Uart1.c"文件中修改串口工作参数的函数示范
52 void Uart1_Setup()
53 {
54 unsigned char U1Brt; //波特率重装值数组的指针
55 //串口参数设置--------------------------------------
56 U1Brt=6;
98
参数 2:计数器选择,0,定时器 1;1,独立波特率
99 **********************************************************/
100 void Uart1_Setup()
101 {
102 unsigned char U1Brt; //波特率重装值数组的指针
//收发模式,0 做字符数组处理,遇停止符停止,1 做最大 Uart1_MaxString 位循环写入
80
unsigned char
Read:1;
//接受字符组可读标记
81
unsigned char
Parity:1;
//接收到的奇偶校验状态 1,0
82 }xdata Uart1;
//结构变量名
83
84 //Uart1 包含函数申明---------------------------------
//1 做环回接收处理,0 做字符数组处理
59 Uart1.Read=0;
//清可读标记,并非必要
60 //AUXR |= 0x01;
//串口 1 时基源选择独立波特率发生器
61 AUXR &= 0xFE;
//串口 1 时基源选择定时器 1 做波特率发生器
62 ......

Keil C51 使用详解

Keil C51 使用详解

Keil C51使用详解V1.0第一章KEIL C51开发系统基本知识 (6)第一节系统概述 (6)第二节KEIL C51单片机软件开发系统的整体结构 (6)第三节KEIL C51工具包的安装 (7)1. C51 for Dos (7)2. C51 for Windows的安装及注意事项: (7)第四节KEIL C51工具包各部分功能及使用简介 (7)1. C51与A51 (7)2. L51和BL51 (8)3. DScope51,Tscope51及Monitor51 (8)4. Ishell及uVision (9)第二章KEIL C51软件使用详解 (10)第一节KEIL C51编译器的控制指令 (10)1.源文件控制类 (10)2.目标文件(Object)控制类: (10)3.列表文件(listing)控制类: (10)第二节DSCOPE51的使用 (11)1. dScope51 for Dos (11)2. 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)第一节KEIL C51扩展关键字 (15)第二节内存区域(MEMORY AREAS): (16)1. Pragram Area: (16)2. Internal Data Memory: (16)3. External Data Memory (16)4. 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声明,见上例。

第11章 Keil C51 软件的使用

第11章  Keil C51 软件的使用

3."Listing"标签属性 Listing"标签属性 "Listing"标签页用于调整生成的列表文件选项,一般常设置成如 图11-17所示.
图11-17 "Listing"属性标签
Select Folder for Listings:选择列表文件存放的目录, 默认为工程文件所在的目录. *.lst *.m51文件对了解程序用到了那些idata,data,bit, xdata,code,RAM,ROM,Stack等有很重要的作用. Assembly Code生成汇编的代码,根据需要决定是否选择. 4."C51"标签页 C51"标签页 "C51"标签页用于对Keil的C51编译器编译过程进行控制,其 中比 较常用的是"Code Optimization"组,如图11-18所示. 该组中"Level"是优化等级,C51在对源程序进行编译时可 以对代码多至9级优化,默认使用第8级,一般不必修改.如果在 编译中出现一些问题可以降低优化级别试一试. "Emphasis"是选择编译优先方式,第一项是代码量优化(最 终生成的代码量小),第二项是速度优先(最终生成的代码速度 快),第三项是默认的,是速度优先,可根据需要更改.
第11章 Keil C51 软件的使用 11章
11.1 工程文件的建立及设置 11.2 程序调试 11.3 Keil 程序调试窗口
Keil C51 uVision2是目前最流行的C51集成开发环境(IDE),集 编辑,编译,仿真于一体,支持C51及汇编编程,界面友好,易学易 用.下面通过简单的编程,调试,说明Keil C51软件的基本使用方法 和基本的调试技巧. 进入Keil C51后,屏幕如图11-1所示.几秒后出现Keil C51应用程 序界面,如图11-2所示.

51配套kell使用教程

51配套kell使用教程
按上面图操作.就完成了颜色设置…我在这里只改关键字…大家可以试着改别的. 11. 开始写第一个C程序. HE HE…以一个最经典的LED 程序来快速熟练KEIL.很多学习单片机的朋友都是从LED 入 门的.HE HE…
22
丫丫工作室 KELL 使用教程
先要把C文件添加进工程中…然后就可以写代码了.添加C文件到工程中,操作很简单… 先选择中SOURCE GROUP1 ,然后右键…选择最底下的添加就可以了.
2.新建立一个工程. 在KEIL下执行 PROJECT----NEW PROJECT就可以新建立一个工程了.
8
丫丫工作室 KELL 使用教程
2. 建立新程.
9
丫丫工作室 KELL 使用教程
在此新建立一个LED 工程文件. 4.选择单片机类型. 因为KEIL支持的单片机很多…所以要选择自己所需要的单片机. 在此我们选择ATEML 的89C52这型号的.
勾上第一个选项…然后再点NEXT. 4. 安装界面(4)选择相应的软件安装位置.
我这里选择的是D 盘EDA目录中的KEIL目录.当然大家可以选择默认.
5. 安装界面(5)填写详细资料.
3
丫丫工作室 KELL 使用教程
写完了,然后点NEXT进入下一步. 软件就开始安装了. 6. 软件安装(6)安装过程.
23
丫丫工作室 KELL 使用教程
按图操作…就可以完成添加…
24
丫丫工作室 KELL 使用教程
大家可以看到这个C文件加入了.HE HE… 现在可以写代码了. 在代码输入框内输入代码…大家记得要在英文状态下进行输入.以免避免不必要的麻烦. 请大家在代码框内输入以下代码: #include<at89x52.h> //加入头文件; #define uchar unsigned char //先定义下方便以后使用; #define uint unsigned int void delay(uint a); //延时函数声明; void main() //主函数; { while(1) //无限循环,不停让P0 口的LED 一亮一灭; { delay(20000); //调用延时函数达到延时; P0=0; //点亮P0 口LED; delay(20000); //调用延时函数达到延时; P0=0XFF; //熄灭P0 口LED; } } void delay(uint a) //延时子程序; { uint b; //定义变量B for(b=0;b<a;b++); //根据输入A 的值达到某一定时间的延

实验一 Keil C51软件使用

实验一  Keil C51软件使用

实验一Keil软件使用
一、实验目的
1、熟悉Keil软件的工作界面及其基本使用方法;
2、初步掌握程序的调试方法,能够查询指令的执行效果;
3、熟悉汇编语言程序和C语言程序的编译方法,能够生成目标代码HEX文档。

二、实验仪器
1、PC机;
2、Keil软件。

三、实验内容
1、熟悉Keil C51软件界面及使用。

2、简单程序及汇编指令调试,编译。

(1) 传送指令
设置内部RAM的值,(30H)=40H, (40H)=10H,单步执行下列程序,检查结果。

MOV R0,#30H
MOV A,@R0
MOV R1, A
MOV B, @R1
执行后:(R0)= ,(R1)= ,(A)= ,(B)= ,(30H)= ,(40H)= 。

(2) 运算指令
3、编译LED灯闪烁程序,生成HEX文档。

(1) PROTEUS电路图
(2) 汇编程序
ORG 0000H
CLR P1.0 ; LED点亮
SJMP $
END
(3) C语言程序
#include <reg51.h>
sbit LED = P1^0;
void main()
{
while(1)
{
LED =0;
}
}
四、预习要求
1、读懂各程序;
2、预先给出运算结果,以便和实验结果比较;
3、能够读懂,并能编写点亮LED灯程序。

五、思考题
1、如何才能使上述电路图的LED灯闪烁?
2、何为汇编语言伪指令?程序中“ORG 0000H”和“END”分别具有什么作用?。

keil c51详细使用

一、Keil C51开发系统基本知识1、Keil C51单片机软件开发系统的整体结构C51工具包的整体结构,如图1所示,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。

开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。

然后分别由C51及A51编译器编译生成目标文件(.OBJ)。

目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。

ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

图 1 C51工具包整体结构图2、Keil C51工具包的安装1)C51 for Dos在Windows下直接运行软件包中DOS\C51DOS.exe然后选择安装目录即可。

完毕后欲使系统正常工作须进行以下操作(设C:\C51为安装目录):修改Autoexec.bat,加入path=C:\C51\BinSet C51LIB=C:\C51\LIBSet C51INC=C:\C51\INC然后运行Autoexec.bat2)C51 for Windows的安装及注意事项在Windows下运行软件包中WIN\Setup.exe,最好选择安装目录与C51 for Dos相同,这样设置最简单(设安装于C:\C51目录下)。

然后将软件包中crack目录中的文件拷入C:\C51\Bin 目录下。

3、Keil C51工具包各部分功能及使用简介1)C51与A51A.C51C51是C语言编译器,其使用方法为:C51 sourcefile[编译控制指令]或者 C51 @ commandfile其中sourcefile为C源文件(.C)。

大量的编译控制指令完成C51编译器的全部功能。

Keil C51使用详解

Keil C51使用详解第一章Keil C51开发系统基本知识 (6)第一节系统概述 (6)第二节Keil C51单片机软件开发系统的整体结构 (6)第三节Keil C51工具包的安装 (7)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第一节Keil C51扩展关键字 (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声明,见上例。

KeilC51使用详解

KeilC51使用详解 (一)(2009-04-21 14:10:43)标签:keil单片机it分类:资源查询第一章 Keil C51开发系统基本知识第一节系统概述Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

用过汇编语言后再使用C来开发,体会更加深刻。

Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。

另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

在开发大型软件时更能体现高级语言的优势。

下面详细介绍Ke il C51开发系统各部分功能和使用。

第二节 Keil C51单片机软件开发系统的整体结构C51工具包的整体结构,如图(1)所示,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。

开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。

然后分别由C51及A51编译器编译生成目标文件(.OBJ)。

目标文件可由LI B51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。

ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

第三节 Keil C51工具包的安装1. C51 for Dos在Windows下直接运行软件包中DOS/C51DOS.exe然后选择安装目录即可。

完毕后欲使系统正常工作须进行以下操作(设C:/C51为安装目录):修改Autoexec.bat,加入path=C:/C51/BinSet C51LIB=C:/C51/LIBSe t C51INC=C:/C51/INC然后运行Autoexec.bat2. C51 for Windows的安装及注意事项:在Windows下运行软件包中WIN/Setup.exe,最好选择安装目录与C51 for Dos相同,这样设置最简单(设安装于C:/C51目录下)。

单片机仿真软件KeilC51软件的使用教程

单片机仿真软件KeilC51软件的使用教程单片机仿真实验步骤第一步:双击Keil uVision2的桌面快捷方式,启动Keil集成开发开发软件。

第二步:新建文本编辑窗。

点击工具栏上的新建文件快捷按键,即可在项目窗口的右侧打开一个新的文本编辑窗。

第三步:输入源程序。

在新的文本编辑窗中输入源程序,可以输入C语言程序,也可以输入汇编语言程序。

第四步:保存源程序。

保存文件时必须加上文件的扩展名,如果你使用汇编语言编程,那么保存时文件的扩展名为“.asm”,如果是C语言程序,文件的扩展名使用“*.C ”。

注:第3步和第4步之间的顺序可以互换,即可以先输入源程序后保存,也可以先保存后输入源程序。

第五步:新建立Keil工程。

点击"工程" →"新建工程" 命令,将出现保存对话框。

在保存工程对话框中输入你的工程的文件名,Keil工程默认扩展名为".uv2",工程名称不用输入扩展名,一般情况下使工程文件名称和源文件名称相同即可,输入名称后保存,将出现"选择设备"对话框,在对话框中选择CPU的型号。

第六步:选择CPU型号。

为工程选择CPU型号,本新建工程选择了ATMEL公司的AT89C51单片机.第七步:加入源程序到工程中。

在选择好CPU 型号后,点击"确定"按钮返回主界面,此时可见到工程管理窗中出现“Target 1”,点击“Target 1”前面的“+”号展开下一层的“Source Group 1”文件夹,此时的新工程是空的,“Source Group 1”文件夹中什么文件都没有,必须把刚才输入的源程序加入到工程当中。

如图9所示,右击工程管理窗中的“Source Group 1”,出现下拉菜单,点击“增加文件到组'Source Group 1'”命令,将出现添加文件对话框。

在添加文件对话框中,找到要添加到工程中的源程序文件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档