单片机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语言的命令语句的使用方法,这是第四次
单片机c语言数码显示实验报告,单片机动态显示技术实验报告.doc相关推荐
- 单片机c语言数码显示实验报告,单片机c语言版数码动态显示实验报告.doc
单片机c语言版数码动态显示实验报告 数码管动态显示实验一.实验要求在Proteus软件中画好51单片机最小核心电路,包括复位电路和晶振电路在电路中增加四个7段数码管(共阳/共阴自选),将P1口作数据输 ...
- 单片机c语言数码管程序,51单片机C语言程序(三)数码管
程序一 利用动态扫描方法在六位数码管上显示出稳定的654321. 时钟频率为11.0592M #include //52单片机头文件 #include //包含有左右循环移位子函数的库 #define ...
- 【51单片机】七段数码管和矩阵键盘的综合实验——计算器(思路+仿真电路+源代码)
系列文章目录 [51单片机]矩阵键盘逐行扫描法仿真实验+超详细Proteus仿真和Keil操作步骤 [51单片机]点阵LED的显示实验 [51单片机]七段数码管显示实验+详细讲解 [51单片机]矩阵键 ...
- 计算机仿真技术应用报告,计算机仿真技术实验报告-实验二
计算机仿真技术实验报告-实验二 (7页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 <仿真技术与应用>实验报告计算机仿真技术实验 ...
- 单片机c语言数码管显示循环0到9程序,七段数码管0~9循环显示程序
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 编写程序实现80C51的P0口控制一个数码管显示,让它循环显示0~9等十位数字,时间间隔为1秒钟. 利用查表程序可以完成BCD与七段码的转换,从而取代硬件 ...
- 单片机c语言数码管显示子程序,单片机C语言之两位数码管动态显示
<单片机C语言之两位数码管动态显示>由会员分享,可在线阅读,更多相关<单片机C语言之两位数码管动态显示(1页珍藏版)>请在人人文库网上搜索. 1.include #define ...
- 51单片机c语言io口程序,51单片机IO口直接驱动LED数码管方法
1.实验任务 如图13所示,利用AT89S51单片机的P0端口的P0.0-P0.7连接到一个共阴数码管的a-h的笔段上,数码管的公共端接地.在数码管上循环显示0-9数字,时间间隔0.2秒. 2.电路原 ...
- 51单片机c语言共阳断码表,单片机的共阴共阳8段码的原理及显示代码
描述 共阴极数码管 1.共阴极数码管的结构 共阴极数码管是把所有led的阴极连接到共同接点com,而每个led的阳极分别为a.b.c.d.e.f.g及dp(小数点),如下图所示.图中的8个led分别与 ...
- 单片机c语言数字频率计课程设计,基于单片机的数字频率计设计开题报告.doc
基于单片机的数字频率计设计开题报告.doc 皖西学院本科毕业设计(论文)开题报告学院信息工程学院专业通信工程学生姓名裴晓晴学号2010013513指导教师傅思勇职称助教毕业设计(论文)题目基于单片机的 ...
最新文章
- 在VMware虚拟机下安装ubuntu16.04,及hackrf one环境配置
- 在人工智能时代下,如何让券商的数据做到“快准稳”
- 注册自定义HTTP Handlers
- 先锋展示了可爱鸟形车载机器
- JDBC连接(MySql)数据库步骤,以及查询、插入、删除、更新等十一个处理数据库信息的功能。...
- 大神程序员都懂英文翻译,而你却因英语不行遭拒?
- Centos 7 安装 PostgreSQL
- 混沌数学之Rössler(若斯叻)吸引子
- 记一次pthread_cancel_init段错误分析(bpftrace)
- 【agc004d】Teleporter
- 再谈JavaScript时钟中的16ms精度问题.
- 常见的扫描类型有以下几种:Nmap的SYN、Connect、Null、FIN、Xmas、Maimon、ACK
- 使用dx命令在cmd环境下执行的正确方法,我用的版本android4.4.2,jdk1.8
- 【HANA系列】SAP HANA XS使用Odata标志全解析
- 搜狗词库合集分享_Rime小狼毫
- GB / ISO / 等保 网络安全相关标准法规
- 怎么把电脑图片转文字?只需这几步就可以截图转文字
- Sqlite可视化工具sqliteman安装
- 请检查下面的程序,找出其中的错误并改正,然后上机调试,使之能正常运行,从键盘输入,检查输出
- python数据分析:会员数据化运营(中)——RMF分析
热门文章
- jQuery学习整理 (12)
- C# new和override的区别和用途
- java jnlp被阻止_JNLP应用程序Web服务访问被拒绝 - java.io.FilePermission
- html选择文件夹插件,js/jq仿window文件夹框选操作插件
- mysql 服务无法启动 没有报告任何错误_My SQL学习之路(一)
- git回滚到某一个commit
- np合并 python_这15个tips,带你领略 Python 的简洁和优雅
- linux睿频是自动的吗,Linux限制cpu睿频限制频率
- python基础内容_python基础-python介绍
- java fx listview,JavaFX 8自定义ListView单元它是邪恶的