Hello位于\C51\excmples\Hello\目录,其功能是向串口输出“Hello,world”整个程序如下:
#pragma DB OE CD
#indule
#include
void main(void)
{
SCOn=0x50;
TMOD=0x20
TH1=0xf3;
Tri=1;
TI=1;
printf(“Hello,world \n”);
while(1) { }
}
第一节 uVision for Windows的使用步骤
(1) file_new新建一个hello.c文件,输入如上内容或直接用目录下源文件。
(2) file_save或工具栏将文件存盘。
(3) project_new project创建一个project名为hello,并在其中加入hello.c。
这时该project已是打开状态,或用open project打开已存在的project。
(4) option_C51 compiler中选出至少包括两项DB OE。
(5) option_dscope Debugger选中hello\DS51.INI
查看DS51.INI看其是否为:
“load…\…\BIN\8051.DLL
map 0, 0xffff”
否则修改。
(6) 在option_make选make文件顺序。
(7) project选Build project,看是否有语法错误,若无则生成HEX文件,若有则修改源文件后重复以上部分步骤。
(8) run_dScope debugger进入dScope51后装入hello则可用go直接运行看serial窗口有无输出,正常每系统运行一次,serial窗口均出现一个“Hello,world”表明运行无误。
第二节 Ishell for Dos使用步骤
(1) 进入Ishell 用Setup editer选择编辑器。
然后单击Edit或用Edit命令编辑hello.c源文件,存盘,也可以在files窗口中直接选中hello.c。
(2) 用cd改换project目录至hello目录。
(3) 在setup_target一项目选8051。
(4) 在setup_C51中输出DB OE。
(5) 在setup_project输入project名hello。
(6) 在setup_save保存Ishell.CFG文件。
(7) 编辑一个Link文件hello.lin中有“hell.obj”一行。
(8) 由光标落在files菜单中的Hello.c上,单击“translate”,如无语法错,再击“link”,则Hex文件生成。
(9) 单击Simulate如在8051.CDF中选Simulate为dScope则进入dScope调试直接“Go”,看serial窗口输出为“Hello.world”。
(10) 如程序有误修改源代码后不必再translate或link了,只要一步Amake即可。
若project中包括不止一个文件,在DOS的Ishell中不能用Translate编译,而应建立bat文件,直接在命令窗编译,然后link连接。
如还需用Translate则只能多个文件分别编译,然后连接。
关键字:Keil C51
引用地址:
Keil C51使用教程---例子:Hello.c(六)
推荐阅读最新更新时间:2024-03-16 15:22
基于C51单片机的通信测试仪器设计
随着现代通信技术的发展,通信测试仪器不断推陈出新。各种新型设备对系统的实时响应能力的要求越来越高,一种通信测试仪器的实时响应性能,就成为系统设计能否成功的关键因素之一。笔者曾在多个通信测试仪器项目中,成功地应用ARM处理器、C51单片机等为主控芯片的嵌入式系统,实现了对仪器相关模块的实时控制功能。因此提出一种在某通信测试仪器中使用C51单片机来实现实时控制的设计方案。 1 硬件设计与实现 1.1 总体方案设计 在该通信测试仪器中,实时控制模块主要实现对射频接收频综、射频发生频综、滤波器组件、射频输入模块、射频输出模块等实时控制作用。对射频检波信号进行A/D转换以获取数据。与上位计算机进行通信等功能。 根据待实现的系统功能要
[单片机]
C51单片机计数器实验
实验要求 实现一个秒表显示器,具体的画一个MSC51单片机、2个八段数码管,运行后数码管依次显示00-59,循环显示,到59后跳变回。 必须用到中断,T0还是T1不限,方式0,1,2不限。 代码部分 #include reg51.h unsigned char code table ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char second=0; bit a=0; char t=0; int0_srv() interrupt 1{ t++; if(t==20){t=0;a=1;} TH0=0x3c; TL0=0xb
[单片机]
Keil C51使用教程---代码效率(七)
C51程序编译生成汇编代码的效率,是由许多因素共同决定的,对于Keil C51,主要受以下两种因素影响: 第一节 存储模式的影响 存储模式决定了缺省变量的存储空间,而访问各空间变量的汇编代码的繁简程度决定了代码率的高低。 例如:一个整形变量i,如放于内存18H、19H空间,则++i的操作编译成四条语句: INC 0x19 MOV A,0x19 JNZ 0x272D INC 0x18 0x272D: 而如果放于外存空间0000H、0001H则++i的操作编译成九条语句: MOV DPTR,0001 MOVX A,@ DPTR INC A MOVX @ DPTR,A JNz #5 MOV OPTR,#0000 MOVX A
[单片机]
c51单片机之利用外部中断实现数字时钟,且具有调时功能
仿真图: 代码段: /*整体功能:用八位共阳极数目管作电子时钟显示,并用key0位控制进行时分秒位的选择,当按一次时代表选中时位,两次选中分位,三次选中秒位,第四次取消选中时钟正常运行 且选中时该位的小数点会亮代表该位已被选中;key1按键用来对位进行加一操作,key2用来对位进行减一操作*/ #include reg52.h #define uint unsigned int //重定义,方便使用 #define uchar unsigned char sbit key0=P3^1; //位定义,此处赋予key0设置功能,通过对key0的操作来选中时钟的三个位 sbit key1=P3^2; //赋予
[单片机]
MSP432(Keil5)——9.ADC驱动
本次例程驱动了板载的ADC来读取一个模拟的角度传感器,大家可以在ADC读取中断里面换成其他的计算,具体引脚见程序代码。 adc.c #include adc.h void ADC_Init(void) { /* Initializing ADC (MCLK/1/4) */ MAP_ADC14_enableModule(); MAP_ADC14_initModule(ADC_CLOCKSOURCE_MCLK, ADC_PREDIVIDER_1, ADC_DIVIDER_4, 0); /* Configuring GPIOs (5.5 A0) */ MAP_GPIO_setAsPeripher
[单片机]
C51的XTAL1,XTAL2的外接电源经验
C51的XTAL1,XTAL2的外接电源经验: 1.XTAL1 XTAL2 外接由两个电容与晶振的并联谐振时钟电路 C1,C2 选30pF,晶振选1.2-12MHz,设计时,当使晶振各电容尽可能的与C51单片机靠近,以保证稳定可靠 2.或用外部振荡器接至XTAL2,XTAL1接地,注意:XTAL1如果不接地的话,Electrical Rule Check会给出错误如下下: ELECTRICAL RULES CHECK REPORT ============================= Design: D:\proteus-design\yx-design\IO-1.DSN Doc. no.: NONE Revi
[单片机]
keil使用详解
第一章 Keil C51开发系统基本知识 第一节 系统概述 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。 第二节 Keil C51单片
[单片机]
C51的PID程序
//主程序====================================================== #include Main.h #include PID_f1.h /* ............................................................... */ /* ............................................................... */ void main(void) { float x,y,z; while(1) { x = PID_Control(y,z); } }
[单片机]