单片机的学习——入门篇(2)

原创 2013年12月05日 14:44:23

        昨天我给大家分享了一些基本的单片机的知识,那么今天我会说一些关于电平特征、二进制的逻辑运算和C51中的基础知识,在最后也会告诉大家怎么去使用单片机程序常用编译软件Keil。

        这里提供一个Keil uVISION4下载地址:http://pan.baidu.com/share/link?shareid=4168108828&uk=3843120621&fid=3382752131

        大家开始边下载边看这文章。


        单片机是一种数字集成芯片,数字电路中只有两种电平:高电平和低电平。

        常用的逻辑电平有:TTL、COMS、LVTTL、ECL、PECL、GTL、RS-232、RS-422、RS-485、LVDS等。

        其中TTL和COMS的逻辑电平按典型电压可分为四类:5V类型,3.3V类型,2.5V类型和1.8V类型。

5V TTL 和 5V COMS是通用的逻辑电平;3.3V 、2.5V 和 1.8V 的逻辑电平被称为低电压逻辑电平,常用的为LVTTL电平;ECL/PECL 和 LVDS 是差分输入/输出;RS-422/485 和 RS-232 是串口的接口标准,RS-422/485 是差分输入/输出,RS-232是单端输入/输出。计算机的串口为RS-232C电平,其中高电平为-12V,低电平为+12V,为负逻辑电平。

        TTL电平信号用的最多,数据表示通常采用二进制,+5V 等价于逻辑1,0V 等价于逻辑0,这被称为TTL(晶体管-晶体管逻辑电平)信号系统,这是计算机处理器控制的设备内部各部分之间通信的标准技术。CMOS电平Vcc可达12V,CMOS电路输出高电平约为0.9Vcc,而输出低电平约0.1Vcc。CMOS电路中不使用的输入端不能悬空,否则会造成逻辑混乱。

        TTL和CMOS的逻辑电平转换:

        这里要注意的是 CMOS电平能驱动TTL电平,但TTL电平不能驱动CMOS电平,需要上拉电阻。

        常用逻辑芯片的特点如下:

        74LS系列:TTL输入:TTL 输出:TTL

        74HC系列:CMOS输入:CMOS输出:CMOS

        74HCT系列:CMOS输入:TTL输出:CMOS

        CD4000系列:CMOS输入:CMOS输出:CMOS

        单片机、DSP、FPGA之间引脚能否直接相连可以参考一下这个方法:

        一般来说,同电压的是可以相连的,不过最好还是好好查看芯片技术手册上的VIL(逻辑电平0的输入电压)、VIH(逻辑电平1的输入电压)、VOL(逻辑电平0的输出电压)、VOH(逻辑电平1的输出电压)的值,看是否能够匹配。


        二进制的逻辑运算:与、或、非、同或和异或

        与:运算符“&”,规则 0&0=0,0&1=0,1&0=0,1&1=1;

        或:运算符“|”,规则 0&0=0,0&1=1,1&0=1,1&1=1;

        非:运算符“!”,规则 !0=1,!1=0;

        同或:运算符“⊙“,规则 0⊙0=1,0⊙1=0,1⊙0=0,1⊙1=1;

        异或:运算符”⊕“,规则 0⊕0=0,0⊕1=1,1⊕0=1,1⊕1=0;

        这些我想很多人都知道了,在这里我就不详细说。


        那么接下来我们说一下C51中的基础知识,单片机开发大多都是用C语言编程的,我们需要知道一些关于C语言方面的知识,但是在单片机中的要求的C语言知识会比平时我们知道的C语言有所拓展,所以我们用C51来区分:


C51中的基本数据类型:

        无符号字符型: unsigned char
        有符号字符型: char
        无符号整型: unsigned int
        有符号整型: int
        无符号长整型: unsigned long
        有符号长整型: long
        单精度实型: float
        双精度实型: double
        位类型: bit


C51数据类型扩充定义

        单片机内部有很多的特殊功能寄存器,每个寄存器在单片机内部都分配有唯一的地址,一般我们会根据寄存器功能的不同给寄存器赋予各自的名称,当我们需要在程序中操作这些特殊功能寄存器时,必须要在程序的最前面将这些名称加以声明,声明的过程实际就是将这个寄存器在内存中的地址编号赋给这个名称,这样编译器在以后的程序中才可认知这些名称所对应的寄存器。而这些声明已经包括在一个叫”reg51.h“中了。

        sfr——特殊功能寄存器的数据声明,声明一个8位的寄存器。

        sfr16——16位特殊功能寄存器的数据声明。

        sbit——特殊功能位声明,也就是声明某一个特殊功能寄存器中的某一位。

        bit——位变量声明,当定义一个位变量时可使用此符号。


