单片机与C语言.ppt

上传人:夺命阿水 文档编号:246742 上传时间:2023-03-21 格式:PPT 页数:42 大小:374.50KB
返回 下载 相关 举报
单片机与C语言.ppt_第1页
第1页 / 共42页
单片机与C语言.ppt_第2页
第2页 / 共42页
单片机与C语言.ppt_第3页
第3页 / 共42页
单片机与C语言.ppt_第4页
第4页 / 共42页
单片机与C语言.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《单片机与C语言.ppt》由会员分享,可在线阅读,更多相关《单片机与C语言.ppt(42页珍藏版)》请在课桌文档上搜索。

1、1,物联网工程导论,单片机与C语言,知识点结构,3,什么是单片机?单板机 将CPU芯片、存储器芯片、I/O接口芯片和简单的I/O设备(小键盘、LED显示器)等装配在一块印刷电路板上,再配上监控程序(固化在ROM中),就构成了一台单板微型计算机(简称单板机)。,单板机,单片机 在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。Intel公司推出了MCS-51系列单片机:集成 8位CPU、4K字节ROM、128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64K,并有控制功能较强的布尔处理器。,单板机,单片机,单片机能做什

2、么,手持粮库温度寻检设备毕设答辩打分器电话台灯自动感应水龙头凡是与控制或简单计算有关的电子设备都可以用单片机来实现,再根据具体实际情况选择不同性能的单片机,如:atmel,stc,pic,avr,凌阳,80C51,arm等,工业自动化:数据采集、测控技术。智能仪器仪表:数字示波器、数字信号源、数字万用表、感应电流表等。消费类电子产品:洗衣机、电冰箱、空调机、电视机、微波炉、手机、IC卡、汽车电子设备等。通讯方面:调制解调器、程控交换技术、手机、小灵通等。武器装备:飞机、军舰、坦克、导弹、航天飞机、鱼雷制导、智能武器等。等等.,常见单片机的种类,根据总线的宽度,单片机一般可分为4位、8位、16位

3、和32位单片机。4位单片机多用于冰箱、洗衣机、微波炉等家电控制中。8位、16位单片机主要用于一般的控制领域,一般不使用操作系统。32位单片机主要用于网络操作、多媒体处理等复杂处理的场合,一般要使用嵌入式操作系统。8位和16位单片机的用途非常广泛,遍及日常生活的各个角落,从儿童玩具到电饭煲、电视机等家用电器都有其身影,目前高校的教学也以8位和16位单片机为主。本文主要介绍常用的8位单片机。常用的8位和16位单片机主要有以下一些系列:,常见单片机的种类,1.MCS-51系列及与之兼容的80C51系列单片机 MCS-51系列及与之兼容的80C51系列单片机种类最多,发展也最快,主要有ATMEL的AT

4、89系列、NXP(原 PHLIPIS公司)的51PLC系列单片机、美国Silicon Labs 公司的C8051F系列单片机、国内宏晶公司的STC系列单片机、(1)ATMEL公司的8位单片机有AT89、AT90两个系列,AT89系列是8位Flash单片机,与8051系列单片机相兼容,AT89S5X系列单片机支持ISP编程,成本低,资料多,适合初学者学习。,常见单片机的种类,(2)AT90系列单片机是增强RISC结构、全静态工作方式、内载在线可编程Flash的单片机,也叫AVR单片机。AVR单片机是采用RISC精简指令集的高速8位单片机,高速、低功耗、保密,具有A/D转换,E2PROM,PWM,

5、RTC,SPI,UART,TWI,ISP,AD,Analog Comparator,WDT等电路和功能,已被广泛应用,AVR的市场占有一直在扩展,年用量也一直在上涨,但指令集和51不同,入门稍难。,常见单片机的种类,(3)NXP(原PHLIPIS)51PLC系列单片机(51单片机):原PHILIPS公司的单片机是基于80C51内核的单片机,嵌入了掉电检测、片内RC振荡器等功能,部分型号的还具有AD/DA等功能。这使得51LPC在高集成度、低成本、低功耗的应用设计中可以满足多方面的性能要求。,常见单片机的种类,(4)C8051F系列单片机是由美国Silicon Labs 公司推出的全兼容8051

6、指令集,其峰值执行速度可达100MIPS(C8051F120等)。部分型号片内ADC的采样精度最高可达24bit,采样速率最高可达500ksps,还集成了单个或两个独立的高分辨率DAC,可满足绝大多数混合信号系统的应用并实现与模拟电子系统的无缝接口。此外还根据不同的需要集成了SMBus、SPI、USB、CAN、LIN等接口,以及RTC部件。成为SOC的典型代表,具有广泛的市场前景。(5)国内宏晶公司销售的STC系列单片机兼容51内核,价格便宜,支持串口ISP,具有A/D,D/A功能,也适合初学者学习。,常见单片机的种类,2.与51不兼容的单片机(1)Microchip(微芯公司)的PIC系列单

