基于单片机的8255动态显示设计
基于单片机8255交通灯

基于单片机8255交通灯————————————————————————————————作者:————————————————————————————————日期:8255控制交通灯一、实验目的了解8255芯片的结构及编程方法,学习模拟交通灯控制的实现方法。
二、实验内容用8255做输出口,控制十二个发光二极管燃灭,模拟交通灯管理.三、实验说明1。
因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化情况和规律。
假设一个十字路口为东西南北走向。
初始状态0为东西红灯,南北红灯。
然后转状态1东西绿灯通车,南北红灯。
过一段时间转状态2,东西绿灯灭,黄灯闪烁几次,南北仍然红灯。
再转状态3,南北绿灯通车,东西红灯.过一段时间转状态 4,南北绿灯灭,闪几次黄灯,延时几秒,东西仍然红灯.最后循环至状态1.四、实验程序框图五、实验接线图六、实验步骤①8255 PA0—PA7、PB0—PB3依次接发光二极管L1—L12.②以连续方式从0BB0H开始执行程序,初始态为四个路口的红灯全亮之后,东西路口的绿灯亮南北路口的红灯亮,东西路口方向通车.延时一段时间后东西路口的绿灯熄灭,黄灯开始闪耀。
闪耀若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪耀。
闪耀若干次后,再切换到东西路口方向,之后重复以上过程。
一摘要:本系统采用单片机、键盘、LED显示、交通灯演示系统组成.设计一个用于十字路口的车辆及行人的交通管理,系统包括左拐、右拐、及行基本的交通灯的功能,计时牌显示路口通行转换剩余时间,在出现紧急情况时可由交通手动实现全路口车辆禁行而行人通行状态。
另外,在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其他车辆禁止通行的状态,15s后系统自动恢复正常管理。
其他还有 84s与60s通行管理转换等功能。
采用数码管与点阵LED相结合的显示方法,既要求倒计时数字输出,又要求有状态灯输出等。
基于51单片机的高速公路测速系统和车牌识别分析

