‘壹’ 单片机!!!!!!!!!!!!!!!
单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。
单片机也被称为微控制器(Microcontroler),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。
早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTEL
i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。
单片机比专用处理器最适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。
‘贰’ 51单片机红外感应开关代码怎么写
RE200B红外热释电处理芯片BISS0001,BISS0001是一款具有较高性能的传感信号处理集成电路,它配以热释电红外传感器和少量外接元器件构成被动式的热释电红外开关。它能自动快速开启各类白炽灯、荧光灯、蜂鸣器、自动门、电风扇、烘干机和自动洗手池等装置,特别适用于企业、宾馆、商场、库房及家庭的过道走廊等敏感区域,或用于安全区域的自动灯光、照明和报警系统[6]。该处理芯片具有CMOS工艺,数模混合,具有独立的高输入阻抗运算放大器;内部的双向鉴幅器可有效抑制干扰,内设延迟时间定时器和封锁时间定时器,采用16脚DIP封装等特点。红外传感器接收到人体红外信号经BISS0001处理后输出输给单片机P1.0口,TEL0表示接STC89C52是的P1.0口,通过对P1.0电平的判断,实现对单片机外围电路的控制.具体去看我的网络文库“基于单片机的红外淋浴器的设计”。
‘叁’ 用C语言编写一个单片机控制LED灯闪烁变化的编程 急用!!!!!!!!!
C语言实现LED灯闪烁控制配套51单片机开发板。
#include //包含单片机寄存器的头文件
/****************************************
函数功能:延时一段时间
*****************************************/
void delay(void) //两个void意思分别为无需返回值,没有参数传递。
{
unsigned int i; //定义无符号整数,最大取值范围65535。
for(i=0;i<20000;i++) //做20000次空循环。
; //什么也不做,等待一个机器周期。
}
/*******************************************************
函数功能:主函数 (C语言规定必须有也只能有1个主函数)。
********************************************************/
void main(void)
{
while(1) //无限循环。
{
P0=0xfe; //P1=1111 1110B, P0.0输出低电平。
delay(); //延时一段时间。
P0=0xff; //P1=1111 1111B, P0.0输出高电平。
delay(); //延时一段时间。
}
}
单片机驱动LED灯的源程序:
#include<reg52.h> //头文件。
#define uint unsigned int
#define uchar unsigned char
sbit LED1=P1^7; //位定义。
void delay_ms(uint);//mS级带参数延时函数。
void main()
{
while(1)
{
LED1=0;
delay_ms(1000);
LED1=1;
delay_ms(1000);
}
}
void delay_ms(uint z) //延时子程序
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
(3)小家电单片机源码扩展阅读:
单片机应用分类:
通用型:
这是按单片机(Microcontrollers)适用范围来区分的。例如,80C51式通用型单片机,它不是为某种专门用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路。
总线型:
这是按单片机(Microcontrollers)是否提供并行总线来区分的。总线型单片机普遍设置有并行地址总线、 数据总线、控制总线,这些引脚用以扩展并行外围器件都可通过串行口与单片机连接。
另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积,这类单片机称为非总线型单片机。
控制型:
这是按照单片机(Microcontrollers)大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型。
通常是小封装、低价格,外围器件和外设接口集成度高。 显然,上述分类并不是惟一的和严格的。例如,80C51类单片机既是通用型又是总线型,还可以作工控用。
参考资料来源:网络-单片机
‘肆’ 求"基于单片机的电器遥控器的设计"外文参考文献,近似的也可以
-5
就找到这一个!
‘伍’ 单片机和芯片的区别吗
芯片范围小,单片机范围大,打个比方,单片机好比是台计算机,那芯片就是里面的部件,;两者的区别是什么呢?下面就跟着我一起来看看吧。
单片机与芯片的区别
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机了解计算机原理与结构的最佳选择。
芯片就是有一些功能(如逻辑功能、转换功能)的集成电路。一般并不是带有全部的ROM、IO、运算器和RAM。 但组合在一起的芯片要完成单片机的全部功能(如ROM RAM 等等).而不止是一些逻辑器件的一般组合.
1.区别:芯片是一些电子元件集成IC封装使实现某一电气功能的元件占用空间更少,使用更方便。单片机通俗来讲就是一个小的计算机系统,通过程序来控制各引脚的功能。
2.应用领域二者都很广,通俗讲我们用的家电电器控制中都能用到芯片和单片机
3.不能绝对的说那个便宜。你想功能强大的芯片和功能少一点的单片机比,可想而知
芯片 指内含集成电路的硅片,体积很小,常常是计算机或其他设备的一部分。 芯片组(Chipset)是主板的核心组成部分,按照在主板上的排列位置的不同,通常分为北桥芯片和南桥芯片。北桥芯片提供对CPU的类型和主频、内存的类型和最大容量、ISA/PCI/AGP插槽、ECC纠错等支持。南桥芯片则提供对KBC(键盘控制器)、RTC(实时时钟控制器)、USB(通用串行总线)、Ultra DMA/33(66)EIDE数据传输方式和ACPI(高级能源管理)等的支持。其中北桥芯片起着主导性的作用,也称为主桥(Host Bridge)。 芯片组的识别也非常容易,以Intel 440BX芯片组为例,它的北桥芯片是Intel 82443BX芯片,通常在主板上靠近CPU插槽的位置,由于芯片的发热量较高,在这块芯片上装有散热片。
DSP器件与单片机的比较
1.单片机的特点
所谓单片机就是在一块芯片上集成了CPU、RAM、ROM(EPROM或EEPROM)、时钟、定时/计数器、多种功能的串行和并行I/O口。如Intel公司的8031系列等。除了以上基本功能外,有的还集成有A/D、D/A,如Intel公司的8098系列。概括起来说,单片机具有如下特点:
具有位处理能力,强调控制和事务处理功能。
价格低廉。如低档单片机价格只有人民币几元钱。
开发环境完备,开发工具齐全,应用资料众多。
后备人才充足。国内大多数高校都开设了单片机课程和单片机实验。
2.DSP器件的特点
与单片机相比,DSP器件具有较高的集成度。DSP具有更快的CPU,更大容量的存储器,内置有波特率发生器和FIFO缓冲器。提供高速、同步串口和标准异步串口。有的片内集成了A/D和采样/保持电路,可提供PWM输出。DSP器件采用改进的哈佛结构,具有独立的程序和数据空间,允许同时存取程序和数据。内置高速的硬件乘法器,增强的多级流水线,使DSP器件具有高速的数据运算能力。DSP器件比16位单片机单指令执行时间快8~10倍,完成一次乘加运算快16~30倍。DSP器件还提供了高度专业化的指令集,提高了FFT快速傅里叶变换和滤波器的运算速度。此外,DSP器件提供JTAG接口,具有更先进的开发手段,批量生产测试更方便,开发工具可实现全空间透明仿真,不占用用户任何资源。软件配有汇编/链接C编译器、C源码调试器。
目前国内推广应用最为广泛的DSP器件是美国德州仪器(TI)公司生产的TMS320系列。DSP开发系统的国产化工作已经完成,国产开发系统的价格至少比进口价格低一半,有的如TMS320C2XX开发系统只有进口开发系统价格的1/5,这大大刺激了DSP器件的应用。目前,已有不少高校计划建立DSP实验室,TI公司和北京闻亭公司都已制订了高校支持计划,将带动国内DSP器件的应用和推广。
3.DSP器件大规模推广指日可待
通过上述比较,我们可得出结论:DSP器件是一种具有高速运算能力的单片机
从应用角度看:DSP器件是运算密集型的,而单片机是事务密集型的,DSP器件可以取
代单片机,单片机却不能取代DSP。DSP器件价格大幅度下滑,直逼单片机。DSP器件广泛使用了JTAG硬件仿真,比单片机更易于硬件调试。国产化的DSP开发系统为更多用户采用DSP器件提供了可能性。DSP取代单片机的技术和价格的市场条件已经成熟,大规模推广指日可待。
DSP器件的典型应用
随着DSP性能不断改善,用DSP器件来作实时处理已成为当今和未来技术发展的一个新热点。
TI公司最新推出的TMS320C2XX系列具有良好的性能价格比,基本可以取代16位单片机。其中TMS320C203单片价格不到人民币100元,芯片内置544字的高速SRAM。外部可寻址64K字程序/数据及I/O,指令周期在25ns~50ns之间,实时性处理比16位单片机快2倍以上,可取代一般的单片机。TMS320F206除了具有TMS320C203的功能外,内置32K字零等待快闪存储器,可满足单片设计的要求,能最大限度减少用户板的体积。TMS320F240的指令、DSP核与TMS320C203、F206完全兼容,内置8K/16K字快闪存储器,增加了两路10位A/D,每路采样频率可达166kHz,提供9路独立的PWM输出,内置SCI和SPI接口,内置CAN总线接口。这些大大增强了TMS320X240的处理能力,在电机控制领域显示了强大的生命力。它是一个典型的TMS320F240的用户系统,它实现如下功能:
3相PWM输出/3相电流测量/按键控制、液晶显示/RS232通信,A/D、D/A接口,62K字零等待SRAM,扩展的输入、输出及双向I/O口/JTAG接口。
猜你喜欢
1. cpu,mcu,dsp的区别是什么
2. 单片机技术论文
3. 单片机的发声原理
4. 单片机学术论文
5. 单片机的发展历史简介
6. 电子设计入门基础知识
‘陆’ 点亮d37发光二极管的单片机代码是什么
实验(二):本程序的功能是点亮一个发光二极管#includeVoid main(){P1=0xfe;While(1);}实验(三):本程序的功能是点亮三个发光
‘柒’ 怎样用51单片机做计算器啊
1、硬件仿真图
4、程序源代码
#include <reg51.h>#include <intrins.h>
#include <ctype.h>
#include <stdlib.h>
#define uchar unsigned char
#define uint unsigned int
uchar operand1[9], operand2[9];
uchar operator;
void delay(uint);
uchar keyscan();
void disp(void);
void buf(uint value);
uint compute(uint va1,uint va2,uchar optor);
uchar code table[] = {0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90,0xff};
uchar dbuf[8] = {10,10,10,10,10,10,10,10};
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
uchar keyscan()
{
uchar skey;
P1 = 0xfe;
while((P1 & 0xf0) != 0xf0)
{
delay(3);
while((P1 & 0xf0) != 0xf0)
{
switch(P1)
{
case 0xee: skey = '7'; break;
case 0xde: skey = '8'; break;
case 0xbe: skey = '9'; break;
case 0x7e: skey = '/'; break;
default: skey = '#';
}
while((P1 & 0xf0) != 0xf0)
;
}
}
P1 = 0xfd;
while((P1 & 0xf0) != 0xf0)
{
delay(3);
while((P1 & 0xf0) != 0xf0)
{
switch(P1)
{
case 0xed: skey = '4'; break;
case 0xdd: skey = '5'; break;
case 0xbd: skey = '6'; break;
case 0x7d: skey = '*'; break;
default: skey = '#';
}
while((P1 & 0xf0) != 0xf0)
;
}
}
P1 = 0xfb;
while((P1 & 0xf0) != 0xf0)
{
delay(3);
while((P1 & 0xf0) != 0xf0)
{
switch(P1)
{
case 0xeb: skey = '1'; break;
case 0xdb: skey = '2'; break;
case 0xbb: skey = '3'; break;
case 0x7b: skey = '-'; break;
default: skey = '#';
}
while((P1 & 0xf0) != 0xf0)
;
}
}
P1 = 0xf7;
while((P1 & 0xf0) != 0xf0)
{
delay(3);
while((P1 & 0xf0) != 0xf0)
{
switch(P1)
{
case 0xe7: skey = '$'; break;
case 0xd7: skey = '0'; break;
case 0xb7: skey = '='; break;
case 0x77: skey = '+'; break;
default: skey = '#';
}
while((P1 & 0xf0) != 0xf0)
;
}
}
return skey;
}
void main()
{
uint value1, value2, value;
uchar ckey, cut1 = 0, cut2 = 0;
uchar operator;
uchar i, bool = 0;
init:
buf(0);
disp();
value = 0;
cut1 = cut2 = 0;
bool = 0;
for(i = 0;i < 9;i++)
{
operand1[i] = '