7、片机MicroChip单片机的主要产品是PIC 16C系列和17C系列8位单片机,CPU采用RISC结构,分别仅有33、35、58条指令,采用Harvard双总线结构,运行速度快,低工作电压,低功耗,较大的输入输出直接驱动能力,价格低,一次性编程,体积小。在办公自动化设备,消费电子产品,通信,智能仪器仪表,汽车电子,金融电子,工业控制等领域都有广泛的应用。PIC系列单片机在世界单片机市场份额排名中逐年提高,发展非常迅速。,常见单片机的种类,(2)TI公司的超低功耗Flash型MSP430系列单片机MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗的混合信号处

8、理器(Mixed Signal Processor)。称之为混合信号处理器,主要是由于其针对实际应用需求,把许多模拟电路、数字电路和微处理器集成在一个芯片上,以提供“单片”解决方案。具有高速、低功耗,信号处理能力强大等特点,也是一种SOC单片机。(3)ADI公司的带A/D与D/A转换器的单片机,片内A/D、D/A转换精度高,但价格昂贵。,常见单片机的种类,(4)台湾凌阳生产,国内北阳电子通过大学计划主推的16位SPEC061A单片机,具有增强的语音信号AGC、滤波、AD、DA功能,并开发了语音识别实例,有专门的网站,宣传推广做得好,在一些学校有专门的共建实验室。(5)Freescale Sem

9、iconductor(飞思卡尔半导体)单片机,飞思卡尔是全球20大半导体公司之一,中国大学生智能汽车电子竞赛的赞助商。在汽车半导体产品、通信处理器、整个微控制器、数字信号处理器等市场居世界前列。,常见单片机的种类,(6)还有其它很多公司像SanSung、东芝等等在单片机市场都有一定份额,主要用于一些家用电器的微处理器,但国内高校的学生接触不多。作为学生学习入门还是建议采用51系列单片机。本书将介绍ATMEL公司的8位单片机AT89S52。进行产品开发和电子竞赛,可以选51系列,也可以根据自己的项目要求选取成本低、效果好的单片机。一些含A/D,D/A的单片机可能比单一的A/D,D/A芯片都要便宜

10、很多。单片机今后的处理速度会越来越快,功耗越来越低,位数上随着对语音、图像等信号处理的要求,会逐步向32位的方向发展。当然8位单片机在一些控制领域仍具有巨大的市场。,郭天祥,出生年月:1983年10月 2004年5月首次与电子元件见面,6月开始学习单片机,9月参加黑龙江省大学生电子设计大赛获一等奖,04年主要学会了单片机的汇编语言编程和非常简单的常用电路设计。05年开始学单片机C语言编程,5月获学校五四杯电子设计竞赛二等奖,6月参加“枭龙杯”全国空中机器人比赛于11月在成都举行,获全国亚军,9月参加“索尼杯”全国大学生电子设计竞赛未获奖。05年期间学会了C语言、C+语言、VC+编程、VHDL语

11、言、FPGA/CPLD(可编程逻辑器件)。,06年5月获校五四杯电子设计大赛一等奖,同年被免试保送信通学院读硕士研究生。06年开始和同学一起对外承接工程项目,同时学习DSP(数字信号处理器),8月建立了个人网站(天祥电子),主要是产品宣传与销售。07年5月获校五四杯电子设计大赛一等奖,黑龙江省挑战杯电子设计竞赛一等奖。07年主要对外承接工程项目,同年学习ARM7(嵌入式系统设计)。,学单片机需要什么基础?与以前所学的知识关联很少;只需要掌握很基本的数电模电知识,如二进制、十进制、十六进制之间的转换,与、或、非逻辑关系等;对各种器件的概念基本上是从0开始;如果要用C语言编程,需具备简单的C语言基

12、础;所有人都站在了同一起跑线上;,怎么开始学习?,实践第一。补充必要的理论知识,即缺什么补什么。做工程项目积累经验。(可在网络上搜集题目,也可自己有什么想法大胆的去试验)推荐几个好网站:阿莫电子论坛,电子发烧友等。,80C51系列介绍,Intel的:80C31、80C51、87C51,80C32、80C52、87C52等;ATMEL的:89C51、89C52、89C2051等;Philips、华邦、Dallas、STC Siemens(Infineon)等公司的许多产品。,80C51是MCS-51系列中的一个典型品种;其它厂商以8051为基核开发出的CMOS工艺单片机产品统称为80C51系列。