基于51单片机的高速公路测速系统和车牌识别分析添加时间: 2010-3-20 11:19:19 文章来源: 文章作者: 点击数:17688摘要鉴于高速公路限速牌不能很好地对司机起到警示作用的作用,本文设计了一套基于MCS-51单片机,包含光电探测装置和显示装置的电子屏幕。
它不仅能方便设置并显示该路段的限制速度,以完成普通电子限速牌的限速提示功能,同时能将测得的车速实时显示,并自动判断是否超速。
另外它低廉的造价和经计算证明较高的精度大大提高了它的可用性。
车辆牌照自动识别系统是近几年发展起来的基于图像和字符识别术的智能化交通管理系统,是目前国内外模式识别应用研究领域的一个热点。
本文对系统中区域提取、图像预处理、字符分割和字符识别等环节涉及的算法、设计做了一个比较详细的论述。
本文在图像预处理中重点介绍一种在图像获取阶段有目的定位关注的物体,讨论了灰度图像二值化的多种算法,利用它在原始图像形成的标识区域特性,在约束条件下,按照识别牌几何特征提出了一种特殊的二值化处理方法。
实验证明该图像识别系统具有较高的可靠性与稳定性,减小了进一步车牌识别中计算量大的问题,从而提高了车牌识别的准确性和快速性。
讨论了灰度图像二值化的多种算法基于数学形态学的图像去除噪声的方法。
基于数学形态学的图像去除噪声是通过对图像的开、闭操作有选择的去噪声。
可以去除直径小于字符笔划半径的孤立噪声点。
还详细地介绍了基于字符形态划分的字符识别方法。
基于字符形态划分的字符识别方法是在对数字字符结构进行充分分析的基础上,对基元检测,归纳字符形态特征,得到的快速字符识别方法。
关键词:光电检测;车速测量;单片机;电子限速牌;车辆牌照;图像处理;基元检测;字符识别基于51单片机的高速公路测速系统和车牌识别分析AbstractIn view of the highway speed limit unlicensed drivers should not very well serve as a warning to the role, this article has designed a single-chip based on the MCS-51, including the photoelectric detection devices and display devices of the electronic screen. It not only can easily set up and display the road speed limit in order to achieve common electronic speed limit signs prompt function, can be simultaneously measured real-time display of speed and automatically determine whether the speeding. In addition it is low cost and the higher the accuracy of calculations greatly enhance its usability. Vehicle License Plate Recognition system is developed in recent years based on the image and character recognition operation of the Intelligent Traffic Management System, the application of pattern recognition at home and abroad are currently a hot area ofresearch. In this paper, the system of regional extraction, image preprocessing, character segmentation and character recognition algorithm, such as aspect involved in the design to do a more detailed exposition. In this paper image pre-processing in the introduction of a focus at image acquisition phase has the purpose of positioning objects of concern, discussed the gray image binarization of a variety of algorithms, use it in the original logo image formation of regional characteristics, in binding conditions, identification card in accordance with the geometric characteristics of a particular binarization approach. Experiments prove that the image recognition system has high reliability and stability, further reduce the vehicle license plate recognition in the calculation of a large quantity of questions, thereby increasing the accuracy of license plate recognition and speed.Discussed the gray image binarization algorithm of multiple images based on mathematical morphology method to remove noise. Images based on mathematical morphology to remove the image noise is through the open and close operation has chosen to noise. Can remove the character strokes of a diameter less than the radius of the isolated noise points. Also detail the division of character-based form of character recognition methods. Morphological character-based division of Character Recognition on the figure are at a full analysis of character structure based on element detection, morphological characteristics summarized characters get Character Recognition Express.Key words:Photoelectric detection; speed measurement; Singlechip; electron speed licensing; vehicle license; image processing; motif detection; Character Recognition目录摘要................................................................................. (I)Abstract........................................................................... . (II)第1章绪论................................................................................. . (2)1.1 车牌字符识别研究课题的背景 (2)1.2 车牌字符识别研究的意义 (2)1.3 车牌字符识别研究的应用现状及发展 (3)1.4 本文主要内容.................................................................................第2章车牌图像预处理 (5)2.1 数字图像处理的相关介绍 (5)2.1.1 数字图像处理概念 (5)2.1.2 图像的数字化表示 (5)2.1.3 本文中图像处理所涉及的相关领域 (6)2.2 图像二值化................................................................................. . (6)2.2.1 彩色图像和灰度图像 (6)2.2.2 基于灰度的图像二值化 (7)2.2.3 图像二值化结果演示 (9)2.3 用数学形态学的方法去除噪声 (10)2.3.1 数学形态学的几种基本运算 (10)2.3.2 经开闭运算前后的图像对比显示 (16)2.4 单个字符图像的分割 (17)2.4.1 我国车牌的特点 (17)2.4.2 对所要识别的车牌的分析 (17)2.4.3 基于列扫描黑色像素积累的字符分割 (18)2.4.4 已经分割后的单个字符演示 (18)2.5 本章小结................................................................................. . (19)第3章基于字符形态划分的字符识别 (19)3.1 字符识别概述................................................................................3.1.1 目前字符识别的一些常规方法 (20)3.2 字符轮廓分析 (21)3.2.1 字符轮廓的划分 (21)3.2.2 字符四方向轮廓公式化表示 (21)3.3 字符轮廓的变化特征 (22)3.4 字符形态划分的结构基元 (22)3.4.1 字符结构基元划分原理 (22)3.4.2 字符形态划分方法的特点 (23)3.5 利用字符结构基元划分的字符识别原理 (24)3.5.1 基元的检测 (24)3.5.2 轮廓的统计特征 (25)3.5.3 用字符形态识别数字字符 (25)3.5.3.1 数字字符的特点 (25)3.5.3.2 数字字符的识别方法 (26)3.5.4 字符识别的matlab算法流程 (27)3.6 本课题整体流程 (29)3.6.1 对本课题流程的总体说明 (29)3.6.2 用MATLAB完成本课题的流程图 (30)3.7 基于字符形态划分的字符识别方法的特点和不足 (30)3.8 本章小节................................................................................. (31)结论................................................................................. . (32)参考文献................................................................................. (33)第1章绪论1.1 车牌字符识别研究课题的背景随着21世纪经济全球化和信息时代的到来,作为信息来源的自动检测、图像识别技术越来越受到人们的重视。
单片机实验-可编程并行接口芯片8255的应用实验

