MDK(Keil5,STM32F407)C语言: #include "stm32f4xx.h" int main(void) { int u = 367328153; // 原始数据...89C52(Keil5)C语言: 来一个大端的例子。手头上没有51的开发板,所以用的是软件仿真。...long); long u = 367328153; // 原始数据15 E4 FB 99 long* k = &u; return 0; } 注意看了,C52...然后再看内存窗口,就会发现u的存储是跟原始数据给的顺序是一样的,所以C51和C52是大端的!! ?...另外,对于大小端的处理也和编译器的实现有关,在C语言中,默认是小端(但在一些对于单片机的实现中却是基于大端,比如Keil 51C),Java是平台无关的,默认是大端。
前言 此文档主要是针对有一定C/C++编程基础,并打算用Keil从事C51开发的开发人员。C51涉及的知识比较多,但是入门基本的开发,还是容易的。 C51简介 1....C51概念 C51继承于C语言,主要运行于51内核的单片机平台。...C51语法 1....Keil调试C51 Keil自带的仿真器还是非常强大的,可以用来调试通用的C51代码,对于学习C51了解C51的运行机制,帮助非常大。...l 模块化是所有编程语言最重要的概念之一,模块化是提高代码复用,降低代码耦合的最重要手段之一。因为C51是面向过程的开发语言,所以缺乏很多高格语言的模块化手段。
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。...Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。
前面的文章中已经把 C51 单片机的开发环境搭建好了,包括 Keil 的安装,Keil 工程的创建,串口转 USB 驱动的安装,以及通过 STC-ISP 将 Keil 生成的 hex 文件写入到单片机中...如果这几篇文章都没有看,而且对 C51 开发环境也不了解,可以看一下。 1. C51 单片机开发环境的安装 2. C51 单片机开发用 Keil 创建工程 3....C51 单片机开发将 Keil 生成的文件写入单片机 本篇文章主要是来简单说说什么是单片机,以及单片机的开发相关内容。...0x03:STC89 系列单片机 C51 单片机属于 STC89 系列的单片机,这里给出一个关于 STC89 系列单片机的命名规则,该规则来自于 STC89C51RC/RD+ 系列单片机器件手册,如下图所示...: 从图中可以看出,C51 的工作电压是 5.5V ~ 3.3V,51 的程序空间大小是 4KB,52 是 8KB 大小。
PDATA区 (5) XDATA区 (6) CODE区 2、存储模式 (1)SMALL模式 (2)COMPACT模式 (3)LARGE模式 3、指针的存储类型 (1)通用指针 (2)存储器指针 ---- 在C51...通常C51编译器会自动识别程序中使用频率最高的变量,并自动将其作为寄存器变量,程序员无需专门声明。 变量的存储种类和存储器类型是不一样的。存储器类型指明该变量所处的内存空间。...使用不同的存储器类型,程序会有不同的执行效率,在编写C51程序时,推荐指定变量的存储器类型,这样有利于提高程序的执行效率。...3、指针的存储类型 C51编译器支持两种不同类型的指针:存储器指针和通用指针 (1)通用指针 通用或未定型的指针的声明和标准C语言中一样。
如果不是Seven问起来,我以为C51这种东西已经属于历史遗迹了。不过简单搜索了一下,发现c51老而弥坚,仍然茁壮的生长着。...不过不管如何,作为入门类的单片机,c51还好啦,这些学习的经历,并不会浪费,学生能够很快的转化到其它平台上去。...Seven碰到的情况是这样,c51开发工具目前基本以windows为主,在mac上无法工作,总不能为了学习c51就换一台电脑。...把源代码编译成链接库文件.rel: sdcc -c test.c 执行完成你会发现已经有了.rel链接库文件。....单片机为了提高效率,还经常会用到汇编语言,汇编语言在sdcc软件包中是分cpu来实现的,一般默认提供这些cpu的汇编器: sdas390 sdas6808 sdas8051 sdasgb
C51 单片机的开发我学习的时候使用的是 C 语言,开发的环境是 Keil 这个开发环境,本篇文章主要介绍 Keil 的安装和注册机的使用,如果有条件的话,还是支持正版的好!...0x00:Keil 的介绍 Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开发系统,与汇编相比,C 语言在功能上、结构上、可读性、可维护上有明显的优势...0x01:Keil 的安装 我使用的版本,c51v952,它是一个独立的 exe 文件 安装简单,右键“以管理员身份运行”,然后像普通程序一样下一步下一步的安装即可。
c51单片机编程要点总结 1、头文件:#include (我用的是 STC 89C54RD+) 2、预定义:sbit LED = P1^0// 定义 P1 口的 0 位为 LED 注:“P1^0”这个写法...sbit code table[ ] = ;// 想用 table[i] 指定不同的引脚,但这么做会报错 sbit table[ ] = ; // 考虑到上面可能是 code 关键字使用错误,使用标准 C...空间 9、在使用数码管编程时,假如你正在使用 temp[i] 代表某一个显示字符,突然想显示小数点,可以使用 temp[i] 0x80,通过“或”运算实现加上小数点…… 10、如果你用 Keil C51...卧槽,今天编程序那个调错啊,就因为一个数组名和一个变量名完全一样,只是大小写不一样罢了,标准 C 我怎么记得这样可以啊……上网一查,卧槽,Keil C51 不区分大小写,准确的说是“连接的时候不区分大小写
Keil uvision5 C51版下载: 复制链接在百度打开保存下载 链接:https://pan.baidu.com/s/12Eb8tg20dZcazGBiwFO3ng 提取码:iger 简介 Keil...C51是美国Keil Software公司(ARM公司之一)出品的51系列兼容单片机C语言软件开发系统。...与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。...Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。...如图所示: 2.选中“c51-v957”,鼠标右击选择以“管理员的身份运行”。如图所示: 3.根据提醒选择“next”。 4.勾选“I agree to all...”
是美国Keil Software公司开发的51系列兼容单片机的C语言软件开发系统。...(1)编译器C51:美国标准优化C交叉编译器C51可以把C源代码转换成可重定位的目标文件。 (2)汇编器A51 :汇编器A51把MCS-51汇编源代码转换成可重定位的目标文件。...数据类型总结 KEIL C51 编译器所支持的数据类型如下表所示: 1、位变量——bit bit 位变量是C51 编译器的一种扩充数据类型,它的值是一个二进制位,不是0 就是1。...对于指针的定义和标准C语言相似,例:char * pt;定义一个指向字符型变量的指针。指针变量同样要占据一定的内存单元,在C51 中它的长度一般为1-3个字节。...uchar c ;定义一个unsigned char数据变量c 注意:这里并没有增加新的数据类型,只是对已有的某种数据类型用另一种符号表示而已。 (2)C语言是一种强类型语言。
timer_init() //定时器初始化 { TMOD =0x10;//定时器T1方式1 //65536-50000=15536 转化为16进制为3cb0 TH1= 0x3c;...; delay1s(); P0=a[j]; } } } void timer1() interrupt 3 //3是定时器T1的中断号,书上176页 { TH1= 0x3c;...timer_init() //定时器初始化 { TMOD =0x10;//定时器T1方式1 //65536-50000=15536 转化为16进制为3cb0 TH1= 0x3c;...东西绿灯亮 delay1s(); P1=a[j]; } } void timer1() interrupt 3 //3是定时器T1的中断号,书上176页 { TH1= 0x3c;
前面的文章中基本把关于 C51 单片机开发的环境和概念整理完了,就剩下关于 I/O 口的整理了,有了 I/O 口(输入输出口,也就是开发板上的针脚吧,其实这些针脚是从单片机上引出的)的知识就可以让单片机和外设进行通信了...0x01:I/O 口(输入/输出口) 我使用的单片机是 STC89C52,它也是兼容 STC89C51 单片机的。...STC89C52 单片机有 5 组输入输出口,分别是 P0、P1、P2、P3 这四个口,每组对应 8 个针脚,P4 口是 RC 系列才有的,它有 7 个针脚。...STC89C52 的 I/O 口使用比较简单,直接使用即可,无需配置!
中断函数的定义 中断系统对于单片机系统来说十分重要,C51编译器支持用C语言编写中断函数,从而减轻了用汇编语言编写中断服务程序的繁琐程度。...库函数的说明 C51提供了可直接调用的库函数。...算术运算符及其规则 C51最基本的算术运算符有五种: A、 + B、 - C、 * D、 / E、 % 2....C51关系运算符 C51提供6种关系运算符 < (小于) >(大于) <= (小于或等于) >= (大于或等于) == (测试等于) != (测试不等于) 3....关系运算符的优先级 (1) 关系运算符的优先级低于算术运算符 (2) 关系运算符的优先级高于赋值运算符 C51逻辑运算符 C51提供三种逻辑运算符: && 逻辑与 | | 逻辑或 !
STC89C51RC/RD+ 系列单片机内的特殊功能寄存器(SRF)与内部高 128 字节 RAM 貌似共用相同的地址范围,都使用 80H ~ FFH,但特殊功能寄存器(SFR)必须用直接寻址指令访问。...对于寄存器、直接寻址这些概念没必要过多地考虑,如果了解汇编语言的话,对这些概念就非常熟悉了。 上面的图就是内存 80H ~ FFH 定义的一个具体的说明。...手册中写道,“对 STC89C51RC/RD+ 系列单片机的 P4 口的访问,如同访问常规的 P1/P2/P3 口,并且均可位寻址,P4 的地址 E8H。”
最后,Keil软件还支持多种编程语言,包括C、C++等,这为开发者提供了更多的选择。同时,Keil软件还提供了丰富的库函数,可以帮助开发者快速实现各种功能,极大地提高了开发效率。...6、分别点击Core与Pack后面的Browse更改安装路径,建议安装在除C盘以外的其它磁盘,可以在D盘或者其它盘创建一个keil5文件夹,然后点击Next。
} 实验结果与心得: 实验结果:定时7s,小灯1,3,5,7实现闪烁的效果 心得:1.采用定时器T0的方式1的定时中断方式时,需要先设置TOMD寄存器,定时器T0工作在方式1,M1,M0=01,C/
看右侧,STC-Y1 适用于 STC89C 系列。...0x03:代码实现 新建一个 Keil 的工程,如果不知道如何创建工程,可以参考前面的文章:C51 单片机开发用 Keil 创建工程 完成如下的代码: #include "reg52.h" sbit...如果不熟悉如何将 hex 文件写入单片机,请参考以前的文章:C51 单片机开发将 Keil 生成的文件写入单片机
#include 是 c51(用于单片机开发的一种c语言)的头文件。 类似于头文件 AT89X51.h。 ...打开 reg51.h 可以看到这样的一些内容: 此文件一般在 C:\KEIL\C51\INC 下 ,INC 文件夹根目录里有不少头文件,并且里面还有很多以公司分类的文件夹,里面也都是相关产品的头文件...sfr 并非标准C语言的关键字,而是 Keil 为能直接访问 80C51 中的 SFR 而提供了一个新的关键词,其用法是:sfrt 变量名=地址值。 ...在C语言里,如果直接写 P1.0,C编译器并不能识别,而且 P1.0 也不是一个合法的语言变量名,所以得给它另起一个名字,这里起的名为 P1_0, 可是 P1_0 是不是就是 P1.0呢? ...你这么认为,C 编译器可不这么认为,所以必须给它们建立联系,这里使用了 Keil C 的关键字 sbit 来定义, sbit 的用法有三种: 第一种方法:sbit 位变量名=地址值 第二种方法
} } 复制代码 由于我们选择的这款芯片P1引脚只有6个(P1.0~P1.5)所以我们只设置了6个值,对于8个的也使用只需要将数组拓展到8位即可,编译后可以通过下载到单片机调试即可 2.移位的方法 在C语言中我们有个...P1=~LED[j]; P1=temp; temp=(temp delay(); } } } 复制代码 同样将改程序编译后生成HEX文件烧写到单片机内然后就可以调试了 3.循环移位法 从 上面可以看到用C语言的移位的方法移动后都自动会用...0来填补,这样我们必须在后面通过或的方法来补齐原来的数据,我们知道在汇编语言中有RR和 RL(rotate right和rotateleft)的移位方法,这种以为的好处是从移动过程中数据是圆形的移位,这样不需要填补就可以...那么我们要实现这个函数怎么办呢,第一种方法就是在C语言中嵌入汇编通过# pragma asm和# pragma endasm来实现嵌入汇编,格式如下: …… #pragma asm RL A …… #pragma
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。...Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。...然后点击License选项 3、在解压文件夹中找到“注册机(2032).exe”,点击打开,就可使用到2032年 4、复制CID中的内容,将其粘贴到到注册机的CID中,然后选择Target选项框中C51
领取专属 10元无门槛券
手把手带您无忧上云