单片机教材

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

0单片机实用技术教材1一、单片机的历史1.1单片机的由来:从1971年微型计算机问世以来,由于实际应用的需要,微型计算机向两个不同的方向发展:一个是向高速度、大容量、高性能的高档微机方向发展;而另一个则是向稳定可靠、体积小和价格廉的单片机方向发展。但两者在原理和技术上是紧密联系的。1.2单片机的名称:单片机因将其主要组成部分集成在一个芯片上而得名,具体说就是把中央处理器CPU,随机存储器RAM,只读存储器ROM、中断系统、定时器/计数器以及I/O接口电路等主要微型机部件,集成在一块芯片上。虽然单片机只是一个芯片,但从组成和功能上看,它已具备有了计算机系统的属性,为此称它为单片微型计算机SCMC,简称单片机。1.3单片机的发展1971年微处理器的研制成功,不久后就出现了单片的微型计算机即单片机,最早的单片机是一位的。现在已经发展到32位。1976年INTEL公司推出了8位的MCS—48系列单片机,它以体积小、控制功能全、价格低廉等特点受到广泛的应用和好评。其后,在MCS—48成功的刺激下,许多半导体芯片商研制自己的产品。到80年代末,世界各地已经相继研制大约50多个系列300多个品种的单片机产品。其中Motorola公司的6801、6802,Zilog公司的Z-8系列,Rockwell公司的6501、6502等。从开始的一位机到现在的32位,单片机以惊人的速度向前发展。1.4单片机的应用领域单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:1.在智能仪器仪表上的应用。单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。22.在工业控制中的应用。单片机可以构成形式多样的控制系统、数据采集系统。3.在家用电器中的应用。可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。4.在计算机网络和通信领域中的应用。现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。5.单片机在医用设备领域中的应用。单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。二、应用软件Keil软件是目前最流行开发80s51、80s52系列单片机的软件,Keil提供了包括C编译器、宏、汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案。Keil软件的使用1.使用Keil前必须先安装。2.安装好了Keil软件以后,我们打开它。打开以后界面如下:33.我们先新建一个工程文件,点击“p工程”菜单,如下图:4.选择工程文件要存放的路径,输入工程文件名LED,最后单击保存:5.在弹出的对话框中选择CPU厂商及型号:46.选择好Atmel公司的AT89S52后,单击确定:7.新建一个C51文件,单击左上角的NewFile(新建文件)如下图所示:8.保存新建文件使文件名为*.C的扩展名:59.保存好后把此文件加入到工程中方法如下:用鼠标在SourceGroup1上单击右键,然后再单击添加文件到组‘SourceGroup1'如下图:10.选择要加入的文件,找到led.C后,单击Add,然后单击关闭:611.程序编辑后选择左窗口“目标Target1属性”点击右键选择“输出”将E生成HEX文件打钩。然后,点击确定,如下图所示。712.按一下,快捷键F7,编译程序。2.下载软件——双龙MCU下载器的使用芯片选择8三、80s52的内部结构1、中央处理器(CPU):通常把运算器和控制器合在一起称为中央处理器(CentralProcessingUnit),简称CPU。2、内部数据存储器(RAM):下载程序窗口下载速度选择下载线端口设置程序下载98051芯片共有256个RAM单元,其中后128单元被专用寄存器占用(稍后我们详解),能作为寄存器供用户使用的只是前128单元,用于存放可读写的数据。因此通常所说的内部数据存储器就是指前128单元,简称内部RAM。地址范围为00H~FFH(256B)。是一个多用多功能数据存储器,有数据存储、通用工作寄存器、堆栈、位地址等空间。3、内部程序存储器(ROM):在前面也已讲过,8051内部有4KB的ROM,用于存放程序、原始数据或表格。因此称之为程序存储器,简称内部RAM。地址范围为0000H~FFFFH(64KB)。4、定时器/计数器8051共有2个16位的定时器/计数器,以实现定时或计数功能,并以其定时或计数结果对计算机进行控制。定时时靠内部分频时钟频率计数实现,做计数器时,对P3.4(T0)或P3.5(T1)端口的低电平脉冲计数。5、并行I/O口10MCS-51共有4个8位的I/O口(P0、P1、P2、P3)以实现数据的输入输出。具体功能在后面章节中将会详细论述。6、串行口MCS-51有一个全双工的串行口,以实现单片机和其它设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为移位器使用。RXD(P3.0)脚为接收端口,TXD(P3.1)脚为发送端口。7、中断控制系统MCS-51单片机的中断功能较强,以满足不同控制应用的需要。共有5个中断源,即外中断2个,定时中断2个,串行中断1个,全部中断分为高级和低级共二个优先级别。8、时钟电路MCS-51芯片的内部有时钟电路,但石英晶体和微调电容需外接。时钟电路为单片机产生时钟脉冲序列。11四、实验装置简介五、实战练习数码管显示单片机活动插座10针CAPUSBP0.0……………P3.7……………S1K11S2K11S3K11S4K11AVRK11S52K11RS232接口powerJ1kLM386J274LS4774LS13824C02串口电路J5J3J4J6C1J7J8J9J012实验一、数制转换与单片机端口的控制一、实验目的:1、熟悉十进制数与二、十六进制数的相互转换2、了解各进制数在程序中的运用3、学习单片机的四个I/O口4、掌握I/O口对LED的控制二、实验设备:1、单片机最小系统2、I/O口输出LED3、按键一个三、实验内容:1、对二、十、十六进制数进行转换2、编写一段程序,用P1口作为输出端,控制八位LED轮流点亮3、编写一段程序,P1口为输出口,P3.2为输入端口,当P3.2按下时,P1口控制的LED点亮,当P3.2没有按下时,P1口控制的LED不点亮。四、实验步骤:任务一:1、数码是一种构造数制所用的符号。各种进制的数码为:二进制:0,1十进制:0,1,2,3,4,5,6,7,8,913十六进制:0,1,2,3,4,5,6,7,8,9,A(a),B(b),C(c),D(d),E(e),F(f)(用字母代表)1011121314152、用余数法将十进制整数转换成二进制整数。把十进制整数不断地用2去除,将所得到的余数0或1依次记为K0,K1,K2,…,直到商是0为止,将最后一次所得的余数记为Kn,则KnKn-1…K1K0即为该整数的二进制表示。例1.1(59)10=()2=(Kn…K1K0)2竖式演算如下:259余数1=K0229余数1=K1214余数0=K227余数1=K323余数1=K421余数1=K50(59)10=(K5K4K3K2K1K0)2=(111011)2例1―2把0.47转换成二进制。用线图形式可演算如下:0.47→0.94→0.88→0.76→0.52→0.04×2↓↓↓↓↓14整数01111K-1K-2K-3K-4K-5在取5位小数时有(0.47)10=(K-1K-2K-3K-4K-5)2=(0.01111)23、将二进制转换成十进制把二进制数按多项式展开求和即可。(101.101)2=(1×22+0×21+1×20+1×2-1+0×2-2+1×2-3)10=(1×4+1×1+1×0.5+1×0.125)10=(5.625)104、二进制转十六进制一般使用8421码进行转换如:(11111011)284218421111110118+4+2+1=15=F;8+0+2+1=11=B;即(111110111)=(FB)16任务二:做单一灯的左移右移,硬件电路如图4.4.1所示,八个发光二极管L1-L8分别接在单片机的P1.0-P1.7接口上,输出“0”时,发光二极管亮,开始时P1.0→P1.1→P1.2→P1.3→┅→P1.7→P1.6→┅→P1.0亮,重复循环。152.电路原理图图4.4.13.系统板上硬件连线把“单片机系统”区域中的P1.0-P1.7用8芯排线连接到“八路发光二极管指示模块”区域中的L1-L8端口上,要求:P1.0对应着L1,P1.1对应着L2,……,P1.7对应着L8。4.程序设计移位结构式:#includereg52.hunsignedchari;//定义变量unsignedchartemp;16voiddelay(void)//延时{unsignedcharm,n,s;for(m=30;m0;m--)for(n=30;n0;n--)for(s=200;s0;s--);}voidmain(void){while(1){temp=0xfe;P1=temp;delay();for(i=1;i8;i++){P1=(P11)+1;delay();}for(i=1;i8;i++){P1=(P11)+0x80;delay();}}17}数组结构式:#includereg52.hunsignedchara[23]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0xff,0x00,0xff,0x00,0xff,0x00};unsignedcharb;voiddelay(){unsignedchari,j,k;for(i=0;i30;i++)for(j=0;j30;j++)for(k=0;k200;k++);}main(){while(1){P1=0xff;for(b=0;b23;b++){P1=a[b];delay();}}18}实验二、一键多功能设计#includeAT89X51.HunsignedcharID;voiddelay10ms(void){unsignedchari,j;for(i=20;i0;i--)for(j=248;j0;j--);}voiddelay02s(void){unsignedchari;for(i=20;i0;i--){delay10ms();}}voidmain(void){while(1){if(P3_2==0)19{delay10ms();if(P3_2==0){ID++;if(ID==4){ID=0;}while(P3_2==0);}}switch(ID){case0:P1_0=~P1_0;delay02s();break;case1:P1_1=~P1_1;delay02s();break;case2:P1_2=~P1_2;delay02s();break;20case3:P1_3=~P1_3;delay02s();break;}}}实验三、动态数码管显示一、动态扫描多位LED数码管显示按驱动方式可分为静态显示和动态显示。静态显示,即除了在改变显示数据的时间外,所有的数码管都处于通电发光状态。动态显示,就是一位一位的轮流点亮各个数码管。人眼具有残

1 / 39
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功