单片机原理实验实验报告册_第1页
单片机原理实验实验报告册_第2页
单片机原理实验实验报告册_第3页
单片机原理实验实验报告册_第4页
单片机原理实验实验报告册_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、实验数据和结果程序功能描述: 实现LED的流水灯显示,即通过单片机P0口控制8个LED 灯循环点亮,循环方式为:左循环依次点亮一次,随后右循环 依次点亮一次。 本例中是调用的 intrins.h 中的函数实现的循环移位。#include<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int/*功能 : 延时,延时时间为 10ms * delvoid Delay(uint del)uint i,j;for(i=0; i<del; i+)for(j=0; j<

3、;1827; j+) / 这句语句中1827是通过软件仿真得到的;/*功能 : 实现灯的闪烁void Main(void)uchar i;while(1)P0 = 0x7f;/P0.7亮亮for(i=0; i<7; i+)/移位7次P0 = _cror_(P0, 1); /用于循环右移Delay(15);P0 = 0xfe;for(i=0; i<7; i+)P0 = _crol_(P0, 1); /用于循环左移Delay(15);五、实验总结:通过本实验我学会了共阳LED的电路原理,深入了解共阳LED的工作原来,完成一系列的调试工作。 实验二:数码管显示一、实验目的:1.掌握LED

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

5、位LED数码管显示自己学号三、 实验步骤:1.创建工程;2.编写程序; 3.调试程序 ; 4.下载验证四、实验数据和结果:程序功能描述: 8位数码管分别显示40710324#include<reg52.h>#define uchar unsigned char#define uint unsigned intuchar code table10 = 0x66,0x3f,0x07,0x06,0x3f,0x4f,0x5b,0x66;uchar code LED_W8 = 0,1,2,3,4,5,6,7;/* 功能 : 延时子程序,延时时间为 1ms * xvoid Delay(uint

6、 i)uchar x,j;for(j=0;j<i;j+)for(x=0;x<=148;x+);/* 功能 : 数码管的显示void Main(void)while(1)P0 = table1; / i 值的 个位数P2 = LED_W6; /点亮第一位数码管Delay(3);P0 = table2; / i 值的 个位数P2 = LED_W7; /点亮第一位数码管Delay(3);5、 实验总结: 掌握数据的运算与使用,掌握LED的数码显示。 实验三 定时器/计数器使用一、实验目的:1.掌握定时函数使用2.学习配置工作模式寄存器 TMOD、控制器寄存器 TCON二、实验原理和内容:

7、实验原理:1.MCS-51单片机 定时/计数器的工作原理 2. 模式控制寄存器TMOD 3.控制寄存器TCON 实验内容:根据课堂要求内容进行实验三、实验步骤:1.创建工程;2.编写程序; 3.调试程序 ; 4.下载验证四、实验数据和结果:#include<reg52.h>#define uchar unsigned char#define uint unsigned int uchar Count = 0;uchar code table10 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/* 功能 : 定时器的初始化,1

8、1.0592MZ晶振,50msvoid Time0_Init()TMOD = 0x01;TH0 = 0x4c;TL0 = 0x00;IE = 0x82;TR0 = 1; /* 功能 : 定时器中断,中断中实现 Count 加一void Time0_Int() interrupt 1TH0 = 0x4c;TL0 = 0x00;Count+;/长度加1void main()uchar i = 0;Time0_Init();while(1)P0 = tablei % 10; /取 i 的个位while(1)if(Count = 20) /当Count为 20 时,i 自加一次,20 * 50MS =

9、 1SCount = 0;i+;break;5、 实验总结:掌握了计时器和定时器的使用,深入了解其原理,掌握定时函数使用,学习配置工作模式寄存器 TMOD、控制器寄存器 TCON。实验四: 点阵LED显示一、实验目的:1.掌握8*8-LED点阵的结构原理2.掌握8*8-LED点阵的使用二、实验原理和内容:实验原理:1. 8X8点阵LED等效电路8 X 8 点阵LED工作原理说明 :8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置0电平,某一行置1电平,则相应的二极管就亮;一根竖柱:对应的列置0,而行则采用扫描的方法来实现。一根横柱:对应的行置

10、1,而列则采用扫描的方法来实现。LP00 LP07图1-8,P2.0P2.7图A-H。 实验内容:显示心形和自己姓名拼音首字母三、实验步骤:1.创建工程;2.编写程序; 3.调试程序 ; 4.下载验证四、实验数据和结果: 程序功能描述:需要连接上J16这个跳线帽。这个代码在点阵上显示相应的图形。 显示心形和自己的姓名拼音首字母。#include <reg52.H>#include<intrins.h>#define uint unsigned int#define uchar unsigned char/心形显示 unsigned char code tabP0=0x3

11、0,0x48,0x44,0x22,0x44,0x48,0x30,0x00;unsigned char code tabP2=0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE;unsigned char code tabP0= ;unsigned char code tabP2=0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE;/* 功能 : 延时子程序,延时时间为 1ms * xvoid Delay_1ms(uchar i) /1ms延时uchar x,j;for(j=0;j<i;j+)for(x=0;x<=148;x+)

12、;void main()int i;while(1)for(i=0;i<8;i+)P0=0;P2=tabP2i;P0=tabP0i;Delay_1ms(2);5、 实验总结: 掌握8*8-LED点阵的结构原理掌握8*8-LED点阵的使用实验五:矩阵按键一、实验目的:1.掌握矩阵键盘原理2.矩阵式键盘的按键识别方法二、实验原理和内容:实验原理:在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。矩阵式键盘的按键识别方法:扫描法,线反法扫描法:又称为逐行(或列)扫描查询法,是一种最常用的按键

13、识别方法。   (1)判断键盘中有无键按下: 将全部行线置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。     (2) 判断闭合键所在的位置: 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。线反法:先找按

14、下的按键在那一行(或列),然后在找在那一列(或行),从而可以找到按下按键的具体位置。2.实验内容:编写按键扫描程序,识别按键。三、实验步骤:1.创建工程;2.编写程序; 3.调试程序 ; 4.下载验证四、实验数据和结果:程序实现功能:在一位数码管上显示对应的4*4键盘按下后的数值,以十六进制 数来表示。#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intsbit&#

15、160;dula=P26;sbit wela=P27;uchar code table=0xc0,0xf9,0xa4,0xb0,  /数码显示依次为:0、1、2、3                    0x99,0x92,0x82,0xf8,  /      

16、0;         4、5、6、7                    0x80,0x90,0x88,0x83,  /              

17、  8、9、a、b                     0xc6,0xa1,0x86,0x8e,0xff  /            c、d、e、f      

18、60;             uchar num,temp;void delay(uint z)   /延时子程序   uint x,y;   for(x=z;x>0;x-)   for(y=110;y>0;y-);  uchar keyscan() &#

19、160;  /键盘扫描程序,返回uchar型参数       uchar i;      for(i=0;i<4;i+)                P3=_crol_(0xfe,i);       &

20、#160; temp=P3;         temp=temp&0xf0;         while(temp!=0xf0)                       

21、; delay(5);                      /延时消抖              temp=P3;         &

22、#160;             /第二次确认该键按下              temp=temp&0xf0;              while(temp!=0xf0)

23、60;                               temp=P3;                 &

24、#160;  /再次确认该键按下                 switch(temp)                          

25、0;            case 0xee:num=1; break;                     case 0xde:num=2; break;     

26、0;               case 0xbe:num=3; break;                     case 0x7e:num=4; break;  

27、0;                  case 0xed:num=5; break;                     case 0xdd:num=6; brea

28、k;                     case 0xbd:num=7; break;                     case 0x7

29、d:num=8; break;                     case 0xeb:num=9; break;                    &

30、#160;case 0xdb:num=10;break;                     case 0xbb:num=11;break;                   

31、;  case 0x7b:num=12;break;                     case 0xe7:num=13;break;                 

32、60;   case 0xd7:num=14;break;                     case 0xb7:num=15;break;                &

33、#160;    case 0x77:num=16;break;                                     while(temp!=0xf0)

34、0;              /等待按键释放                                  

35、60;         temp=P3;                        temp=temp&0xf0;                                         

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论