单只数码管循环显示0~9上课讲义
- 格式:doc
- 大小:75.00 KB
- 文档页数:5
《单片机原理及应用课程设计》报告——单只数码管循环显示设计专业:班级:姓名:学号:2012年5月1.课程设计目的1.1巩固和加深对单片机原理和接口技术知识的理解;1.2培养根据课题需要选学参考书籍、查阅手册和文献资料的能力;1.3学会方案论证的比较方法,拓宽知识,初步掌握工程设计的基本方法;1.4掌握常用仪器、仪表的正确使用方法,学会软、硬件的设计和调试方法;1.5能按课程设计的要求编写课程设计报告,能正确反映设计和实验成果,能用计算机绘制电路图和流程图。
2.课程设计要求2.1单只数码管循环显示0~93.硬件设计3.1 设计思想1、数码管实际上是由7个发光二极管组成一个8字形,另外一个发光二极管做成圆点型,这样就构成了一个数码管。
所有的8个二级管的正极或者负极都连到一个公共端点上,对于公共端连在正极的数码管,称为共阳极数码管,反之称为共阴极数码管。
根据数码管的内部结构原理,可以很清楚的知道数码管显示数字的原理。
2、由于单片机的IO口的驱动能力有限,而数码管点亮时需要较大的电流,所以在用单片机构成数码管显示系统时,需要增加驱动电路,最简单的驱动电路就是利用三极管的电流放大能力来输出较大的电流,3、让数码管显示数字的步骤为:1)使数码管的公共端连到电源(共阳极)或者地(共阴极)上。
2)向数码管的各个段输出不同的电平。
3.2主要元器件介绍1. AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
成都理工大学工程技术学院单片微机原理及应用课程设计《一位LED数码管显示0-9》学生姓名:学号:专业:班级:指导教师:完成日期:目录一实验目的与任务 (2)二实验要求 (2)三实验内容 (2)四元器件清单 (2)五LED数码管的结构及工作原理 (2)六关于PLC控制LDE介绍 (4)七原理图绘制说明 (5)八流程图绘制以及说明 (9)九电路原理图与仿真 (10)十源程序 (12)十一心得体会 (12)十二参考文献 (13)一、实验与任务结合实际情况,编程设计、布线、程序调试、检查与运行,完成一个与接近实际工程项目的课题,以培养学生的实际操作能力,适应生产一线工作的需要。
做到能检查出错误,熟练解决问题;对设备进行全面维修。
通过实训对PLC的组成、工作原理、现场调试以及基于网络化工作模式的基本配置与应用等有一个一系列的认识和提高。
利用51单片机、1个独立按键及1位7段数码管等器件,设计一个单片机输入显示系统,要求每按一下独立按键数码管显示数据加1(数码管初始值设为0,计到9后再加1 ,则数码管显示0)。
本次设计采用12MHz的晶体振荡器为单片机提供振荡周期,外加独立按键,复位电路和显示电路组成。
二、实验要求1、了解七段LED数码管的结构、分类以及数码管的显示码。
2、学习1位LED数码管静态显示与动态显示的编程方法。
3、掌握可编程序控制器技术应用过程中的一些基本技能。
4、了解可编程控制器的装备、调试的全过程。
三、实验内容1、练习设计、连接、调试控制电路;2、学习PLC程序编程;四、元器件清单从PROTUES库中选择元器件(1)AT89C51;单片机。
(2)RES、RX8;电阻、8排阻。
(3)7SEG-COM-CAT-BLUE;带公共端共阴极七段蓝色数码管。
(4)CAP/CAP-ELEC;电容、电解电容。
(5)CRYSTAL:晶振。
五、LED数码管的结构及工作原理led数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。
项目一:单只数码管循环显示0~9一、设计要求:用汇编语言编写程序实现51单片机控制1只数码管,循环显示0~9。
并用仿真软件仿真出实验结果。
最后,用51单片机开发板实现一支数码管循环显示0到9。
二、设计原理:数码管显示原理:我们最常用的是七段式和八段式LED数码管,八段比七段多了一个小数点,其他的基本相同。
所谓的八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。
数码管又分为共阴极和共阳极两种类型,其实共阴极就是将八个LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。
而共阳极就是将八个LED的阳极连在一起。
其原理图如下。
其中引脚图的两个COM端连在一起,是公共端,共阴数码管要将其接地,共阳数码管将其接正5伏电源。
数码管的8段,对应一个字节的8位,a对应最低位,dp对应最高位。
所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111,即0x3f;共阳数码管的字符编码为11000000,即0xc0。
可以看出两个编码的各位正好相反。
本实验用到的共阳极0到9编码:0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HP0口:P0.0—P0.7: 双向I/O (内置场效应管上拉),寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。
PO结构图如下:四、设计仿真图:五、源代码:ORG 0000HSJMP MAINORG 030HMAIN: MOV R1,#00HMOV A,R1D1: ANL A,#0FHMOV DPTR,#TABMOVC A,@A+DPTR ;查表MOV P0,A ;P0口输出,显示数字ACALL DELAYINC R1MOV A,R1 ;A加1CJNE A,#10,D1 ;判断A是否到达10LJMP MAIN ;当A达到10跳回主函数,重新赋值为0 DELAY: MOV R2,#05H ;延时D2: MOV R3,#0FFHD3: MOV R4,#0FFHDJNZ R4,$DJNZ R3,D3DJNZ R2,D2RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;数值1到9的共阳极编码END 六、结果:数码管循环显示0、1、2、3、4、5、6、7、8、9。
单片机课程设计姓名:陈素云班级:09电力方向2班学号:2设计题目:按键控制1位LED数码管显示0-9 设计要求:通过单片的I/O口与LED数码管所构成的单片机系统的软件编程,使学生掌握简单的单片机系统的设计,同时初步学全用汇编语言和C语言两种方式编程的基本方法。
学生必须采用单片机AT89C51为LED显示屏的控制为核心,分别置“1”或“0”,让某些段的LED 发光,其它的熄灭,然后达到显示不同的字符和图符号的目的. 学生根据前期设计的步骤按照设计报告内容的具体要求,选择前期设计的一个典型题目,写出详尽的课程设计报告,重点内容包括方案论证、完整的电路图、软件系统流程图及开发程序、组装调试内容和总结等。
目录第1节引言 (3)1.1 LED数码显示器概述 (3)1.2 设计任务 (5)1.3设计目的 (6)第2节AT89C51单片机简介 (6)2.1 AT89C51单片机 (6)2.2 单片机管脚图 (7)2.3管脚说明 (7)2.4振荡器特性 (9)第3节设计主程序与硬件电路设计 (9)3.1设计的主程序 (10)3.2系统程序所需硬件 (10)3.2.1所需的硬件 (10)3.2.2所需硬件的结构图 (11)3.3 硬件电路总连接图 (12)第4节程序运行过程 (12)4.1分析步骤 (12)4.2 程序执行过程 (13)第5节程序运行结果 (13)总结参考文献第1节引言还记得我们小时候玩的“火柴棒游戏”吗,几根火柴棒组合起来,能拼成各种各样的图形,LED数码管显示器实际上也是这么一个东西。
在单片机系统中,常常用LED数码数码管显示器来显示各种数字或符号。
LED 数码显示器是单片机嵌入式系统中经常使用的显示器件。
一个“8”字型的显示模块用“a、b、c、d、e、f、g、h” 8 个发光二极管组合而成。
每个发光二极管称为一字段。
LED 数码显示器有共阳极和共阴极两种结构形式。
由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。
单只数码管循环显示0-9报告设计题目:单只数码管循环显示0~9设计要求:单片机控制1只数码管,循环显示0~9需求分析:本设计要求单只数码管循环显示0~9,这里采用的是共阴极数码管。
让数码管显示数字的步骤为:1)使数码管的公共端接地(共阴极)上。
2)将显示码送到单片机的P0口,向数码管的各个段输出不同的电平,使单个数码管循环显示0-9这10个数字。
复位电路:在上电或复位过程中,控制CPU的复位状态:这段时间让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。
无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。
而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。
许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。
基本的复位方式单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。
89系列单片机的复位信号是从RST引脚输入到芯片的施密特触发器中的。
当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。
设计原理:一、数码管显示原理我们最常用的是七段式和八段式LED数码管,八段比七段多了一个小数点,其他的基本相同。
所谓的八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。
数码管又分为共阴极和共阳极两种类型,其实共阴极就是将八个LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。
而共阳极就是将八个LED的阳极连在一起。
其原理图如下。
其中引脚图的两个COM端连在一起,是公共端,共阴数码管要将其接地,共阳数码管将其接正5伏电源。
一个八段数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选线(即a,b,c,d,e,f,g,dp)连在一起,而各自的公共端称为位选线。
电子信息工程学院电子设计应用软件训练任务【训练任务】:1、熟练掌握PROTEUS软件的使用;2、按照设计要求绘制电路原理图;3、能够按要求对所设计的电路进行仿真;【基本要求及说明】:1、按照设计要求自行定义电路图纸尺寸;2、设计任务如下:利用51单片机、BCD译码芯片和两位LED构成一个数码管扫描显示系统,两个数码管同时循环显示0~9。
3、按照设计任务在Proteus 6 Professional中绘制电路原理图;4、根据设计任务的要求编写程序,在Proteus下进行仿真,实现相应功能。
【按照要求撰写总结报告】指导教师年月日负责教师年月日学生签字年月日成绩评定表摘要该专业是前沿学科,现代社会的各个领域及人们日常生活等都与电子信息技术有着紧密的联系。
全国各地从事电子技术产品的生产、开发、销售和应用的企事业单位很多,随着改革步伐的加快,这样的企事业单位会越来越多。
为促进市场经济的发展,培养一大批具有大专层次学历,能综合运用所学知识和技能,适应现代电子技术发展的要求,从事企事业单位与本专业相关的产品及设备的生产、安装调试、运行维护、销售及售后服务、新产品技术开发等应用型技术人才和管理人才是社会发展和经济建设的客观需要,市场对该类人才的需求越来越大。
为此电子信息工程专业的人才有着广泛的就业前景,毕业生可从事电子设备、信息系统和通信系统的研究、设计、制造、应用和开发工作。
目录一、任务说明 (1)1.1 专业介绍 (1)1.2 专业背景与市场预测 (1)1.3 本课题分析 (1)二、绘制原理图 (2)2.1 Proteus软件介绍 (2)2.2 原理图绘制说明 (2)2.3 原理图绘制步骤 (3)三、程序编译说明及程序流程图 (6)3.1 Main程序说明 (6)3.2 初始化子程序说明 (6)3.3 display(uchar tmp)子程序说明 (7)3.4 延时子程序说明 (8)3.5 中断子程序说明 (9)四、Proteus仿真说明 (11)4.1 导入仿真文件 (11)4.2 进行仿真 (12)五、课程设计体会及合理化建议 (14)致谢 (16)一、任务说明1.1专业介绍电子信息工程是一门应用计算机等现代化技术进行电子信息控制和信息处理的学科,主要研究信息的获取与处理,电子设备与信息系统的设计、开发、应用和集成。
单只数码管循环显示0~9【任务】在单个数码管上循环显示数字0~9,实现类似于计时(或计数)显示的功能。
【硬件平台】在51单片机最小系统的基础上,以端口P0控制一个七段数码管。
为提高驱动能力,增加了上拉排阻RP1(10k)。
【编程思路】因为这里使用了共阴数码管,所以当P0端口相应引脚为高电平时,点亮相应的数码段。
0~9的段码按相同的时间间隔从单片机内存读到P0口,由此产生从0到9的循环显示效果。
先写下前面三板斧,内涵不赘述:#include <reg51.h>#define uchar unsigned char#define uint unsigned int因为0~9的段码是固定的,不妨将其保存为code类型的数组。
注意是共阴接法,比如要显示“0”,那么P0端口的各引脚电平为:a=b=c=d=e=f=1,g=0,闲置的P0.7=0(按字节给端口赋值,所以闲置位也赋值),表示为二进制是P0.7gfedcba=00111111,对应的十六进制为0x3F。
其余段码可类似分析:uchar code display_code[ ]={0x3F,0x06,0x5B,0x4F,0x66,0x66,0x6D,0x7D,0x7F,0x6F,0x00 }; //0x00表示段码全灭显示不同的数字之间要有时间间隔,须定义一个延时函数以便主函数调用实现间隔延时:最后编写主函数:【代码展示】#include <reg51.h>#define uchar unsigned char#define uint unsigned intuchar codedisplay_code[ ]={0x3F,0x06,0x5B,0x4F,0x66,0x66,0x6D,0x7D,0x 7F,0x6F,0x00};void delay(uint x){uchar i;while(x--) for(i=0;i<100;i++);}void main(){uchar i=0; //定义数组下标变量,用以遍历数组P0=0x00; //数码管初始不亮while(1){P0=display_code[i]; //0~9对应的段码送给P0口,显示9后段码熄灭(0x00)i=(i+1)%10;//从0循环到9,超过10后又回到0,%为取余数算符}}。
数码管循环显示0~9程序说明功能说明:用一位数码管循环显示数字0~9,数字间隔时间为0.2秒。
一、电路图数码管循环显示0~9电路图二、所用电子元器件AT89C51:单片机;7SEG—COM—AN—GRN:带公共端共阳七段绿色数码管;CAP、CAP—ELEC:电容、电解电容;CRYSTAL:晶振。
三、程序汇编语言编写的数码管循环显示0~9源程序代码如下:START:MOV DPTR,#TABLEMOV R0,#00HLOOP: MOV A,R0MOVC A,@A+DPTRMOV P0,AACALL DL Y1SINC R0CJNE R0,#10,LOOPJMP STARTDL Y1S:MOV R5,#10HD1: MOV R6,#100HD2: MOV R7,#100HDJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETTABLE:DB 0C0H,0F9H,0A4H,0B0HDB 99H, 92H, 82H, 0F8HDB 80H, 90H, 88H, 83HDB 0C6H,0A1H,86H, 8EHENDProtetus 安装说明使用说明1.先安装Setup71.exe,提示选择Setup Type时默认选择即可;若提示No LICENCE 选择安装文件中"crack"-->MAXIM_LICENCE.lxk,打开安装。
2.安装完成后将crack-->文件夹BIN 和文件夹MODELS 下的文件复制到安装目录相应的文件夹内覆盖。
3.安装proteus.7.x-patch,选择patch,提示can not find the file. search the file,选择yes即可;然后选择bin文件中的ares.exe ;在选择models 中的avr.dll安装完毕退出即可。
注:***"Keil驱动"中的程序为Proteus与Keil联调的驱动。
《单片机原理及应用课程设计》报告——单只数码管循环显示设计专业班级:10电信(1)班姓名:赵静伟学号:20101620401.课程设计目的1.1巩固和加深对单片机原理和接口技术知识的理解;1.2培养根据课题需要选学参考书籍、查阅手册和文献资料的能力;1.3学会方案论证的比较方法,拓宽知识,初步掌握工程设计的基本方法;1.4掌握常用仪器、仪表的正确使用方法,学会软、硬件的设计和调试方法;1.5能按课程设计的要求编写课程设计报告,能正确反映设计和实验成果,能用计算机绘制电路图和流程图。
2.课程设计要求2.1单只数码管循环显示0~93.硬件设计3.1 设计思想1、数码管实际上是由7个发光二极管组成一个8字形,另外一个发光二极管做成圆点型,这样就构成了一个数码管。
所有的8个二级管的正极或者负极都连到一个公共端点上,对于公共端连在正极的数码管,称为共阳极数码管,反之称为共阴极数码管。
根据数码管的内部结构原理,可以很清楚的知道数码管显示数字的原理。
2、由于单片机的IO口的驱动能力有限,而数码管点亮时需要较大的电流,所以在用单片机构成数码管显示系统时,需要增加驱动电路,最简单的驱动电路就是利用三极管的电流放大能力来输出较大的电流,3、让数码管显示数字的步骤为:1)使数码管的公共端连到电源(共阳极)或者地(共阴极)上。
2)向数码管的各个段输出不同的电平。
3.2主要元器件介绍1)AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
单只数码管循环显示0〜9项目一:单只数码管循环显示 0〜9一、 设计要求:用汇编语言编写程序实现 51单片机控制1只数码管,循 环显示0〜9。
并用仿真软件仿真出实验结果。
最后,用 51单片机开发板 实现一支数码管循环显示0到9。
二、 设计原理:数码管显示原理:我们最常用的是七段式和八段式 LED 数码管,八段比七段多了一个小数点, 其他的基本相同。
所谓的八段就是指数码管里有八个小 LED 发光二极管,通过 控制不同的LED 的亮灭来显示出不同的字形。
数码管又分为共阴极和共阳极两 种类型,其实共阴极就是将八个 LED 的阴极连在一起,让其接地,这样给任何 一个LED 的另一端高电平,它便能点亮。
而共阳极就是将八个LED 的阳极连在一起。
其原理图如下。
其中引脚图的两个COM 端连在一起,是公共端,共阴数码管要将其接地, 共阳数码管将其接正5伏电源。
数码管的8段,对应一个字节的8位,a 对应 最低位,dp 对应最高位。
所以如果想让数码管显示数字 0,那么共阴数码管的 字符编码为00111111,即0x3f ;共阳数码管的字符编码为11000000,即OxcO 。
可以看出两个编码的各位正好相反。
本实验用到的共阳极 0到9编码: 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H弓IJW K -------- 匸c■ d 心GadP0 口:P0.0 —P0.7:双向I/O (内置场效应管上拉),寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O 口使用。
PO结构图如下:四、设计仿真图:;查表 ;P0 口输出,显示数字;A 加1 ;判断A 是否到达10 ;当A 达到10跳回主函数,重新赋值为0 ;延时 五、源代码:ORG 0000HSJMP MAINORG 030HMAIN: MOV R1,#00HMOV A,R1D1: ANL A,#0FHMOV DPTR,#TABMOVC A,@A+DPTRMOV P0,AACALL DELAYINC R1MOV A,R1CJNE A,#10,D1LJMP MAINDELAY: MOV R2,#05HD2: MOV R3,#0FFHD3: MOV R4,#0FFHDJNZ R4,$DJNZ R3,D3DJNZ R2,D2 RET FUJJTJN.IX1m i«ntriafM-CO PQ 4^*D*OfPS h 峭 I HILI rj-inrnHtigpH-Ea-l+r:TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;数值1 到9 的共阳极编码END六、结果:数码管循环显示0、1、2、3、4、5、6、7、& 9。
单片机课程设计姓名:陈素云班级:09电力方向2班学号:200920305340设计题目:按键控制1位LED数码管显示0-9 设计要求:通过单片的I/O口与LED数码管所构成的单片机系统的软件编程,使学生掌握简单的单片机系统的设计,同时初步学全用汇编语言和C语言两种方式编程的基本方法。
学生必须采用单片机AT89C51为LED显示屏的控制为核心,分别置“1”或“0”,让某些段的LED 发光,其它的熄灭,然后达到显示不同的字符和图符号的目的. 学生根据前期设计的步骤按照设计报告内容的具体要求,选择前期设计的一个典型题目,写出详尽的课程设计报告,重点内容包括方案论证、完整的电路图、软件系统流程图及开发程序、组装调试内容和总结等。
目录第1节引言 (3)1.1 LED数码显示器概述 (3)1.2 设计任务 (5)1.3设计目的 (6)第2节AT89C51单片机简介 (6)2.1 AT89C51单片机 (6)2.2 单片机管脚图 (7)2.3管脚说明 (7)2.4振荡器特性 (9)第3节设计主程序与硬件电路设计 (9)3.1设计的主程序 (10)3.2系统程序所需硬件 (10)3.2.1所需的硬件 (10)3.2.2所需硬件的结构图 (11)3.3 硬件电路总连接图 (12)第4节程序运行过程 (12)4.1分析步骤 (12)4.2 程序执行过程 (13)第5节程序运行结果 (13)总结参考文献第1节引言还记得我们小时候玩的“火柴棒游戏”吗,几根火柴棒组合起来,能拼成各种各样的图形,LED数码管显示器实际上也是这么一个东西。
在单片机系统中,常常用LED数码数码管显示器来显示各种数字或符号。
LED 数码显示器是单片机嵌入式系统中经常使用的显示器件。
一个“8”字型的显示模块用“a、b、c、d、e、f、g、h” 8 个发光二极管组合而成。
每个发光二极管称为一字段。
LED 数码显示器有共阳极和共阴极两种结构形式。
由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。
单片机课程设计姓名:陈素云班级:09电力方向2班学号:200920305340设计题目:按键控制1位LED数码管显示0-9设计要求:通过单片的I/O口与LED数码管所构成的单片机系统的软件编程,使学生掌握简单的单片机系统的设计,同时初步学全用汇编语言和C语言两种方式编程的基本方法。
学生必须采用单片机AT89C51为LED显示屏的控制为核心,分别置“1”或“0”,让某些段的LED 发光,其它的熄灭,然后达到显示不同的字符和图符号的目的. 学生根据前期设计的步骤按照设计报告内容的具体要求,选择前期设计的一个典型题目,写出详尽的课程设计报告,重点内容包括方案论证、完整的电路图、软件系统流程图及开发程序、组装调试内容和总结等。
目录第1节引言 (3)1.1 LED数码显示器概述 (3)1.2 设计任务 (5)1.3设计目的 (6)第2节 AT89C51单片机简介 (6)2.1 AT89C51单片机 (6)2.2 单片机管脚图 (7)2.3管脚说明 (7)2.4振荡器特性 (9)第3节设计主程序与硬件电路设计 (9)3.1设计的主程序 (10)3.2系统程序所需硬件 (10)3.2.1所需的硬件 (10)3.2.2所需硬件的结构图 (11)3.3 硬件电路总连接图 (12)第4节程序运行过程 (12)4.1分析步骤 (12)4.2 程序执行过程 (13)第5节程序运行结果 (13)总结参考文献第1节引言还记得我们小时候玩的“火柴棒游戏”吗,几根火柴棒组合起来,能拼成各种各样的图形,LED数码管显示器实际上也是这么一个东西。
在单片机系统中,常常用LED数码数码管显示器来显示各种数字或符号。
LED 数码显示器是单片机嵌入式系统中经常使用的显示器件。
一个“8”字型的显示模块用“a、b、c、d、e、f、g、h” 8 个发光二极管组合而成。
每个发光二极管称为一字段。
LED 数码显示器有共阳极和共阴极两种结构形式。
由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。
单只数码管循环显示
0~9
项目一:单只数码管循环显示0~9
一、设计要求:用汇编语言编写程序实现51单片机控制1只数码管,循
环显示0~9。
并用仿真软件仿真出实验结果。
最后,用51单片机开发板实现一支数码管循环显示0到9。
二、设计原理:
数码管显示原理:
我们最常用的是七段式和八段式LED数码管,八段比七段多了一个小数点,其他的基本相同。
所谓的八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。
数码管又分为共阴极和共阳极两种类型,其实共阴极就是将八个LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。
而共阳极就是将八个LED的阳极连在一起。
其原理图如下。
其中引脚图的两个COM端连在一起,是公共端,共阴数码管要将其接地,共阳数码管将其接正5伏电源。
数码管的8段,对应一个字节的8位,a对应
最低位,dp 对应最高位。
所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111,即0x3f ;共阳数码管的字符编码为11000000,即
0xc0。
可以看出两个编码的各位正好相反。
本实验用到的共阳极0到9编码:0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
P0口:P0.0—P0.7: 双向I/O (内置场效应管上拉),寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O 口使用。
PO 结构图如下:
三、设计流程图
四、设计仿真图:
主函数 给累加器A 赋初A 加1 P0口显MOVCA,@A+DPTR 查A=10
五、源代码:
ORG 0000H
SJMP MAIN
ORG 030H
MAIN: MOV R1,#00H
MOV A,R1
D1: ANL A,#0FH
MOV DPTR,#TAB
MOVC A,@A+DPTR ;查表
MOV P0,A ;P0口输出,显示数字
ACALL DELAY
INC R1
MOV A,R1 ;A加1
CJNE A,#10,D1 ;判断A是否到达10
LJMP MAIN ;当A达到10跳回主函数,重新赋值为0 DELAY: MOV R2,#05H ;延时
D2: MOV R3,#0FFH
D3: MOV R4,#0FFH
DJNZ R4,$
DJNZ R3,D3
DJNZ R2,D2
RET
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;数值1到9的共阳极编码
END
六、结果:数码管循环显示0、1、2、3、4、5、6、7、8、9。