可编程并行接口芯片8255的应用实验一、实验目的和要求1、掌握单片机与可编程并行接口芯片8255的接口设计方法。
2、掌握Proteus软件与Keil软件的使用方法。
3、熟悉可编程并行接口芯片8255初始化程序的设计方法。
二、实验内容或原理1、在可编程并行接口芯片8255的PA口或PB口的某一口线上产生连续周期性矩形波。
2、在可编程并行接口芯片8255的PC口的PC0-PC3上接4个按键作输入,PC4-PC7上接4个发光二极管作输出,编程实现发光二极管正确指示按键的状态。
三、设计要求1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与8255接口。
2、在8255PA口或PB口的某一口线上产生周期为500μS的连续方波,接示波器观察波形。
3、在8255PC口的PC0-PC3上接4个按键作输入,PC4-PC7上接4个发光二极管作输出,编程实现发光二极管正确指示按键的状态四、实验报告要求1、实验目的和要求。
2、设计要求。
3、电路原理图。
4、实验程序流程框图和程序清单。
5、实验结果(波形图)。
6、实验总结。
7、思考题。
五、思考题1、在8255PC口上外接8个发光二极管,利用8255PC口的置位/复位控制字控制其按某种规律变化。
原理图:/*功能:PA口产生周期为500us的连续方波(方式二、查询)*/ ORG 0000HLJMP MAINORG 0030HMAIN: MOV TMOD, #02HMOV IE, #00HMOV DPTR, #0003H ;指向8255的控制口MOV A, #89H ;工作方式命令,A口输出MOVX @DPTR, A ;向控制口写控制字MOV TH0, #06H ;赋初值MOV TL0, #06HSETB TR0 ;开启定时器0LOOP: JBC TF0, LOOP1 ;判断计数溢出AJMP LOOPLOOP1: MOV DPTR, #0000H ;指向8255的A口CPL ACC.0 ;指向PA0,取反MOVX @DPTR, A ;显示波形LJMP LOOPEND/*功能:发光二级管指示按键状态*/ORG 0000HMAIN: MOV DPTR, #0003H ;指向8255的控制口MOV A, #81H ;工作方式命令,口C低半输入,高半输出MOVX @DPTR, A ;向控制口写控制字LOOP: MOV DPTR, #0002H ;指向8255的C口MOVX A, @DPTR ;按键状态读入ASW AP A ;高低字节交换,对应高四位MOVX @DPTR, A ;驱动LED发光LJMP LOOPEND。
基于单片机的8255动态显示设计

物理与电气工程学院课程设计报告基于单片机的8255动态显示设计姓名王秋雨学号 111102042专业电子信息工程指导教师李艾华成绩日期 2013.06.22基于单片机的8255动态显示设计王秋雨(安阳师范学院物理与电气工程学院河南安阳455002)摘要:数码管是非常常见的东西,他能显示数字以及字母,应用非常的广泛。
本文和大家谈谈如何用单片机来驱动数码管以及用扩展芯片来实现单片机对数码管的管理。
本文以显示06:18:52开始。
关键字:单片机AT89S52 ,电子时钟,汇编语言,8255,动态显示1 引言随时代的发展,生活节奏的加快,人们的时间观念愈来愈强;随自动化、智能化技术的发展,机电产品的智能度愈来愈高,用到时间提示、定时控制的地方也会愈来愈多,因此,设计开发数字时钟具有良好的应用前景。
由于单片机价格的低成本、高性能,在自动控制产品中得到了广泛的应用。
本设计利用Atmel公司的AT89S52单片机对电子时钟进行开发,设计了实现所需功能的硬件电路,应用汇编语言进行软件编程,并用实验板进行演示、验证。
在介绍本单片机的发展情况基础上,说明了本设计实现的功能,以及实验板硬件情况,并对各功能电路进行了分析。
主要工作放在软件编程上,用实验板实现时间、日期、定时及它们的设定功能,详细对软件编程流程以及调试进行了说明,并对计时误差进行了分析及校正,提出了定时音与显示相冲突问题及解决方案。
实验证明效果良好,可以投入使用。
动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一。
其接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共COM是各自独立地受I/O线控制。
CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以我们就可以自行决定何时显示哪一位了。
而所谓动态扫描就是指我们采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。
8255和LED数码管显示实验

