c语言实现7段数码管显示,七段数码管显示实验.doc
七段数码管显示实验
单
片
机
实
验
报
告
实验九 七段数码管显示实验
实验目的
学习七段数码管的工作原理;
学习数码管与8051单片机的接口方法;
掌握动态扫描显示技术。
实验原理
如图4.9-1所示,LED数码管由7个发光二极管组成,此外,还有一个圆点型发光二极管(在图中以dp表示),用于显示小数点。通过七段发光二极管亮暗的不同组合,可以显示多种数字、字母以及其它符号。LED数码管中的发光二极管共有两种连接方法:
共阴极接法:把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接地,这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不点亮。实验中使用的LED显示器为共阴极接法
共阳极接法:把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接+5V。这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不点亮。
为了显示数字或符号,要为LED显示器提供代码,因为这些代码是为显示字形的,因此称之为字形代码。七段发光二极管,再加上一个小数点位,共计八段。因此提供给LED显示器的字形代码正好一个字节。若a、b、c、d、e、f、g、dp 8个显示段依次对应一个字节的低位到高位,即D0、D1、D2、D3、D4、D5、D6、D7,则用共阴极LED数码管显示十六进制数时所需的字形代码如表4.9-1所示。
表4.9-1 共阴极LED数码管字形代码
字型共阴极字形代码字型共阴极字形代码字型共阴极字形代码03FH67DHC39H106H707Hd5EH25BH87FHE79H34FH96FHF71H466HA77H灭00H56DHb7CH*实际上试验中使用的是共阳极数码管,这里就不一一列出。
2、动态显示
按图4.9-2(b)连接线路,通过交替选中LED1和LED0循环显示两位十进制数。七段数码管段码连接不变,位码驱动输入端S1、S0接8255A C口的PC1、PC0,通过C口的这两位交替输出1和0,以便交替选中LED1和LED0,从而实现两位十进制数的交替显示。请编程实现在两个LED数码管上循环显示00(99,程序流程图如图4.9-3(b)所示。
实验电路图
第一部分电路图:
第二部分电路图:
实验设备
微型计算机、单片机仿真器、实验仪、示波器(各一台);
实验连线(若干)。
实验内容
*由于汇编语言程序中已经做了相应的注释,C语言的编程原理与之相同处不再做重复注释,仅作个别注释,请见谅。
编程在8位数码管上面显示8个数字,每经过1秒8个数字循环左移一位显示。依次为:123457834567812.......
汇编语言程序代码:
ORG0000H
START:
MOVR4,#00H
FLASH:
MOVR2,#01H
MOVR0,#30H
MOVDPTR,#TABFLA;把字形表首地址给外部寻址寄存器
LOPFLA:
MOVA,R2;输出位型
MOVP2,A
MOVA,@R0
MOVCA,@A+DPTR ;在程序段中查表得到字形
MOVP1,A;输出字形
MOVR3,#0
DJNZR3,$ ;循环等待延时
MOVP1,#0FFH;关显示
MOVA,R2;位型左移一位
RLA
MOVR2,A
INCR0;下一个字形
CJNER0,#38H,GOON
MOVR0,#30H
GOON:
CJNEA,#01H,LOPFLA;若已经显示一遍则初始化
INCR4
CJNER4,#7FH,GOON1
MOVA,30H;显示表左移更新
MOV30H,31H
MOV31H,32H
MOV32H,33H
MOV33H,34H
MOV34H,35H
MOV35H,36H
MOV36H,37H
MOV37H,A
MOVR4,#00H
GOON1:
AJMPFLASH
TABFLA:;字形表
DB0C0H,0F9H,0A4H,0B0H,99H
DB92H,82H,0F8H,80H,90H,88H
DB 83H,0C6H,
c语言实现7段数码管显示,七段数码管显示实验.doc相关推荐
- java七段数码管_05 七段数码管的实现
练习:七段数码管的实现.知识点:turtle库的使用 实现思路: 单个数字数码管的绘制实现 多个数字数码管的绘制实现 根据当前系统时间绘制数码管 那七段数码管的样子是什么样呢,咱来看图1分析下 图1: ...
- 使用Qt实现米字段数码管十七段数码管LED数码管控件
1.支持阿拉伯数字及26位拉丁字母 2.没有小数点数量限制 3.没有位数限制,可自由增减 4.支持设置前景背景颜色
- 数码管在c语言中显示时间,如何利用单片机数码管程序模拟是时钟显示时间?...
数码管是一种半导体发光器件,其基本单元是发光二极管.数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元,也就是多一个小数点(DP)这个小数点可以更精确的表示数码管想要 ...
- 接口技术七段数码管c语言,031 实例7-七段数码管绘制
[TOC] 一."七段数码管绘制"问题分析 1.1 问题分析 七段数码管 需求:用程序绘制七段数码管,似乎很有趣 该怎么做呢? turtle绘图体系 --> 七段数码管绘制 ...
- FPGA基础知识极简教程(9)七段数码管显示的Verilog简单设计
博文目录 写在前面 正文 七段数码管原理 七段数码管译码表 单个七段数码管显示verilog设计 多个数码管动态扫描显示 参考资料 交个朋友 写在前面 作为FPGA的基础知识教程怎么能少得了这个简单的 ...
- 【51单片机】七段数码管显示实验+详细讲解
[51单片机]七段数码管显示实验 前言 一.兵马未动,粮草先行--认识七段数码管 1.关于显示器 2.七段数码管 3.七段数码管的结构 4.数码管显示方法 二.数码管显示程序 1.静态显示 效果 2. ...
- Logisim之4位全加器实现以及七段数码管显示
Logisim之4位全加器实现以及七段数码管显示 文章目录 Logisim之4位全加器实现以及七段数码管显示 一.基本构成 二.构建四位全加器 1.构建一位全加器 2.通过一位全加器构建四位全加器 三 ...
- python七段数码管设计图案-Python 七段数码管绘制
数码管是一种半导体发光器件,数码管可分为七段数码管和八段数码管,区别在于八段数码管比七段数码管多一个用于显示小数点的发光二极管单元DP(decimal point).它价格便宜.使用简单,通过对其不同 ...
- Python——七段数码管绘制
基本概念 七段数码管:七段数码管( seven-segment indicator)由 7 段数码管拼接而成,每段有亮或不亮两种情况,改进型的七段数码管还包括一个小数点位置. 源代码 版本一 # Dr ...
最新文章
- MySQL基础之 存储引擎
- ORACLE学习笔记--性能优化2
- 大工13秋《专业英语(计算机英语)》在线测试2,大工13秋《专业英语(计算机英语)》在线测试2答案...
- Windows 版Oracle 19c 下载安装步骤及细节(Oracle数据库下载)
- CMMI3学习之路(一):在质疑与挣扎中偶然发现她竟是如此美丽
- 慧荣SM2258XT、SM2259XT量产工具开启“忽略区分等级”功能
- ElasticSearch分词近义词
- OnTime pro for mac(多功能时钟工具)
- MySQL中的竖列变横列
- 华大单片机HC32L130使用内部RCH时钟源倍频24M外设PCLK到48M
- 阿里M8级大神整理出SQL手册:收获不止SQL优化,抓住SQL的本质
- 获取163联系人名字和邮箱地址
- Android自定义library上传到JitPack
- [Usaco2008 Open]Crisis on the Farm 牧场危机
- linux安装及启动nsq流程
- 还在用原生Tensorflow吗?试试TF-Slim吧
- 网络重置后没有wifi连接解决办法
- MySQL数据类型选择
- python安装pandas
- 易语言保存txt记录至c盘,易语言超级列表框导入TXT文本后修改保存和新增记录...
热门文章
- makefile obj文件路径_一个简单makefile(指定obj文件位置) | 学步园
- Java基础:volatile详解
- 发那科2021参数_三菱发那科常用参数对照表
- matlab矩阵 代表什么,matlab中矩阵AB是什么意思
- 基于BM1684移植YOLOV7
- 图书馆下午四点关门,我深刻检讨
- 锐龙r5 6600g处理器怎么样 r7 6700g核显相当于什么显卡
- opencv存入数据库图片入门笔记
- CSS 单词换行 word-break属性
- openwrt路由器接华为E3372(E8372)网卡实现4G转有线和WIFI