ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:184.31KB ,
资源ID:25435321      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/25435321.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机实验报告册剖析.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机实验报告册剖析.docx

1、单片机实验报告册剖析电子科技大学成都学院实验报告册 课程名称: 单片机实验 姓 名: 陈 强 学 号: 1240720119 院 系: 微电子技术系 专 业: 电子科学与技术 教 师: 林国伟 2015 年 6 月 2 日实验二 LED流水灯一、实验目的:1.掌握并口的使用2.掌握移位指令的使用二、实验原理和内容:实验原理:1.共阳LED (1)位移指令 左移 (2)循环移位指令 _crol_(A,B), _cror_(A,B)函数,在头文件intrins.h中实验内容:实现LED灯左右流水显示效果三、实验步骤:1.创建工程;2.编写程序; 3.调试程序 ; 4.下载验证 四、实验数据和结果:

2、1、功能:此程序实现的是LED左右流水灯的显示效果。将P0口的某位依次变为低电平时,由于编程中运用的intrins.h中的_crol_(A,B), _cror_(A,B)函数,所以就能够实现循环移动。2、程序:#include #include#define uchar unsigned char #define uint unsigned int void Delay(uint del) uint i,j; for(i=0; idel; i+) for(j=0; j1827; j+) ;void Main()uchar i; P0=0xff; /关闭所有LED while(1) P0=0xf

3、e; for(i=0;i8;i+) Delay(100); P0=_crol_(P0,1); P0=0x7f; for(i=0;i8;i+) Delay(100); P0=_cror_(P0,1); 五、实验总结: 通过此实验的学习,我掌握了实现流水灯的原理,也掌握了对intrins.h这个C51头文件的内部函数的运用,即如何使用循环移位指令等指令。在此编程的过程中,我最开始没有运用intrins.h下的循环位移指令,所以程序中的语句比较多。但是后来对程序进行了改进,使用了循环位移指令,使得程序中的语句更加简洁明了。而且,实现同一个功能可以有很多种编程方法,我们需要在这个过程中不断地摸索,不断

4、地学习,以此找到更加简单的方法。实验四:数码管显示一、实验目的:1.掌握LED数码管显示2.掌握数组使用二、实验原理和内容:实验原理:1.LED 8段显示器2. 共阴极数码管电路图(1)LED静态显示方式静态显示就是当显示器显示某个字符时,相应的段(发光二极管)恒定地导通或截止,直到显示另一个字符为止。静态显示器的亮度较高,这种显示方式编程容易,管理也较简单,但占用口线资源较多。在显示位数较多的情况下,一般都采用动态显示方式。(2)LED动态显示方式在多位LED显示时,将所有位的段选线并联在一起,由一个8位口控制。而共阴(或共阳)极公共端分别由相应的线控制,实现各位的分时选通。因人眼的视觉暂留

5、时间为0.1 s(100 ms),所以显示间隔要受到此条件的约束。实验内容:用8位LED数码管显示自己学号三、 实验步骤:1.创建工程;2.编写程序; 3.调试程序 ; 4.下载验证四、实验数据和结果:1.功能:此实验中,实现的是8位LED数码管上同时显示学号后8位,即40720119.2.程序:#include#define uchar unsigned char #define uint unsigned int uchar code table =0x66,0x3f,0x07,0x5b,0x3f,0x06,0x06,0x6f;uchar code LED8=0,1,2,3,4,5,6,7

6、;void Delay(uint m) uint i,j; for(i=m; i0; i-) for(j=100; j0; j-); void Main(void)uchar i=0;while(1) P0=tablei; P2=LEDi; Delay(1); i+; if(i=8) i=0; P0=0x00;五、实验总结:在这个实验当中,从最开始的单个数码管显示,一直到最后的学号显示。其实这个实验是一个相对比较简单的实验,只需要利用单片机的I/O口输出相应的信号,选通要点亮的数码管,同时输出字段驱动的控制字,就可以显示相应的数字或字母。但是,数码管的位选是通过74HC138连接,所以在实验前

7、必须要先了解三八译码器的工作原理。当然,程序虽然比较简单,但是还是很需要耐心与细心。实验八 定时器/计数器使用一、实验目的:1.掌握定时函数使用2.学习配置工作模式寄存器 TMOD、控制器寄存器 TCON二、实验原理和内容:实验原理:1.MCS-51单片机 定时/计数器的工作原理 2. 模式控制寄存器TMOD 3.控制寄存器TCON 实验内容:根据课堂要求内容进行实验三、实验步骤:1.创建工程;2.编写程序; 3.调试程序 ; 4.下载验证四、实验数据和结果:1.功能:用8位数码管的后两位进行显示结果的显示,显示的结果是数由0定时到59。2.程序:#include#define uint un

8、signed int#define uchar unsigned charunsigned char i=200; unsigned int num=0;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;void Delay(uint m) uint i,j; for(i=m; i0; i-) for(j=100; j0; j-); void main() TMOD=0x10; TH1=0xee; TL1=0x00; EA=1; ET1=1; TR1=1; while(1) P0=0x00; P2=7; P0=