实验四 8255和LED 数码管显示实验一、实验目的1.掌握并行接口8255A 的工作原理及使用方法。
2.了解七段数码管显示数字的原理。
3.掌握多位数码显示的接口技术。
二、实验电路实验电路如图2及图3所示。
三、实验内容1.静态显示:如图2所示,将8255A 的A 口PA0~PA6分别与七段数码管的段码驱动输入端a ~g 相连。
编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来,按其它键程序退出。
用Proteus 仿真软件搭建硬件电路,实现静态显示,完成系统的调试运行,并讲解搭建调试全过程。
用屏幕录像软件进行全过程录像,以MP4格式保存提交,提交仿真程序文件,完成实验报告的书写。
2.动态显示:按图3连接好电路,七段数码管段码连接不变,两个数码管的位码驱动输入端S1、S0分别接8255C 口的PC1、PC0。
编程在两个数码管上显示56,按任意键程序退出。
用Proteus 仿真软件搭建硬件电路,。
要求:在Proteus 仿真软件上搭建硬件系统,采用一个8255芯片实现两个数码管动态显示数字‘56’,完成系统的调试运行,并讲解搭建调试全过程。
用屏幕录像软件进行全过程录像,以MP4格式保存提交,提交仿真程序文件,完成实验报告的书写。
四、实验程序和结果<1>静态显示;************************************************ ;* 键盘输入数据(0-9)控制LED 数码管显示(静态显示) * ;************************************************ IO8255A EQU 288HP A 6P A 5P C 0 P A 4P A 3g f e d c b aS1 S0图3 动态态显示电路+5VP A 6P A 5P A 4C S P A 3g f e d c b a288H~ 28BH8255图2 静态显示电路 dp S3 S2 S1 S0IO8255CON EQU 28BHDATA SEGMENTLED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHMESG DB 0DH,0AH,'INPUT A NUM (0--9),OTHER KEY IS EXIT:',0DH,0AH,'$' DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DX,IO8255CON ;使8255的A口为输出方式MOV AX,80HOUT DX,ALSSS:MOV DX,OFFSET MESG ;显示提示信息MOV AH,09HINT 21HMOV AH,01 ;从键盘接收字符INT 21HCMP AL,'0' ;是否小于0JB EXIT ;若是则退出CMP AL,'9' ;是否大于9JA EXIT ;若是则退出SUB AL,30H ;将所得字符的ASCII码减30HMOV BX,OFFSET LED ;BX为数码表的起始地址XLAT ;求出相应的段码MOV DX,IO8255A ;从8255的A口输出OUT DX,ALJMP SSS ;转SSSEXIT: MOV AH,4CH ;返回DOSINT 21HCODE ENDSEND START<2>动态显示DATA SEGMENTINPORT EQU 2400H-280HIO8255A EQU INPORT+288HIO8255C EQU INPORT+28AHIO8255CTR EQU INPORT+28BHMESGL DB 0DH,0AH,’PRESS ANY KEY TO EXIT!’,0DH,0AH,’$’DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESGL ; 提示显示信息MOV AH,9INT 21HMOV DX,IO8255CTR ;将8255设为A口输出MOV AL,80HOUT DX,ALLOOP1:MOV DX,IO8255AMOV AL,6DHOUT DX,ALMOV DX,IO8255CMOV AL,2OUT DX,ALMOV CX,3000HDELAY:LOOP DELAY ;延时MOV DX,IO8255CMOV AL,0OUT DX,AL ; 关数码管MOV DX,IO8255AMOV AL,7DHOUT DX,ALMOV DX,IO8255CMOV AL,1OUT DX,ALMOV CX,3000HDELAY1:LOOP DELAY1 ;延时MOV AH,0BHINT 21HCMP AL,0JNZ EXIT ;按任意键退出JMP LOOP1EXIT:MOV DX,IO8255CMOV AL,0 ;关掉数码管显示OUT DX,ALMOV AX,4C00H ;返回DOSINT 21HCODE ENDSEND START。
MCS—51单片机学习开发系统设计-单片机原理及接口技术课程设计说明书

