版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机入门基础
1、什么是单片机?◆单片机在一片集成电路芯片上集成微处理器、存储器、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卡、汽车电子设备等。通讯方面:调制解调器、程控交换技术、手机、小灵通等。武器装备:飞机、军舰、坦克、导弹、航天飞机、鱼雷制导、智能武器等。等…..
3、怎么开始学习?1、实践第一。2、即缺什么补什么(补充必要的理论知识)。3、做实际小制作积累经验,比如调试、编程。(可在网络上搜集题目,也可自己有什么想法大胆的去试验)4、80C51系列介绍
﹡
Intel的:80C31、80C51、87C51,80C32、80C52、87C52等;
﹡ATMEL的:89C51、89C52、89C2051等;
﹡
Philips、华邦、Dallas、STC等公司的许多产品。
80C51是MCS-51系列中的一个典型品种;其它厂商以8051为基核开发出的CMOS工艺单片机产品统称为80C51系列。当前常用的80C51系列单片机主要产品有:80C51的引脚封装总线型非总线型总线(BUS)是计算机各部件之间传送信息的公共通道。微机中有内部总线和外部总线两类。内部总线是CPU内部之间的连线。外部总线是指CPU与其它部件之间的连线。外部总线有三种:数据总线DB(DataBus),地址总线
AB(AddressBus)和控制总线
CB(ControlBus)。CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;ROM:用以存放程序、一些原始数据和表格;I/O口:四个8位并行I/O口,既可用作输入,也可用作输出;T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;五个中断源的中断控制系统;
一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率取决于单片机型号及性能。第二部分单片机C语言入门1、C51简介
C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。目前,使用C语言进行程序设计已经成为软件开发的一个主流。用C语言开发系统可以大大缩短开发周期,明显增强程序的可读性,便于改进、扩充和移植。而针对8051的C语言日趋成熟,成为了专业化的实用高级语言。
C语言作为一种非常方便的语言而得到广泛的支持,很多硬件开发都用C语言编程,如:各种单片机、DSP、ARM等.C语言程序本身不依赖于机器硬件系统,基本上不作修改就可将程序从不同的单片机中移植过来。
C提供了很多数学函数并支持浮点运算,开发效率高,故可缩短开发时间,增加程序可读性和可维护性。
C-51的特点C-51与ASM-51(汇编)相比,有如下优点:1.
对单片机的指令系统不要求了解,仅要求对8051的存贮器结构有初步了解;2.
寄存器分配、不同存贮器的寻址及数据类型等细节可由编译器管理;3.
程序有规范的结构,可分成不同的函数,这种方式可使程序结构化;4.
提供的库包含许多标准子程序,具有较强的数据处理能力;5.
由于具有方便的模块化编程技术,使已编好程序可容易地移植;2、单片机C程序设计的一般格式几个基本概念(1)函数:C语言程序由一个主函数和若干个其它函数构成,程序中由主函数调用其它函数,其它函数之间也可以相互调用。(2)指针与指针变量:若定义变量x,&x即为x的指针,指针变量是指针的指针,若xp=&x,利用*xp即可访问变量x。(3)#include(包含处理命令):把一个源文件将另外一个源文件的全部内容包含进来,或者说把一个外部文件包含到本文件之中。(4)#define(宏定义):在C程序中,可以指定一标志符去定义一个常量或字符串。单片机C程序的基本结构(1)主函数名必须为main()。C程序通过函数调用去执行指定的工作。(2)一个函数由说明部分和函数体两部分组成。函数说明部分是对函数名、函数类型、形参名和形参类型等所做的说明。(3)C程序的执行总是从main()函数开始,而对该函数的位置无特殊规定。(4)在源程序文件需要包含其它源程序文件时,应在本程序文件头部用包含命令#include处理。(5)C程序中的一个函数需要调用另一个子函数时,另一个函数应写在前面,否则应声明。(6)C程序书写格式自由,一行可写一个语句或几个语句。每个语句结尾用;结束。3、单片机C程序的数据类型常量和符号常量例:#definePARL3.14159(PARL即为符号常量)(1)整型常量,如11,o11,0xff等。(2)实型常量,如0.12,1.55e5等。(3)字符常量,如‘a’、‘A’等。(4)字符串常量,如“a”、“CHINA”等。变量(1)位变量:bit和sbit(2)字符变量:singedchar和unsignedchar(3)整型变量:singedint和unsignedint(4)长整型变量:unsignedlong和signedlong(3)实型变量:float和double(4)寄存器变量:sfr和sfr164、单片机C程序的运算符和表达式(1)算术运算符13个:+、-、*、/、%、=、+=、-=、*=、/=、%=、++、--(2)关系运算符6个:>、<、==、>=、<=、!=(3)逻辑运算符3个:&&、||、!(4)位操作运算符7个:>>、<<、|、&(相与)、^、~、&(变量取地址)(5)指针运算符:*5、单片机C程序的一般语法结构顺序结构例:main(){P0=0xff;P2=0x30;P1=0xff;P3=0xff;scan();test();}分支结构(1)单分支结构形式:if(条件表达式){执行语句;}例:(2)双分支结构:形式:if(条件表达式){语句1;}else{语句2;}例:(3)由双分支结构变化而成的多分支结构形式:
if(表达式1)语句1;
elseif(表达式2)语句2;.
.elseif(表达式n)语句n;else语句n+1;例:(4)switch…case多分支转移结构语句形式:
switch(条件表达式)
{case常量表达式1:{语句1;break;}case常量表达式2:{语句2;break;}.
..case常量表达式n:{语句n;break;}default:{语句n+1;break;}}例:循环结构(1)while(表达式){循环体语句;}例:voiddelay(unsignedchartimes){unsignedcharI;i=250;while(--times){while(--i);}}(2)do{循环体语句;}while(表达式);(3)for(表达式1;表达式2;表达式3){循环体语句;}例:6、C51区别于标准C语言的特点(1)使用文件包含命令#include应注意对应头文件的名称,要与规定名称相符。(2)单片机中,一个变量可放在片内存储单元,也可放在片外存储单元,放在片内存储单元还要区分是否可位寻址,或放在间接寻址区。例:intdatax,y;//表示整型变量指定在片内数据存储区
charxdata
m,n;//表示字符变量指定在片外数据存储区C51存储类型存储类型寻址空间数据长度值域范围data片内直接寻址RAM800H~7FHidata片内间接寻址RAM880H~FFHpdata分页寻址片外RAM800H~FFH存储类型寻址空间数据长度值域范围xdata片外数据存储(64K)160000H~FFFFHcode片内统一编址ROM(64K)160000H~FFFFHbdata片内可位寻址的RAM(16byet)120H~2FH(3)21个SFR只能直接寻址,一般在头文件中用字节定义方式定义。如:sfrTMOD=0x89;
(4)C51编译器编译源程序时,数据类型和存储类型都可预先定义,但数据具体放在哪一个单元不由用户指定。(5)单片机C程序的中断程序与汇编语言程序不同,中断过程通过使用interrupt关键字和中断号(0~31)来实现。中断号告诉编译器中断程序的入口地址。单片机中断源与C中断程序中中断号对照表C中的中断号对应单片机中的中断源C中的中断号对应单片机中的中断源0外部中断03定时器1中断1定时器0中断4串行口中断2外部中断15定时器2中断一个定时器0中断程序编写格式如下:Voidtimer0(void)interrupt1{TR0=0;TH0=0xff;TL0=0x30;TR0=0;
tick_count++;}用户不必关心现场保护及恢复现场的问题,编译器会自动完成。中断程序的入口地址被编译器放在中断向量中,无需用户指定。(6)片外扩展的I/O接口,可用#define进行定义。如:#include"absacc.h"#defineADC0804XBYTE[0x7ffe]例1:清零程序(将2000H—20FFH的内容清零)
★汇编语言程序
ORG0000HSE01:MOVR0,#00HMOVDPTR,#2000H;(0000H)送DPTRLOO1:CLRAMOVX@DPTR,A;0送(DPTR)INCDPTR;DPTR+1INCR0;字节数加1CJNER0,#00H,LOO1;不到FF个字节再清LOOP:SJMPLOOP程序示例清零程序(将2000H—20FFH的内容清零)
★C-51程序
#include<reg51.h>main(){
inti;unsignedcharxdata*p=0x2000;
/*指针指向2000H单元*/
for(i=0;i<256;i++){*p=0;p++;}/*清零2000H-20FFH单元*/}★汇编语言程序
ORG0000HL00:MOVR0,#10H;查找16个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024中国节能环保集团限公司党委管理领导岗位招聘3人易考易错模拟试题(共500题)试卷后附参考答案
- 2024中国电建集团贵州工程限公司招聘200人招聘易考易错模拟试题(共500题)试卷后附参考答案
- 2024中国华西企业限公司招聘221人易考易错模拟试题(共500题)试卷后附参考答案
- 2024东风本田汽车限公司招聘200人易考易错模拟试题(共500题)试卷后附参考答案
- 2024上海杨浦区扬帆劳动保障服务中心协调员招聘50人易考易错模拟试题(共500题)试卷后附参考答案
- 2024“才聚齐鲁成就未来”山东铁投集团春季社会招聘23人易考易错模拟试题(共500题)试卷后附参考答案
- 癌细胞的主要特征及防治课件
- 2024年度版权保护及诉讼合同3篇
- 2024年度云计算服务与数据中心建设合同
- 道德与法治七年级期末试卷
- 第八节 路基路面最弱强度(CBR值)现场测试技术
- 输电线路设计—导线风偏计算及校验实用教案
- 101阿里巴巴国际站概述ppt课件
- 03古希腊戏剧PPT课件
- 全自动胶囊填充机培训(课堂PPT)
- 高速铁路桥梁救援疏散通道施工方案
- 六年级上册数学求百分率《分数、小数化百分数》
- 车库顶板行车及堆载方案
- 木屋工程施工组织设计
- 工程施工合同纠纷和解协议书
- 宋联可-高效团队建设与执行力
评论
0/150
提交评论