两位数码管显示
两位数码管动态显示编程常见问题分析
![两位数码管动态显示编程常见问题分析](https://img.taocdn.com/s3/m/56f223be561252d380eb6ef5.png)
两位数码管动态显示编程常见问题分析由于单片机技术的发展,才能使LED七段数码管能够在减少驱动器的情况下直接被驱动。
由于LED数码管显示技术的优势使得它被广泛应用在工业过程控制系统、智能仪表,智能产品等领域。
文章重点介绍了LED(light emission diode)数码管动态显示在编程中的常见问题分析。
标签:单片机;数码管;动态显示;问题分析1 动态显示1.1 动态显示的引入用数码管显示信息时,每个数码管至少需要8个I/O口,如果需要多个数码管,则需要太多的I/O口,而单片机的I/O口是有限的。
在实际应用中,一般采用动态显示的方式解决此问题。
即将所有位数码管的段选线并联在一起,由位选控制端决定数码管的工作状态。
多位数码管显示时应采用动态扫描方式。
1.2 动态显示的原理所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人感觉好像各位数码管同时都在显示。
动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。
2 两位数码管动态显示编程常见问题分析文章主要针对实现两位数码管显示24进制数的功能,即显示的数据范围为00~23。
在PROTEUS中选用的单片机的类型为AT89C51,7个电阻组成的排阻和2位共阴极的数码管。
两位数码管动态显示原理图如图1所示2.1 在KEIL软件使用时易出现的问题(1)在KEIL软件中使用小写的p0~p3。
KEIL软件编程时应注意区分字母的大小写。
在端口P0~P3应用时均使用大写字母,如sbit led=P2 ;因为在“regx51.h”文件中寄存器位置定义分别为“sfr P0= 0x80;”,“sfr P1=0x90;”“sfr P2= 0xA0;”“sfr P3 = 0xB0;”。
(2)添加.c文件不成功。
若是.c文件没有找到指定的存储位置,而是手动输入的名字,则在Keil软件中显示如:。
若是.c文件为空,说明在工程上添加.c 文件不成功。
两位数码管显示设计
![两位数码管显示设计](https://img.taocdn.com/s3/m/672ace8fa45177232f60a2ed.png)
两位数码管显示设计摘要:两位数码管显示设计是基于AT89S52单片机的两位数码管显示系统,通过AT89S52进行控制,用C语言编写了两位数码管循环扫描动态显示的专用程序。
数码管通过共阳极的三极管进行驱动。
电源通过桥堆2W10和7805将通过变压的交流电压变为5V的直流电源。
复位用电容与按键的并联来实现。
时钟用12M的晶振来控制。
通过单片机的片选信号控制数码管的灯管,使其依次点亮,由于人眼有视觉暂留的特性和数码管的余晖效应,而扫描频率足够高,因此人眼是感觉不出数码管的变化的。
关键词:AT89S52 晶振动态扫描显示共阳极数码管复位软件7805 桥堆2W10目录1.设计背景1.1 单片机应用背景 (1)1.2共阳极数码管的显示方法 (1)1.3共阳极数码管的驱动设计 (1)2.设计方案 (1)2.1方案一:共阳极数码管静态显示 (1)2.2方案二:共阳极数码管动态显示 (2)2.3数码管静态与动态显示的优缺点比较 (3)3.方案实施 (3)3.1电源电路设计 (3)3.2复位及震荡电路 (3)3.3单片机接口 (4)3.4软件设计 (4)3.5调试仿真 (6)3.6实物制作 (6)4.结果与结论 (6)4.1结果 (6)4.2结论 (6)5.收获与致谢 (7)6.参考文献 (7)7.附件 (7)7.1元器件清单 (7)7.2硬件原理图 (8)7.3流程图 (8)7.4实物拍照 (9)1.设计背景1.1单片机发展前景目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
双位数码管显示
![双位数码管显示](https://img.taocdn.com/s3/m/5aa4bb8cd0d233d4b14e6931.png)
前言《单片机应用技术》是自动化类专业一门理论较深.实践较强的主干综合专业课,该课程包括检测转换技术,微控技术和可编程控制技术等三大部分。
检测与转换技术主要是实现物理量检测并将被检测的物理量转换成计数机或plc能识别的有效信号,作为控制系统的感知部分。
而微机控制技术和可编程控制技术则在接收感知系统传来的信号技术基础上,根据执行机构的动作要求进行程序编制,形成控制信号,从而驱动动力系统进行各种操作。
单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。
事实上单片机是世界上数量最多的计算机。
现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。
手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。
而个人电脑中也会有为数不少的单片机在工作。
汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。
原理图程序说明数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,h"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
两位数码管显示电路
![两位数码管显示电路](https://img.taocdn.com/s3/m/b86333c23186bceb19e8bbbe.png)
EDA设计论文题目学院专业班级学生姓名指导教师2016年 1 月10 日目录摘要 (3)Abstract (4)第1章绪论 (5)1.1 概述 (5)1.2 设计的目的 (5)1.3 设计的基本内容 (1)第2章 EDA、Verilog HDL简介 (2)2.1 EDA技术 (2)2.1.1 EDA技术的概念 (2)2.1.2 EDA技术的特点 (2)2.1.3 EDA设计流程 (2)2.2 硬件描述语言(Verilog HDL) (7)2.2.1 Verilog HDL简介 (3)2.2.2 Verilog HDL语言的特点 (3)第3章两位数码管的动态显示电路的设计过程 (4)3.1 系统需求分析 (4)3.2 设计原理 (4)3.3 MAXII晶体管说明 (5)3.4 编写代码 (6)3.5 管脚分配 (8)第4章系统仿真 (9)结论 (10)参考文献 (11)附录 (12)致谢 (13)\摘要在信息时代的今天,单片机技术应用越来越广泛,涉及各行各业,也渗透到人们的日常生活之中,如洗衣机、空调、冰箱等的控制系统,就可以用单片机实现。
为了让人们很直观的了解相关设备当前的工作状态,很多时候需要将当前的时间、温度、工作程序等状态通过数码管显示出来,这就涉及到单片机的数码管显示技术。
在实际应用中,单片机的数码管显示,正确、高效应用数码管显示技术设计成功与否的一个关键问题之一。
本文介绍了通过学习版开设计两位数码管的显示十六进制数。
采用汇编进行编程,可以实现从00到FF的十六进制数的循环显示。
在Quartus Ⅱ软件平台上,完成了两位数码管的显示电路的设计。
采用Verilog HDL硬件描述语言描述两位数码管的显示电路,完成对电路的功能仿真。
关键词:两位数码管的显示 Quartus Ⅱ状态机循环AbstractIn the information age today, SCM technology is applied more and more widely, involved in all walks of life, but also penetrate into people's daily life, such as washing machines, air conditioners, refrigerators and other control system, you can with MCU. In order to let people very intuitive understanding of the relevant equipment current state, most of the time to the current time, temperature, and work procedures state through the digital tube display, which involves the MCU digital tube display technology. In practical application, the digital tube display of single chip microcomputer is generally used in dynamic display mode, and it is one of the key problems in the design of dynamic display technology with correct and high efficiency. This paper introduces the dynamic display of the two bit digital tube through the learning version of the sixteen digit number. Assembly for programming, can be achieved from 1 to F sixteen decimal number of automatic display. On Quartus II software platform, the design of dynamic display circuit of two bit digital tube is completed. The HDL Verilog hardware description language is used to describe the dynamic display circuit of two bit digital tube, and the function simulation of the circuit iscompleted.Keywords: Dynamic display of multi bit digital tube Quartus Ⅱ State machine Circulat第1章绪论1.1 概述数码管是一类显示屏通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字能够显示时间、日期、温度等所有可用数字表示的参数。
两位数码管计时0-99 实验
![两位数码管计时0-99 实验](https://img.taocdn.com/s3/m/38c34203eefdc8d377ee3219.png)
{ P31=0; P2=a[y]; P30=1; P30=0; P2=a[x]; P31=1;
} } main() { for(i=0;i<100;i++) { b=i/10; //shiwei
c=i%10; //gewei xianshi(c,b); } }
4
单片机实验报告
上述两种编程语言编写程序的思路基本一致,都是通过修改程序中动态显示的 时长实现显示时长的调节。上述两个程序有一个共同的缺点,那就是无法特别准确 的定时。在计时不要求很准确的场合使用可以,但是在对计时准确性要求较高的场 合使用时,则不是很适合。如果要求显示准确性较高,例如秒表,可以采用定时器 中断的方式修改以上程序。
对于没有 Keil 编程软件的编程者,可以将如下代码存入 HEX 文件中,再将该 HEX 文件下载至单片机或导入仿真软件中。 程序 HEX 代码如下: :0300000002008576 :0C008500787FE4F6D8FD758107020000CA :02000000802E50 :100030007530007830B6640050061145053080F503 :1000400075300080F0E53075F00A84F53185F032C6 :100050007C0A7B0A7AFFC2B190B000C2B0E53293F5A0D2B100DAE7DB3E :10007000E3DCDF22C0F9A4B0999282F880908883F3
两位数码管显示电路
![两位数码管显示电路](https://img.taocdn.com/s3/m/b86333c23186bceb19e8bbbe.png)
EDA设计论文题目学院专业班级学生姓名指导教师2016年 1 月10 日目录摘要 (3)Abstract (4)第1章绪论 (5)1.1 概述 (5)1.2 设计的目的 (5)1.3 设计的基本内容 (1)第2章 EDA、Verilog HDL简介 (2)2.1 EDA技术 (2)2.1.1 EDA技术的概念 (2)2.1.2 EDA技术的特点 (2)2.1.3 EDA设计流程 (2)2.2 硬件描述语言(Verilog HDL) (7)2.2.1 Verilog HDL简介 (3)2.2.2 Verilog HDL语言的特点 (3)第3章两位数码管的动态显示电路的设计过程 (4)3.1 系统需求分析 (4)3.2 设计原理 (4)3.3 MAXII晶体管说明 (5)3.4 编写代码 (6)3.5 管脚分配 (8)第4章系统仿真 (9)结论 (10)参考文献 (11)附录 (12)致谢 (13)\摘要在信息时代的今天,单片机技术应用越来越广泛,涉及各行各业,也渗透到人们的日常生活之中,如洗衣机、空调、冰箱等的控制系统,就可以用单片机实现。
为了让人们很直观的了解相关设备当前的工作状态,很多时候需要将当前的时间、温度、工作程序等状态通过数码管显示出来,这就涉及到单片机的数码管显示技术。
在实际应用中,单片机的数码管显示,正确、高效应用数码管显示技术设计成功与否的一个关键问题之一。
本文介绍了通过学习版开设计两位数码管的显示十六进制数。
采用汇编进行编程,可以实现从00到FF的十六进制数的循环显示。
在Quartus Ⅱ软件平台上,完成了两位数码管的显示电路的设计。
采用Verilog HDL硬件描述语言描述两位数码管的显示电路,完成对电路的功能仿真。
关键词:两位数码管的显示 Quartus Ⅱ状态机循环AbstractIn the information age today, SCM technology is applied more and more widely, involved in all walks of life, but also penetrate into people's daily life, such as washing machines, air conditioners, refrigerators and other control system, you can with MCU. In order to let people very intuitive understanding of the relevant equipment current state, most of the time to the current time, temperature, and work procedures state through the digital tube display, which involves the MCU digital tube display technology. In practical application, the digital tube display of single chip microcomputer is generally used in dynamic display mode, and it is one of the key problems in the design of dynamic display technology with correct and high efficiency. This paper introduces the dynamic display of the two bit digital tube through the learning version of the sixteen digit number. Assembly for programming, can be achieved from 1 to F sixteen decimal number of automatic display. On Quartus II software platform, the design of dynamic display circuit of two bit digital tube is completed. The HDL Verilog hardware description language is used to describe the dynamic display circuit of two bit digital tube, and the function simulation of the circuit iscompleted.Keywords: Dynamic display of multi bit digital tube Quartus Ⅱ State machine Circulat第1章绪论1.1 概述数码管是一类显示屏通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字能够显示时间、日期、温度等所有可用数字表示的参数。
数码管位数
![数码管位数](https://img.taocdn.com/s3/m/6cf87a46f02d2af90242a8956bec0975f465a41e.png)
数码管位数
数码管(Digital Tube)是一种用来显示数字和一些字符的电子元件。
它通常由若干个发光二极管(LED)组成,这些LED被排列成可以显示数字的形状,比如十进制数的“1”到“9”或者十六进制数的“0”到“F”。
数码管可以根据显示的位数分为以下几种:
1. 一位数码管:只能显示一个数字或字符。
2. 两位数码管:可以显示两个数字,通常用于显示十位和个位。
3. 三位数码管:可以显示三个数字,常用于显示百位、十位和个位。
4. 四位数码管:可以显示四个数字,一般用于显示千位、百位、十位和个位。
5. 更多位数:还有更高位的数码管,如五位、六位甚至更多,它们可以显示更复杂的数字或字符组合。
在选择数码管时,需要考虑显示位数的需求以及电路设计的复杂度和成本。
一位数码管最简单,但显示的信息有限;而多位数码管可以显示更多信息,但电路设计相对复杂,并且可能需要更多的驱动逻辑。
1。
两位数码管动态显示
![两位数码管动态显示](https://img.taocdn.com/s3/m/68be3c5df01dc281e53af071.png)
{
uchar i=100;//最大闪烁值为0.15秒
while(1)
{
P0 = 0;//这里让数码管每段不显示,这样可以取掉余晖。
P2 = 6;//点亮第二位数码管(从右往左数)
P0 = table[1];// i值的个位数
Delay(i);
P0 = 0;
P2 = 7;//点亮第一位数码管
/********************************************************************
*文件名:动态显示.c
*描述: 8位数码管低两位交替显示“1,2”
这里是做一个动态的演示实验。
最开始,两个数码管闪烁间隔时间为150豪秒,每闪烁一次,
间隔时间减少2毫秒,当间隔时间小到一定程度的时候,
*名称: Delay_1ms()
*功能:延时子程序,延时时间为1ms * x
*输入: x (延时一毫秒的个数)
*输出:无
***********************************************************************/
void Delay(uint i)
因为人的视觉暂留现象,就不会发现数码管在闪烁了。
*创建人:东流,2012年2月308
***********************************************************************/
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
两位LED数码管自动递减循环显示99--00控制实训(学生版)
![两位LED数码管自动递减循环显示99--00控制实训(学生版)](https://img.taocdn.com/s3/m/d417001859eef8c75fbfb37d.png)
数字99~00自动递减循环显示控制
一、实训目的
1.进一步练习使用STEP7-Micro/WIN编程软件。
2.掌握传送指令、段译码指令、数据运算指令的使用方法。
3.掌握脉冲生成指令的使用方法。
4.进一步掌握计数器的使用方法。
二、实训装置
1.S7-200系列CPU224型PLC 1台
2.安装了STEP7-Micro/WIN编程软件的PC机1台
3.PC/PPI编程电缆1根
4.PLC实训装置1套
5.导线若干
三、实训内容
1.控制要求
①PLC开机后,两个LED数码管的初始状态为全灭。
②当启动开关K闭合后,两个LED数码管显示的数字为“99”;然后每隔1秒两个LED 数码管显示的数字自动减1,直至“00”再显示“99”,如此实现数字“99”至“00”自动递减循环显示。
③当启动开关K断开后,两个LED数码管全灭,不再显示任何数字。
2.I/O分配
3.梯形图
四、实训步骤
1.接线。
①将PLC实训装置输入侧COM0端子接24V电源正极、C0端子接24V电源负极;
②输出侧COM0端子接24V电源正极、C0端子接24V电源负极;
③输出侧COM1端子接24V电源正极、C1端子接24V电源负极;
④将两个“LED”实验板上的电源和a ~ g各段按I/O分配与输出侧相连。
2.开机并新建一个项目。
3.程序录入。
4.编译程序并观察编译结果,若提示错误,则修改,直到编译成功。
5.将程序下载到PLC。
6.运行程序。
观察数字显示是否与控制要求一致,如有错误则停止运行程序,返回修改直至正确。
两位数码管显示
![两位数码管显示](https://img.taocdn.com/s3/m/7222c7faf61fb7360b4c65f0.png)
P3 口是一组带有内部上拉电阻的 8 位双向 I/O 口。P3 口输出缓冲级可驱动(吸
3
收或输出电流)4 个 TTL 逻辑门电路。 RST:复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将
使单片机复位。 XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。
——
EA外部访问允许。
在 keil 下编写并调试好程序,程序转化为 hex 文件烧到此单片机芯片中,P3 口作 为输入输出端口,P2.0 P2.1 口作为位选端口,具有一定功能的程序通过此芯片控制整 个电路。 3.电源电路设计
T0 Trans CT Ideal
D? Bridge1
U2 1 IN
OUT 2
课程设计说明书
课程名称: 单片机原理及应用 设计题目: 两位数码管显示 院 系: 电子信息与电气工程系 学生姓名: 学 号: 专业班级: 指导教师:
14 日
课程设计任务书
设计题目
两位数码管显示设计
学生姓名
所在院系
电子信息与电 气工程系
专业、年级、班
班
设计要求:
1.使用两位数码管显示器,循环显示两位数 00~99;
3.方案实施………………………………………………………3 3.1 硬件电路的实施……………………………………3 3.2 软件的实施……………………………………………5
两位数码管循环显示00
![两位数码管循环显示00](https://img.taocdn.com/s3/m/e6b2407f27284b73f2425098.png)
两位数码管循环显示00~99的实验现在让我们用实验板上的两个数码管来做一个循环显示00~99数字的实验,先来完成必要的硬件部分,数码管有共阴和共阳的区分,单片机都可以进行驱动,但是驱动的方法却不同,并且相应的0~9的显示代码也正好相反。
首先我们来介绍两位共阳数码管的单片机驱动方法,电路如下图:网友可以看到:P2.6和P2.7端口分别控制数码管的十位和个位的供电,当相应的端口变成低电平时,驱动相应的三极管会导通,+5V通过IN4148二极管和驱动三极管给数码管相应的位供电,这时只要P0口送出数字的显示代码,数码管就能正常显示数字。
因为要显示两位不同的数字,所以必须用动态扫描的方法来实现,就是先个位显示1毫秒,再十位显示1毫秒,不断循环,这样只要扫描时间小于1/50秒,就会因为人眼的视觉残留效应,看到两位不同的数字稳定显示。
下面我们再介绍一种共阴数码管的单片机驱动方法,电路如下图:网友可以看到:+5V通过1K的排阻直接给数码管的8个段位供电,P2.6和 P2.7端口分别控制数码管的十位和个位的供电,当相应的端口变成低电平时,相应的位可以吸入电流。
单片机的P0口输出的数据相当于将数码管不要显示的数字段对地短路,这样数码管就会显示需要的数字。
网友可以看到,共阴数码管的硬件更简单,所以在批量生产时,硬件开销小,节省PCB面积,减少焊接工作量,降低综合成本,所以采用共阴数码管更有利于批量生产,现在销售的试验板都是采用共阴数码管了。
以下是用AT89C51实验板的两位数码管显示00~99依次循环的汇编语言程序a_bit equ 20h ;数码管个位数存放内存位置b_bit equ 21h ;数码管十位数存放内存位置temp equ 22h ;计数器数值存放内存位置star: mov temp,#0 ;初始化计数器,从0开始stlop: acall display;调用显示子程序inc temp;对计数器加1mov a,tempcjne a,#100,next ;判断计数器是否满100?mov temp,#0;满100就清零重新开始next: ljmp stlop;不满就循环执行;显示子程序display: mov a,temp ;将temp中的十六进制数转换成10进制mov b,#10 ;10进制/10=10进制div abmov b_bit,a ;十位在amov a_bit,b ;个位在bmov dptr,#numtab ;指定查表启始地址mov r0,#4dpl1: mov r1,#250 ;dplop: mov a,a_bit ;取个位数MOVC A,@A+DPTR ;查个位数的7段代码mov p0,a ;送出个位的7段代码clr p2.7 ;开个位显示acall d1ms ;显示162微秒setb p2.7;关闭个位显示,防止鬼影mov a,b_bit ;取十位数MOVC A,@A+DPTR ;查十位数的7段代码mov p0,a ;送出十位的7段代码clr p2.6 ;开十位显示acall d1ms ;显示162微秒setb p2.6;关闭十位显示,防止鬼影djnz r1,dplop ;循环执行250次djnz r0,dpl1 ;循环执行250X4=1000次ret;2+2X80=162微秒,延时按12MHZ计算D1MS: MOV R7,#80DJNZ R7,$RET;实验板上的7段数码管0~9数字的共阴显示代码numtab: DB 0CFH,03H,5DH,5BH,93H,0DAH,0DEH,43H,0DFH,0DBH end;如果是共阳数码管的显示代码numtab: DB 30H,0FCH,0A2H,0A4H,06CH,25H,21H,0BCH,20H,24H 两位数码管显示00--99依次循环实验设备JS100A,JS200,JS300等仿真器,实验板都可直接实验。
两位数码管显示电路
![两位数码管显示电路](https://img.taocdn.com/s3/m/be0f6f8a83c4bb4cf6ecd15e.png)
EDA设计论文题目学院专业班级学生姓名指导教师2016年 1 月 10 日目录摘要 (I)Abstract (II)第1章绪论 (1)1.1 概述 (1)1.2 设计的目的 (1)1.3 设计的基本内容 (1)第2章EDA、Verilog HDL简介 (2)2.1 EDA技术 (2)2.1.1 EDA技术的概念 (2)2.1.2 EDA技术的特点 (2)2.1.3 EDA设计流程 (2)2.2 硬件描述语言(Verilog HDL) (3)2.2.1 Verilog HDL简介 (3)2.2.2 Verilog HDL语言的特点 (3)第3章两位数码管的动态显示电路的设计过程 (4)3.1 系统需求分析 (4)3.2 设计原理 (4)3.3 MAXII晶体管说明 (5)3.4 编写代码 (6)3.5 管脚分配 (8)第4章系统仿真 (9)结论 (10)参考文献 (11)附录 (12)致谢 (13)\摘要在信息时代的今天,单片机技术应用越来越广泛,涉及各行各业,也渗透到人们的日常生活之中,如洗衣机、空调、冰箱等的控制系统,就可以用单片机实现。
为了让人们很直观的了解相关设备当前的工作状态,很多时候需要将当前的时间、温度、工作程序等状态通过数码管显示出来,这就涉及到单片机的数码管显示技术。
在实际应用中,单片机的数码管显示,正确、高效应用数码管显示技术设计成功与否的一个关键问题之一。
本文介绍了通过学习版开设计两位数码管的显示十六进制数。
采用汇编进行编程,可以实现从00到FF的十六进制数的循环显示。
在Quartus Ⅱ软件平台上,完成了两位数码管的显示电路的设计。
采用Verilog HDL硬件描述语言描述两位数码管的显示电路,完成对电路的功能仿真。
关键词:两位数码管的显示 Quartus Ⅱ状态机循环AbstractIn the information age today, SCM technology is applied more and more widely, involved in all walks of life, but also penetrate into people's daily life, such as washing machines, air conditioners, refrigerators and other control system, you can with MCU. In order to let people very intuitive understanding of the relevant equipment current state, most of the time to the current time, temperature, and work procedures state through the digital tube display, which involves the MCU digital tube display technology. In practical application, the digital tube display of single chip microcomputer is generally used in dynamic display mode, and it is one of the key problems in the design of dynamic display technology with correct and high efficiency. This paper introduces the dynamic display of the two bit digital tube through the learning version of the sixteen digit number. Assembly for programming, can be achieved from 1 to F sixteen decimal number of automatic display. On Quartus II software platform, the design of dynamic display circuit of two bit digital tube is completed. The HDL Verilog hardware description language is used to describe the dynamic display circuit of two bit digital tube, and the function simulation of the circuit iscompleted.Keywords: Dynamic display of multi bit digital tube Quartus ⅡState machine Circulat第1章绪论1.1 概述数码管是一类显示屏通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字能够显示时间、日期、温度等所有可用数字表示的参数。
两位数码管代码
![两位数码管代码](https://img.taocdn.com/s3/m/091dc0fb4128915f804d2b160b4e767f5acf8030.png)
两位数码管代码两位数码管是一种常见的数码显示器件,它由7个发光二极管(LED)组成。
每个发光二极管都能够显示数字0~9中的一个,并且可以通过控制不同发光二极管的亮灭状态来显示不同的数字。
这种数码管被广泛应用于各种显示设备中,如计算器、时钟、电子秤等。
它具有体积小、功耗低、成本低等优点,因此在市场上非常受欢迎。
使用两位数码管进行数字显示,可以通过将两个数码管连接起来,同时控制它们的亮灭状态来显示两位数。
要控制两位数码管显示特定的数字,首先需要将要显示的数字转换为相应的二进制代码,然后通过控制管脚的电平来实现。
每个数码管都有两个控制管脚:一个是公共阳极(COM)管脚,用于控制数码管的亮灭状态;另一个是段选(SEG)管脚,用于选择要显示的数字。
具体的控制方法是,通过控制COM管脚的电平来选择要显示的数码管,然后通过控制SEG管脚的电平来选择要显示的数字。
例如,要显示数字1,需要将COM1管脚拉低,同时将SEG的相应管脚拉高。
这样,数码管的显示部分就会亮起,显示数字1。
当要显示多位数时,只需要按照以上步骤逐个控制数码管即可。
例如,要显示数字23,先将COM1管脚拉低,SEG管脚按照数字2的二进制代码控制,接着将COM2管脚拉低,SEG管脚按照数字3的二进制代码控制。
这样,两位数码管就能够显示数字23了。
除了可以显示数字外,两位数码管还可以显示一些字母、符号和其他特殊字符,这是通过将相应的二进制代码控制到SEG管脚实现的。
这样,人们可以通过两位数码管来满足不同场景下的显示需求,增强用户体验。
在使用两位数码管的过程中,需要注意的是正确连接数码管的电源和控制线,以及正确控制管脚的电平。
此外,还需要根据具体的显示需求,编写相应的代码来控制数码管的亮灭。
只有保证了这些关键步骤的正确执行,才能够正常地使用两位数码管,并实现预期的显示效果。
总之,两位数码管作为一种常见的数码显示器件,具有广泛的应用前景。
它不仅体积小巧、功耗低,还能够通过简单的控制方式实现数字、字母、符号等多种字符的显示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计说明书课程名称:《单片机技术》设计题目:两位数码管显示设计学院:电子信息与电气工程学院学生姓名:学号:专业班级:指导教师:2014年6 月13日课程设计任务书两位数码管显示摘要:两位数码管显示设计是基于AT89S52单片机的两位数码显示系统,通过AT89S52进行控制,利用汇编语言编写两位数码管循环扫描动态显示的专用程序来实现两位数码管动态显示系统。
系统主要由电源模块、复位模块、外部时钟电路模块、数码管显示模块构成。
电源电路通过桥堆2W10和三端稳压器7805将交流电压变为5V的直流电压。
复位电路由电容与按键的并联来实现。
时钟通过外部12M的晶振来控制。
两位数码管显示由两个共阳极的三极管进行驱动。
将汇编语言编写的两位数码管动态显示程序写入单片机,使数码管相应段点亮,同时利用人眼的视觉暂留的特性和数码管的余辉效应,在扫描频率足够高时,人眼无法感觉数码管的变化,从而实现数码管的动态显示。
关键词:AT89S52;两位数码管;7805;2W10;动态显示目录1.设计背景 (1)1.1单片机的应用背景 (1)1.2共阳极数码管的显示方法 (1)1.3共阳极数码管的驱动设计 (1)2.设计方案 (1)2.1方案一:共阳极数码管静态显示 (1)2.2方案二:共阳极数码管动态显示 (2)2.3数码管静态与动态显示的优缺点比较 (3)3.方案实施 (3)3.1电源电路设计 (3)3.2复位及震荡电路 (4)3.3单片机接口 (4)3.4软件设计 (4)3.5调试仿真 (6)4.结果与结论 (7)4.1设计结果 (7)4.2设计结论 (7)5.收获与致谢 (7)6.参考文献 (8)7.附件 (8)1.设计背景1.1单片机的应用背景在信息时代的今天,单片机技术应用越来越广泛,涉及各行各业,几乎很难找到哪个领域没有单片机的踪迹。
如洗衣机、空调、冰箱等的控制系统,就可以用单片机实现。
为了让人们很直观的了解相关设备当前的工作状态,很多时候需要将当前的时间、温度、工作程序等状态通过数码管显示出来,这就涉及到单片机的数码管显示技术。
导弹的导航装置,飞机上的各种仪表控制工业自动化过程的实时控制和数据处理等都离不开单片机。
因此单片机的学习、开发和应用将造就一批计算机应用与智能化控制的科学家、工程师。
1.2共阳极数码管的显示方法LED数码管是单片机控制系统中最常见的显示器件之一,一般用来显示处理结果或输入输出信号的状态。
数码管显示是一个系统工程中必不可少的人机交换环节因此关于数码管的驱动也就是系统工程中的一个重要环节。
数码管的驱动分为动态驱动和静态驱动两种。
所谓静态驱动,就是指无论多少位LED数码管,都同时处于显示状态。
动态显示数码驱动是指无论在任何时刻只有一个LED数码管处于显示状态,及单片机采用“扫描”方式控制各个数码管轮流显示。
1.3共阳极数码管的驱动设计将数码管每个LED灯对应单片机的一个I/O口。
通过单片机的P口来控制LED灯的亮和灭。
I/O口之间互相独立,需要用I/O口直接控制LED。
动态显示将数码管的每个引脚一对一连接在一起接单片机的的数据,而将各个数码管的公共端单独送至单片机的I/O口进行片选。
此外,在此基础上用单片机与三极管共同驱动数码管,从而实现数码管的动态显示。
2.设计方案2.1方案一:共阳极数码管静态显示静态显示,就是每一个数码管显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。
这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种办法单片机中CPU的开销小。
能供给单独锁存的I/O接口电路很多,各数码管的公共极固定接有效电平,各数码管的字形控制端分别由各自的控制信号控制。
LED显示亮度温度,容易调节,编程容易,工作时占用CPU时间短。
但若直接用单片机输出各位数码管的字形信号时,占用单片机的I/O口线较多。
一般仅适用于显示位数较少的应用场合。
静态显示电路如图2.1所示。
图2.1静态显示接线图2.2方案二:共阳极数码管动态显示动态显示是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。
这样,就没有必要每一位数码管接一个锁存器,从而大大简化了硬件电路。
亮数码管采用动态显示扫描,所谓动态扫描显示即轮流向各位数码管送出字型码和相应位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像是各位数码管同时都在显示,动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。
缺点是随着显示位数的增多,也将占用大量的CPU时间,因此动态显示的实质是以牺牲CPU时间来换取器件的减少。
数码管动态显示电路如图2.2所示。
图2.2动态显示接线图2.3数码管静态与动态显示的优缺点比较静态显示方式简单不容易出错,如果电路设计合适,也能够用较少的线完成多个数码管的显示。
但与动态相比,动态更为简单。
本设计要求循环显示,而且要显示两位不同的数字,所以必须用动态扫描的方法来实现,即采用动态显示的方式,就是先个位显示1毫秒,再十位显示1毫秒,不断循环,这样只要扫描时间小于1/50秒,就会因为人眼的视觉残留效应,看到两位不同的数字稳定显示。
各位数码管的字形控制端对应地并在一起,由一组I/O端口进行控制,各位的公共极相互独立,分别由不同的I/O控制信号控制。
动态显示的优点:节省I/O端口线,动态显示的缺点显示亮度不够稳定,影响因素较多;编程较复杂,占用CPU时间较多。
3.方案实施3.1电源电路设计外接交流电源经过变压通过桥堆2W10和7805时,经C1,C2,C3,C4对电源进行滤波,实现交流电压变为5V的直流电压,从而直接给单片机提供正常的工作电压。
电源电路如图3.1所示。
图3.1电源电路3.2复位及震荡电路复位用电容及按键并联实现,将它们并联在一起,一端接高电平,一端接地,从而实现高电平复位的功能。
时钟用12M晶振来组成振荡电路,来对单片机对数码管的动态扫描。
晶振及振荡电路如图3.2所示。
图3.2晶振与震荡电路3.3单片机接口单片机采用P2口的I/O来控制数码管的各个引脚复位按键接到引脚9上,数码管的位选通过三极管和电阻分别与单片机的引脚38和39相连,晶振与单片机的引脚18和19连接,高电平与40引脚相连接供电,20引脚直接接地。
3.4软件设计用汇编语言编写数码管显示专用程序通过程序控制数码管从00显示到99然后再回到00.若在计数期间遇到复位高电平出现时,便重新从00开始计数。
程序如下:org 0000hajmp mainorg 000bhajmp itoporg 0030hmain:mov TMOD,#01hmov 20h,#14hclr Amov 40h,Amov 41h,Asetb ET0setb EAmov TH0,#0achmov TL0,#0b0hsetb TR0here:mov dptr,#tabmov A,40hmovc A,@a+dptrsetb P0.1mov P2,Aclr P0.0acall dl1mov A,41hmovc A,@A+dptrsetb P0.0mov P2,Aclr P0.1acall dl1sjmp hereitop:push pswpush ACCmov TH0,#0achmov TL0,#0b0hdjnz 20h,returnmov 20h,#14hmov A,#01hadd A,41hmov 41h,Acjne A,#10,returnmov 41h,#00hmov A,#01hadd A,40hmov 40h,Acjne A,#10,returnmov 40h,#00hreturn:pop ACCpop pswretidl1:mov r7,#200dl: mov r6,#250dl6:djnz r6,dl6djnz r7,dlrettab:db 0c0h,0f9h,0a4h,0b0h,099h,092h,082h,0f8h,080h,090hend3.5调试仿真先检查原件,检查电路板线路是否有短路或开路。
检查没发现问题,然后进行焊接。
焊接完毕后,接上电源,将程序考入单片机进行调试,发现不亮,后来经检查缺少一根线,然后进行加线焊接,能够工作。
4.结果与结论4.1设计结果经过不同的方案分析、比较和取舍。
然后经过原理图的设计与仿真,在经过电路板的焊接,软件调试等环节的操作,最终实现了让数码管在单片机的控制下循环显示两位数00—99.在正常计数的情况下,按下复位键从新从00开始计数,最终结果与预想结果一致。
4.2设计结论在keil软件下多次调试得到满足要求的程序,把编好的程序转化hex文件烧到AT89S52芯片中,经过精心制作实物,得到能够动态循环显示数字00—99的实物电路。
本设计由于采用数码管的动态显示,数码管的亮度不如静态显示的亮度高,采用两个数码管的显示,所以亮度只有静态显示时的一半;如果刷新率较低会出现闪烁现象;如果数码管直接与AT89S52相接,软件控制上会比较麻烦。
因此本设计采用AT89S52与电阻相连后再与数码管相连,采用12MHZ频率晶振电路。
5.收获与致谢通过两周的单片机课程实习,提高了自己用汇编语言编写程序的能力,对汇编语言有了更深的理解,通过自己绘制硬件连接原理图,增强了自己的电路设计能力,同时学会了protues和keil软件的基本使用,更重要的是加强了自己的团队合作和动手实践的能力,然后就是对科学要有一种严谨的作风,要认真,稍微的不慎都会导致之后工作的大麻烦,很可能要重新做。
最后,首先要感谢我的合作伙伴,所有的成果都是在我们组员齐心协力下完成的,感谢我的指导老师给予我指导与帮助,更应该感谢的是学校能给我们这次理论联系实践的机会以及给予我们物质上的大力支持,在这里我最衷心的谢谢你们!6.参考文献[1] 张毅. 单片机原理及应用.高等教育出版社,2009.11[2] 杜树春.单片机C语言和汇编语言混合编程实例详解.北京:北京航空航天大学出版社,2006.6[3] 童诗白.模拟电子技术基础(第四版).北京:高等教育出版社,2006.5[4] 林之琦.基于Proteus的单片机可视化软硬件仿真.北京:北京航空航天大学出版社,20067.附件附件:元器件清单原理图PCB图实物图。