1 / 14
文档名称:

单片机_嵌入式系统设计的实验报告.docx

格式:docx   页数:14页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

单片机_嵌入式系统设计的实验报告.docx

上传人:珍贵文档 2016/3/24 文件大小:0 KB

下载得到文件列表

单片机_嵌入式系统设计的实验报告.docx

文档介绍

文档介绍:嵌入式系统设计实验报告专业: 微电子学姓名: 胡文彬学号: ********** 一、静态数码管(一)实验要求使用的 IO: 数码管使用 P0, 键盘使用 、 、 、 实验效果: 按下 K1键, 显示 0, 按下 K2键, 显示 9, 按下 K3键, 显示减 1,按下 K4 键,显示加 1。注意: 由于 口跟红外线共用, 所以做按键实验时为了不让红外线影响实验效果,最好把红外线先取下来。(二)实验设计/*********************************************************************** *** * 实验名: 静态数码管实验* 使用的 IO: 数码管使用 P0, 键盘使用 、 、 、 * 实验效果: 按下 K1 键,显示 0 ,按下 K2 键,显示 9 ,按下 K3 键,显示减 1, 按下 K4 键,显示加 1。*********************************************************************** ***/ #include<> #include<> #define GPIO_DIG P0 sbit LSA=P2^2; sbit LSB=P2^3; sbit LSC=P2^4; sbit K1=P3^1; sbit K2=P3^0; sbit K3=P3^2; sbit K4=P3^3; unsigned char code DIG_CODE[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 显示 0~9 的值 void Delay10ms(); // 延时 10ms /*********************************************************************** *** *函数名: main * 函数功能: 主函数*输入:无*输出:无*********************************************************************** ***/ void main(void) { unsigned int i,j; LSA=0; LSB=0; LSC=0; while(1) { if(K1==0) // 检测按键 K1 是否按下{ Delay10ms(); // 消除抖动 if(K1==0) { j=0; } while((i<50)&&(K1==0)) // 检测按键是否松开{ Delay10ms(); i++; } i=0; } if(K2==0) // 检测按键 K2 是否按下{ Delay10ms(); if(K2==0) { j=9;} while((i<50)&&(K2==0)) { Delay10ms(); i++; } i=0; } if(K3==0) // 检测按键 K3 是否按下{ Delay10ms(); if(K3==0) { j--; if(j>9) j=9; } while((i<50)&&(K3==0)) { Delay10ms(); i++; } i=0; } if(K4==0) // 检测按键 K4 是否按下{ Delay10ms(); if(K4==0) { j++; if(j>9) j=0; } while((i<50)&&(K4==0)) { Delay10ms(); i++; } i=0; } GPIO_DIG=DIG_CODE[j]; }} /*********************************************************************** *** *函数名: Delay10ms * 函数功能: 延时函数,延时 10ms *输入:无*输出:无*********************************************************************** ***/ void Delay10ms(void) // 误差 0us { unsigned char a,b,c; for(c=1;c>0;c--) for(b=38;b>0;b--) for(a=130;a>0;a--); } (三)实验分析 LS A,B,C 数码管的位选端连接的是 138 译码器的输出口, 138 译码器是 3 个输入口控制 8 个输出口, LS A,B,C 就是定义的三个输入口,从 000 到 111 共8 个三位二进制数, 这种板子段选端口应该接的