基于单片机的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个发光二极管,实现流水灯的显示效果。
实验2:8255七段数码管静动态显示
实验2:8255七段数码管静动态显示北京科技大学机械专业微机原理实验报告~用到的带走哦!微机实验报告书学号:姓名:班级:同组名单:实验日期:20XX年.12.21实验题目:七段数码管的静态显示实验目标:掌握数码管显示数字的原理(功能:键盘输入一位十进制数字(0~9),用七段数码管显示。
)解题思路:1. 静态显示:按图10(a)连接好电路,将8255的A口PA0-PA6分别与七段数码管的断码驱动输入端a-g项链,位码驱动输入端S1接+5V,S0、dp接地。
编程从键盘输入一位十进制数字,在七段数码管上显示出来。
2. 动态显示:按图10(b)连接好电路,七段数码管段码连接不变,位码驱动输入端S1,S0接8255C口的PC1,PC0。
编程在两个数码管上显示“56”。
程序框图:静态显示见图11(a),动态显示见图11(b)。
北京科技大学机械专业微机原理实验报告~用到的带走哦!关键问题分析(静态显示):1、按键判断和程序结束判断按键来说,由于程序中必须输入数字,所以没有必要对是否按键进行判断,只需要判断按键是否在0-9之间即可。
用以下程序即可:cmp al,'0' jl exit ; jl,条件转移指令,即在小于时转移cmp al,'9' jg exit ;jg, 条件转移指令,即在大于时转移程序中还要用到“cmp”即比较指令,用来比较输入数与0、9的大小关系。
程序结束:如若输入的数字小于0或者大于9,必须直接跳出程序,即结束指令必须单独占用一个程序段,这样,程序顺序执行完毕也可以顺利返回DOS。
2、七段码显示。
北京科技大学机械专业微机原理实验报告~用到的带走哦!实验指导书中给出了七段码的字型代码。
这样一来,七段码的显示只需要用换码指令“XLAT”便可以轻松实现。
前提是必须将七段码字型编成数码表以字符串的形式写进程序中。
3、数字键ASCII码与数值间的转换。
因为0的ASCII码为30H,所以数字键ASCII码与数值间的转换时只需减去30H即可,可用下列语句实现:sub al,30h程序清单:静态显示:data segmentioportio8255aio8255b equ 0c800h-0280h equ ioport+288h equ ioport+28bhled db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fhmesg1 db 0dh,0ah,'Input a num (0--9h):',0dh,0ah,'$'data endscode segmentassume cs:code,ds:data mov ds,ax mov dx,io8255b ;使8255的A口为输出方式mov al,80h ;***-*****B,控制字PA以方式0输出out dx,al mov ah,09h int 21h mov ah,01 ;从键盘接收字符int 21h cmp al,'0' ;是否小于0 jl exit ;如若小于0,则跳转到exit 退出程序cmp al,'9' ;是否大于9 jg exit ; 如若大于9,则跳转到exit退出程序sub al,30h ;将所得字符的ASCII码减30H,数字键ascii码同数值转换mov bx,offset led ;bx为数码表的起始地址xlat ;求出相应的段码mov dx,io8255a ;从8255的A口输出out dx,al jmp zby ;转zby start: mov ax,data zby: mov dx,offset mesg1 ;显示提示信息exit: mov ah,4ch ;返回DOS北京科技大学机械专业微机原理实验报告~用到的带走哦!int 21hcode endsend start动态显示:data segmentioportio8255aio8255bio8255c equ 0c800h-0280h equ ioport+28ah equ ioport+28bh equ ioport+288hled db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段码buffer1 db 5,6 ;存放要显示的个位和十位bz dw ? ;位码data endscode segmentassume cs:code,ds:data mov ds,ax mov dx,io8255b ;将8255设为A口输出mov al,80h ;***-*****B,控制字PA以方式0输出out dx,al mov di,offset buffer1 ;设di为显示缓冲区start: movax,dataloop2: mov bh,02zby: mov byte ptr bz,bhpush di dec di add di, bz mov bl,[di] ;bl为要显示的数pop dimov al,0mov dx,io8255aout dx,almov bh,0 mov si,offset led ;置led数码表偏移地址为SI add si,bx ;求出对应的led数码mov al,byte ptr [si] mov dx,io8255c ;自8255A的口输出out dx,al mov al,byte ptr bz ;使相应的数码管亮mov dx,io8255a out dx,al mov cx,3000delay: loop delay ;延时北京科技大学机械专业微机原理实验报告~用到的带走哦!mov bh,byte ptr bz shr bh,1 jnz zby mov dx,0ffh mov ah,06 int 21h je loop2 ;有键按下则退出mov dx,io8255a mov al,0 ;关掉数码管显示out dx,al mov ah,4ch ;返回int 21h end start code ends运行结果:静态显示:在键盘上输入一个0-9的任意数字,会显示在数码管上。
基于8255的8LED显示的动态显示器
南京邮电大学学年第学期课程设计实验报告题目基于8255的8LED显示的动态显示器专业通信工程学号姓名指导老师实验日期年月日题目:基于8255的8LED显示的动态显示器一,实验目的和要求1,Proteus软件的MCS51单片机仿真学习2,根据提供的参考工程,在proteus平台自己重新设计实验电路所需要的电器原理图,并在此基础上编写相对应的程序,实现其功能,学习proteus软件的使用,其中包括原理图器件的选取,原理图的电气连接,程序的编写编译以及运行,并能查出其错误等。
基本要求:1. 用数码管正常显示数字“12345678”。
2. 通过按键可改变显示方式。
3. 设计显示屏的动态效果,用10个按键,每键对应一种滚动技术。
4. 基于8255口是指显示和键盘都由8255的IO口控制发挥部分:1 设计所有动作的联合效果。
2 设计二个变速按键,可多级改变滚动速度。
3 设计一台魔术电子钟,采用自动变换,随机组合,数据每10秒变换一次。
动态显示格式:1 静止2 整体闪烁3 单字闪烁4 整体向前、向后滚动5 单字移动6 两边向中间压缩7 中间向两边扩张8 上下压缩9 文字上下滚动10组合动作(每一字符执行上述一个动作,并同时运动)二,实验仪器微型计算机三,实验原理基于8255的8LED显示的动态显示器,是由8255a做键盘控制口连接c51,并驱动8位7段数码管实现相应显示功能。
具体的,c51,p1口直接进行led数码管的位控制;p2口经74HC573译码后控制8255a的片选与内部奇存器选择;p0口连接8255a的D端口,并由它的PA口驱动7段led, PB口连接键盘,并做为I/O口与c51通信,以实现相应显示变化。
四,基本原件及其原理单片机微型计算机简称单片机,是指在一块芯片体上集成了中央处理器CPU、随机存储器RAM、程序存储器ROM或EPROM、定时器/计数器、中断控制器以及串行和并行I/O接口等部件,构成一个完整的微型计算机。
毕业设计基于单片机的LED显示屏的动态显示
毕业设计基于单片机的LED显示屏的动态显示目录1 绪论 (4)1.1 LED显示屏的发展背景及国内外研究现状 (4)1.2 设计目标及采取的方案 (4)1.2.1 本设计的目标 (4)1.2.2 本设计采取的方案 (5)1.3 文章的结构安排 ....................................... 5 2 系统总体分析 .. (7)2.1 显示部分 (7)2.2 驱动电路的选择 (8)2.3 电源模块选择 (8)2.4 工作原理 (8)2.5 总体设计 ............................................. 9 3 系统硬件设计 . (10)3.1 AT89C51芯片的介绍 (11)3.2 时钟电路 (15)3.3 复位电路 (15)3.4 驱动电路设计 (16)3.4.1 2N5551与2N5401三极管的主要参数 (16)3.4.2 8255芯片的介绍 (17)3.5 键盘模块设计 (19)3.6点阵式汉字LED显示屏设计 (20)3.6.1 LED的特点以及常用的参数 (20)3.6.2 LED电子显示屏 (22)3.6.3 LED电子显示屏显示字符原理 (23)3.6.4 汉字显示的原理 (25)3.7 整体电路 ............................................ 30 4 系统软件设计 . (32)4.1 主程序设计 (32)4.2 子程序设计 .......................................... 37 5 结论 .................................................... 41 6 致谢 .................................................... 42 参考文献 (43)3基于单片机的LED显示屏的动态显示1 绪论1.1 LED显示屏的发展背景及国内外研究现状在大型商场、车站、码头、地铁站以及各类办事窗口等越来越多的场所需要用LED点阵显示图形和汉字。
利用8255和51单片机实现数码管显示按键值的实验
三个附加的控制端、和。当、时,输出为高电平(S=1),译码器处 于工作状态。否则,译码器被禁止,所有的输出端被封锁在高电平, 如表 3.3.5 所示。这三个控制端也叫做“片选”输入端,利用片选的作 用可以将多篇连接起来以扩展译码器的功能。 带控制输入端的译码 器又是一个完整的数据分配器。在图 3.3.8 电路中如果把作为“数据” 输入端(同时),而将作为“地址”输入端,那么从送来的数据只能通 过所指定的一根输出线送出去。这就不难理解为什么把叫做地址输入 了。例如当=101 时,门的输入端除了接至输出端的一个以外全是高 电平,因此的数据以反码的形式从输出,而不会被送到其他任何一个 输出端上。 【例 3.3.2】 试用两片 3 线-8 线译码器 74LS138 组成 4 线-16 线译码器,将输入的 4 位二进制代码译成 16 个独立的低电平 信号。 解:由图 3.3.8 可见,74LS138 仅有 3 个地址输入端。如果 想对 4 位二进制代码,只能利用一个附加控制端(当中的一个)作为 第四个地址输入端。 取第(1)片 74LS138 的和作为它的第四个地 址输入端(同时令),取第(2)片的作为它的第四个地址输入端(同 时令),取两片的、、,并将第(1)片的和接至,将第(2)片的接至, 如图 3.3.9 所示,于是得到两片 74LS138 的输出分别为 图 3.3.9 用 两片 74LS138 接成的 4 线-16 线译码器 式(3.3.8)表明时第(1) 片 74LS138 工作而第(2)片 74LS138 禁止,将的 0000~0111 这 8 个代码译成 8 个低电平信号。而式(3.3.9)表明时,第(2)片 74LS138 工作,第(1)片 74LS138 禁止,将的 1000~1111 这 8 个代码译成 8 个低电平信号。这样就用两个 3 线-8 线译码器扩展成一个 4 线-
7、单片机扩展8255A控制显示器实验 (1)
7、单片机扩展8255A控制显示器实验一、实验目的及要求学习利用Proteus软件,通过8255扩展接口,仅通过P0端口控制8只集成式7段数码的显示控制。
本例的接口扩展电路与6264数据内存扩展电路非常相似,都使用了地址锁存芯片74LS373,单片机还使用ALE,/RD,/WR连接地址锁存芯片及接口扩展芯片。
8255仅使用PA和PB端口。
二、实验原理(图)1、使用Proteus ISIS 7 Professional应用程序,建立一个.DSN文件2、在“库”下拉菜单中,选中“拾取元件”(快捷键P),分别选择以下元件:AT89C51、74LS373、7seg-MPX8-CA-GRN。
3、构建仿真电路4、创建一个Keil应用程序:新建一个工程项目文件;为工程选择目标器件(A T89C51);为工程项目创建源程序文件并输入程序代码;保存创建的源程序项目文件;把源程序文件添加到项目中。
5、把用户程序经过编译后生成的HEX文件添加到仿真电路中的处理器中(编辑元件→文件路径)三、实验设备(环境):电路一台Proteus ISIS 7 Professional应用程序Keil应用程序四、实验内容(算法、程序、步骤和方法):#include<reg51.h>#include<absacc.h>#define uchar unsigned char#define uint unsigned int#define PA XBYTE[0x0000]#define PB XBYTE[0x0001]#define PC XBYTE[0x0002]#define COM XBYTE[0x0003]uchar code DSY_Index[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};uchar code DSY_CODE[]={0xa4,0xc0,0xf9,0xa4,0xf9,0xf9,0xf9,0x99};void delayms(uint x){ uchar i;while(x--) for(i=0;i<120;i++); }void main(){ uchar i,j;COM=0x80; //1000、0000while(1){for(i=0;i<40;i++){for(j=0;j<8;j++){PB=DSY_Index[j];//j=0,PB=DSY_Index[0],=0x01PA=DSY_CODE[j];//j=0;PA=DSY_CODE[0],=0xa4delayms(1);}}}}五、实验结论(结果):本实验实现了XXX功能,核心算法采用了XXX的方式,达到了预期目的。
[转载]基于8255的LCD动态显示器设计
基于8255的LCD动态显示器设计一、设计要求能够学会利用Proteus软件的MCS51单片机仿真学习,根据提供的参考工程,在proteus平台自己重新设计实验电路所需要的电气原理图,并在此基础上编写相对应的程序,实现其功能,学习proteus软件的使用,其中包括原理图器件的选取、原理图的电气连接、程序的编写编译以及运行,并能查出其错误等。
二、实验内容设计一基于8255的LCD动态显示器三、实验要求1.用数码管或LCD正常显示数字“12345678”。
2.通过按键可改变显示方式。
3.设计显示屏的动态效果,用10个按键,每键对应一种滚动技术。
另注,实验发挥部分:1.设计所有动作的联合效果。
2.设计二个变速按键,可多级改变滚动速度。
3.设计一台魔术电子种,采用自动变换,随机组合,数据每10秒变换一次。
动态显示格式:1.静止2.整体闪烁3.单字闪烁4.整体向前、向后滚动5.单字移动6.两边向中间压缩7.中间向两边扩张8.上下压缩9.文字上下滚动10.组合动作(每一字符执行上述一个动作,并同时运动)四、实验过程本次课程设计是在理论课程的基础上,目的在于培养我们的动手能力,通过电路设计、理论计算、实际编程、调试、测试、分析查找故障,解决在实际设计中的问题,使设计好的电路能正常工作,并可能结合实际的实验板进行下载测试。
在此基础上根据实验大纲的要求,我们以两人一组的形式在“51单片机课程设计选题表”中任选一空(各组间不能重题),实现其功能。
鉴于我们组对于8255通用可编程器件的了解,我们选择基于8255的LCD显示的动态显示器设计这一课题。
在考虑本次设计过程中,依据设计基本要求,并且基于8255通用可编程器件等条件,我们把8255器件用来扩展I/O口,以备外接一4X4键盘,以满足通过10个按键来控制10种动态显示,以及通过该I/O口外接一LCD显示器(当然,实验中我们发现不用8255扩展I/O口,单片机AT89C51的四个I/O端口已能满足该实验需要)。
第一章 单片机IO接口的扩展---8255
单片机对外设的控制方式
(1)程序查询方式
这种方式下,CPU通过I/O指令询问指定 外设当前的状态,如果外设准备就绪,则进行 数据的输入或输出,否则CPU等待,循环查询。
这种方式的优点是结构简单,只需要少 量的硬件电路即可,缺点是由于CPU的速度远 远高于外设,因此通常处于等待状态,工作效 率很低
(2)中断处理方式
(1)设置数据的寄存、缓冲逻辑,以适应CPU与外设之间的速度差异,接口通常由 一些寄存器或RAM芯片组成,如果芯片足够大还可以实现批量数据的传输; (2)能够进行信息格式的转换,例如串行和并行的转换; (3)能够协调CPU和外设两者在信息的类型和电平的差异,如电平转换驱动器、数 /模或模/数转换器等; (4)协调时序差异; (5)地址译码和设备选择功能; (6)设置中断和DMA控制逻辑,以保证在中断和DMA允许的情况下产生中断和 DMA请求信号,并在接受到中断和DMA应答之后完成中断处理和DMA传输。 接口的控制方式
WR :写信号,低电平有效。当 WR 有效时,CPU
可以往8255A中写入控制字或数据。 A1、A0:端口选择信号。8255A内部有3 个数据端口和1个控制端口,当A1A0=00时选 中端口A;A1A0=01时选中端口B;A1A0=10 时选中端口C;A1A0=11时选中控制口。 A1、A0和 RD 、 WR 及 CS 组合所实 现的各种功能如表所示。
方式1下的输出时序
3. 方式2(双向模式)
8255A只有A口具有这种双向输入输 出工作方式,实际上是在方式1下A口输入 输出的结合。在这种方式下,A口为8位双 向传输口,C口的PC7~PC3用来作为输入 /输出的同步控制信号。 在这种情况下,B口和PC2~PC0只能 编程为方式0或方式1工作,而C口剩下的 3条线可作为输入或输出线使用或用作B 口方式1之下的控制线。
单片机扩展8255控制LED数码管动态显示仿真教学
个位选 引脚分 别连接 数码管 的公共端 ,位选 引脚 以
足够快 的扫描速 度配 合段码 引脚控制 若干个数 码管
逐个循 环显 示 ,给人 的感觉是 这若干 个数码 管 同时
9 6期 )
济 南 职 业 学 院 学 报
F e b . 2 0 1 3 No . 1( S e r i a l N o . 9 6
单 片机扩展 8 2 5 5 控制 L E D 数码管动态 显示 仿真教学
刘 文 光 张 铭 铭
( 1 . 济 南职 业 学院 ,山东 济 南 2 5 0 1 0 3 ; 2 . 青岛 市 中心医 院 ,山东 青岛 2 6 6 0 4 2 )
8 2 5 5 数据 线 D O — D 7与 5 l 单片机 P 0口相 连 ;8 2 5 5 两根地 址 线 Al 和A 0 可 通过 7 4 L S 3 7 3 与5 l 单 片机
眼的视 觉暂 留现 象和数码 管 的余辉效 应 n ,用 若干
P O . 1 和P 0 . 0相 连 ;8 2 5 5片选 信 号 引脚 低 电平 有 效
关键词 :8 2 5 5 ;时序 图 ;动态显示 ;仿 真教 学 中图分类号 i G7 1 文献标识码 :A 文章编号 i 1 6 7 3 -4 2 7 0( 2 0 1 3) 0 1 —0 0 8 2 —O 3
一
、
引言
用需要与外 设相连 ;8 2 5 5的复位 引脚 高 电平有 效 、 VC C接 电源 、G N D接地 。教师在讲解这部分内容时 需要着重阐明如何通过寻址设定 8 2 5 5的控制 字和读
南邮设计报告--基于8155的8LED显示串口通信机设计.
课程设计实验报告实验题目:基于8255的LCD温度显示设计学院:通信工程专业:学号:姓名:指导老师:第一部分实验目的及要求1.实验目的本课程设计是在理论课程的基础上,重点培养学生的动手能力,通过理论计算、实际编程、调试、测试、分析查找故障,解决在实际设计中的问题,使设计好的电路能正常工作,为下一部结合实际的硬件系统设计准备条件。
2.实验基本要求:根据提供的参考工程,在proteus平台自己重新画出实验所需要的电气原理图,并在此基础上编写相对应的程序,实现其功能,学习proteus软件的使用,其中包括原理图器件的选取、原理图的电气连接、程序的编写编译以及运行,并能查出其错误等。
第二部分实验工具及实验器件1.Proteus 7.5以及Keil 4软件的使用Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。
而*.HEX文件则由Keil软件编译后生成。
8255与多位LED数码管的显示-PPT课件
LED数码管显示跳屏线冒 电源电路
LED1 ~LED6 LED-A~LED-DP
8255并行接口
CPU板座
复位键
六、实验步骤
1、实验接线
本实验中8255的地址分配如下:
端口A
04A0H
端口B
04A2H
端口C
04A4H
控制口
04A6H
CS0CS8255 (输出)PA0~PA7 LED-A~LED-DP(段控) (输出)PB0~PB5 LED-1~LED-6(位控)
四、实验设备
MUT—Ⅲ型实验箱、8086CPU模块。
五、8255与8086及8255与键盘的电路连接
D0~D7
IOW 系
统
IOR
总
线
A2
A1
A15~A19
DB
地址 译码器
8255
D0~D7 PA WR
RD
PC
A1
A0
PB CS
LED-A~LED-DP
(段控)
LED-1~LED-6
(位控)
动态扫描显示字形码
rol
bl,1 ; bl=1111 1110B循环左移,使下个位控有效
loop disp
jmp
start1
delay: mov cx,43h ;延时程序,将此数改为最大观察结果
delay1: nop
nop
loop delay1
ret
segcod db 3fh,06h,5bh,4fh,66h,77h
code ends
位
0:端口C(PC7~PC4)输出
1:端口A输入
0:端口A输出
00:端口A方式0
01:端口A方式1
- 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 原理图。