当前位置:文档之家› 两位数码管显示课程设计说明书

两位数码管显示课程设计说明书

两位数码管显示课程设计说明书
两位数码管显示课程设计说明书

课程设计说明书

课程名称:《单片机技术》

设计题目:两位数码管显示设计

院系:电子信息与电气工程学院

学生姓名:

学号:

专业班级:

指导教师:

2012年5月18 日

课程设计任务书设计题目两位数码管显示设计

学生姓名所在院系电子信息与电

气工程学院

专业、年级、班

设计要求:⒈使用两位数码管显示器,循环显示两位数00-99;

⒉具有电源开关和指示灯,有复位按键;

⒊数码管动态显示,即扫描方式,每一位每间隔一段时间扫描一次。字符的亮度及清晰

度与每位点亮的停留时间和每位显示的时间内轮换导通次数有关。

学生应完成的工作:

本设计以A T89S52单片机为主控模块,利用汇编语言编写两位数码管循环扫描动态显示的专用程序来实现两位数码管动态显示系统。学生可以通过查阅手册和文献资料来选择合适的元器件,并设计合理的电路来实现符合要求的电路板实物。主要任务包括:(1)原理图的设计。(2)学会对不同方案进行比较分析,并通过整体优点与缺点的比较,确定合理的方案。(3)硬件电路的焊接及调试。(4)用汇编语言进行软件的编写与调试。(5)撰写课程设计报告。(6)该生负责流程图和软件编写。

参考文献阅读:

[1] 张毅刚.单片机原理及应用(第二版).北京:高等教育出版社,2010.5

[2]童诗白.模拟电子技术基础(第四版).北京:高等教育出版社,2006.5

[3]杜树春.单片机C语言和汇编语言混合编程实例详解.北京:北京航空航天大学出版社,2006.6

[4]林之琦.基于Proteus的单片机可视化软硬件仿真.北京:北京航空航天大学出版社,2006

工作计划:

2012年5月7 日—年5 月9 日:原理图设计;

2012年5月10日—年5月11日:程序的编写;

2012年5月14日—年5月16日:硬件电路的焊接与软件的调试;

2012年5月17日—年5月18日:撰写实习报告。

任务下达日期:2012 年5月7 日

任务完成日期:2012 年5月18 日

指导教师(签名):学生(签名):

两位数码管显示设计

摘要:本设计以AT89S52单片机为主控模块,利用汇编语言编写两位数码管循环扫描动态显示的专用程序来实现两位数码管动态显示系统,系统主要由电源模块、复位模块、外部时钟电路模块、数码管显示模块构成。电源电路通过桥堆2W10和三端稳压器7805将交流电压变为5V的直流电压。复位电路由电容与按键的并联来实现。时钟通过外部12M的晶振来控制。两位数码管显示由两个共阳极的三极管进行驱动。将汇编语言编写的两位数码管动态显示程序写入单片机来控制P2口,使数码管相应段点亮,同时利用人眼视觉暂留的特性和数码管的余辉效应,在扫描频率足够高时,人眼无法感觉数码管的变化,从而实现数码的动态显示。

关键词:AT89S52;两位数码管;动态显示

目录

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 数码管显示 (5)

3.5 连接方式 (5)

3.6软件设计 (5)

3.7 实物制作 (8)

4.结果与结论 (8)

4.1 结果 (8)

4.2结论 (8)

5.收获与致谢 (8)

6.参考文献 (9)

7.附件 (10)

7.1元器件清单 (10)

7.2 硬件原理图 (11)

7.3 实物图 (12)

1.设计背景

1.1单片机发展前景

目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。1.2共阳极数码管的显示方法

LED数码管是单片机控制系统中最常见的显示器件之一,一般用来显示处理结果或输入输出信号的状态。数码管显示是一个系统工程中必不可少的人机交互环节,因此关于数码管的驱动也就是系统工程中的一个重要的环节。数码管的驱动分为动态驱动和静态驱动两种。所谓静态驱动,就是指无论多少位LED数码管,同时处于显示状态。动态显示驱动是指无论在任何时刻只有一个LED数码管处于显示状态,及单片机采用“扫描”方式控制各个数码管轮流显示。

1.3共阳极数码管的驱动设计

将数码管每个LED灯对应单片机的一个I/O口。通过单片机的P口来控制LED灯的亮和灭。I/O口之间互相独立,需要用I/O口直接控制LED。动态显示将数码管的每个引脚一对一连接在一起接单片机的数据,而将各个数码管的公共端单独送至单片机的I/O口进行片选。此外,在此基础上,用单片机与三极管来驱动数码管,从而实现数码管的动态显示。

2.设计方案

2.1方案一:共阳极数码管静态显示

数码管静态显示电路如图2-1所示:

图2-1 数码管静态显示电路2.2方案二:共阳极数码管动态显示

数码管动态显示电路如图2-2所示:

图2-2 数码管动态显示电路

2.3数码管静态与动态显示的优缺点比较

静态显示方式简单不容易出错,如果电路设计合适,也能够用较少的线完成多个数码管的显示。但与动态显示相比,动态显示电路连接更简单,节省单片机I/O 口,从而节省单片机的资源,如今已经有很多这样成熟的基于动态扫描的芯片,并且采用动态显示方式极大的节省单片机的资源,特别是在单片机的I/O 数量比较紧张的情况下,更能体现采用动态显示的优越性。因此,在现在的多数电子系统中,数码管多数采用动态扫描技术来显示。

3.方案实施

3.1硬件电路的实施

1.硬件原理框图如下:

图3-1 硬件组成框图

该电路的工作原理:AT89S52从稳压电路中获得稳定的+5V 电压,接到VCC 端,提供稳定的电压;P2口通过电阻接到显示电路的七段数码管的a b c d e f g 端口上,数码管的共阳极接到三极管的集电极上;P0.0、P0.1口接三极管的基极作为位选;RST 接复位电路,实现电路的复位;XTAL1、XTAL2接晶振电路;整个电路实现循环动态显示数字00~99.

稳 压 电 路

复 位 电 路

时 钟 电 路

AT89S52 单片机

两位数码管态显示电路

3.2 电源电路设计

图3-2 电源电路

如图3-2所示,当外接交流电源经过变压通过桥堆2W10和7805时,经C1、C2、C3、C4对电源进行滤波,实现交流电压变为5V的直流电源,从而直接给单片机提供正常的工作电压。

