当前位置:首页 > 单片机 > 单片机
[导读]昨天我给大家分享了一些基本的单片机的知识,那么今天我会说一些关于电平特征、二进制的逻辑运算和C51中的基础知识,在最后也会告诉大家怎么去使用单片机程序常用编译软件Keil。这里提供一个Keil uVISION4下载地址:

昨天我给大家分享了一些基本的单片机的知识,那么今天我会说一些关于电平特征、二进制的逻辑运算和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的文件,这个文件就是下载到单片机的文件。

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

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