1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 单片机c语言数码显示实验报告 单片机动态显示技术实验报告.doc

单片机c语言数码显示实验报告 单片机动态显示技术实验报告.doc

时间:2024-04-11 14:42:29

相关推荐

单片机c语言数码显示实验报告 单片机动态显示技术实验报告.doc

桂林电子科技大学

实验报告

开 课 单 位

适用年级、专业 机械

课 程 序 号

课 程 代 码

实 验 名 称 《动态显示技术》

动态显示技术实验报告

一、实验目的

1、掌握动态显示技术。

2、掌握数码管与单片机的连接方法。

3、掌握段代码表的推算及数据表的使用方法。

4、掌握C语言编程方法。二、实验内容

实验设备:计算机一台、单片机实验箱一台、Proteus软件、Keil软件。

硬件原理图:

采用共阴数码管,数码管的数据由单片机的P0口提供。

当P0口输出相应的数据,相应的数码管就被点亮。如:P0,则数码管最低位显示0。

74LS573这里用于提高P0口的输出电流,驱动数码管显示,并有一定的隔离干扰的作用。

本实验只用到8位数码管的其中一位。

1、打开Keil新建工程:学号-4.uv2。

2、参考实验程序,编写程序:首先在数码管最高位连续显示0~9字段,其次在数码管次高位连续显示0~9字段,依此类推。生成:学号-4.hex文件。

3、打开下载软件,把学号-4.hex文件烧写到单片机,观察实验现象。

4、修改程序,将自己的学号显示在数码管上。

1、思考动态显示的工作原理。

2、各寄存器的使用。

3、读懂实验程序。

三、实验结果分析

1、程序流程图

/**************************************

* 实 验 名 : 动态显示技术

* 实验说明 : 8位数码管显示0~7

**************************************

#include

//--定义使用的IO口--//

#define GPIO_DIG P0//段选

#define GPIO_PLACE P1//位选

//--定义全局变量--//

unsigned char code DIG_PLACE[8] = {

0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//位选控制,查表的方法控制

unsigned char code DIG_CODE[17] = {

0x06,0x66,0x06,0x7d,0x3f,0x06,0x3f,0x6d,

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 DisplayData[8];

//用来存放要显示的8位数的值

//--声明全局函数--//

void DigDisplay(); //动态显示函数

void main(void)

{

unsigned char i;

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

{

DisplayData[i] = DIG_CODE[i];

}

while(1)

{

DigDisplay();

}

}//子函数,使用数码管显示数字

void DigDisplay()

{

unsigned char i;

unsigned int j;

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

{

GPIO_PLACE = DIG_PLACE[i]; //发送位选

GPIO_DIG = DisplayData[i]; //发送段码

j = 10; //扫描间隔时间(延时)

while(j--);

GPIO_DIG = 0x00;//消隐

}

}

根据以上程序用开发板来进行实验,程序可以实现要求。

本次实验结果次显示在数码管上。对于在进行实验的设计时,可能存在的错误,主要是C语言的一些使用规则的错误和对中断控制等代码的错误。等发生错误时,就应从代码的开始部分进行检查和分析,对于错误的地方进行修改,直到程序无错误为止。对于验证其功能时,应确认开发板没有损坏,正确连接电路等。四、与讨论五、小组表现评价(必填)

在本次实验中16号负责程序编写,17号负责电路连接,配合得非常好,听完老师的讲解,剩下的就是我们自己调试了,有不懂的问老师,老师也讲得十分仔细,在调程序的过程中,主要是了解c语言的命令语句的使用方法,这是第四次

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。