3.3复位及振荡电路

图3-3复位电路图3-4振荡电路

如图3-3,复位电路用电容与按键的并联来实现,将它们并在一起,一端接高电平,另一端接地,从而实现高电平复位的功能。如图3-4,时钟由12M的晶振来组成振荡电路,来控制单片机对数码管的动态扫描。

3.4 数码管显示

图3-5 数码管显示电路

如图3-5所示,两位数码管分别由两个PNP型三极管驱动,三极管的基极通过限流电阻接在单片机P0.0、P0.1,其中P0.0控制数码管的个位,P0.1控制数码管的十位。数码管各段除小数点段外其余七段(a-g)通过限流电阻接在单片机P2口(P2.0-P2.6),两位数码管显示由单片机内部程序控制相应接口为低电平,从而实现从00—99动态循环显示。例如:十位和个位显示原理相同,谨以个位说明。当个位数码管显示5时,5在程序中查表对应的十六进制数为92H,对应二进制为10010010B,其中P2.7、P2.4、P2.1为高电平,DP、e、b段熄灭,P2.6、P2.5、P2.3、P2.2、P2.0为低电平,g、f、d、

c、a段点亮,则此时数码管上显示数字5。

3.5 连接方式

单片机采用P2口的I/O来控制数码管的各个引脚。复位键接到引脚9上,数码管的位选通过三极管和电阻分别与单片机的引脚1和39相连,晶振与单片机的引脚18和19连接,高电平与40引脚连接供电,20引脚直接接地。

3.6软件设计

此程序采用汇编语言用十六进制算法编写了两位数码管循环扫描动态显示的专用程序。通过软件的控制使两位数码管能从00计数到99,再回到00,依次进行循环。若

在计数期间有复位高电平出现时,便重新从00开始计数。并有电源开关控制让电路是否工作,且有指示灯只是电源是否正常。

程序流程图如下:

图3-6 程序流程图

程序如下:

BITS EQU 20H;数码管个位数存放内存位置

TEN EQU 21H;数码管十位数存放内存位置

TEMP EQU 22H;计数器值存放内存位置

START:

MOV TEMP,#0;初始化寄存器,从0开始

STLOP:

ACALL DISPLAY;调用显示子程序

INC TEMP;计数器加1

MOV A,TEMP;

CJNE A,#100,NEXT;判断计数器是否满100

MOV TEMP,#0;满100清零从新开始

NEXT:

LJMP STLOP;不满就循环执行

DISPLAY:

MOV A,TEMP;将TEMP中的十六进制数转换成十进制 MOV B,#10;

DIV AB

MOV TEN,A;十位在A

MOV BITS,B;个位在B

MOV DPTR,#NUMTAB;指定查表起始地址

MOV R0,#4;

DPL1:

MOV R1,#250;

DPLOP:

MOV A,BITS;取个位数

MOVC A,@A+DPTR;查个位的7段数码管

MOV P2,A;送出个位的7段代码

CLR P0.0;开个位显示

ACALL DELAY1ms;显示162ms

SETB P0.0;关闭个位显示

MOV A,TEN;取十位显示

MOVC A,@A+DPTR;查十位数的7段代码

MOV P2,A;送出十位的7段代码

CLR P0.1;开十位显示

ACALL DELAY1ms;显示162ms

SETB P0.1;关闭十位显示

DJNZ R1,DPLOP;执行循环250次

DJNZ R0,DPL1;执行循环250*4=1000次

RET

DELAY1ms:

MOV R7,#80;延时162ms子程序(2+2*80=162ms,按照12MHZ计算)

DJNZ R7,$;

RET

NUMTAB:DB 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90

END

3.7 实物制作

重点考虑了晶体和电容与单片机的位置关系。为了减少寄生电容,更好的保证振荡器稳定可靠地工作,应使晶体与电容尽可能安装得与单片机芯片近些。

4.结果与结论

4.1 结果

经过对不同方案的分析、比较、取舍,然后进行原理图的设计与仿真,再经过电路板的焊接,软件的调试等环节的操作,最终实现了让数码管在单片机的控制下循环显示两位数00-99。并且在正常的计数过程中,若按下复位键后,技术又重新从00开始计数。有时在刚接入电源时,数码管显示的不是00,这是需要按下复位键才能使其正常工作。最终现实的结果与预想的结果一致。

4.2结论

单片机有着很强大的功能,并有40个引脚,通过单片机的不同I/O端口与外设连接,能够控制外设的工作情况,从而实现不同的符合各种需求功能的电路板。LED数码管是单片机控制系统中最常见的显示器件之一,一般用来显示处理结果或输入输出信号的状态。

5.收获与致谢

这次两位数码管显示设计的实习,加深了我对单片机的原理和工作过程的了解,以及系统地、全面地掌握单片机应用系统的基本设计方法、设计步骤和电路参数的计算方法。同时,这次实习增强了我的动手能力,也让我对以前所学的知识进行了复习,更加

熟练掌握了原理图的设计与仿真方法,了解硬件电路的焊接及调试过程应注意的问题,能用汇编语言进行软件的编写与调试。

在这次实习过程中,我非常感谢XXX老师给予我的细心指导和帮助,还有我们小组的每一个成员,这次实习的成功离不开老师的指导和小组的每位成员的努力与付出,所以真心的对大家表示感谢。

6.参考文献

[1] 张毅刚.单片机原理及应用(第二版).北京:高等教育出版社,2010.5

[2]童诗白.模拟电子技术基础(第四版).北京:高等教育出版社,2006.5

[3]林之琦.基于Proteus的单片机可视化软硬件仿真.北京:北京航空航天大学出版社,2006

7.附件

7.1元器件清单

表7-1 元器件清单

名称型号数量名称型号数量单片机AT89S52 1 数码管SN43052 1 晶振11.0592MHH 1 稳压电源DE7805 1 三极管9015 2 整流桥2W10 1 电解电容1000UF 2 开关\ 1

指示灯红色 1

电阻2K 1

瓷片电容104 2 1K 2 33p 2 680 8

7.2 硬件原理图

图7—1 硬件原理图

7.3 实物图

图7-2 实物反面

图7-3 实物正面

指导教师评语:

课程设计报告成绩:,占总成绩比例: 30%

课程设计其它环节成绩:

