电子工程师的网站
首 页 | 新闻资讯 | 最新产品 | 解决方案 | 技术参数 | 设计应用 | 电路图 | 技术资料
维库知道
芯片资料 | 技术论坛
PDF资料 IC货源
  单片机 现在位置: 首页 >单片机     
请介绍一下:单片机。


最佳答案 - 由提问者1年前选出

单片机知识简介

  
  在计算机出现以前,有不少能工巧匠做出了不少精巧的机械。 进入电器时代后,人们借助电气技术实现了自动控制机械,自动生 产线甚至自动工厂,并且大大地发展了控制理论。然而,在一些大 中型系统中自动化结果均不理想。只有在计算机出现后,人们才见 到了希望的曙光。如今借助计算机逐渐实现了人类的梦想。但是, 计算机出现后的相当长的时间里,计算机作为科学武器,在科学的 神圣殿堂里默默地工作,而工业现场的测控领域并没有得到真正的 应用。只有在单片机(Microcontroller)出现后,计算机才真正 地从科学的神圣殿堂走入寻常百姓家,成为广大工程技术人员现代 化技术革新,技术革命的有利武器。目前,单片机在民用和工业测 控领域得到最广泛的应用。彩电,冰箱,空调,录像机,VCD,遥 控器,游戏机,电饭煲等无处不见单片机的影子,单片机早已深深 地溶入我们每个人的生活之中。

  单片机能大大地提高这些产品的智能性,易用性及节能性等主 要性能指标,给我们的生活带来舒适和方便的同时,在工农业生产 上也极大地提高了生产效率和产品质量。 单片机按用途大体上可分为两大类: 1--通用型单片机 2--专用型单片机

  专用型单片机是指用途比较专一,出厂时程序已经一次性固化好, 不能再修该的单片机。例如电子表里的单片机就是其中的一种。 其生产成本很低。

  通用型单片机的用途很广泛,使用不同的接口电路及编制不同的应 用程序就可完成不同的功能。小到家用电器仪器仪表,大到机器设 备和整套生产线都可用单片机来实现自动化控制。

  通用型单片机按位数分有4位机,8位机,16位机和32位机等等.按厂 家分种类就更多,我国目前最常用的单片机有如下几家:

Intel--------- (MCS51系列,MCS96系列)
Atmel------- (AT89系列,MCS51内核)
Microchip--- (PIC系列)
Motorola---- (68HCXX系列)
Zilog-------- (Z86系列)
Philips------ (87,80系列,MCS51内核)
Siemens----- (SAB80系列,MCS51内核)
NEC--------- (78系列)
Epson-------- (系列)

1 楼          时间:2008-1-2

dsPIC30F6010单片机的原理及应用

摘要:Microchip公司推出的dsPIC30F系列单片机是一种集16位单片机控制特点和DSP功能于一身的新型芯片。文中介绍了dsPIC30F6010的基本特点、硬件结构和指令特点,分析了dsPIC30F6010在编程开发应用上的技术特点,并给出了一段具体的编程示例。

关键词:DSP;dsPIC30F6010;PIC单片机

1 前言

随着电子技术的发展以及集成电路规模的不断扩大,工业等各应用领域对于核心芯片的要求越来越苛刻。因而,计算机芯片也朝着高速化、专业化、模块化、功能化、低功耗、低电压工作等方向不断地发展、更新。

Microchip公司的PIC系列单片机以其内置Flash以及精简指令集等技术特点成为中低档8位单片机的主流产品,但是在一些复杂系统应用中,它仍存在一些缺陷和不足。为此,Microchip公司新推出了dsPIC30F系列16位单片机。它是一种具有单片机和DSP综合功能的16位CPU,不但保留了单片机的基本性能、丰富了外围模块,还兼具DSP的高速运算能力,是嵌入式系统设计的最佳解决方案之一。由于集多种功能于单一芯片,从而大大节省了电路板空间。目前开发的dsPIC30F产品主要分为通用系列、电机控制和电源变换系列、传感器系列等。其中dsPIC30F6010以其丰富的外围模块、I/O接口、可支持多种电机控制等特点,广泛应用于电机控制、开关电源控制等领域。该单片机在许多应用中优于32位控制器。dsPIC30F6010的主要特点有:

●Flash程序空间容量大,外围部件丰富;

●强大的中断能力,可灵活处理中断;

●编程开发能力强大,可支持C编译,并可方便地与PIC系列单片机结合使用;

