日常生活中,单片机经常可以看见,但是即使如此,也有很多人不知道单片机是什么?简单来说单片机就是一个芯片,不过这个芯片属于高度集成的电路芯片,是一个非常小的计算机系统,我想此时应该有很多人好奇单片机究竟是什么?接下来我就向大家详细介绍一下单片机是什么吧。
单片机定义
单片机,又叫做单片微控制器,英文名称叫做Microcontrollers,它是一种特殊的芯片,而且芯片里面的电路是非常密集的,另外正是这些电路把中央处理器CPU、I/O口、存储器ROM等功能集中到一起,单片机跟计算机相比较而言,其功能大部分还是一样的,除了单片机不具备I/O设备而已,但是单片机的体积和价格要小于计算机,而且单片机携带起来更方便。
从20世纪80年代开始,单片机就一直保持着快速的发展,就其发展历程来说,从最初的4位单片机、8位单片机,发展到如今的300m单片机。
单片机的应用分类
一般来说,单片机的应用分类有三种,即通用型、控制型、总线型。
单片机的基本结构
单片机的基本结构非常的简单,有三部分组成,即运算器、主要寄存器、控制器。主要寄存器又包括五种,即累加器A、数据寄存器DR、指令寄存器IR和指令译码器ID、程序计数器PC、地址寄存器AR。
单片机的应用范围
单片机的应用范围从最初的只运用工业方面,发展到现在的多方位、宽领域,基本上每个领域每个行业都会运用到单片机,尤其是科技技术含量高的行业,例如:汽车、网络通信、家用电器、智能机器等。
单片机的特性
单片机的特性非常的多,下面我就具体来说说吧。
1、单片机的体积很小、携带起来非常的方便。
2、单片机的可靠性非常的的强,它可以连续工作一天都没问题。
3、单片机耗电、耗能非常的小。
4、单片机的操作非常的方便。
5、单片机的适应能力很强。
6、单片机的结构组成非常的简单,使用起来非常的方便。
7、单片机的处理系统还是很强大的。
以上就是小编收集的所有和单片机相关的信息,希望对大家有所帮助。
土巴兔在线免费为大家提供“各家装修报价、1-4家本地装修公司、3套装修设计方案”,还有装修避坑攻略!点击此链接:【;wb】,就能免费领取哦~
单片机(Single-ChipMicrocomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
自动控制领域的机器人、智能仪表、医疗器械。
因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
单片机(Single-ChipMicrocomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
自动控制领域的机器人、智能仪表、医疗器械。
因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
毕设不可以用网上的单片机模型,但可以借鉴。单片机是典型的嵌入式微控制器,由运算器,控制器,存储器,输入输出设备等构成,相当于一个微型的计算机。与应用在个人电脑中的通用型微处理器相比,它更强调自供应和节约成本。它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出接口简单,功能较低。
是avr,单片机大同小异,不同的的内部实现电路不同,表现为指令系统认同,内部寄存器不同,端口配置略有差异。别的没有了,设计思想都是一样的。这就好比把一份工作交给不同的人做,各有各的做法上的不提不过而已。
KEY4 EQU 30H
KEY2 EQU 31H
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
CLR EA
MOV SP,#5FH
MOV KEY2,#0
MOV KEY4,#0
LOOP:
JB P1.0,LOOP
MOV R7,#10
LCALL DELAY
JB P1.0,LOOP
JNB P1.0,$
MOV P3,#0C0H
LOOP0:
LCALL KEYDEAL
MOV A,KEY4
JNZ LOOP41
MOV A,P3
ANL A,#0F0H
ORL A,#0EH
MOV P3,A
SJMP LOOP21
LOOP41:
DEC A
JNZ LOOP42
MOV A,P3
ANL A,#0F0H
ORL A,#0DH
MOV P3,A
SJMP LOOP21
LOOP42:
DEC A
JNZ LOOP43
MOV A,P3
ANL A,#0F0H
ORL A,#0BH
MOV P3,A
SJMP LOOP21
LOOP43:
DEC A
JNZ LOOP21
MOV A,P3
ANL A,#0F0H
ORL A,#07H
MOV P3,A
LOOP21:
MOV A,KEY2
JNZ LOOP22
MOV A,P3
ANL A,#0FH
ORL A,#20H
MOV P3,A
SJMP LOOP3
LOOP22:
DEC A
JNZ LOOP3
MOV A,P3
ANL A,#0FH
ORL A,#10H
MOV P3,A
LOOP3:
LJMP LOOP0
;----------------------------
DELAY:
MOV R2,#2
DLY1:
MOV R3,#250
DJNZ R3,$
DJNZ R2,DLY1
DJNZ R7,DELAY
RET
;-----------------------------
KEYDEAL:
JB P1.1,KEYEN1
MOV R7,#10
LCALL DELAY
JB P1.1,KEYEN1
JNB P1.1,$
INC KEY4
MOV A,KEY4
ANL A,#03H
MOV KEY4,A
KEYEN1:
JB P1.2,KEYEN2
MOV R7,#10
LCALL DELAY
JB P1.2,KEYEN2
JNB P1.2,$
INC KEY2
MOV A,KEY2
ANL A,#01H
MOV KEY2,A
KEYEN2:
RET
;-----------------------------
END
51单片机有以下几个内存模块组成:
1】rom或者flash,叫程序存储区,你写的程序是存在这里面的,上电后从这里面执行。
程序存储区也分为片内和片外,一般来说,现在的51很多已经做到了64k,所以很少有外扩
片外flash或者片外的rom了,flash或者rom不管是片内还是片外的,只能用来定义常量,是用code来修饰,也就是说,用code来修饰的东西,在程序运行过程中,不能修改;
2】ram有------内部ram的低128位(00-7f),对应c语言就是data,比如我定义一个变量,
data
unsigned
char
var
=
0;
那么,这个
var变量就是放在内部的低128位ram中
-------内部ram的高128位(80-ff),对应c语言就是idata,比如我定义一个变量,
idata
unsigned
char
var
=
0;
那么,这个
var变量就是放在内部的高128位ram中
-------特殊功能寄存器(sfr)(80-ff),对应c语言就是sfr比如我定义一个变量,
sfr
unsigned
char
var
=
0x90;
那么,这个
var变量就是放在内部的特殊功能寄存器中,这是你对var操作,相当于操作一个特殊的寄存器,但是小心,不能随便定义sfr变量,很危险
------外部ram
64k(0000-ffff)
外部的ram可以扩展到65536个,但是前256个算是一页,这一页比较特殊,是用
pdata来修饰的,当然,也可以用xdata来修饰。
除了第一页的256个以外的其他65280个空间,只能用xdata来修饰;
回过头来讨论pdata和xdata,这两个都能修饰外部ram的第一页,但是,pdata只能修饰第一页,即最前面的256个外部ram,那么,这最前面的256个到底用pdata还是xdata好的呢?
答案是pdata,因为xdata修饰的变量,用的是dptr寻址,pdata用的是r0和r1.dptr因为是16位的,所以可以覆盖整个的64k外部ram,r0和r1是8位,所以只能寻址最前面的256个,也就是外部ram的第一页,但是,用r0寻址,比dptr快一倍,代码也小的很多
楼主又疑惑了,好多地址是重复的,比如,我向80h地址写一个数值,单片机怎么知道读的是内部的高128位ram?还是sfr?还是外部64k的ram呢?
答案是用指令,如果是直接寻址,那么访问的就是sfr,如果是r0或者r1间接寻址,就是内部高128位ram,如果是dptr或者是r0,r1间接寻址,且配合的是movx指令,那么就是访问外部64kram中的第80h个地址。
概括一下来说,51的内存由以下组成:
1----程序存储器(包括片内flash或rom,也包括片外flash或rom,c语言用code定义)
2----内部低128位ram,c语言用data定义
3---内部高128位ram,c语言用idata定义
4---内部sfr,c语言用sfr定义
5---外部65536个ram(通常,很多单片机厂家不会给你扩展那么多的,一般来说扩展256个字节或者1024个字节就差不多了,最近宏晶的出了个扩展4096字节的。这65536字节的ram,前256个可以用pdata修饰,也可以用xdata修饰,超过256个之后的,只能用xdata修饰)
以上所说的只是针对51内核的单片机,其他内核的,像arm之类的,不是这种结构的。
什么是var单片机的介绍到此就结束了,感谢您耐心阅读,谢谢。
本文标签:什么是var单片机