MCS—51单片机学习开发系统设计-单片机原理及接口技术课程设计说明书单片机原理及接口技术课程设计说明书姓名xx所在院(系)电气工程与自动化学院专业班级电气学号指导教师xxx时间MCS—51单片机学习开发系统设计摘要:该MCS--51单片机学习开发系统集成多个资源模块,每个模块各自可以成为独立的单元,也可以相互组合,可完成MCS-51单片机学习过程中的大部分实验。
将MCS-51 设计为多功能可编程接口,该系统工具是初学单片机及单片机爱好者快速掌握51系列单片机不可多得的工具,可以为他们提供不同的开发学习环境。
集成系统主要功能模块组成如下:+5V、-5V、+12V、-12V直流稳压电源模块、8位发光二极管、四位LED数码管、点阵式LCD 液晶显示器、4*4键盘、ISP下载线、并行口扩展控制线接口、A/D、D/A转换接口、串行口通信、PC标准键盘的PS/2接口、继电控制模块等。
关键字:MCS-51单片机系统设计功能模块程序设计目录第1章系统综述 (1)第2章硬件设计 (2)2.1 单片机最小系统 (2)2.2 电源电路 (4)2.3 程序下载口 (4)2.4 LED显示模块 (5)2.5 LCD液晶显示器及PC标准键盘接口 (6)2.6 键盘电路 (7)2.7 DAC0832D/A转换电路 (9)2.8 ADC0809A/D转换电路 (10)2.9 8255输入/输出(或数据总线)扩展 (11)2.10串行通信模块 (12)2.11 继电器控制模块 (14)2.12系统总图 (15)第3章软件设计 (18)3.1 8255并行扩展设计 (18)3.2 8255键盘及显示设计 (19)3.3 串行通信口设计 (20)3.4 A/D转换设计 (22)3.5 D/A转换设计 (24)第4章系统实验 (25)4.1 数码管循环计数显示实验 (25)4.2 串行口两单片机双机通信实验 (26)4.3 简单键盘控制显示实验 (27)4.4 键盘控制位循环显示实验 (27)第5章设计总结 (28)第6章参考文献 (29)附录系统模块程序设计清单 (31)1. 8255并行扩展程序设计 (31)2. 8255键盘及显示控制程序设计 (32)3. A/D转换实验程序设计 (36)4. D/A转换程序设计 (37)5. 双机通信实验程序设计 (40)6. 键盘控制位循环显示实验程序设计 (43)第1章系统综述目前,单片机已广泛应用到工业测控、智能仪表、数据采集、人工智能等领域。
基于单片机的按键控制LED数码管共阴极动态显示电路设计报告毕业论文

