vlambda博客
学习文章列表

“51”单片机与C语言

51单片机是对所有兼容Intel 8031指令系统单片机的统称。该系列单片机的始祖是Intel8004单片机,后来随着Flash Rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。

 

 20世纪80年代以来,单片机有了新的发展,各半导体器件厂商也纷纷推出自己的产品系列。根据市场的需求要求,未来单片机的发展趋势有如下几个方面:

    单片机的字长由4位、8位、16 位发展到32位。

    目前8位的单片机仍然占主流地位,只有在精度要求特别高的场合如图像处理等,才采用16位或32位的单片机,用户可以根据需要进行字长的选择。

    运行速度不断提高:

   单片机的使用最高频率由6MHz、12MHz 、24MHz、33MHz发展到 40MHz和更高,用户可以根据产品的需要进行速度的选择。

 

学习单片机首先要学习C语言


C语言简介

 

对单片机进行编程本课程使用高级编程语言中的C语言。单片机和计算机系统底层程序当前通常采用C语句或者汇编语言进行设计。上层应用程序常用的有C++、JAVR、C#、Python等编程语言进行设计。

C是一种通用的编程语言,广泛用于系统软件与应用软件的开发。于1969年至1973年间,为了移植与开发UNIX操作系统,由·汤普逊丹尼斯·里奇,以B语言为基础,在贝尔实验室设计、开发出来。


C语言的特


···语言简洁、紧凑、使用灵活

···运算符丰富(位操作)

···具有数据类型构造能力

···具有很强的流程控制结构

···语言生成的代码质量高(编译成机器语言)

···可移植性较好

···语法限制不够严格(缺点,有些逻辑错误难以发现)

 

C语言具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序员中备受青睐,成为最近25年使用最为广泛的编程语言之一。目前,C语言编译器普遍存在于各种不同的操作系统中,例如Microsoft Windows, Mac OS X, Linux, Unix等。C语言的设计影响了众多后来的编程语言,例如C++、Objective-C、Java、python、C#等。

 

 

十进制、二进制、十六进制之间的转换

 

十进制

我们生活中常用的就是十进制数,十进制用0~9十个数码来表示数,进位规则是逢十进一,借一当十。例如“我们班一共有44个同学”其中的“44”就是十进制数。

  

二进制

二进制是计算机/单片机中常用的一种数制,二进制用0和1两个数码来表示数,进位规则是逢二进一,借一当二。例如十进制数值“3”用二进制表示则为“11”

 

十六进制

十六进制也是计算机/单片机中常用的一种数制,它由0~9,A~F组成,字母不区分大小写。与十进制对应的关系是:0~9对应0~9;A~F对应10~15;进位规则是逢十六进一,借一当十六。例如十进制数值“18”用十六进制表示则为“12”

 

解:

  二进制数:“10011101”转十进制为:“157”。

“51”单片机与C语言

 

转十六进制为:“9D”

解:十进制157除以16商为 9,余数为13,其中13在十六进制中用字母“D”表示,所以十六进制的值为“9D”。


提示:进行进制转换时可以借助系统自带的计算器功能,选择程序员模式。

 

C语言中的数据类型

 

C语言中数据在计算机中存放情况由数据类型决定。数据类型可分为基本数据类型和复杂数据类型,复杂数据类型由基本数据类型构造而成。C语言中基本数据类型如下表所示:


  

 有符号位的,最高位是符号位。“0”表示正数,“1”表示负数。











------------------------------------------------------------------------------------------------------------

ps:我爱学习(ง •̀_•́)ง