●强大的DSP演算能力,与其它DSP的指令集相比,dsPIC30F6010只有84个基本指令且多为单周期指令,从而大大简化了编程效率;





●内嵌SPI、UART、CAN等多种通讯模块,且具有适合于电机控制的8通道PWM以及正交编码接口器;

●内含10位高速A/D和16位深度结果缓冲区,有多种数据方式;可在睡眠方式下进行转换;同时具有多种时钟模式;

●宽范围工作电压(2.5V~5.5V),大大优于其它单片机的5V工作电压和DSP的3.3V工作电压。

2 dsPIC30F6010的结构特点

2.1 CPU结构

dsPIC30F6010采用改进型哈佛结构,CPU核具有24位宽指令字。dsPIC30F6010的硬件结构框图如图1所示。它的PC指针为23位宽(最低位恒为“0”),可寻址4M×24位程序存储器空间。除了跳转、表格等指令外,所有的指令均在一个周期内完成。指令采用流水线操作方式,分为MCU和MAC等级指令,适合C编译。dsPIC30F6010拥有16个16位工作寄存器(W0~W15),可作为数据、地址或地址偏移量寄存器,其中W15还可作为CALL指令或中断的软件堆栈指针。dsPIC30F6010共有54个中断源和8个不可屏蔽陷阱,每个中断源有7个中断优先级,可通过状态寄存器进行软件编写,故可灵活控制中断,中断控制器可支持5个外部中断(INT0~INT4)请求。

dsPIC30F6010与PIC单片机最大的区别在于其内嵌一个DSP高速引擎,从而提高了CPU核的运算能力。DSP引擎包括一个17×17乘法器、一个40位AGU、两个40位饱和累加器、一个40位双向桶形移位器。DSP引擎的引入可以方便单片机快速、高效地进行一些数据处理,以提高整个系统的实时性。

2.2 数据RAM结构

dsPIC30F6010的数据存储器为16位宽,共32K字。图2是整个数据存储器映射图,其中特殊功能寄存器共2kB,地址为0x0000~0x07FF,主要包括CPU和外围设备的控制或状态寄存器。RAM地址从0x8000开始,分为X数据存储器和Y数据存储器,可分开作为2个单独的数据空间(相对于一些DSP指令而言),也可合并作为线性数据空间(相对于MCU指令而言)。每个存储器都有自己的AGU地址发生单元。双源DSP操作的MAC等级指令可对 X和Y数据存储器进行操作,从而把数据空间分成两部分以分别存放两个操作数。MCU指令只能通过X存储器的AGU来寻址整个寄存器的数据空间,以便以W寄存器作为地址指针来进行读/写操作。数据存储器顶部的32kB数据可任意映射到16k字程序空间中。dsPIC30F6010的大部分指令都能够进行数据存储器的读/写、工作寄存器(数据)读、程序存储器读3个操作。对于DSP指令,用W8和W9可执行X存储器空间内的储存器读写,若指向Y存储器,则返回“0”,如果指向未执行的地址,将产生错误的地址捕捉。同理,W10和W11作为Y存储器的地址指针。8kB的近似数据空间可以直接通过工作寄存器指令形成的13位绝对地址来存取。





2.3 程序存储器结构

图3所示的程序存储器映射图分为两部分:用户程序空间和用户配置空间。用户程序空间包括复位矢量、中断矢量表、程序存储器和数据EEPROM存储器;配置空间包括一些设备配置寄存器以及器件的ID位等。PC指针最低位恒为“0”,增量为2。

访问4M×24位程序存储器的方法有三种,第一种是通过23位PC指针;第二种是通过特殊的表格读/写指令(TBLRDL、TBLWTL、TBLRDH和TBLWTH),第三种是通过PSV操作模式(程序空间可见)把16k字程序空间页面映射到数据存储器地址空间的高32kB。

dsPIC30F6010的外围模块比PIC丰富许多。首先,通信模式增加了CAN模块接口,其它通信模块的数量也增加了,因而可适应大系统的设计需求。其次,dsPIC30F6010有5个16位timer模块,其中TMR2和TMR3、TMR4和TMR5可以分别组合成32位定时器,程序员可以选择多种工作方式,例如16位/32位定时器、32位同步计时器、门控等模式。此外,dsPIC30F6010还增加了电机控制PWM模块以及积分编码模块。
3 指令特点

