达永编程网

程序员技术分享与交流平台

单片机应用技术课程报告~数码管的静态显示

实验名称

数码管的静态显示

实验时间

2020年7月26 日

学生姓名

实验地点

钉钉群线上

同组人员

专业班级

1、会使用单片机连接外部设备并构建单片机数码管电路。

2、能使用工具软件绘制单片机硬件原理图、能编写简单的C51程序。

3、通过编程,学会在单片机上实现一种数字静态显示控制方法。

2、任务设计要求

1、LED数码管将按照程序设置的方式工作,每隔一段变化一次,依次循环显示0~9十

个数字。

2、程序开始先将“0~9”十个数字的字型码存入一维数组中,然后,每隔1段时间将

数组中的对应字符的字型码通过P2端口送到显示器的段控端,实现相应字符的显示。程序

设计利用for语句循环10次,调用延时函数,依次将“0~9”十个数字的字型码送到显示器

的段控端。

3、总体设计方案

1、程序开始先将“0~9”十个数字的字型码存入一维数组中,然后,每隔1段时间将数

组中的对应字符的字型码通过P0,P2端口送到显示器的段控端,实现相应字符的显示。

2、P0口接共阴极数码管,P2口接共阳极数码管,程序设计利用for语句循环10次,调

用延时函数,依次将“0~9”十个数字的字型码送到显示器的段控端。

4、硬件电路设计


5、软件程序设计

#include <reg51.h>

#define uchar unsigned char

#define uint unsigned int

uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

uchar i;

void delay()

{ uint k,j;

for(j=600;j>0;j--)

for(k=248;k>0;k--);

}

void main(void)

{ while(1)

{

for(i=0;i<10;i++)

{

P0=table[i];

P2=~table[i];

delay();

}

}

2)性能指标测试及结果分析

7、项目总结

这次的实验做得比较顺利,除了在编写程序的时候出现了错误,不过在老师和同学的帮助下程序正常生成了HEX文件,并且能够正常仿真,在连接硬件线路图的时候没有出现错误,这是一个进步。在今后的实验过程中我会更加的注意,减少错误的产生。


控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言