单片机静态显示技术实验报告 下载本文

内容发布更新时间 : 2024/5/19 21:59:46星期一 下面是文章的全部内容请认真阅读。

桂林电子科技大学

实验报告

2016-2017 学年第一学期

开 课 单 位 海洋信息工程学院 适用年级、专业 14级机械设计制造及其自动化 课 程 名 称 《单片微型计算机与接口技术-课内实验》 主 讲 教 师 周旋 课 程 序 号 BS1615000_03 课 程 代 码 BS1615000 实 验 名 称 《静态显示技术》 学 号 1416010516 - 17 姓 名 林亦鹏 卢炳荣

静态显示技术实验报告

一、实验目的 1、掌握数码管与单片机的连接方法。 2、掌握段代码表的推算及数据表的使用方法。 3、掌握C语言编程方法。 4、为动态扫描显示做准备。 二、实验内容 实验设备:计算机一台、单片机实验箱一台、Proteus软件、Keil软件。 硬件原理图: 采用共阴数码管,数码管的数据由单片机的P0口提供。 当P0口输出相应的数据,相应的数码管就被点亮。如:P0=00111111B,则数码管最低位显示0。 74LS573这里用于提高P0口的输出电流,驱动数码管显示,并有一定的隔离干扰的作用。 本实验只用到8位数码管的其中一位。 1、打开Keil新建工程:学号-3.uv2。 2、参考实验程序,编写程序:在数码管上最低位显示“1”。生成:学号-3.hex文件。 3、打开下载软件,把学号-3.hex文件烧写到单片机,观察实验现象。 4、修改程序,让数码管最低位由0~F显示。 5、静态显示的工作原理。 6、数码管内部结构、引脚定义及驱动。 7、读懂实验程序。 三、实验结果分析 1.数码管最低位显示“1” #include //--定义你要使用的IO口--// #define GPIO_DIG P0 //--声明全局函数--// void Delay10ms(unsigned int c); //误差 0us //主函数 (1)数码管最低位显示“1” void main(void) { } 2.数码管最低位由0~F显示 (2)数码管最低位由0~F显示 #include //--定义你要使用的IO口--// #define GPIO_DIG P0 //--声明全局函数--// void Delay10ms(unsigned int c); //误差 0us //--定义全局变量--// unsigned char code DIG_CODE[16]={0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07,0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71}; // 0~F的段码 void main(void) { unsigned char i = 0; while(1) { GPIO_DIG = ~DIG_CODE[i]; i++; if(i == 16) { } Delay10ms(50); i = 0; unsigned char i = 0; while(1) { } GPIO_DIG = 0x79;