.两个LED灯通过动态扫描显示0到99
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.用串行数据通信线连接计算机与仿真器,然后将仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上
3.打开Keil uVision4仿真软件,首先建立本实验的项目文件,接着添加源程序,进行编译,直到编译无误。
4.打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序。
5.观察实验结果并记录结果,进行分析。
单片机实验报告3
1、实验目的:
1.掌握数字、字符转换成显示段码的软件译码方法
2.动态显示的原理和相关程序的编写
3.两个LED灯通过动态扫描显示0到99.
2、实验工具
单片机最小应用系统、THKL-C51仿真器、单片机实验箱
3、实验步骤
单片机P0输出段码,P1口输出位控码,输出2个字符。
1.单片机最小应用系统的P0口JD1F接段码口a~H(JD1I),P1口JD2F接位码口S1~S2(JD2I)。
{
uchar i; //定义变量
uchar j; //定义变量
delay(20);
P1=0xff; //P1口全置一
while(1)//进入循环
{
for(i=0;i<10;i++)
for (j=0;j<10;j++)
{
P0=0x00; //P0口清0
{
P1=weima[1];
P0=duanma[i];//第二个位码显示当时的断码
delay(5);//延时5ms
P1=weima[0];
P0= duanma[j];/ /第一个位码显示当时的断码
delay(5); //延时5ms
P0=0x00; //重复上述过程,为了更加清楚的看到试验箱上效果,P0口清0
P1=weima[1];
P0=duanma[i];//第二个位码显示当时的断码
4、实验主要程序
#include <reg51.h>
#define uchar unsigned chx06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //定义段码数组的值(0,1,2,3,4,5,6,7,8,9)
delay(5); //延时5ms
P1=weima[0];
P0= duanma[j]; / /第一个位码显示当时的断码
delay(5); //延时5ms
if(i==9&&j==9){i=0;j=0;} //当i和j都等于9时,将i,j清0,再次进行循环,不断显示0到99
}
}
}
}
5、实验结果
两个LED灯动态的显示并且依次从0到99循环显示,符合程序要达到的效果
uchar code weima[]={0x01,0x02}; //定义位码数组(第一位,第二位)
void delay(unsigned int t) //定义延时函数
{ uchar i,j;
for(;t>0;t--)
for(i=0;i<250;i++)
for(j=0;j<2;j++);
}
void main() //主函数
3.打开Keil uVision4仿真软件,首先建立本实验的项目文件,接着添加源程序,进行编译,直到编译无误。
4.打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序。
5.观察实验结果并记录结果,进行分析。
单片机实验报告3
1、实验目的:
1.掌握数字、字符转换成显示段码的软件译码方法
2.动态显示的原理和相关程序的编写
3.两个LED灯通过动态扫描显示0到99.
2、实验工具
单片机最小应用系统、THKL-C51仿真器、单片机实验箱
3、实验步骤
单片机P0输出段码,P1口输出位控码,输出2个字符。
1.单片机最小应用系统的P0口JD1F接段码口a~H(JD1I),P1口JD2F接位码口S1~S2(JD2I)。
{
uchar i; //定义变量
uchar j; //定义变量
delay(20);
P1=0xff; //P1口全置一
while(1)//进入循环
{
for(i=0;i<10;i++)
for (j=0;j<10;j++)
{
P0=0x00; //P0口清0
{
P1=weima[1];
P0=duanma[i];//第二个位码显示当时的断码
delay(5);//延时5ms
P1=weima[0];
P0= duanma[j];/ /第一个位码显示当时的断码
delay(5); //延时5ms
P0=0x00; //重复上述过程,为了更加清楚的看到试验箱上效果,P0口清0
P1=weima[1];
P0=duanma[i];//第二个位码显示当时的断码
4、实验主要程序
#include <reg51.h>
#define uchar unsigned chx06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //定义段码数组的值(0,1,2,3,4,5,6,7,8,9)
delay(5); //延时5ms
P1=weima[0];
P0= duanma[j]; / /第一个位码显示当时的断码
delay(5); //延时5ms
if(i==9&&j==9){i=0;j=0;} //当i和j都等于9时,将i,j清0,再次进行循环,不断显示0到99
}
}
}
}
5、实验结果
两个LED灯动态的显示并且依次从0到99循环显示,符合程序要达到的效果
uchar code weima[]={0x01,0x02}; //定义位码数组(第一位,第二位)
void delay(unsigned int t) //定义延时函数
{ uchar i,j;
for(;t>0;t--)
for(i=0;i<250;i++)
for(j=0;j<2;j++);
}
void main() //主函数