您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 跟我学51单片机C语言程序设计
1跟我学单片机系列教程51单片机C语言程序设计前言单片机以其价格低廉、功能强大、体积小、性能稳定等优点,深受广大电子设计爱好者喜爱。目前,各类产品中都能看到单片机的身影,如门铃、报警器、玩具,以及各类数据采集系统和控制终端等。单片机是现代电子设计中使用最广泛的电子元件。而其中的51系列单片机是最早兴起的一类。51系列单片机功能完备、指令系统丰富,发展的最为成熟。这套培训实验教程是以51单片机的应用为主,以培养读者的硬件动手能力和C语言程序开发基础为目的而编写的。由于水平有限,如有不当之处还请多多指教。主编:彭跃明南昌日升电子电话:0791-7104775(公司)0791-2893370(彭跃明)地址:南昌市长运电子市场(长途汽车站旁)B座39号2目录前言第一章:了解51单片机1.单片机的概念2.单片机的用途3.怎么学单片机4.为什么选择51单片机作为单片机学习的入门第二章:学前预备知识1.电平特性2.与、或、非的基本运算3.二进制、十进制、十六进制的表示及相互转换4.80c51单片机简介5.51单片机内部结构框图6.51单片机引脚功能7.51单片机最小系统8.硬件知识第三章:相关软件和实验板的使用方法1.Keil软件的使用2.烧软件及实验板的使用3.Proteus软件的使用4.Protel99se软件的使用第四章:51单片机之LED显示实验1.位定义操作LED2.主函数直接操作LED3.LED彩灯程序设计4.LED流水灯程序设计第五章:51单片机之独立式键盘控制LED显示实验1.用按键控制LED亮灭的程序设计2.用按键控制LED彩灯变化的程序设计3.LED可控流水灯的程序设计第六章:51单片机之LED数码管实验1.数码管静态显示实验2.数码管动态显示实验3.指针实验4.中断实验5.(电子钟)定时器/计数器实验第七章:51单片机之矩阵式键盘控制LED数码管显示实验3第八章:51单片机之串口通信实验1.PC机与单片机串口通信2.单片机与单片机串口通信第九章:51单片机工程实例(1602+DS1302+4个按键+闹铃的电子钟)4第一章了解51单片机一.单片机的概念:在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。二.单片机的用途:工业自动化:数据采集,测控技术;智能仪器仪表:数字示波器、数字信号源、数字万用表、感应电流表等;消费类电子产品:洗衣机、电冰箱、空调机、手机等;凡是与控制或简单计算有关的电子设备都可以用单片机来实现,再根据具体实际情况选择不同性能的单片机,如:atmel,stc,pic,avr,凌阳,80C51,arm等。三.怎么学单片机:实践第一;补充必要的理论知识,即缺什么补什么;做工程项目积累经验。(可在网络上搜索些题目,也可自己有什么想法大胆的去试验。)。四.为什么选择51单片机作为单片机学习的入门:学51单片机成本低,而且51单片机技术最成熟、资料最丰富、学习难度相对比较低。第二章学前预备知识一.电平特性:数字电路中只有两种电平:高和低(本课程中)定义单片机为TTL电平:高+5V、低0V。RS232电平:计算机的串口,高-12V、低+12V。所以单片机与计算机之间进行通讯时需要加电平转换芯片max232。二.与、或、非及异或的基本运算:逻辑“与”:0*0=01*0=00*1=01*1=1“必须都有,否则就没有”逻辑“或”:0+0=01+0=10+1=11+1=1“只要其中之一有,就有”逻辑“非”:非0=1非1=0“求反”逻辑“异或”:0⊕0=01⊕0=10⊕1=11⊕1=0“必须不同,否则就没有”三.二进制、十进制、十六进制的表示及相互转换:十二十六十二十六十二十六十二十六000000401004810008121100C100011501015910019131101D200102601106101010A141110E300113701117111011B151111F四.80c51单片机简介:Inter公司推出了MCS-51系列单片机:集成8位CPU、4K字节ROM、128字节RAM、4个八位并口、一个全双工串行口、2个16位定时/计数器。寻址范5围64K,并有控制功能较强的布尔处理器。单板机—单片机。80C51是MCS-51系列中的典型品种;其它厂商以80C51为基核开发出的CMOS(场效应管)工艺单片机产品统称为80C51系列。五.51单片机内部结构框图:六.51单片机的引脚功能:AT89S52的引脚功能介绍:电源引脚:(40脚)电源正极VCC;(20脚)电源负极GND。复位引脚:(9脚)复位引脚RST。时钟信号输入输出引脚:(19脚)XTAL1;(18脚)XTAL2;外部ROM的读选通引脚:(29脚)PSEN(低电平有效)。6地址锁存和ROM编程脉冲输入引脚:(30脚)ALE/PROG为高电平时为地址锁存允许控制信号;为低电平时为对内部ROM编程脉冲输入端。访问外部存储器控制引脚:(31脚)EA/VPP当接高电平时,可访问内部和外部程序存储器;当接低电平时只能访问外部程序存储器。1.P0端口结构:P0口可以当作普通I/O口,也可以在系统外部扩展存储器的时候,输出低8位的地址。2.P1口结构:P1口一般用作通用I/O端口,其可以用作位处理,各位都可以单独输出或输入信息。另外AT89S系列的(6脚)MOSI;(7脚)MISO;(8脚)SCK可用作程序下载。P1端口各位的第二功能P1端口的位第二功能注释P1.0T2T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EXT2EX(定时器/计数器T2的捕捉和重载触发信号控制)P1.2P1.3P1.4P1.5MOSI指令输入(编程用)P1.6MISO数据输出(编程用)P1.7SCK时钟输入(编程用)3.P2口结构:P2口可以当作普通I/O口,也可以在系统外部扩展存储器的时候,输出高8位的地址。4.P3口内部结构:P3端口是一个具有第二功能、且可位操作的端口。当作为普通I/O端口时,P3口可以进行位操作,是准双向端口。当系统需要扩展外部器件时,P3口可以作为第二功能使用。P3端口各位的第二功能P3端口的位第二功能注释P3.0RXD串行数据输出P3.1TXD串行数据输入P3.2INT0外中断0信号输入端P3.3INT1外中断1信号输入端P3.4T0T0计数脉冲输入端P3.5T1T1计数脉冲输入端P3.6WR读外部数据存储器P3.7RD写外部数据存储器单片机4个8位I/O端口的不同结构,决定了各自的应用范围。例如,在一些复杂的应用系统中,只用一个单片机很难达到系统的要求,经常需要外部功能扩展。因此,单片机的P0口和P2口常用于组成16位地址总线。P0口用作8位数据总线,P3口由于其特有的第二功能,因此常用于传输和控制等,只有P1口可以真正的用于I/O操作。另外,在单片机应用时,P0口需要外加上拉电阻,而P1口、P2口和P3口内部设置有上拉电阻,不用外加。这4个I/O端口均为准双向I/O端口,其驱动能力不同,P0口的驱动能力最强,可以驱动8个LSTTL负载,其余3个端口只能驱动4个LSTTL负载。还有一个需要强调的是,这些端口都有两种读取方式:读锁存器和读引脚。7这是因为在I/O端口中,锁存器内容和引脚上的内容有可能不一致。七.51单片机最小系统:1.单片机最小系统的概念:能使单片机正常工作的最小硬件单元电路,就叫单片机最小系统。2.单片机最小系统的组成:(1)复位电路:t=RC1(t≥10ms);(2)时钟电路:C2=C3=(30±10)pF(一般是20~30pF);(3)存储器访问路经控制:EA/VPP=+5V时,先内后外。另外,一般还有单片机的ISP下载口也包含在单片机最小系统中。3.51系列单片机的最小系统电路的原理图:八.硬件知识:看一个人,我们一般会看他的长相。同样,电子元件也要看长相,或者说是形壮,只是说法不一样,我们把它们的长相称为“封装”。1.单片机的封装:单片机的封装大概的可以分为:DIP(直插封装)、PLCC(贴片,引脚向内折起)、TQFP(贴片,引脚向外侧伸展)。对DIP封装的单片机的型号及管脚识别方法如下(对于所有的DIP封装的识别方法与此类同)。对于DIP封装的单片机来说,在外壳正中央印有字(型号)的一面是它的正面,在单片机外壳的正面的一侧边有一个半月型的小坑,同时还有一个圆形的小坑在旁边。这两个标志说明离圆形小坑最近的管脚为单片机的1号管脚。把单片机印有型号的一侧朝上,1号管脚放在左手边,向右依次为2、3、4…20管脚,单片机上边沿从右到左为21、22、23…40脚。这样数的引脚号与电路图上所标的引脚号是一一对应的。对于其他封装的器件,方法与此类似,也可参考实际的器件使用手册来找到管脚的排列。2.电阻的封装及其参数:电阻的封装主要分为直插和贴片。参数的标注有直标和色标。①直标法:直标法主要用在体积比较大的封装和贴片封装上。直标法有两种况:如果阻值是整数则用三位数表示,前两位是阻值的高两位,第三位是指十的几次方,如103,表示这个电阻是10千欧的;如果阻值是小数则用字母R代替小数点,小数点两边的整数值和小数值部分与之前所说的方法相同,如2R2,表示这8个电阻是2.2欧的。②色环标注法:色环电阻是应用于各种电子设备的最多的电阻类型,在识别时,可运用如下技巧:技巧1:先找标志误差的色环,从而排定色环顺序。最常用的表示电阻误差的颜色是:金、银、棕,尤其是金环和银环,一般绝少用做电阻色环的第一环,所以在电阻上只要有金环和银环,就可以基本认定这是色环电阻的最末一环。技巧2:棕色环是否是误差标志的判别。棕色环既常用做误差环,又常作为有效数字环,且常常在第一环和最末一环中同时出现,使人很难识别谁是第一环。在实践中,可以按照色环之间的间隔加以判别:比如对于一个五道色环的电阻而言,第五环和第四环之间的间隔比第一环和第二环之间的间隔要宽一些,据此可判定色环的排列顺序。技巧3:在仅靠色环间距还无法判定色环顺序的情况下,还可以利用电阻的生产序列值来加以判别。比如有一个电阻的色环读序是:棕、黑、黑、黄、棕,其值为:100×104Ω=1MΩ误差为1%,属于正常的电阻系列值,若是反顺序读:棕、黄、黑、黑、棕,其值为140×100Ω=140Ω,误差为1%。显然按照后一种排序所读出的电阻值,在电阻的生产系列中是没有的,故后一种色环顺序是不对的。如何识别阻值大小:四色环电阻:第一色环是十位数,第二色环是个位数,第三色环是应乘颜色次幂颜色次,第四色环是误差率;五色环电阻:第一色环是百位数,第二色环是十位数,第三色环是个位数,第四色环是应乘颜色次幂颜色次,第五色环是误差率。如何识别电阻的功率:色环电阻看体积,直标法的电阻功率也已经标出。第三章相关软件和实验板的使用方法一.KEIL软件的使用。二.烧写软件的使用。三.Proteus软件的使用。四.Protel99se使用:在画PCB图排版时要注意以下几点:电源/地线粗细:30mil;信号/控制线粗细:15mil;电源/地线过孔:holesize:30mil;diameter:32mil;信号/控制线过孔:holesize:15;diameter:25mil;布线与过孔间距:15mil;布线间距:20mil;字体大小:35*4mil。第四章LED(发光二极管)实验一.实验目的:掌握LED驱动电路的设计及使用单片机控制LED的方法。二.了解LEDLED即发光二极管,英文全称为LightEmittingDiode。单独的发光二极管便是一个最简单的LED,通过控制其的亮灭来作为信号指示,一般用于电源指示灯、工作状态指示等。单个的发光二极管使用比较简单。1.发光二极管的结构及其工作原理:(1)发光二极管的外形特点:外形(直插:球顶形,矩形。贴片);颜色(红,9黄,绿)。(2)正偏和反偏的概念:给晶体管器件两极间加上电压,称为给它加偏置,给两极加正向电压称为正向偏置,给两极加反向电压称为反向偏置。(3)发光二极管的管脚极性判断:发光二极管的工作原理及管脚的判断:只要在发光
本文标题:跟我学51单片机C语言程序设计
链接地址:https://www.777doc.com/doc-3658956 .html