您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 单片机实验指导书(C语言)
《单片机原理》实验指导书华中科技大学文华学院信息学部自动化系2010.03.23前言由于单片机具有高可靠性、超小型、低价格、容易产品化等特点,在仪器仪表智能化、实时工业控制、实时数据采集、智能终端、通信设备、导航系统、家用电器等控制应用领域,具有十分广泛的用途。由于目前在国内单片机应用中,MCS-51系列单片机仍然是一种主流单片机,所以本实验指导书为学习MCS-51单片机的学生和广大的工程技术人员,配合《单片机原理》课程的教学,结合一种单片机实验板编写了这本实验指导书。《单片机原理》是一门实践性很强的课程,提高教学质量的一个重要环节是上机实习和训练,无论是学习汇编语言程序设计,还是学习接口电路和外设与计算机的连接,或者软硬兼施地研制单片机应用系统,不通过加强动手是不能获得预期效果的。本实验指导书提供多个实验的指导性材料,有些实验还有一些有一定难度的选做项目,可以根据课时的安排和教学要求进行取舍。为了达到某些实验的目的,书中提供的参考程序与实际应用中的程序会有些差别,所以不一定是最优的。由于时间紧迫,需要赶课程进度与实验时间的同步,加上编者学识有限,如有不妥之处,欢迎读者批评指正。实验须知1.实验前必须阅读教科书的有关部分和本实验指导书,了解实验目的、内容、步骤,做好实验前的准备工作,编写好实验中要求自编或修改的程序;完成实验前要求完成的准备工作后方可以上机实验,否则不得上机操作。2.各种电源的电压和极性不能接错,严禁带电接线和接插元器件。通电前须经过指导教师检查认可后方能通电。3.不准随意拨弄各种与实验无关的旋钮和开关,凡与本次实验无关的任何设备都禁止动用和摸弄,注意安全。4.严禁用手触摸实验系统印制电路板和元器件的引脚,防止静电击穿芯片。5.实验中若损坏仪器或元器件,应及时向指导教师报告。6.在实验室内保持安静和卫生,不得随意走动和喧哗,集中精力完成实验。7.实验完成后,关掉电源,及时整理实验台桌面,保持环境整洁。8.按规定认真完成实验报告,在规定的时间内缴上实验报告。9.凡实验或实验报告未能按规定完成的学员,不能参加本课程的考试或考查。实验板如下图所示:ISP下载器如下图所示:实验基本步骤1、开电脑后,将ISP的一端与实验板相连,另一端接到电脑的USB上,按下实验板上的电源。2、安装ISP驱动及keil软件。3、打开keil软件,根据实验要求编写程序,生产hex文件。4、打开ISP烧写器,将hex文件导入到实验板内。5、观察现象。单片机实验报告格式实验报告标题一、实验目的二、实验内容三、实验设计及调试:(1)实验分析及内容。(2)实验电路:画出与实验内容有关的简单实验电路。(3)实验设计及调试步骤:根据内容写出实验程序。调试程序,观察结果。(4)实验调试过程中所遇到的问题、解决问题的思路和解决的方法。四、实验后的经验教训总结。五、对实验课的建议目录实验一实验板使用,KILEC51...............................................................................................实验二单片机控制LED灯点亮..............................................................................................实验三单片机控制数码管实验.................................................................................................实验四中断系统应用实验.........................................................................................................实验五定时器/计数器使用.......................................................................................................实验六键盘接口实验.................................................................................................................实验一实验板使用,KeilC51软件使用一、实验目的1.熟悉单片机实验版、KeilC51软件使用二、实验说明本实验指定某块存储器的起始地址和长度,要求能将其内容置1。通过该实验学生可以了解单片机读写存储器的方法,同时也可以了解单片机编程、调试方法。三、实验内容及步骤1.启动PC机,安装好ISP驱动,用ISP数据通信线连接计算机与实验板(USB线)。2.打开KeiluVision2仿真软件,首先建立本实验的项目文件,接着建立源程序,编译无误后,全速运行程序。3.可把源程序编译成可执行文件,用ISP烧录器烧录到89S52芯片中。四、KeilC51软件使用步骤1.使用Keil前必须先安装。安装过程简单,这里不在叙述。2.安装好了Keil软件以后,我们打开它。打开以后界面如下:3.我们先新建一个工程文件,点击“Project-NewProject…”菜单,如下图:3.选择工程文件要存放的路径,输入工程文件名LED,最后单击保存。4.在弹出的对话框中选择CPU厂商及型号5.选择好Atmel公司的AT89S52后,单击确定1.在接着出现的对话框中选择“是”。5.新建一个C51文件,单击左上角的NewFile如下图所示:6.保存新建的文件,单击SAVE如下图:2.在出现的对话框中输入保存文件名MAIN.C(注意后缀名必须为.C),再单击“保存”,如下图;7.保存好后把此文件加入到工程中方法如下:用鼠标在SourceGroup1上单击右键,然后再单击AddFilestoGroup‘SourceGroup1'如下图:8.选择要加入的文件,找到MAIN.C后,单击Add,然后单击Close9.在编辑框里输入如下代码:10.到此我们完成了工程项目的建立以及文件加入工程,现在我们开始编译工程如下图所示:我们先单击编译,如果在错误与警告处看到0Error(s)表示编译通过;11.生成.hex烧写文件,先单击OptionsforTarget,如图;12.在下图中,我们单击Output,选中CreateHEXF。再单击“确定”。13.打开文件夹‘实验1’,查看是否生成了HEX文件。如果没有生成,在执行一遍步骤10到步骤12,直到生成。以上是Keil软件的基本应用,更多的高级应用请大家去查找资料.五、思考题如何将存储器块的内容移动到另一位置。实验二单片机控制LED灯点亮一、实验目的1.进一步熟悉编程和程序调试2.学习P1口的使用方法3.学习延时子程序的编写和使用二、实验说明P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口用作输入口时,必须先对口的锁存器写“1”,若不先对它写“1”,读入的数据是不正确的。三、实验步骤及参考例子实验步骤说明:本实验需要用到单片机最小应用系统和十六位逻辑电平显示模块。用P1口做输出口,接十六位逻辑电平显示,程序功能使发光二极管点亮。1.使用单片机最小应用系统。用扁平数据线连接单片机P1口与LED灯相连。2.用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。3.打开KeiluVision2仿真软件,首先建立本实验的项目文件,输入源程序(实验(一)),进行编译,直到编译无误。生成hex文件。5.打开实验板总电源,将hex文件下载到实验板内,观察发光二极管显示情况。参考例子:1)点亮板子上的第一个灯D02)点亮板子上的D0、D2、D4、D6灯,与D1、D3、D5、D7灯交替闪烁3)流水灯:从D0---D7依次点亮注:在做完实验时记得养成一个好习惯:把相应单元的短路帽和电源开关还原到原来的位置!以下将不再重述。四、参考程序1)#includereg52.hvoidmain(){P1=0xfd;}2)#includereg52.h#defineuintunsignedint#defineucharunsignedcharvoiddelay();voidmain(){while(1){P1=0xaa;delay();P1=0x55;delay();}}voiddelay(){uintx,y;for(x=100;x0;x--)for(y=600;y0;y--);}3)#includereg52.h#includeintrins.h#defineuintunsignedint#defineucharunsignedcharuchartemp;voiddelay(uint);voidmain(){temp=0xfe;while(1){for(num=0;num8;num++){P1=temp;delay(100);temp=_crol_(temp,1);P1=0xff;delay(100);}}}voiddelay(uintz){uintx,y;for(x=z;x0;x--)for(y=110;y0;y--);}五、电路图XTAL1A11.0592MHzC3A22pFC2A22pFP1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST9P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR16P3.7/RD17XTAL218XTAL119VSS20P2.021P2.122P2.223P2.324P2.425P2.526P2.627P2.728PSEN29ALE/PROG30EA31P0.732P0.633P0.534P0.435P0.336P0.237P0.138P0.039VCC4089C51U1FC3F10uFVCCVCCP3.0P3.1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EAALEPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P3.2P3.3P3.4P3.5P3.6P3.7510*8VCCP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RESETR2F100R1F1KL0L1L2L3L4L5L6L7六、实验内容请在keil环境下编写一下程序:1)点亮最后一个LED2)点亮1、2、5、6这四个LED3)让第三个LED闪烁4)设计出流水灯程序,从D7—D0实验四单片机控制数码管实验一、实验目的1.掌握数码管是如何显示出字符2.掌握数码管动态显示原理二、实验原理1.数码管两种接法2.共阴极数码管编码0x3f,0x06,0x5b,0x4f,0x66,0x6d,0123450x7d,0x07,0x7f,0x6f,0x77,0x7c,6789AB0x39,0x5e,0x79,0x71,0x00CDEF无显示3.动态显示原理动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。三、参考例子1)让第一个数码管显示一个8字让第一个数码管显示8字,那么别的数码管的位选就要关闭,即只打开第一个数码管的位选。控制位选的P2口要输出的数据位0xfe(二进制为11111110)。位选确定后,在确定段选,要显示的是8,那么只有dp段为0,其余段
本文标题:单片机实验指导书(C语言)
链接地址:https://www.777doc.com/doc-4848636 .html