dsPIC30F系列单片机在增加了DSP功能后,其指令也只有84条,因此,和其它DSP相比,可大大简化编程难度。dsPIC30F6010在指令上的主要特点有:

(1)dsPIC30F6010的指令格式有别于PIC单片机,它的格式为: 操作符 源操作数 目的操作数,此外还增加了许多三操作数指令;

(2)dsPIC30F6010为16位CPU,因而在指令操作上有字操作和字节操作两种模式,可实现8位和16位操作;

(3)dsPIC30F6010除了保留有PIC单片机的大部分指令功能外,还增加了许多传送、数学运算、逻辑运算指令;相比PIC单片机,它的最大优点是增加了乘除法指令,因而可大大减少编程难度并优化程序。为了适应字操作,相应增加了减2、加2等指令;

(4)增加了相应的DSP功能指令,如DSP指令、程序流指令等;

(5)由于有多种堆栈形式,因而也就增加了不同形式的堆栈指令。

4 编程示例

dsPIC30F6010可支持C编译、汇编以及混合编译等多种模式,用户可根据自身能力选择不同的编程方式。

4.1 C编译





dsPIC30F6010的编程模式基本上和C语言及其它单片机或DSP的C编译相似,下面以A/D采样为例给出其编程应用,设计时需要注意的是:

(1)寄存器必须大写;

(2) 直接对某些位进行操作时,可在该寄存器后加bits,如ADCON1bits.ADON=1;

(3) 牢记先定义后使用的原则,调用的数学函数必须由编译软件库函数所支持。

int main (void)  ;主程序

{ portinitial();

adinitial();

ADCON1bits.ADON=1;

ADCON1bits.SAMP=1;

delay();

ADCON1bits.SAMP=0;

… … … …

}

void portinitial() ;初始化I/O口

{

TRISE=0x0000;

PORTE=0x0000;

}

void adinitial() ;AD初始化子程序

{ ADCON1=0x2208;

ADCON2=0x0000;

ADCON3=0x0000;

ADCHS=0x0000;

ADCSSL=0x0000;

ADPCFG=0x0000;

IFS0bits.ADIF=0;

IEC0bits.ADIE=1;

}

void delay() ;延时子程序

{

for (j=1000;--j;) continue

}

4.2 混编技术

在C语言中调用汇编语言时,只要在C汇编中定义一个extern型变量或函数并在其前面加一前缀( )即可。如在C程序中:

… … … …

extern void modulo(unsigned int *, unsigned int *, unsigned int);声明函数类型

… … … …

int main (void)

{… … … …

modulo( array1, array2, PRODLEN-1);在C程序中调用

… … … …

}

在汇编中调用:

.global_modulo ;定义全局变量

_modulo:

… … … …

.end

5 结束语

在某些应用场合,综合了16位单片机和DSP功能的dsPIC30F器件要大大优于32位单片机,而且可降低成本,同时,C代码效率也降低了对存储器的需求,从而缓解了16位单片机和低端数字信号处理器DSP存在的性能差。由于它本身的DSP功能大大提高了运算和响应能力,因而提高了系统的实时性,可完全适应现代工业控制技术发展的要求。丰富的外围模块以及I/O设备,必然使得dsPIC30F在未来的DSP市场中占有重要地位。目前,该产品已经开始在电机控制、网络连接、语音和音响、电源变换和监视、传感器控制、汽车控制等领域中开发应用。可以预见,随着dsPIC30F系列产品的不断开发和完善,以及开发工具、开发软件的不断丰富,dsPIC30F必将得到广大用户的青睐。

 
我也来回答:
 
 
最新知道
有需要设备维修的吗?
我的博客被屏蔽了 怎么...
我家的稳压器发出臭气是...
12V能变20V吗?
11家赌场都叫什么名呀
ECU是代表什么啊?
开关管1403短路是什么原...
要铣机操作工吗
D15LC20U
pin光敏二极管
热点排行
12v转换220v带150w的电...
k31115电源开关管用什么...
南开大学电子信息科学与...
MC1454构成的低功耗文氏...
ACC
请问商务英语自考有那些...
我家里的锅盖连一个基本...
何处有以秸杆为原料的制...
我174体重55公斤 这样算...
为什么漏电开关经常跳闸
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
总部:杭州建国北路707号星汇大厦6号楼1101室
电话:13357183237 QQ:344945827 303939539  邮箱:laz8258@163.com dzsc51@163.com