从今天开始,我会简单地对51单片机相关知识及一些模块进行总结,主要是从市场应用导入,然后分析一下用到的技术编程,最后说一下自己的想法,基本都是这个流程。这仅仅是一个开始,之后还会有STM32、安卓系统等系列,先从最简单的单片机开始。
我们先看看市场上有哪些产品会用到单片机,想想看,基本上周围所有的电子产品都会用到,确切的说,最基本的嵌入芯片都会有单片机的影子,它涉及到各个领域,所以单片机的应用非常广泛。先看看单片机的实物图:
实际上就是一个芯片,焊接嵌套到一些仪器里,通过c语言编程,通过stc-isp等仿真器的仿真,进而操作芯片实现一些功能。这里又会引出一个概念,单片机最小系统,就是可以让单片机工作的最小电路,因为单单一个芯片是不能工作的。如果在此基础上添加一些其它的外围电路,就会实现一些其它的功能。
学习单片机要明确重点,以下几点是需要我们注意的。首先,能够让单片机正常工作的条件:电源、晶振、复位电路,三者缺一不可。其次,可以对单片机任意I/O口进行控制操作,主要是输出控制电平的高低和输入检测电平的高低。最后,要掌握定时器、中断和串口通信。定时器,重点掌握常用方式2;中断,主要是外部中断、定时器中断和串口中断;串口通信,包括单片机与单片机之间以及单片机与计算机之间。这些是学习单片机需要引起重视的地方。
把这些掌握了,单片机基本上就可以了。当然,在学习的过程中肯定会或多或少地用一些c语言和数电、模电的知识,这里就不过多赘述。
其实,单片机应该是电子专业嵌入式最基础的入门学科了,后面的16位、32位、64位的基本原理与思想都是相同的。所以,学好单片机还是很有必要的,但在学习的过程中一定要注重实践,“实践是检验真理的唯一标准”,一定要动手去操作。
To go,to try,to success!
关键字:51单片机 概述
引用地址:
51单片机系列连载1——单片机概述
推荐阅读最新更新时间:2024-03-16 14:31
用51单片机实现的简易秒表
设计思路: (1)在main函数中不停的控制数码管显示时、分、秒 (2)用定时器0控制时间的递增 (3)用外部中断0(KEY3)实现秒表的暂停/开始 (4)用外部中断1(KEY4)实现秒表的停止 开发板:普中科技开发板 代码如下: 1 #include reg52.h 2 #define led P0 3 typedef unsigned char u8; 4 typedef unsigned int u16; 5 6 sbit LSA = P2^2; 7 sbit LSB = P2^3; 8 sbit LSC = P2^4; 9 sbit k3 = P3^2; 10 sbit k4
[单片机]
8051单片机实现PWM的方法
PWM 是“脉冲宽度调制”的意思。 PWM 实际上是在单片机的某个引脚输出一系列的矩形波,其周期一般是固定的;而其高电平、低电平所占用的时间,是可以受控调整的。 高电平、低电平所占用的时间之比,称为占空比,其值为0~1之间。 PWM 的应用很广,简单的说,它可以控制灯光的亮度、可以控制直流电机的转速,甚至还可以输出语音信号。 新型的单片机,往往都含有硬件的 PWM 模块,编写程序就很简单;而老式的MCS-51系列,就不具备这个条件。 其实,在没有 PWM 硬件的单片机上实现 PWM,也并不难,只需一个定时器,令其工作在中断方式即可。 下面以网上的一个题目为例,说明实现 PWM 方法。 题目:AT89C52单片机输出可调 PWM 波
[单片机]
P89C58与无线调制器的综合应用
GPS是目前技术上最成熟且已实用的一种定位系统,但是在GPS定位系统中,由于其是一个单向导航系统,他是把星历数据等传给地面接收机,可在许多具体应用时,例如在车辆调度系统中,一般都需要把利用GPS测得的信息数据传到调度中心,由于其系统由一个基准站和多个用户台组成,基准站与用户台之间的联系,即由基准站计算出的各种校正值发送到用户台,上边这一切都需要用到数据链来完成数据的传输。其中,数据链由调制解调器和电台组成。在无线数据传输系统中,调制解调器足一个关键部分,调制解调器(Modem)是将数据进行编码和调制,然后输入到电台发射出去,用户台将其接收下来,并将数据解调后,送入GPS接收机进行改正。本文介绍了单片机控制Modem的原理和方
[单片机]
uIP在51单片机上的移植
uIP其主要是为8位和16位系统设计的,程序在编写时就考虑到了移植问题。uIP的主要文件包括uip.c和uip_arp.c。 (1)移植的基本过程。 针对所用编译器的类型更改定义数据类型,底层RTL8019AS芯片的驱动和实现应用层代码,系统定时器接口等。下面分别予以说明。 数据类型的定义: typedefunsignedcharu8_t;typedefunsignedshortu16_t;typedefunsignedshortuip_stats_t;由于KeilC编译器默认情况下的编译模式为small,变量的定义在内部RAM中,编译时编译模式应改为Large,即变量的定义在XDATA中
[单片机]
基于51单片机的气泵控制程序
用stc89c52单片机来控制气泵,带有2种工作模式,端口可自行修改 #include reg52.h sbit a=P1^5;//闪烁灯 sbit b=P1^4;//气泵 sbit c=P3^7;//状态指示灯 sbit ss1=P3^2;//一分钟工作模式 sbit ss4=P3^3;//四分钟工作模式 unsigned int q,w,e,r,y,u,i,n,m,l,h; csh();//初始化子程序声明 ys();//延时子程序 ys2();//延时子程序2声明 void main() { csh();//初始化 while(1) //死循环 一号 { if(ss1==0){n=1;} //判定一分钟工作模式接通启动二号
[单片机]
51单片机中断控制寄存器
51单片机中断控制寄存器有4个:TCON(定时器控制寄存器),SCON(串行口控制寄存器),IE(中断允许控制寄存器),IP(中断优先级控制寄存器)。 51单片机中断系统: TCON(定时器控制寄存器): IE(中断允许控制寄存器): IP(中断优先级控制寄存器): SCON(串行口控制寄存器): TMOD(定时计数器工作方式控制寄存器):
[单片机]
关于51单片机几个精确延时程序
简介:51单片机几个精确延时程序:在精确延时的计算当中,最容易让人忽略的是计算循环外的那部分延时,在对时间要求不高的场合,这部分对程序不会造成影响. 一. 500ms延时子程序(晶振12MHz,一个机器周期1us.) 程序: void delay500ms(void) { unsigned char i,j,k; for(i=15;i 0;i--) for(j=202;j 0;j--) for(k=81;k 0;k--); } 计算分析: 程序共有三层循环 一层循环n:R5*2 = 81*2 = 162us DJNZ 2us 二层循环m:R6*(n+3) = 202*165 =
[单片机]
一文详解80C51单片机的指令集
数据传送类指令 数据传送是单片机最基本的操作。数据传送的一般功能是将源操作数传送到指令所指定的目的操作数,指令执行后,源操作数不变。 数据传送类指令一般不影响标志位。数据传送类指令共29条,可以分为两大类。一是采用MOV操作符,称为一般传送指令,共16条;二是采用非MOV操作符,称为特殊传送指令,共13条。 一般传送指令的 汇编 指令格式为: MOV是传送指令的操作助记符。其功能是将源操作数传送到目的操作数,源操作数内容不变。 该类指令的助记符,操作数,功能,字节数及执行时长(机器周期数),按目的操组数归类如下。 1)内部8位数据传送指令 内部 RAM 区是数据传送最活跃的区域,8位内部数据传送指令共15条,用于 单片机
[单片机]