环节名称:考勤,成绩:,占总成绩比例: 20% 环节名称:综合,成绩:,占总成绩比例: 50% 总成绩:

指导教师签字:

年月日本次课程设计负责人意见:

负责人签字:

年月日

实验三 数码管显示实验

实验十九数码管显示实验 一、实验目的 1、了解数码管的显示原理; 2、掌握数码管显示的编程方法。 二、实验内容 1、编写数码管显示程序,循环显示0-F字符 三、实验设备 1、硬件: JX44B0实验板; PC机; JTAG仿真器; 2、软件: PC机操作系统(WINDOWS 2000); ARM Developer Suite v1.2; Multi-ICE V2.2.5(Build1319); 四、基础知识 1、掌握在ADS集成开发环境中编写和调试程序的基本过程。 2、了解ARM 应用程序的框架结构; 3、了解数码管的显示原理; 五、实验说明 1、LED显示原理 发光二极管数码显示器简称LED显示器。LED显示器具有耗电低、成本低、配置简单灵活、安装方便、耐震动、寿命长等优点,目前广泛应用于各类电子设备之中。 7段LED由7个发光二极管按“日”字排列。所有发光二极管的阳极连接在一起称共阳极接法,阴极连接在一起称为共阴极接法。一般共阴极可以不需要外接电阻。 其中各二极管的排列如上图在共阳极接法中,如果显示数字“5”,需要在a、c、d、f、g端加上高电压,其它加低电压。这样如果按照dp、g、fe、d、c、b、a的顺序排列的话对应的码段是:6DH。其它的字符同理可以得到。

2、数码管显示驱动 数码管的显示一般有动态显示和静态显示两大类,另外按照驱动方式又分串行驱动和并行驱动两种方式。串行驱动主要是提供串-并转换,减少控制线数量;并行驱动对每一个段提供单独的驱动,电路相对简单。这方面参看数字电路相关内容。 下面主要介绍静态显示和动态显示: 1)静态显示: LED数码管采用静态接口时,共阴极或共阳极节点连接在一起地或者接高电平。每个显示位的段选线与一个8位并行口线相连,只要在显示位上的段选位保持段码电平不变,则该位就能保持相应的显示字符。这里的8位并行口可以直接采用并行I/O口,也可以采用串行驱动。相应的电路如下: 很明显采用静态显示方式要求有较多的控制端(并行)或较复杂的电路(串行)。但是在设计中对器件的要求低。

单片机两位数码管计数设计1

目录 一、设计目的 (4) 二、设计要求 (4) 三、设计电路图 (4) 四、设计说明 (5) 1、数码管的显示原理 (5) 2、晶振的作用 (5) 五、参考程序框图: (6) 六、参考代码…………………………………………………7-9 七、设计时使用的主要参考书及手册 (9) 八、设计心得: (9)

两位数码管计数 一、设计目的: 1. 学习外部中断技术的基本使用方法。 2. 学习中断处理程序的编程方法。 3. 学习51单片机内部计数器的使用和编程方法。 4. 学习使用数码管的显示原理以及应用。 二、设计要求: 按开关开始,在按开关停止计秒,计秒从0开始,讲到99,再从0开始计秒。按下复位键开关,数码管就会显示0. 三、设计电路连线:

四、设计说明: 1、数码管的显示原理: @单片机系统扩展LED数码管时多用共阳LED: 共阳数码管每个段笔画是用低电平(“0”)点亮的,要求驱动功率很小;而共阴数码 管段笔画是用高电平(“0”)点亮的,要求驱动功率较大。 @通常每个段笔画要串一个数百欧姆的降压电阻。 字形0123456789黑共阳0C00F90A40B09992820F880900FF 共阴FC60da F266B6BE E0FE F600 计时计算: fosc= 12MHz 则: (振荡周期)1Tc=1/12MHz (机器周期)1Tm=12Tc=12/12MHz=1 S 故选择方式1 工作可以得到: 则初值为:3CB0H 2、晶振的作用 晶振的作用是为系统提供基本的时钟信号。晶振两边的电容叫负载电容,单片机的晶振 工作于并联谐振状态,晶振的频率是在负载电容下测得的,能最大限度的保证频率值的误差。 也能保证温漂等误差。两个电容的取值都是相同的,或者说相差不大,如果相差太大,容易 造成谐振的不平衡,容易造成停振或者干脆不起振. 五、参考程序框图:

4位7段数码管驱动电路设计要求

4位7段数码管驱动电路 图1 开发板电路原理图 信号说明

1. iRST_N(异步复位) 当iRST_N信号为低时,Seg7_Driver模块中的所有寄存器异步复位为初值。 2. iCLK 模块的输入时钟40MHz。 3. iSeg_Val[15:0] 7段数码管输入二进制值,0x0~0xF iSeg_Val[15:12],左侧第一位7段数码管的值。 iSeg_Val[11: 8],左侧第两位7段数码管的值。 iSeg_Val[ 7: 4],左侧第三位7段数码管的值。 iSeg_Val[ 3: 0],左侧第四位7段数码管的值。 4. iDot_Val[3:0] 各位7段数码管小数点的显示,值为1表示显示小数点,0表示不显示小数点。 iDot_Val[3],左侧第一位7段数码管的小数点。 iDot_Val[2],左侧第两位7段数码管的小数点。 iDot_Val[1],左侧第三位7段数码管的小数点。 iDot_Val[0],左侧第四位7段数码管的小数点。 5. oDisplay[7:0] 7段数码管的数据信号。4位7段数码管共用数据信号。7段数码管为共阳极连接,各段数据线为0时,对应段发光。 6. oDis_En[3:0] 各位7段数码管的使能信号,低有效。

oDis_En[3],左侧第一位7段数码管的使能信号。 oDis_En[2],左侧第两位7段数码管的使能信号。 oDis_En[1],左侧第三位7段数码管的使能信号。 oDis_En[0],左侧第四位7段数码管的使能信号。 建议的分块: 将整个驱动电路分成Seg7_Ctrl模块与Seg7_Hex2seg模块 Seg7_Ctrl模块负责产生数码管动态显示的控制信号oDis_En的时序 Seg7_Hex2Seg模块负责将二进制值转换成数据码管显示的数据值,包括小数点的值。 注意点: 1. 动态显示过程是利用人眼的视觉残留现象来实现的,应选择适当的数码管扫描频率。可先 选择数码管的扫描显示的刷新率为125Hz(8ms),即每位数码管用2ms。 2. 完成基本功能后,可实验改变刷新率,观察数码管显示的效果,并思考原因。 3. 如果要使得数码管能够显示,A,b,C,n,o等其他字符,模块应该作怎样的修改?