基于单片机的按键控制LED数码管共阴极动态显示电路设计报告毕业论文本篇报告将详细介绍基于单片机的按键控制LED数码管共阴极动态显示电路的设计。
一、引言LED数码管是一种常用的数字显示器件,广泛应用于各种计数器、时钟和计时器等电子设备中。
本设计旨在利用单片机实现对LED数码管的动态显示,并通过按键控制显示的数字。
二、设计方案1.系统结构本系统采用基于单片机的数字显示方案,其中包括一个单片机、数码管显示模块和按键模块。
单片机负责接收按键输入信号,并根据输入信号控制数码管显示相应的数字。
2.系统设计(1)数码管显示模块:该模块由共阴极LED数码管组成,共阴极接地,通过接通不同的端口线来控制数码管显示不同的数字。
(2)按键模块:该模块由多个按键组成,用于用户输入指定的数字。
每个按键接一个IO脚,通过按下不同的按键,触发不同的端口输入。
(3)单片机:本设计选用51单片机作为控制核心,通过IO口与数码管显示模块和按键模块连接。
单片机根据按键输入信号的变化,对数码管进行动态显示。
3.设计过程(1)针对单片机的接线设计:将单片机的IO口分别与数码管显示模块和按键模块连接。
将数码管的共阳极接电源正极,数码管的各段(即a、b、c、d、e、f、g)接单片机的IO脚。
(2)针对单片机软件设计:设计单片机程序实现按键输入的检测和数码管动态显示的控制。
首先初始化IO口,设置按键引脚为输入端口,设置数码管引脚为输出端口。
然后循环检测按键的状态。
当检测到按键被按下时,根据按键的不同选择分别显示不同的数字。
4.功能要求(1)按下不同的按键,数码管能够显示相应的数字,实现动态显示。
(2)按键输入具有去抖功能,避免误触发。
(3)程序运行稳定,能够正确响应按键输入,显示正确的数字。
三、实验结果经过实验验证,本设计实现了按键控制LED数码管共阴极动态显示的功能要求。
按下不同的按键,数码管能够正确显示相应的数字,程序运行稳定,无误触发现象。
(完整word版)利用8255A芯片实现流水灯闪烁设计

