版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#单片机应用技术”实验指导书本课程实验前要预习实验内容,读懂范例程序,并按实验要求准备程序流程图并编制C51程序本课程实验报告要求1、实验要求2、实现控制要求的硬件电路原理图3、程序流程图4、课上要求完成的程序清单(加注释)5、实验遇到问题及解决6、实验评价
实验一单片机开发环境的建立实验目的:1、熟悉V51/L伟福仿真系统及KeilC开发环境;2、建立单片机最小系统概念、学习P0口的使用方法;3、学习C51程序的编写方法。二、实验要求:P0口做输出口,接八只发光二极管,编写程序,控制发光二极管的点亮状态1、八只LED管L1-4亮,L5-8灭;1秒后L1-4灭,L5-8亮。依此循环——。2、八只LED管从L1~L8依次循环点亮,每个LED点亮的延时时间为2秒。三、实验设备:1、V51/L伟福仿真器一套;2、Ap51s学习开发板一块;3、微机一台套及Keil开发软件,USB通讯线一根;电源线两根。四、实验电路:1、单片机最小系统电路:单片机的正常工作,是在以建立单片机最小系统的条件下实现的。单片机最小系统包括电源电路、时钟电路、复位电路、存储器选择电路四部分。典型电路如下图所示:--112011.0592M/12M30pF17410.111T1£1717--112011.0592M/12M30pF17410.111T1£17171~7?PSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0VCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6EA/VPPP1.0Pl.lPl.2Pl.3Pl.4Pl.5Pl.6Pl.7RST/VPDP3.0/RXDP3.1/TXDP3.2/INTCIP3.3/INTiP3.4/T0P3.5/T1_P3.6/^P3.7/FDXTAL2XTAL1GNDAT89C5140393837363534333130二査储器选择272625242322T12、发光二极管输出电路:本实验板的P0端口接了8个发光二极管,这些发光二极管的负极通过一个排电阻接到P0端口各引脚,而正极接到正电源端,发光二极管点亮的条件是P0口相应的引脚为低电平,即如果P0口某引脚输出为0,相应的灯亮,如果输出为1,相应的灯灭。
五、练习范例程序//51单片机头文件//51单片机头文件typedefunsignedcharuchar;//数据类型说明typedefunsignedintuint;//输出端口定义//延时函数定义//输出端口定义//延时函数定义voidmain(void){voidmain(void){while(1){PO_O=!PO_O;delayms(1OOO);}}//主函数//无限循环体//PO.O状态取反//延时1s//1ms延时函数//1ms延时函数//字符型变量i定义//1ms延时{uchari;while(j--)for(i=O;i<121;i++);}实验前读懂范例程序,实现的功能?画出流程图。六、程序说明:1)数据类型说明typedefunsignedcharuchar;typedefunsignedintuint,即为系统固有数据类型定义个别名。这样在之后的编程中,就可以用uchar代替unsignedchar,用uint代替unsignedint来定义变量,2)1ms延时函数的延时计算说明在系统晶振为12MHz时,一个机器周期时间长度为12/12MHZ=1仇S循环结构“for(i=0;i<121;i++);”的执行时间约1ms,通过改变循环次数,可得到不同时间的延时。七、实验步骤:1、检查仿真头在Ap51s实验板CPU芯片座上插好、插座扳手位于锁紧位置(实验过程严禁用手触摸仿真头电路表面);打开仿真器开关,开启实验板开关;2、运行桌面Keil软件;3、在Keil环境下建立项目并输入范例程序,编译无误后运行查看执行结果;4、熟悉程序运行及调试方法,理解单片机程序的运行机制。具体操作详见桌面“KEILC软件使用说明2O16”。5、按实验要求编程,并调试成功。提示:由右向左的循环(左循环)可以有多种方法实现,如指令“<<”或函数“_crol_(a,b)”实现。
实验二数码管显示实验一、实验目的:1、了解八段数码显示数字的原理、学习LED显示接口技术;2、进一步了解V51/L伟福仿真系统及KeilC开发环境。二、实验要求:本实验用1位LED数码管,段选信号接P0口,位选信号接P2口的第0位:1、循环显示0~9,每隔2秒显示数加1,字形码放在程序存储器内;2、顺序显示自己身份证号码,每位停留显示1秒,数据更新时灭0.5秒。三、实验设备:1、V51/L伟福仿真器一套;2、yp51s学习开发板一块;3、微机一台套及Keil开发软件,USB通讯线一根;电源线两根。四、实验原理与电路:共阳型LED显示器单片机的P0口和P2口构成了8位LSd数码管驱动电路,这里LED数码管采用了共阳型,其数码管的笔段(即对应的abcdefgh)引脚是二极管的负极,与P0口相接,所有二极管的正极连在一起构成公共端,即该位数码管的位选端,对于这种数码管的驱动要求在位选端提供电流,为此,使用了PNP型三极管作为位选端的驱动,共用8只三极管,每只三极管的发射极连在一起,接正电源端;基极则通过限流电阻分别接P2.0—P2.7。集电极分别向8只数码管供电。由此可以判断出:段选P0口送低电平有效,位选(COM端)因集电极需高电平,则P2.0-2.7口应送低电平有效。ooon-oooOPFFFFPPF肚'讯47GX4SIPSRESH岂兀期巫I甘u口fedch出IiDPYb宀;f|'gb代gg*aDPTooon-oooOPFFFFPPF肚'讯47GX4SIPSRESH岂兀期巫I甘u口fedch出IiDPYb宀;f|'gb代gg*aDPT缸raDPY§沁dpFDS!DPY仁SEG羽IZEaDPYC由e融却dpSaDPT卜-—IiDPTrdEjhCTaDPY打■—1怕§s,3p郎5O2FJ3SKGLED2222222FFppFFFDIG231)心5DIG47ITD硬件连线对应的字形码:表2-1字01234字形码C0HF9HA4HB0H99H字56789不显示字形码92H82HF8H80H90HFFH五、练习范例程序:#include<reg51.h>//51单片机头文件#defineucharunsignedchar//数据类型说明#defineuintunsignedintucharcodedisplay[]=ucharcodedisplay[]={0xC0,0xF9,0xA4,0xB0,0x99,//数码管段码0-9voiddelayms(uintms){uchari;while(ms--)for(i=0;i<121;i++);}voidmain(void){uchark;P0=0xff;P2=0xff;0x92,0x82,0xF8,0x80,0x90};//1ms延时函数//字符型变量k定义//1ms延时//主函数//字符型变量k定义//端口初始化while(1){while(1){P2=0xfe;for(k=0;k<10;k++)
{P0=display[k];
delayms(1000);}}}实验前熟悉硬件电路原理图,//无限循环体//送位码//送段码//延时1s读懂范例程序,并画出流程图。六、实验内容:1、检查实验板CPU芯片座上的仿真头;打开仿真器开关、开启实验板开关2、运行桌面Keil软件;3、在Keil环境下建立项目并输入范例程序,编译无误后运行查看执行结果;4、按实验要求编程,并调试成功。
实验三键盘显示实验实验三键盘显示实验一、实验目的:1、了解键盘电路工作原理;掌握独立键盘接口电路的程序编写方法;2、学习键盘显示综合运用的程序处理流程与编制方法。二、实验要求:P3.2、P3.3分别接AN1、AN2两按钮开关,数码管位选范围P2.0—P2.7。AN1按下,点亮1位数码管显示0,再按则关显示;在数码管点亮状态下,按AN2一下则显示值加1,若加至10则显示回0。三、实验设备:1、V51/L伟福仿真器一套;2、Up51s学习开发板一块;3、微机一台套及Keil开发软件,USB通讯线一根;电源线两根。四、实验电路(数码管显示电路见实验二):VCCurnP3.urnP3.2P3.3P3.4MP32OO—A监P33oo—P34Q0—岛」35P3_5五、实验说明:单个键盘查询式扫描程序流程:单个键盘查询式扫描程序流程:1、有键按下,相应输入为低,否则为高。通过这样可以判断按下什么键;2、在判有键按下后,为防止由于键盘抖动而引起误操作,要有5—10ms的延时。3、由于程序执行时间很快,在键盘处理时要考虑按下后到抬起的时段控制,应保证每按一次键,只处理一次。
六、练习范例程序:AN1按下,数码管显示0再按一下,关显示;依此循环…#include"reg51.h"typedefunsignedcharuchar;typedefunsignedintuint;sbitK1二sbitK1二P3"2;sbitP2_0二P2飞;//定义键端口//定义位控码voiddelayms(uint);voidmain(void){voiddelayms(uint);voidmain(void){P0=0xc0;P2=0xff;//端口初始化while(1){while(1){if(K1==0)delayms(10);if(K1==0){while(!K1);P2_0=~P2_0;}//判键按下?//延时去抖//判键按下?//等待键抬起//位控状态改变voiddelayms(uintj)//1ms延时{uchark;while(j--){for(k=0;k<121;k++);}}七、实验操作方法:1、检查实验板CPU芯片座上的仿真头;打开仿真器开关、开启实验板开关;2、运行桌面Keil软件;3、在Keil环境下建立项目并输入范例程序,编译无误后运行查看执行结果;4、按实验要求编程,并调试成功。5、提示:调试查询判键功能:采用单步运行无法捕捉按键信息,可使用“设置断点”方法,将断点设置在键盘处理的首个语句处,程序若能执行到断点处,说明判键模块准确无误,之后键盘处理部分可使用单步运行来调试。实验四外部中断控制实验一、实验目的:1、掌握外部中断原理,学习中断处理程序的编写方法;2、熟悉用仿真器调试程序的方法。二、实验要求:P3.2接AN1按钮开关,数码管位选P2.0—P2.7任取1位。初始点亮1位数码管显示0;AN1每按一下,显示值加1,若加至F则显示回0。三、实验设备:6、V51/L伟福仿真器一套;7、Up51a学习开发板一块;8、微机一台套及Keil开发软件,USB通讯线一根;电源线两根。四、实验原理及电路:(见实验二和三)五、实验说明:51单片机的P3.2、P3.3引脚为外部中断信号输入端口。将独立按键AN1一端连接外部中断0引脚P3.2,另一端接地,可模拟外部脉冲的产生(按键动作过程存在抖动的特点,编程时可忽略)。AN1的按键动作作为INT0的中断请求,用中断服务程序完成计数功能。六、练习范例程序:初始点亮1位数码管显示0;AN1每按一下,显示值加1,若加至10则显示回0。#include<reg51.h>//51单片机头文件#defineucharunsignedchar//数据类型说明#defineuintunsignedintucharcodedisplay[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//数码管段码0-9ucharcount=0;voidEX0_INT()interrupt0//INT0中断函数{count++;if(count==10)count=0;}voidmain(void)//主函数{
P0=0xff;P2=0xfe;//端口初始化IT0=1;P0=0xff;P2=0xfe;//端口初始化IT0=1;EA=1;EX0=1;//外部中断初始化//触发信号类型为边沿触发//开中断while(1)//无限循环体P0=display[count];//送段码实验前读懂程序,画出流程图。七、实验操作方法:1、检查实验板CPU芯片座上的仿真头;打开仿真器开关、开启实验板开关;2、运行桌面Keil软件;3、在Keil环境下建立项目并输入范例程序,编译无误后运行查看执行结果;4、按实验要求编程,并调试成功。提示:调试程序对于中断程序功能模块而言,用“单步”运行无法实现进入中断程序的操作,只能用“设置断点”方法。在中断程序首句处设置断点并全速运行程序(具体操作见“KEILC软件使用说明2016”),若能执行至断点处,说明外部中断初始设置正确。可观察程序执行到断点处相关的寄存器如何变化。实验五定时器实验实验五定时器实验一、实验目的:2、学习51单片机内部定时器的使用和编程方法;3、学习掌握中断处理程序的编写方法;3、熟悉用仿真器调试程序的方法。二、实验要求:以下控制要求定时时间均用系统定时器实现:1、用1位LED数码管实现循环显示0~9,每隔2秒显示数加1;2、用2位LED数码管稳定显示“12”,位选信号接P2口的第0、1位;三、实验设备:9、V51/L伟福仿真器一套;10、Up51a学习开发板一块;11、微机一台套及Keil开发软件,USB通讯线一根;电源线两根。四、实验原理及电路:(同实验二)五、实验说明:1、关于内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。内部计数器在单片机中主要有定时器和计数器两个功能。本实验使用的是定时器。2、与定时器有关的控制寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。本实验采用定时器0,选用工作方式1。3、内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度是12个振荡器周期。定时器工作于方式1,即采用的是16位定时器。实验系统的晶振是12MHZ,因此最大定时时间约65ms左右。若控制要求2秒定时,可设定定时器20ms中断一次,然后对20ms中断次数计数100次,就是2秒钟。定时常数的设置可按以下方法计算:机器周期=12F12MHZ=1uS(65536-定时初值)X1uS=20000us则定时初值=45536,化为十六进制数是B1E0H,故初始值为TH0=B1H,TL0二E0H。六、练习范例程序:#include<reg51.h>typedefunsignedcharuchar;typedefunsignedintuint;ucharCount,k;ucharcodedisplay[]={
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业锅炉安装维修合同
- 租赁GPS运动手表合同
- 文化遗产彩绘修复合同
- 体育赛事合同评审管理办法
- 音乐器材租赁终止合同
- 校园活动临时演员聘用合同
- 剧院网络布线施工合同
- 2024至2030年混光灯具项目投资价值分析报告
- 家具市场租赁协议水电费分摊
- 通信工程联合施工合同
- (高清版)DBJ33T 1310-2024 可回收预应力锚杆应用技术规程
- 2024义务教育艺术新课标课程标准2022年版考试题库及答案
- 八年级生物下册学习资料
- 武汉烟草部分岗位2024年公开招聘历年(高频重点复习提升训练)共500题附带答案详解
- 波形护栏安装施工合同
- 七年级上册历史-七上历史 期中复习【课件】
- 瑜伽合同范本
- 2024年初中体育课教学设计舞龙教案
- 企业社会责任报告编制合同
- 临床俯卧位通气患者眼部并发症护理
- FZ∕T 63039-2018 高强聚乙烯编织线绳
评论
0/150
提交评论