欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    单片机实验指导书机电专业.docx

    • 资源ID:14960212       资源大小:171.31KB        全文页数:16页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机实验指导书机电专业.docx

    1、单片机实验指导书机电专业“单片机应用技术” 实验指导书 本课程实验前要预习实验内容,读懂范例程序,并按实验要求准备程序流程图并编制C51程序本课程实验报告要求1、 实验要求2、 实现控制要求的硬件电路原理图3、 程序流程图4、 课上要求完成的程序清单(加注释)5、 实验遇到问题及解决6、 实验评价实验一 单片机开发环境的建立一、 实验目的:1、 熟悉V51/L伟福仿真系统及Keil C开发环境;2、 建立单片机最小系统概念、学习P0口的使用方法;3、 学习C51程序的编写方法。二、 实验要求:P0口做输出口,接八只发光二极管,编写程序,控制发光二极管的点亮状态。1、 八只LED管L1-4亮,L

    2、5-8灭;1秒后L1-4灭,L5-8亮。依此循环-。2、 八只LED管从L1L8依次循环点亮,每个LED点亮的延时时间为2秒。三、 实验设备:1、 V51/L伟福仿真器一套;2、 p51s学习开发板一块;3、 微机一台套及Keil开发软件,USB通讯线一根;电源线两根。四、 实验电路:1、 单片机最小系统电路: 单片机的正常工作,是在以建立单片机最小系统的条件下实现的。单片机最小系统包括电源电路、时钟电路、复位电路、存储器选择电路四部分。典型电路如下图所示: 2、 发光二极管输出电路:本实验板的P0端口接了8个发光二极管,这些发光二极管的负极通过一个排电阻接到P0端口各引脚,而正极接到正电源端

    3、,发光二极管点亮的条件是P0口相应的引脚为低电平,即如果P0口某引脚输出为0,相应的灯亮,如果输出为1,相应的灯灭。五、 练习范例程序:#include reg51.h /51单片机头文件typedef unsigned char uchar; /数据类型说明typedef unsigned int uint;sbit P0_0 = P00; /输出端口定义void delayms(uint); /延时函数定义void main(void) /主函数 while(1) /无限循环体 P0_0=!P0_0; /P0.0状态取反 delayms(1000); /延时1s void delayms(

    4、uint j) /1ms延时函数 uchar i; /字符型变量i定义 while (j-) for(i=0; i121; i+); /1ms延时实验前读懂范例程序,实现的功能?画出流程图。六、 程序说明:1)数据类型说明typedef unsigned char uchar; typedef unsigned int uint,即为系统固有数据类型定义个别名。这样在之后的编程中,就可以用uchar代替unsigned char,用uint代替unsigned int来定义变量, 2)1ms延时函数的延时计算说明在系统晶振为12MHz时,一个机器周期时间长度为12/12MHZ=1S循环结构“f

    5、or(i=0;i121;i+);”的执行时间约1ms,通过改变循环次数,可得到不同时间的延时。 七、 实验步骤:1、 检查仿真头在p51s实验板CPU芯片座上插好、插座扳手位于锁紧位置(实验过程严禁用手触摸仿真头电路表面);打开仿真器开关,开启实验板开关;2、 运行桌面Keil软件 ;3、 在Keil环境下建立项目并输入范例程序,编译无误后运行查看执行结果;4、 熟悉程序运行及调试方法,理解单片机程序的运行机制。具体操作详见桌面“KEIL C 软件使用说明2016”。5、 按实验要求编程,并调试成功。提示:由右向左的循环(左循环)可以有多种方法实现,如指令“”或函数“_crol_(a,b)”实

    6、现。实验二 数码管显示实验一、实验目的:1、了解八段数码显示数字的原理、学习LED显示接口技术;2、进一步了解V51/L伟福仿真系统及Keil C开发环境。二、实验要求:本实验用1位LED数码管,段选信号接P0口,位选信号接P2口的第0位:1、循环显示09,每隔2秒显示数加1,字形码放在程序存储器内;2、顺序显示自己身份证号码,每位停留显示1秒,数据更新时灭0.5秒。三、实验设备:1、V51/L伟福仿真器一套;2、p51s学习开发板一块;3、微机一台套及Keil开发软件,USB通讯线一根;电源线两根。四、实验原理与电路:共阳型LED显示器单片机的P0口和P2口构成了8位LED数码管驱动电路,这

    7、里LED数码管采用了共阳型,其数码管的笔段(即对应的abcdefgh)引脚是二极管的负极,与P0口相接,所有二极管的正极连在一起构成公共端,即该位数码管的位选端,对于这种数码管的驱动要求在位选端提供电流,为此,使用了PNP型三极管作为位选端的驱动,共用8只三极管,每只三极管的发射极连在一起,接正电源端;基极则通过限流电阻分别接P2.0P2.7。集电极分别向8只数码管供电。由此可以判断出:段选P0口送低电平有效,位选(COM端)因集电极需高电平,则P2.0-2.7口应送低电平有效。硬件连线对应的字形码: 表2-1字01234字形码C0HF9HA4HB0H99H字56789不显示字形码92H82H

    8、F8H80H90HFFH五、练习范例程序:#include /51单片机头文件#define uchar unsigned char /数据类型说明#define uint unsigned int uchar code display =0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90;/ 数码管段码0-9void delayms( uint ms ) /1ms延时函数 uchar i; /字符型变量k定义 while (ms-) for (i=0; i121; i+); /1ms延时void main(void) /主函数

    9、 uchar k; /字符型变量k定义 P0 = 0xff; /端口初始化 P2 = 0xff; while (1) /无限循环体 P2 = 0xfe; /送位码 for (k=0; k10; k+) P0 = displayk; /送段码 delayms(1000); /延时1s 实验前熟悉硬件电路原理图,读懂范例程序,并画出流程图。 六、实验内容:1、检查实验板CPU芯片座上的仿真头;打开仿真器开关、开启实验板开关;2、运行桌面Keil软件 ;3、在Keil环境下建立项目并输入范例程序,编译无误后运行查看执行结果;4、按实验要求编程,并调试成功。实验三 键盘显示实验一、实验目的:1、了解键

    10、盘电路工作原理;掌握独立键盘接口电路的程序编写方法;2、学习键盘显示综合运用的程序处理流程与编制方法。二、实验要求:P3.2、 P3.3分别接AN1、AN2两按钮开关,数码管位选范围P2.0P2.7。AN1按下,点亮1位数码管显示0,再按则关显示;在数码管点亮状态下,按AN2一下则显示值加1,若加至10则显示回0。三、实验设备:1、V51/L伟福仿真器一套;2、Up51s学习开发板一块;3、微机一台套及Keil开发软件,USB通讯线一根;电源线两根。四、实验电路(数码管显示电路见实验二): 五、实验说明:单个键盘查询式扫描程序流程:独立式键盘处理要点:1、 有键按下,相应输入为低,否则为高。通

    11、过这样可以判断按下什么键;2、 在判有键按下后,为防止由于键盘抖动而引起误操作,要有510ms的延时。3、 由于程序执行时间很快,在键盘处理时要考虑按下后到抬起的时段控制,应保证 每按一次键,只处理一次。六、练习范例程序: AN1按下,数码管显示0;再按一下,关显示;依此循环#include reg51.htypedef unsigned char uchar;typedef unsigned int uint;sbit K1=P32; /定义键端口sbit P2_0=P20; /定义位控码void delayms(uint);void main(void) P0 = 0xc0; /端口初始化

    12、 P2 = 0xff; while(1) if(K1=0) /判键按下? delayms(10); /延时去抖 if(K1=0) /判键按下? while(!K1); /等待键抬起 P2_0= P2_0; /位控状态改变 void delayms(uint j) /1ms延时 uchar k; while (j-) for (k = 0; k 121; k+); 七、实验操作方法:1、检查实验板CPU芯片座上的仿真头;打开仿真器开关、开启实验板开关;2、运行桌面Keil软件 ;3、在Keil环境下建立项目并输入范例程序,编译无误后运行查看执行结果;4、按实验要求编程,并调试成功。5、提示:调试

    13、查询判键功能:采用单步运行无法捕捉按键信息,可使用“设置断点”方法,将断点设置在键盘处理的首个语句处,程序若能执行到断点处,说明判键模块准确无误,之后键盘处理部分可使用单步运行来调试。实验四 外部中断控制实验一、实验目的:1、 掌握外部中断原理,学习中断处理程序的编写方法;2、熟悉用仿真器调试程序的方法。二、实验要求:P3.2接AN1按钮开关,数码管位选P2.0P2.7任取1位。初始点亮1位数码管显示0;AN1每按一下,显示值加1,若加至F则显示回0。三、实验设备:6、 V51/L伟福仿真器一套;7、 Up51a学习开发板一块;8、 微机一台套及Keil开发软件,USB通讯线一根;电源线两根。

    14、四、实验原理及电路:(见实验二和三)五、实验说明:51单片机的P3.2、P3.3引脚为外部中断信号输入端口。将独立按键AN1一端连接外部中断0引脚P3.2,另一端接地,可模拟外部脉冲的产生(按键动作过程存在抖动的特点,编程时可忽略)。AN1的按键动作作为INT0的中断请求,用中断服务程序完成计数功能。六、练习范例程序: 初始点亮1位数码管显示0;AN1每按一下,显示值加1,若加至10则显示回0。#include /51单片机头文件#define uchar unsigned char /数据类型说明#define uint unsigned int uchar code display =0x

    15、C0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90;/ 数码管段码0-9uchar count=0;void EX0_INT() interrupt 0 / INT0中断函数 count+; if(count=10) count=0;void main(void) /主函数 P0 = 0xff; /端口初始化 P2 = 0xfe; /外部中断初始化 IT0=1; /触发信号类型为边沿触发 EA=1; /开中断 EX0=1; while (1) /无限循环体 P0= displaycount; /送段码 实验前读懂程序,画出流程图。

    16、七、实验操作方法:1、检查实验板CPU芯片座上的仿真头;打开仿真器开关、开启实验板开关;2、运行桌面Keil软件 ;3、在Keil环境下建立项目并输入范例程序,编译无误后运行查看执行结果;4、按实验要求编程,并调试成功。提示:调试程序对于中断程序功能模块而言,用“单步”运行无法实现进入中断程序的操作,只能用“设置断点”方法。在中断程序首句处设置断点并全速运行程序(具体操作见“KEIL C 软件使用说明2016”),若能执行至断点处,说明外部中断初始设置正确。可观察程序执行到断点处相关的寄存器如何变化。实验五 定时器实验一、实验目的:2、 学习51单片机内部定时器的使用和编程方法;3、 学习掌握

    17、中断处理程序的编写方法;3、熟悉用仿真器调试程序的方法。二、实验要求:以下控制要求定时时间均用系统定时器实现:1、用1位LED数码管实现循环显示09,每隔2秒显示数加1;2、用2位LED数码管稳定显示“12”,位选信号接P2口的第0、1位;三、实验设备:9、 V51/L伟福仿真器一套;10、 Up51a学习开发板一块;11、 微机一台套及Keil开发软件,USB通讯线一根;电源线两根。四、实验原理及电路:(同实验二)五、实验说明:1、关于内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。内部计数器在单片机中主要有定时器和计数器两个功能。本实验使用的是定时器。2、与定时器有关的控制寄存

    18、器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。本实验采用定时器0,选用工作方式1。3、内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度是12个振荡器周期。定时器工作于方式1,即采用的是16位定时器。实验系统的晶振是12MHZ,因此最大定时时间约65ms左右。若控制要求2秒定时,可设定定时器20ms中断一次, 然后对20ms中断次数计数100次,就是2秒钟。定时常数的设置可按以下方法计算:机器周期=1212MHZ=1uS (65536

    19、-定时初值)1uS=20000us则定时初值=45536,化为十六进制数是B1E0H,故初始值为TH0=B1H,TL0=E0H。六、练习范例程序: #include typedef unsigned char uchar; typedef unsigned int uint;uchar Count,k;uchar code display =0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90;/ 数码管段码0-9void main(void) P0 = 0xff; /端口初始化 P2 = 0xff; Count = 0x00;

    20、k = 0x00; TMOD = 0x01; /设定T0定时器选工作方式1 TH0 = 0x3C; /装50ms定时初值 TL0 = 0xB0; EA = 1; /开总中断允许 ET0 = 1; /开T0中断允许 TR0 = 1; /启动定时器T0 while (1) P2 = 0xfe; /送位码 P0 = displayk; /送段码 void Timer0() interrupt 1 TH0 = 0x3C; /重装50ms定时初值 TL0 = 0XB0; +Count; /中断计数单元加1 if(Count = 20) /50ms201s Count = 0; /清中断计数单元 +k;

    21、/段码显示表加1 if(k = 10) k = 0; /段码显示表回0 实验前读懂程序,画出流程图。 七、实验操作方法:1、检查实验板CPU芯片座上的仿真头;打开仿真器开关、开启实验板开关;2、运行桌面Keil软件 ;3、在Keil环境下建立项目并输入范例程序,编译无误后运行查看执行结果;4、按实验要求编程,并调试成功。提示:调试程序对于定时器功能模块而言,用“单步”运行无法实现进入中断程序的操作,只能用“设置断点”方法。在中断程序首句处设置断点并全速运行程序(具体操作见“KEIL C 软件使用说明2016”),若能执行至断点处,说明定时器设置正确。可观察程序执行到断点处的执行时间、与定时器相关的寄存器如何变化。


    注意事项

    本文(单片机实验指导书机电专业.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开