C51中常用的头文件

        通常有reg51.h、reg52.h、math.h、ctype.h、stdio.h、stdlib.h、absacc.h、intrins.h


C51中的运算符

        +  -  *  /  ++  --  %  >  >=  <  <=  ==  !=  &&  ||  !  &  |  ^  ~  >>  <<

        这些跟C语言里面的运算符是一样的。


C51中的基本语句

        if    选择语句

        while    循环语句

        for    循环语句

        switch/case    多分支选择语句

        do-while    循环语句

        关机C语言的语法细节,可以去找一本关于C语言的书籍去阅读。


        学习单片机应该要掌握:

        1)掌握单片机最小系统能够运行的必要条件。

        ①电源

        ②晶振

        ③复位电路

        2)掌握对单片机任意I/O口的操作。

        ①输出控制电平高低

        ②输入检测电平高级

        3)定时器:重点掌握最常用的方式2。

        3)中断:掌握外部中断、定时器中断、串口中断。

        4)串口通信:掌握单片机之间通信、单片机与计算机之间的通信。


接下来呢,我会以图文的方式告诉大家怎么用编译软件Keil。


首先我们先打开这一个软件。


选择 Project 菜单里面的 New uVision Project,出现一个保存的框,选择你要保存的位置和名称,然后确定。


确定后出现一个选择框,在这里我们选择 Atmel ,然后再选择里面的 AT89C52,选择OK。


这时我们选择File菜单下面的一个白色图标,新建一个文档。


然后选择File 菜单里面的 Save 按钮保存,记得保存为后缀为 .c 文件,且最好是保存到和工程的同一目录下。


保存完双击Source Group1,把保存的c源文件添加进来。


这样就添加完成了。



那么下面我会告诉大家怎么去编译c源文件。


我们选择 Target Options的按钮。


选择Output 选项,把 Create HEX File 选项的钩打上,按OK确定。


然后 Rebuild 按钮,对源文件进行编译。


编译通过会生成后缀为hex的文件,这个文件就是下载到单片机的文件。



今天给大家分享了这些的知识,如果还敢兴趣的朋友可以继续关注我的博客。


在接下来的学习,我会以边焊接东西边教大家写代码的形式来分享。所以希望大家至少要准备一个自己好的最小系统。

相关文章推荐

单片机的学习——入门篇(1)

12月,我给大家会分享一下我学习的单片机的基础知识。 什么是单片机?用专业语言讲,单片机就是一块硅片上集成的微处理器、存储器及各种输入/输出接口的芯片,这样一块芯片就具有了计算机的属性,因此被称为...
  • insrat
  • insrat
  • 2013年12月04日 11:35
  • 479

cocos2dx 3.1从零学习(一)——入门篇(一天学会打飞机)

我们有C++基础,学习引擎总是急于求成,想立马做出一款简单的游戏给朋友玩。但是我们往往看了很多资料却一直不知道如何下手去写,有时候只要能走出第一步我们就会游刃有余,但是眼高手低的我们不是大神,需要有人...

JNI学习2——jni入门篇

序】我是为了android研究需要才开始研究JNI的。阅读本例文之前希望你按照上一篇【java】Windows7 下环境变量设置已经对环境变量进行正确设置 本文通过一个简单的例子来演示如何使用J...

mysql入门篇2——常用数据字典信息

如果想了解某个数据库,首先就需要知道,它的数据字典信息的存放,这样就可以查看到一些操作对数据库字典信息的更改,如果创建一索引,查看索引的类型等其他信息。 1、常用字典表 mysql的字典信...

JXTA——JAVA P2P网络编程技术(入门篇)

1.前言        最近,P2P(Peer-to-Peer)又成为了因特网上的一个热点。P2P是因特网的一种应用模式,其意思是指网络上的任何设备(包括大型机、PC机、PDA、手机、机顶盒等等)都...
  • JoeBaby_
  • JoeBaby_
  • 2012年08月17日 09:32
  • 10480

持续集成学习笔记-入门篇(2)持续集成工具选择

持续集成的工具已经是铺天盖地,有商业化的软件,也有开源的软件。覆盖的CI功能也是多种多样。 从功能角度分,就笔者的学习经验而言,最关键的是三类:版本控制工具、构建工具、CI(Continuous i...

Spring入门篇学习笔记(2)

以下学习笔记内容来自慕课网视频《Spring入门篇》 第三章 Spring Bean装配(上) 在Spring的IOC中把一切配置到IOC容器里的实体或对象都称为Bean 3-1 Bean的配置项...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:单片机的学习——入门篇(2)
举报原因:
原因补充:

(最多只允许输入30个字)