单片机动态显示技术实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
桂林电子科技大学
实验报告
2016-2017 学年第一学期
'
开课单位海洋信息工程学院
适用年级、专业 14级机械设计制造及其自动化
课程名称《单片微型计算机与接口技术-课内实验》
主讲教师周旋
课程序号 BS1615000_03
课程代码 BS1615000
实验名称《动态显示技术》
学号 16 - 17
姓名林亦鹏卢炳荣
?
动态显示技术实验报告
一、实验目的
1、掌握动态显示技术。
2、掌握数码管与单片机的连接方法。
3、掌握段代码表的推算及数据表的使用方法。
4、掌握C语言编程方法。
—
二、实验内容
实验设备:计算机一台、单片机实验箱一台、Proteus软件、Keil软件。
硬件原理图:
采用共阴数码管,数码管的数据由单片机的P0口提供。
当P0口输出相应的数据,相应的数码管就被点亮。如:P0=00111111B,则数码管最低位显示0。
74LS573这里用于提高P0口的输出电流,驱动数码管显示,并有一定的隔离干扰的作用。
本实验只用到8位数码管的其中一位。
1、打开Keil新建工程:学号。
2、参考实验程序,编写程序:首先在数码管最高位连续显示0~9字段,其次在数码管次高位连续显示0~9
字段,依此类推。生成:学号文件。
3、打开下载软件,把学号文件烧写到单片机,观察实验现象。
—
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();