目录摘要··2第1章利用8255A芯片实现流水灯闪烁设计的概述··2第2章三种方案的论述与最终方案的确定··22.1 第一种方案的论述··22.2 第二种方案的论述··52.3 第三种方案(最终方案)的论证··10第3章测试结果及体会心得··13第4章致谢··14第5章参考文献··14附录1 方案一Proteus仿真电路效果图··15附录2 方案一源程序代码··16附录3 方案二Proteus仿真电路效果图··18附录4 方案二源程序代码··19附录5 方案三(最终方案)Proteus仿真电路效果图··20附录6 方案三(最终方案)源程序代码··21摘要:8255A是一种通用的可编程并行I/O接口芯片(Programmable Peripherial Interface),它是为Inter系列微处理器设计的配套电路,也可用于其它微处理器系统中。
通过对它进行编程,芯片可工作于不同的工作方式。
此次课程设计的目的就是利用端口和8255协同工作来实现LED 显示功能,对8255A芯片进行编程使流水灯左移或右移,通过延时程序使流水灯进行顺序点亮。
通过这次课程设计掌握8255A的功能特点、工作原理以及显示器接口的基本原理与方法技术。
关键词:8086芯片AT89C51单片机8255A芯片LED流水灯第1章利用8255A芯片实现流水灯闪烁设计的概述流水灯在日常的生活中有着广泛的应用,例如,许多楼面上的彩灯广告就是应用了流水灯设计。
此次的课程设计的题目是利用了端口和8255A协同工作来实现LED显示功能,编写程序,使用8255的A口和B口均为输出,接8个或16个发光二极管,实现流水灯的显示效果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
物理与电气工程学院课程设计报告基于单片机的8255动态显示设计姓名王秋雨学号 111102042专业电子信息工程指导教师李艾华成绩日期 2013.06.22基于单片机的8255动态显示设计王秋雨(安阳师范学院物理与电气工程学院河南安阳455002)摘要:数码管是非常常见的东西,他能显示数字以及字母,应用非常的广泛。
本文和大家谈谈如何用单片机来驱动数码管以及用扩展芯片来实现单片机对数码管的管理。
本文以显示06:18:52开始。
关键字:单片机AT89S52 ,电子时钟,汇编语言,8255,动态显示1 引言随时代的发展,生活节奏的加快,人们的时间观念愈来愈强;随自动化、智能化技术的发展,机电产品的智能度愈来愈高,用到时间提示、定时控制的地方也会愈来愈多,因此,设计开发数字时钟具有良好的应用前景。
由于单片机价格的低成本、高性能,在自动控制产品中得到了广泛的应用。
本设计利用Atmel公司的AT89S52单片机对电子时钟进行开发,设计了实现所需功能的硬件电路,应用汇编语言进行软件编程,并用实验板进行演示、验证。
在介绍本单片机的发展情况基础上,说明了本设计实现的功能,以及实验板硬件情况,并对各功能电路进行了分析。
主要工作放在软件编程上,用实验板实现时间、日期、定时及它们的设定功能,详细对软件编程流程以及调试进行了说明,并对计时误差进行了分析及校正,提出了定时音与显示相冲突问题及解决方案。
实验证明效果良好,可以投入使用。
动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一。
其接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共COM是各自独立地受I/O线控制。
CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以我们就可以自行决定何时显示哪一位了。
而所谓动态扫描就是指我们采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。
在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。
动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
2 技术要求用单片机和8255扩展芯片实现数码管的显示。
3 方案论证3.1单片机设计这种方案采用AT89C52单片机作为系统的控制核心。
用8255做扩展,显示出六个代显数据。
进行加一的运算。
而且单片机具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制。
液晶显示器具有体积小、外形薄、重量轻、耗能少、工作电压低、无辐射,特别是视域宽、显示信息量大等优点。
3.2LED数码显示模块方案一:静态显示方式。
静态显示方式是指当显示器显示某一字符时,发光二极管的位选始终选中。
在这种显示方式下,每一个LED数码管显示器都需要一个8位的输出口进行控制。
由于单片机本身提供的I/O口有限,实践使用中,通常通过扩展I/O口的形式解决输出口数量不足的问题。
静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,这样既节约了CPU的时间,又提高了CPU的工作效率。
其不足之处是占用硬件资源较多,每个LED 数码管需要独占8条输出线。
随着显示器位数的增加,需要的I/O口线也将增加。
方案二:动态显示方式。
动态显示方式是指一位一位得轮流点亮每位显示器,即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。
对于每一位显示器来说,每隔一段时间点亮一次。
显示器的亮度既与导通电流有关,也与点亮时间和间隔时间点亮一次。
显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。
通过调整时间和时间参数,可以既保证亮度,又保证显示。
若显示器的位数不大于8位,则显示器的公共端只需一个8位I/O口进行动态扫描,控制每位显示器所显示的字形也需一个8位口。
为使设计板面尽量简单,本次设计采用方案二。
4 总体设计4.1设计目的1.加强对单片机和汇编语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。
2.用单片机模拟实现具体应用,使个人设计能过真正使用。
3.把理论知识与实践相结合,充分发挥个人能力,并在实践中锻炼。
4.提高利用已学知识分析和解决问题的能力。
5.提高实践动手能力。
4.2设计内容编写程序并将调试好的程序固化到单片机中。
开始仿真,运行程序,现实相应的结果。
4.3硬件模块整个设计以AT89C51单片机为核心,由数码管显示,LED数码管显示,复位电路三部分组成。
图1 硬件设计方框图4.3.1复位电路复位方式有许多种,本设计采用按键复位,接线图如图2所示。
图2 复位电路在设定时间内,89C51必须在RST引脚产生一个由高到低的电平变化,以清内部定时器。
4.3.2晶振电路晶振电路原理图如图3所示。
选取原则:传统做法,但能够实现所需,即最简单也是实用。
电容选取33pF,晶振为12MHz。
4.3.3硬件连接图各硬件连接方式如图4所示。
4.4软件模块软件设计方框图如图5所示。
图3 晶振电路图4 硬件连接图图5 软件设计方框图4.4.1程序流程图主程序流程图如图7所示,子程序流程图如图8所示。
图6 主程序流程图4.4.2数码管显示子程序:disp0: mov r0,#52h mov r1,#30h mov r3,#3 lll: mov a,@r0 mov b,#10 div ab mov @r1,binc r1mov @r1,ainc r1dec r0djnz r3,lllretdisp1: MOV R0,#DBUFMOV R1,#TEMPMOV R2,#6MOV DPTR,#SEGTAB DP00: MOV A,@R0MOVC A,@A+DPTRMOV @R1,AINC R1INC R0DJNZ R2,DP00retDISP2: MOV R0,#TEMPMOV R1,#6MOV R2,#0fehl1: MOV DPTR,#PBmov a,r2MOVX @DPTR,Arl amov r2,amov a, @r0mov dptr,#PAmovx @dptr, a inc r0Acall Delaydjnz r1,l1rett00: mov th0,#3ch mov tl0,#0b0hdjnz 20h,eedmov 20h,#10mov a,#01add a, 52hmov 52h,acjne a,#60,eedmov 52h,#0mov a,#01add a, 51hmov 51h,acjne a,#60,eedmov 51h,#0mov a,#01add a, 50hmov 50h,acjne a,#24,eedmov 50h,#0eed: retiSEGTAB:DB 3FH,06H,5BH,4FH,66H,6DHDB 7DH,07H,7FH,6FH,77H,7CHDB 58H,5EH,7BH,71H,00H,40H5 心得与体会总结经过两个多月的工作,基于单片机的电子时钟系统的设计已经完成。
经试验验证,满足设计要求。
由于加入了计时修正,在精度方面已经相当准确了,不过还可以达到更高精度,需要精确计算定时器T0中断次数的误差,再予以修正;在软件的定时部分可以进行改进,用循环程序实现,每次循环只需更改相应单元即可,这样使程序精简。
由于时间原因,没能实现这两部分。
该系统的扩展功能由于硬件原因不能实现,以后如硬件允许可以实现这部分功能,还可增加其它功能。
本次设计主要涉及了单片机原理及接口技术的相关知识和汇编语言编程的诸多要领。
设计中涉及的许多问题,更是对以前所学的知识的回顾及在过去的三年中学到知识的系统总结,这次设计对我们将来的工作有很大的帮助。
在设计中,我积极查阅资料,细心钻研各个细节,完成了多功能时钟的开发与调试,也让我们明白了在设计中考虑问题应该全面。
在设计中既锻炼了我的动手能力,又学会查阅资料,提炼需要的信息。
由于本人水平有限,文中难免出现错误与不足之处,恳请老师批评指正。
参考文献[1]李全利,《单片机原理及接口技术》第2版高等教育出版社[2]阎石,《数字电路电子技术》第五版清华大学出版社[3]李艾华,《电子技术及实验》内蒙古大学出版社附录1:程序清单DBUF EQU 30HTEMP EQU 40HPA EQU 1111001111111111BPB EQU 1111011111111111BPCONT EQU 0FFFFHORG 0000HLJMP STARTorg 000bhljmp t00ORG 0030hSTART: mov a,#80hmov dptr, #PCONTmovx @dptr,amov tmod,#01hmov th0,#3chmov tl0,#0b0hsetb tr0mov ie,#10000010bmov 20h,#10MOV 52H,#34hMOV 51H,#12hMOV 50H,#06habc:lcall disp0lcall disp1lcall disp2sjmp abcdisp0: mov r0,#52hmov r1,#30hmov r3,#3lll:mov a,@r0mov b,#10div abmov @r1,binc r1mov @r1,ainc r1dec r0djnz r3,lllretdisp1: MOV R0,#DBUFMOV R1,#TEMPMOV R2,#6MOV DPTR,#SEGTAB DP00: MOV A,@R0MOVC A,@A+DPTR MOV @R1,AINC R1INC R0DJNZ R2,DP00retDISP2: MOV R0,#TEMPMOV R1,#6MOV R2,#0fehl1: MOV DPTR,#PBmov a,r2MOVX @DPTR,Arl amov r2,amov a, @r0mov dptr,#PAmovx @dptr, ainc r0Acall Delaydjnz r1,l1rett00: mov th0,#3ch mov tl0,#0b0hdjnz 20h,eedmov 20h,#10mov a,#01add a, 52hmov 52h,acjne a,#60,eedmov 52h,#0mov a,#01add a, 51hmov 51h,acjne a,#60,eedmov 51h,#0mov a,#01add a, 50hmov 50h,acjne a,#24,eedmov 50h,#0eed: retiSEGTAB:DB 3FH,06H,5BH,4FH,66H,6DHDB 7DH,07H,7FH,6FH,77H,7CHDB 58H,5EH,7BH,71H,00H,40H DELAY: MOV R4,#03HAA1: MOV R5,#0FFHAA:DJNZ R5,AADJNZ R4,AA1RETEND附录3:原理图图8 原理图。