13、当前常用的80C51系列单片机主要产品有:,80C51的引脚封装,总线型,非总线型,总线(BUS)是计算机各部件之间传送信息的公共通道。微机中有内部总线和外部总线两类。内部总线是CPU内部之间的连线。外部总线是指CPU与其它部件之间的连线。外部总线有三种:数据总线DB(Data Bus),地址总线 AB(Address Bus)和控制总线 CBControl Bus)。,CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;ROM:用以存放程序、一些原始数据和表格;I/O口:四个8位并行I/O口,既

14、可用作输入,也可用作输出;T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;,五个中断源的中断控制系统;一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率取决于单片机型号及性能。,C51知识,C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。目前,使用C语言进行程序设计已经成为软件开发的一个主流。用C语言开发系统可以大大缩短开发周期,明显增强程序的可读性,便于改进、扩充和移植。而针对8051的C语言日趋成熟,成为了专业化的实

15、用高级语言。,C语言作为一种非常方便的语言而得到广泛的支持,很多硬件开发都用C语言编程,如:各种单片机、DSP、ARM等.C语言程序本身不依赖于机器硬件系统,基本上不作修改就可将程序从不同的单片机中移植过来。C提供了很多数学函数并支持浮点运算,开发效率高,故可缩短开发时间,增加程序可读性和可维护性。,C-51的特点,C-51与ASM-51相比,有如下优点:1.对单片机的指令系统不要求了解,仅要求对8051 的存贮器结构有初步了解;2.寄存器分配、不同存贮器的寻址及数据类型等细节可由编译器管理;3.程序有规范的结构,可分成不同的函数,这种方式可使程序结构化;4.提供的库包含许多标准子程序,具有较

16、强的数据处理能力;5.由于具有方便的模块化编程技术,使已编好程序可容易地移植;,C51的数据类型,基本数据类型,类型,符号,关键字,数的表示范围,所占位数,整型,字符型,实型,有,无,(signed)int,16,-3276832767,(signed)short,16,-3276832767,(signed)long,32,-21474836482147483647,16,unsigned int,065535,32,04294967295,unsigned long int,unsigned short int,16,065535,有,float,32,3.4e-383.4e38,有,do

17、uble,64,1.7e-3081.7e308,有,char,8,-128127,无,unsigned char,8,0255,C语言中的基本数据类型,类型,符号,关键字,数的表示范围,所占位数,整型,字符型,实型,有,无,(signed)int,16,-3276832767,(signed)short,16,-3276832767,(signed)long,32,-21474836482147483647,16,unsigned int,065535,32,04294967295,unsigned long int,unsigned short int,16,065535,有,float,3

18、2,3.4e-383.4e38,有,double,64,1.7e-3081.7e308,有,char,8,-128127,无,unsigned char,8,0255,C51的数据类型扩充定义,sfr:特殊功能寄存器声明sfr16:sfr的16位数据声明sbit:特殊功能位声明bit:位变量声明例:sfr SCON=0X98;sfr16 T2=0 xCC;sbit OV=PSW2;,例:数据类型 变量名char var1;bit flags;unsigned char vextor10;int wwww;注意:变量名不能用C语言中的关键字表示。,C-51数据的存储类型,C-51的包含的头文件,

19、通常有:reg51.h reg52.h math.h ctype.h stdio.h stdlib.h absacc.h常用有:reg51.h reg52.h(定义特殊功能寄存器和位寄存器);math.h(定义常用数学运算);,C-51的运算符与C语言基本相同:+-*/(加 减 乘 除)=(位右移 位左移)&|(按位与 按位或)(按位异或 按位取反),C-51的基本语句,与标准C语言基本相同:if 选择语言 while 循环语言 for 循环语言 switch/case 多分支选择语言 do-while 循环语言,中断服务程序,函数名()interrupt n using m函数内部实现.,I

20、/O口定义,sbit beep=P23;,单片机主要掌握以下几点,最小系统能够运行起来的必要条件。1.电源 2.晶振3.复位电路对单片机任意IO口的随意操作 1.输出控制电平高低2.输出检测电平高低。定时器:重点掌握最常用的方式2中断:外部中断、定时器中断、串口中断串口通信:单片机之间、单片机与计算机间,KEIL的使用,掌握KEIL工程的建立和软件的开发;掌握KEIL中软件仿真的基本应用;,Main 函数格式:void main()特点:无返回值,无参。任何一个C程序有且仅有一个main函数,它是整个程序开始执行的入口。例:void main()总程序从这里开始执行;其他语句;,习题练习及作业,作业:下载keil软件,proteus软件,安装keil、proteus软件编写程序实现:1.熟练建立KEIL工程2.点亮第一个发光管.3.点亮最后一个发光管4.点亮1、3、5、75.点亮二、四、五、六6.尝试让第一个发光管闪烁7.尝试设计出流水灯程序,42,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号