单片机实验——数码管显示

单片机实验——数码管显示

数码管显示 一、数码管静态显示 1、电路图 图1 2、电路分析 该电路采用串行口工作方式进行串行显示实验,串行传输数据为8位,只能从RXD端输

入输出,TXD端用于输出同步移位脉冲。当CPU 执行一条写入发送缓冲器SBUF的指令时,产生一个正脉冲,串行口开始将发送缓冲器SBUF 中的8位数据按照从低位到高位依次发送出去,8位数据发送完毕,发送结束标志TI置1,必须由软件对它清0后才能启动发送下一帧数据。 因此,当输完8个脉冲后,再一次来8个脉冲时,第一帧的8位数据就移到了与之相连的第二个74LS164中,其他数据依此类推。 3、流程图

发送数据 二、数码管动态显示 1、电路图

图2 2、电路分析 R1-R7电阻值计算:一个7-seg 数码管内部由8段LED 组成,因此导通电压和电流与LED 灯相同,LED 导通压降大概在 1.5V-2.2V ,电流3mA-30mA ,单片机的工作电压是5V , 所以 一般取Rmin 和Rmax 中间值,330Ω、470Ω、510Ω。 由于P0口内部没有上拉电阻,所以在P0 口接1003025Im min 1325Im max =-===-==mA V V an U R K mA V V in U R

排阻,上拉电压。如果没有排阻的话,接上拉电阻时需要考虑数码管的电流,如果太小的话,是驱动不了数码管的。如图3: 发现电流大于5mA时,数码管才能亮,与前面电流最小3mA不符,因此计算数码管电流时使其在10mA-20mA之间,确保能驱动数码管亮。 两个74HC573实现对六位数码管的段选和位选,控制端为LE(第11脚)。 3、思路分析 先使第一个573输出同步,把数据送入573中,然后锁存,第二个573输出同步,打开第一个数

LED数码管显示电子钟设计

《单片机原理及应用》 课程设计说明书 题目LED数码管显示电子钟设计系(部) 专业(班级) 姓名 学号 指导教师 起止日期 课程设计任务书

系(部): 专业:

目录 一、摘要 单片机全称为单片机微型计算机(Single Chip Microsoftcomputer).从应用领域来看,单片机主要用来控制,所以又称为微控制器(Microcontroller Unit)或嵌入式控制器。单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容

易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。 时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础.在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。 二、设计内容 2.1、任务要求 本次设计时钟电路,使用了A TC89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的年、月、日、时、分、秒,还有设定闹钟,用一扬声器来进行定时提醒,同时使用汇编语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:键盘、芯片、扬声器、LED显示即可满足设计要求. 2。2、设计程序方案 设计程序思路: 1.实现8位数码管动态扫描显示 void Display_1Code(unsigned char pos,unsigned char code1); void Display_2Num(unsigned char pos,unsigned char num,unsigned char point); 数码管动态扫描就是: 段显位选延时显示消影 因为我们用的是共阳数码管,而段码表用的共阴的,所以对code1取反 共阳数码管高电平点亮,所以P2移位后不用取反,从高位开始是第1个数码管 掩饰显示1ms,P2给全0全部熄灭,消影作用. 2。时间显示 采用实时时钟芯片DS1302,读芯片的datasheet,根据时序等说明编写驱动程序。 1)初始化 void DS1302_Init(void) 2)底层基本读写函数 void DS1302_WriteByte(unsigned char byte) unsigned char DS1302_ReadByte(void) 3)对芯片寄存器的读写函数 void DS1302_WriteData(unsigned char addr,unsigned char mdata) unsigned char DS1302_ReadData(unsigned char addr) 4)修改时间函数

7段数码管显示电路