9、tablenum%10; Delay(1) ;P0=0x00; P2=6; P0=tablenum/10; Delay(1) ;if(num=60) num=0; void T1_int(void) interrupt 3 TH1=0xee; TL1=0x00; i-; if(i=0) num=num+1; i=200; 五、实验总结:通过这次实验的学习,对于上学期所学的单片机所学的部分知识得到了回顾,更加深层次的了解了定时器和计数器的工作原理,初学单片机时不会计算初值,对于一些指令也不够熟悉,但是通过此次实验的学习,使得这些问题都得到了解决。实验九: 点阵LED显示一、实验目的:1.掌握8*

10、8-LED点阵的结构原理2.掌握8*8-LED点阵的使用二、实验原理和内容:实验原理:1. 8X8点阵LED等效电路8 X 8 点阵LED工作原理说明 :8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置0电平,某一行置1电平,则相应的二极管就亮;一根竖柱:对应的列置0,而行则采用扫描的方法来实现。一根横柱:对应的行置1,而列则采用扫描的方法来实现。LP00 LP07图1-8,P2.0P2.7图A-H。 实验内容:显示心形和自己姓名拼音首字母三、实验步骤:1.创建工程;2.编写程序; 3.调试程序 ; 4.下载验证四、实验数据和结果:1、功能:

11、用8*8点阵显示自己姓名的首字母2、程序:#include#define uint unsigned int#define uchar unsigned charuchar code tableP2=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;uchar code tableP0=0x00,0x00,0x3E,0x41,0x41,0x41,0x22,0x00; /点阵结果显示Cvoid Delay(uint m) uint i,j; for(i=m; i0; i-) for(j=100; j0; j-); void main() uint i=0; whil

12、e(1) for(i=0;i8;i+) P0=0x00; P2=tableP2i; P0=tableP0i; Delay(1); 五、实验总结: 在这个实验中,我学会了8*8点阵LED的工作原理,也了解了点阵LED的扫描方式。但是在编程的过程当中,由于不太清楚它的扫描顺序,所以在定义数组的时候出现了错误而导致没有得到想要的结果,尽管自己试着修改了很多次,但是还是没有调试出来L的显示。但是后来在老师的帮助下,我才能完成这个实验的任务。 实验十:矩阵按键一、实验目的:1.掌握矩阵键盘原理2.矩阵式键盘的按键识别方法二、实验原理和内容:实验原理:在键盘中按键数量较多时,为了减少I/O口的占用,通常将

13、按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。矩阵式键盘的按键识别方法:扫描法,线反法扫描法:又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法。(1)判断键盘中有无键按下: 将全部行线置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。 (2) 判断闭合键所在的位置: 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平

14、后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。线反法:先找按下的按键在那一行(或列),然后在找在那一列(或行),从而可以找到按下按键的具体位置。2.实验内容:编写按键扫描程序,识别按键。三、实验步骤:1.创建工程;2.编写程序; 3.调试程序 ; 4.下载验证四、实验数据和结果:1、功能:在矩阵键盘中,当按下相应的按键时,数码管会显示对应的数字。2、程序:#include#define GPIO_DIG P0#define GPIO_KEY P1sbit LSA=P20;sbit LSB=P21;sbit LSC=P22;unsigned c

15、har code DIG_CODE =0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码unsigned char KeyValue;/用来存放读取到的键值void Delay10ms(); /延时10msvoid KeyDown(); /检测按键函数 void main(void) LSA=0; /给一个数码管提供位选 LSB=0; LSC=0; while(1) KeyDown(); GPIO_DIG=DIG_

16、CODEKeyValue; void KeyDown(void) char a=0; GPIO_KEY=0x0f; if(GPIO_KEY!=0x0f)/读取按键是否按下 Delay10ms();/延时10ms进行消抖 if(GPIO_KEY!=0x0f)/再次检测键盘是否按下 /测试列 GPIO_KEY=0Xf0; switch(GPIO_KEY) case(0Xe0): KeyValue=0;break; case(0Xd0): KeyValue=1;break; case(0Xb0): KeyValue=2;break; case(0X70): KeyValue=3;break; /测试

17、行 GPIO_KEY=0X0f; switch(GPIO_KEY) case(0X0e): KeyValue=KeyValue;break; case(0X0d): KeyValue=KeyValue+4;break; case(0X0b): KeyValue=KeyValue+8;break; case(0X07): KeyValue=KeyValue+12;break; while(a0;c-) for(b=38;b0;b-) for(a=130;a0;a-);五、实验总结:通过这个实验的学习,我了解了矩阵键盘的按键识别方法。这是本门科目的最后一个实验,也是相对其他实验而言是相对较难的一个实验。所以在编程的过程遇到了不少的困难,但是在老师和同学们的帮助下还是成功的完成了这个实验,得到了想得到的结果。在这门科目的学习当中,我明白了自己在编程方面比较薄弱,对于单片机的工作原理也不是足够的了解,对之前所学习的一些知识的遗忘程度比较严重。所以,在以后的时间里,我会查漏补缺,会利用课余时间复习并掌握更多知识,使自己的专业知识更加扎实,以达到自我提升的目的。并且此门科目让我,让我明白了仔细的重要性,在程序运行的过程当中是不允许任何问题出现的。所以,以后不管是工作还是学习,我一定会加倍仔细,让工作和学习更加完美。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1