4.4 显示模块 4.4.1 7段数码管的结构与工作原理 7段数码管一般由8个发光二极管组成,其中由7个细长的发光二极管组成 数字显示,另外一个圆形的发光二极管显示小数点。 当发光二极管导通时,相应的一个点或一个笔画发光。控制相应的二极管导通,就能显示出各种字符,尽管显示的字符形状有些失真,能显示的数符数量也有限,但其控制简单,使有也方便。发光二极管的阳极连在一起的称为共阳极数码管,阴极连在一起的称为共阴极数码管,如图4.9所示。 4.4.2 7段数码管驱动方法 发光二极管(LED 是一种由磷化镓(GaP )等半导体材料制成的,能直接将电能转变成光能的发光显示器件。当其内部有一一电流通过时,它就会发光。 7段数码管每段的驱动电流和其他单个LED 发光二极管一样,一般为5~10mA ;正向电压随发光材料不同表现为1.8~2.5V 不等。 7段数码管的显示方法可分为静态显示与动态显示,下面分别介绍。 (1) 静太显示 所谓静态显示,就是当显示某一字符时,相应段的发光二极管恒定地寻能可截止。这种显示方法为每一们都需要有一个8位输出口控制。对于51单片机,可以在并行口上扩展多片锁存74LS573作为静态显示器接口。 静态显示器的优点是显示稳定,在发光二极管导通电注一定的情况下显示器的亮度高,控制系统在运行过程中,仅仅在需要更新显示内容时,CPU 才执行一次显示更新子程序,这样大大节省了CPU 的时间,提高了CPU 的工作效率;缺点是位数较多时,所需I/O 口太多,硬件开销太大,因此常采用另外一种显示方式——动态显示。

(2)动态显示 所谓动态显示就是一位一位地轮流点亮各位显示器(扫描),对于显示器的每一位而言,每隔一段时间点亮一次。虽然在同一时刻只有一位显示器在工作(点亮),但利用人眼的视觉暂留效应和发光二极管熄 灭时的余辉效应,看到的却是多个字符“同时”显示。显示器亮度既与点亮时的导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参烽,可实现亮度较高较稳定的显示。若显示器的位数不大于8位,则控制显示器公共极电位只需一个8位I/O 口(称为扫描口或字位口),控制各位LED 显示器所显示的字形也需要一个8位口(称为数据口或字形口)。 动态显示器的优点是节省硬件资源,成本较低,但在控制系统运行过程中,要保证显示器正常显示,CPU 必须每隔一段时间执行一次显示子程序,这占用了CPU 的大量时间,降低了CPU 工作效率,同时显示亮度较静态显示器低。 综合以上考虑,由于温度显示为精确到小数点后两位,故只需4个数码管,又考虑到CPU 工作效率与电源效率,本毕业设计采用静态显示。为共阳极显示。 4.4.3 硬件编码 动74LS47是一款BCD 码转揣为7段输出的集成电路芯片,利用它可以直接驱动共阳 极的7段数码管。它的引脚分部和真值表分别下图。

单片机数码管显示系统课程设计

数码管显示与键盘扫描系统 摘要: 现如今已经跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。这种计算机的最小系统只用了一片集成电路,就可进行简单运算和控制。因为它体积小,通常都是放置在一个机械装置的内部。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。数码管显示与键盘扫描系统是单片机系统中十分典型的应用,可将4×4键盘的按键对应显示在数码管上。 关键词:单片机数码管 一、绪论 1. 研究意义 用单片机驱动LED数码管有很多方法,按显示方式可分静态显示和动态(扫描)显示;按译码方式可分硬件译码和软件译码。静态显示数据稳定,占用很少的CPU 时间。动态显示需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的CPU时间多。LED数码管的外围电路一般需要一个限流电阻和加大驱动电流的晶体管。 LED数码管是由发光二级管显示字段组成的显示器,有“8”字段和“米”字段之分,这种显示器有共阳极和共阴极两种。实际上不用驱动电路即可达到正常亮度,为了可靠性设计可采用晶体管构成驱动电路。 2. 设计目的 在单片机的产品设计中,人机界面是非常重要的部分,而且随着系统的日益复杂,以及人们对产品的人机交互能力的要求不断提升,常握单片机系统中的人机界面基础设计能力成为了学习单片机的基础课程,而4X4键盘的操作和LED数码管的动态显示是人机界面设计的基础内容,掌握这些基础设计能力,加深对人机界面的认识,同时提高人机界面系统设计能力。

用数码管显示实时日历时钟的应用设计

(用数码管显示实时日历时钟的应用设计)

摘要 本课题通过MCS-51单片机来设计电子时钟,采用汇编语言进行编程,可以实现以下一些功能:小时,分,秒和年,月,日的显示。本次设计的电子时钟系统由时钟电路,LED显示电路三部分组成。51单片机通过软件编程,在LED数码管上实现小时,分,秒和年,月,日的显示;利用时钟芯片DS1302来实现计时。本文详细介绍了DS1302 芯片的基本工作原理及其软件设计过程,运用PROTEUS软件进行电路连接和仿真,同时还介绍了74LS164,通过它来实现I|O口的扩展。 关键词:时钟芯片,仿真软件,74LS164 目录 前言 0.1设计思路 (8) 0.2研究意义 (8)

一、时钟芯片 1.1 了解时钟芯片……………………………………………….8-9 1.2 掌握时钟芯片的工作原理………………………………….10-11二、74LS164 2.1 了解74LS164........................................................11-12 2.2 掌握的74LS164工作原理. (12) 三、数码管 3.1 熟悉常用的LED数码管...........................................12-13 3.2 了解动态显示与静态显示. (13) 四、程序设计 4.0 程序流程图 (14) 4.1 DS1392的驱动.......................................................15-16 4.2 PROTUES实现电路连接. (17) 4.3 数码管的显示:小时;分;秒 (18) 4.4 数码管显示:年;月;日 (19) 五、总结…………………………………………………………………..20-21 六、附页程序………………………………………………………………22-31前言

数码管的驱动原理

数码管的驱动原理 所谓共阳共阴,是针对数码管的公共脚而言的。一个1位典型的数码管,一般有10个脚,8个段码(7段加1个小数点),剩下两个脚接在一起。各个段码实际上是一个发光二极管,既然是发光二极管,就有正负极。所谓共阳,也就是说公共脚是正极(阳极),所有的段码实际上是负极,当某一个或某几个段码位接低电平,公共脚接高电平时,对应的段码位就能点亮,进而组合形成我们看到的数字或字母。共阴刚好相反,也就是公共脚是负极(阴极),段码位是阳极,当公共脚接地,段码位接高电平时,对应段码位点亮。 1位数码管是这样,更多位的数码管也基本跟这个原理类似。 共阴共阳与电路接线密切相关,决定了驱动电路的接法,因此在电路设计前要考虑好数码管的类型,否则就不能实现显示的效果了。 驱动共阴数码管一般用PNP,共阳的用NPN 图一低电平有效,图二高电平有效

现在让我们用实验板上的两个数码管来做一个循环显示00~99数字的实验,先来完成必要的硬件部分, 数码管有共阴和共阳的区分,单片机都可以进行驱动,但是驱动的方法却不同,并且相应的0~9的显示代码也正好相反。 首先我们来介绍两位共阳数码管的单片机驱动方法,电路如下图: 网友可以看到:P2.6和P2.7端口分别控制数码管的十位和个位的供电,当相应的端口变成低电平时,驱动相应的三极管会导通,+5V通过IN4148二极管和驱动三极管给数码管相应的位供电,这时只要P0口送出数字的显示代码,数码管就能正常显示数字。 因为要显示两位不同的数字,所以必须用动态扫描的方法来实现,就是先个位显示1 毫秒,再十位显示1毫秒,不断循环,这样只要扫描时间小于1/50秒,就会因为人眼的视觉残留效应,看到两位不同的数字稳定显示。 下面我们再介绍一种共阴数码管的单片机驱动方法,电路如下图: 网友可以看到:+5V通过1K的排阻直接给数码管的8个段位供电,P2.6和P2.7端口分别控制数码管的十位和个位的供电,当相应的端口变成低电平时,相应的位可以吸入电流。单片机的P0口输出的数据相当于将数码管不要显示的数字段对地短路,这样数码管就会显示需要的数字。

数电课程设计-数码管显示控制器的设计与实现

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位: 题目: 数码管显示控制器的设计与实现 初始条件: 555定时器、74LS160计数器、74LS161计数器、74LS153数据选择器、74LS48译码器、74LS04非门与数码管、电阻、电容等相关元件。 要求完成的主要任务: 1、设计任务 根据已知条件,完成对数码管显示控制器的设计、装配与调试。 2、设计要求 (1)、能自动一次显示出数字 0、1、2、3、4、5、6、7、8、9(自然数列),1、 3、5、7、9(奇数列), 0、2、 4、6、8(偶数列),0、1、0、1、2、3、4、 5、6、7(音乐符号序列);然后再从头循环; (2)、打开电源自动复位,从自然数列开始显示。 时间安排: 1、2012 年 6 月 8 日分班集中,布置课程设计任务、选题;讲解课设具体实施计划与课程设计报告格式的要求;课设答疑事项。 2、2012 年 6 月 9 日至 2012 年 7 月 3 日完成资料查阅、设计、制作与调试;完成课程设计报告撰写。 3、2012 年 7 月 4 日提交课程设计报告,进行课程设计验收和答辩。 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要 (3) Abstact (4) 引言 (5) 1设计背景 (6) 1.1设计任务 (6) 1.2设计要求 (6) 1.3指导思想 (6) 2方案论证 (7) 2.1方案说明 (7) 2.2方案原理 (7) 3电路的设计与分析 (8) 3.1电路的总体设计 (8) 3.2电路的原理框图 (9) 3.3元电路的设计与分析 (9) 3.3.1多谐振荡电路的设计与分析 (9) 3.3.2计数电路的设计与分析 (11) 3.3.3译码显示电路的设计与分析 (13) 4电路仿真、调试与分析 (16) 4.1脉冲产生电路的仿真 (16) 4.2总电路的仿真 (17) 4.3运行结果分析 (17) 5心得与体会 (18) 附录1元器件清单 (19) 附录2参考文献 (20)

LED_数码管显示设计(单片机)

键盘和LED 数码管显示设计 一、预备知识 有关 LED 数码管、滑动变阻器控制的具体编程原理见单片机课程教材。 二、设计目的 掌握 LED 数码管的使用,熟悉单片机人机接口设计,提高实际应用 的能力。 三、设计内容 1、设计LED 数码管显示电路原理图; 2、设计程序流程图; 3、编程调试; 四、参考接线 1、人机接口补丁板,可通过选择跳线,选择数码管段选输入是并行或串行输入; 2、不要忽略从实验箱主板上接+5V、GND 到人机接口补丁板; 3、具体接线参见人机接口补丁板原理图。 五、设计步骤 程序: LED_0 EQU 30H ;存放三个数码管的段码 LED_1 EQU 31H LED_2 EQU 32H ADC EQU 35H ;存放转换后的数据

ST BIT P3.2 OE BIT P3.0 EOC BIT P3.1 ORG 00H START: MOV LED_0,#00H MOV LED_1,#00H MOV LED_2,#00H MOV DPTR,#TABLE ;送段码表首地址 SETB P3.4 SETB P3.5 CLR P3.6 ;选择ADC0808的通道3 WAIT: CLR ST SETB ST CLR ST ;启动转换 JNB EOC,$ ;等待转换结束 SETB OE ;允许输出 MOV ADC,P1 ;暂存转换结果 CLR OE ;关闭输出 MOV A,ADC ;将AD转换结果转换成BCD码 MOV B,#100 DIV AB MOV LED_2,A MOV A,B MOV B,#10 DIV AB MOV LED_1,A MOV LED_0,B LCALL DISP ;显示AD转换结果 SJMP WAIT DISP: MOV A,LED_0 ;数码显示子程序 MOVC A,@A+DPTR CLR P2.3 MOV P0,A LCALL DELAY SETB P2.3 MOV A,LED_1 MOVC A,@A+DPTR CLR P2.2 MOV P0,A

VHDL数码管扫描显示驱动电路

静态显示 library ieee; use ieee.std_logic_1164.all; entity bcd_seg is port( a,b,c,d:in std_logic; seg:out std_logic_vector(7 downto 0) ); end entity bcd_seg; architecture one of bcd_seg is signal bcd:std_logic_vector(3 downto 0); begin bcd<=a&b&c&d; process(bcd) begin case bcd is when "0000"=>seg<="00111111"; when "0001"=>seg<="00000110"; when "0010"=>seg<="01011011"; when "0011"=>seg<="01001111"; when "0100"=>seg<="01100110"; when "0101"=>seg<="01101101"; when "0110"=>seg<="01111101"; when "0111"=>seg<="00000111"; when "1000"=>seg<="01111111"; when "1001"=>seg<="01101111"; when others=>null; end case; end process; end architecture one; 动态显示 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity bcd_seg is port( clk:in std_logic; a,b,c,d:in std_logic; com:out std_logic_vector(2 downto 0); seg:out std_logic_vector(7 downto 0) ); end entity bcd_seg; architecture one of bcd_seg is signal cnt:std_logic_vector(2 downto 0);

嵌入式系统课程设计---基于ARM微处理器的数码管驱动设计-任务书(1)

河南工业大学嵌入式课程设计 课程设计题目:基于ARM微处理器的数码管驱动设计学院:信息科学与工程学院 班级:电科1304 姓名: 学号:2013160304 指导老师姓名:李智慧

13级电科专业课程设计任务书

基于ARM微处理器的数码管驱动设计 一、设计要求 1.1实验内容: 1. 利用ARM微处理器实现数码管显示驱动; 2.能够显示0 1 2 3 4 5 6 7 8 9等数字,且循环显示; 3. 通过按键改变循环显示速度; 1.2实验设备: 硬件:PXA270 实验平台,PXA270 ARM 标准/增强型仿真器套件,PC 机。 软件:VMware Workstation、Ubuntu、win7。 二、设计方案 本次试验选用的芯片为 PXA270 ,使用的是 PXA270集成试验箱。基于 IntelXScale 架构的 PXA270处理器,集成了存储单元控制器、时钟和电源控制器、 DMA控制器、 LCD控制器、 AC97控制器、 I2S 控制器、快速红外线通信 (FIR) 控制器等外围控制器,可以实现丰富的外围接口功能。其低电源运行模式以及动态电源管理技术可以有效的降低电源的功耗。使用试验箱上的 4X4 的矩阵键盘作为输入,用来控制数码管显示的快慢速度,将需要输出的各个数码管状态从两个数码管中输出。 三、设计原理 1、数码管结构 七段数码管由 8 个发光二极管排列组成(包括小数点位)如下图所示: 这 8 个独立的二极管通常被命名: a.b.c.d.e.f.g.h 。 h 表示小数点。利用 7 段数码管能显示所有数字以及部分英文字母。 数码管有 2 种不同的形式:一种是 8 个发光二极管的阳极都连一起,成为共 阳极 8 段数码管如图所示: 共阳极 8 段数码管的 8 个发光二极管的正极一起接 VCC ,要控制数码管中的某一段亮,比如 A段,只须要控制数码管的 A 脚为低电平就可以了,反之熄灭 A 段就控制 A 脚为高电平。

两位数码管显示

课程设计说明书 课程名称:《单片机技术》 设计题目:两位数码管显示设计 学院:电子信息与电气工程学院 学生姓名: 学号: 专业班级: 指导教师: 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、了解数码管的工作原理。 2、学习七段数码管显示译码器的设计。 3、学习VHDL的CASE语句及多层次设计方法。 二、实验原理 七段数码管是电子开发过程中常用的输出显示设备。在实验系统中使用的是两个四位一体、共阴极型七段数码管。其单个静态数码管如下图4-4-1所示。 图4-1 静态七段数码管 由于七段数码管公共端连接到GND(共阴极型),当数码管的中的那一个段被输入高电平,则相应的这一段被点亮。反之则不亮。共阳极性的数码管与之相么。四位一体的七段数码管在单个静态数码管的基础上加入了用于选择哪一位数码管的位选信号端口。八个数码管的a、b、c、d、e、f、g、h、dp都连在了一起,8个数码管分别由各自的位选信号来控制,被选通的数码管显示数据,其余关闭。 三、实验内容 本实验要求完成的任务是在时钟信号的作用下,通过输入的键值在数码管上显示相应的键值。在实验中时,数字时钟选择1024HZ作为扫描时钟,用四个拨动开关做为输入,当四个拨动开关置为一个二进制数时,在数码管上显示其十六进制的值。 四、实验步骤 1、打开QUARTUSII软件,新建一个工程。 2、建完工程之后,再新建一个VHDL File,打开VHDL编辑器对话框。 3、按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,用户可参照光 盘中提供的示例程序。 4、编写完VHDL程序后,保存起来。方法同实验一。

5、对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。 6、编译仿真无误后,根据用户自己的要求进行管脚分配。分配完成后,再进行全编译 一次,以使管脚分配生效。 7、根据实验内容用实验导线将上面管脚分配的FPGA管脚与对应的模块连接起来。 如果是调用的本书提供的VHDL代码,则实验连线如下: CLK:FPGA时钟信号,接数字时钟CLOCK3,并将这组时钟设为1024HZ。 KEY[3..0]:数码管显示输入信号,分别接拨动开关的S4,S3,S2,S1。 LEDAG[6..0]:数码管显示信号,接数码管的G、F、E、D、C、B、A。 SEL[2..0]:数码管的位选信号,接数码管的SEL2、SEL1、SEL0。 8、用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。观察实验结果是否与 自己的编程思想一致。 五、实验现象与结果 以设计的参考示例为例,当设计文件加载到目标器件后,将数字信号源模块的时钟选择为1464HZ,拨动四位拨动开关,使其为一个数值,则八个数码管均显示拨动开关所表示的十六进制的值。

BCD七段数码管显示译码器电路

BCD七段数码管显示译码器电路 7段数码管又分共阴和共阳两种显示方式。如果把7段数码管的每一段都等效成发光二极管的正负两个极,那共阴就是把abcdefg这7个发光二极管的负极连接在一起并接地;它们的7个正极接到7段译码驱动电路74LS48的相对应的驱动端上(也是abcdefg)!此时若显示数字1,那么译码驱动电路输出段bc为高电平,其他段扫描输出端为低电平,以此类推。如果7段数码管是共阳显示电路,那就需要选用74LS47译码驱动集成电路。共阳就是把abcdefg的7个发光二极管的正极连接在一起并接到5V电源上,其余的7个负极接到74LS47相应的abcdefg输出端上。无论共阴共阳7段显示电路,都需要加限流电阻,否则通电后就把7段译码管烧坏了!限流电阻的选取是:5V电源电压减去发光二极管的工作电压除上10ma到15ma得数即为限流电阻的值。发光二极管的工作电压一般在1.8V--2.2V,为计算方便,通常选2V即可!发光二极管的工作电流选取在10-20ma,电流选小了,7段数码管不太亮,选大了工作时间长了发光管易烧坏!对于大功率7段数码管可根据实际情况来选取限流电阻及电阻的瓦数! 发光二极管(LED)由特殊的半导体材料砷化镓、磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式LED显示器件(半导体显示器)。分段式显示器(LED数码管)由7条线段围成8型,每一段包含一个发光二极管。外加正向电压时二极管导通,发出清晰的光,有红、黄、绿等色。只要按规律控制各发光段的亮、灭,就可以显示各种字形或符号。图4 - 17(a)是共阴式LED数码管的原理图,图4-17(b)是其表示符号。使用时,公共阴极接地,7个阳极a~g由相应的BCD七段译码器来驱动(控制),如图4 - 17(c)所示。 BCD七段译码器的输入是一位BCD码(以D、C、B、A表示),输出是数码管各段的驱动信号(以F a~F g表示),也称4—7译码器。若用它驱动共阴LED数码管,则输出应为高有效,即输出为高(1)时,相应显示段发光。例如,当输入8421码DCBA=0100时,应显示,即要求同时点亮b、c、f、g段,熄灭a、d、e段,故译码器的输出应为F a~F g=0110011,这也是一组代码,常称为段码。同理,根据组成0~9这10个字形的要求可以列出8421BCD七段译码器的真值表,见表4 - 12(未用码组省略)。

微机原理及应用课程设计_数码管交通灯教材

南京工程学院 课程设计任务书 课程名称微机原理及应用A 院(系、部、中心) 专业 班级 姓名 学号 起止日期 2013.12.23~2013.12.26 指导教师

目录 1.设计要求 (3) 1.1设计目的 (3) 1.2设计内容 (3) 1.3功能要求 (3) 1.4难度要求 (3) 2.方案说明 (4) 2.1硬件系统工作原理说明 (4) 2.1.1电路接线方案 (4) 2.1.2定时问题 (4) 2.1.3工作状态 (4) 2.2参考流程图说明 (5) 2.2.1流程图设计思想 (5) 2.2.2实验流程图 (6) 3源程序清单 (7) 4.调试过程和结果 (11) 4.1总接线图 (11) 4.2 LED模拟的交通灯显示情况 (12) 4.3数码管模拟的交通灯倒计时 (13) 5.心得体会 (13) 6.参考文献 (14)

1.设计要求 1.1设计目的 通过课程设计加深理解课堂教学内容,掌握微机原理的基本应用方法。通过实验熟悉微机基本接口芯片的外型、引脚、编程结构,掌握汇编语言程序设计和微机基本接口电路的设计、应用方法,做到理论联系实际 1.2设计内容 利用STAR ES598PCI实验仪的硬件资源设计一个“带时间显示的交通信号灯迷你控制系统”。所有输入该装置的信号均采用STAR ES598PCI实验仪上的状态输入开关输入,东西,南北方向的红绿黄灯均采用实验仪上的LED发光二极管模拟,东西,南北方向的信号灯变化,通行倒计时时间用数码管显示。 1.3功能要求 (1)假设在一个A道(东西方向)和B道(南北方向)交叉的十字路口安装有自动信号灯。当A道和B道均有车辆要求通过时,A道和B道轮流放行。A道放行7秒,B道再放行5秒,依次轮流。绿灯转换红灯时黄灯亮1秒。 (2)一道有车,另一道无车时(实验时用开关K5和K6控制),交通控制系统能立即让有车道放行。 (3)有紧急车辆要求通过时,系统要能禁止普通车辆通过,A、B道均为红灯,紧急车辆用K7开关来模拟控制,有紧急车辆时另有一红灯闪烁。 (4) 当A道和B道均有车辆要求通过时,A道和B道轮流放行。A道放行30秒,B道再放行20秒,依次轮流。每个绿灯的最后5秒黄灯闪烁。 1.4难度要求 (1)基本要求:采用8255A输出控制信号灯,8255A输入K5、K6、K7控制开关信号,用循环程序软件定时实现功能要求。(60分) (2)中级要求:采用8255A输出控制信号灯,8255A输入K5、K6、K7控制开关信号,用8253硬件定时、软件查询方式实现功能要求。(80分) (3)高级要求:在中级要求的基础上,增加用8255A输出驱动LED数码显示器显示绿灯倒计时的秒数,黄灯时不显示时间。(100分)

PLC控制数码管显示程序设计

? PLC控制数码管显示程序设计》 学院名称:信息工程学院 专业名称:电气自动化技术 班级名称:电气1204 班 姓名:赵传锋 学号:1205130425 指导教师:汪清平 完成时间:2014年06 月01 日

摘要 数码管显示是一个典型的PIC教学项目。在交通灯、电梯、抢答器等系统的控制中都融入了数码管显示。 本设计就是利用PLC作为核心部件用对数码管显示进行设计,让学生在学习过程中更熟练地掌握PIC的编程技巧,提高编程能力。 利用PLC控制数码管的显示过程,并且给出了接线图、梯形图。 关键词:PLC编程设计;接线图:梯形图

、系统组成 1. 设计要求: 先按下“开”按钮,再按“循环显示”按钮,数码管就会从0~9循环显示。按下“置数”按钮,数码管实时显示8 4、2、1编码开关所置数值。用“循环显示”和“置数”按钮来切换数码管的循环显示和置数状态。 2. 系统组成及工作原理: 系统由pic硬件系统和梯形图程序组成。 PLC的控制方式是由继电器控制方式演化而来,由PLC内部的微电子电路构成的软元件线圈和触点取代了硬件继电器的线圈和触点,用PLC的程序指令取代继电器控制的连接导线,将各个元件按照一定的逻辑关系连接起来,PLC内部的中央控制器(CPU)根据输入条件和预定的程序,控制各个软元件的状态,并输出到外部执行部件,控制设备运行。 3. 硬件原理图: +24 v COM 数 管

4.程序流程图:

二、系统设计 设计可以分为循环模式与置数模式的切换控制部分、循环与置数控制部分和输出部分三大模块。 1. 输出部分: 定义: 编码部分中间继电器的常开触点接法: 将Mxx中低位数字相同的中间继电器的常开触点并联接到一起;输出的接法: Y000接a段、Y001接b段、Y002接c段、Y003接d段、 Y004 接e 段、Y005接f 段、Y006接g 段、Y007接dot 段。 工作过程:当编码部分中的某一组工作时,该组中的中间继电器相应的常开触点闭合,从而使相对应的Y00x有输出,这样与输出相连的段就发亮,并组合形成数字。

驱动数码管程序

//GPIO define //FUNCTION:用595完成八位数码管显示 -------------------------------------------------------------------------- */ #include /* STM32F10x Library Definitions */ #include "UET_GPIO.h" //unsigned char seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e ,0x8c,0xc1,0xce,0x91,0x89,0xc7,0xff}; unsigned char seg[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, 0x77,0x7c,0x39,0x5e,0x79,0x71,0x73,0x78,0x5c,0x54, 0x40,0x81,0x88,0x3e,0x70,0x00 } ; //0,1,2,3,4,5,6,7,8,9, //A,b,C,d,E,F,P,t,o,n, //-,~,_,U,r,SP, //unsigned char DAT[]={0x7f,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //位选择unsigned char BitSelect_Code[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //因为ULN2803驱动反相,所以位码要用共阳极的位码 //COM1 COM2 COM3 COM4 COM5 COM6 COM7 COM8 // B0 B1 B2 B3 B4 B5 B6 B7 unsigned char Disp_buffer[]={0,1,2,3,4,5,6,7}; //段缓冲区 unsigned char Bit_NO=0 ; // 选择第Bit_NO 位数码管 unsigned char Buffer_NO=0; // 缓冲区的第Buffer_NO u32 LED_DATA=01234567; #define SER(x) GPIOA->ODR=(GPIOA->ODR&~GPIO_Pin_7) | (x ? GPIO_Pin_7 : 0) #define SCK(x) GPIOA->ODR=(GPIOA->ODR&~GPIO_Pin_5) | (x ? GPIO_Pin_5 : 0) #define RCK(x) GPIOA->ODR=(GPIOA->ODR&~GPIO_Pin_6) | (x ? GPIO_Pin_6 : 0)

相关主题
文本预览
相关文档 最新文档