实验五 - AT89C51单片机串行口扩展实验——LED静态显示器
基于AT89C51单片机的LED点阵显示系统设计
基于AT89C51单片机的LED点阵显示系统设计一、选取硬件平台本设计选取了AT89C51单片机作为主控芯片,其具有易于编程和接口丰富的特点,适合用于控制LED点阵显示系统。
通过单片机的IO口与LED点阵进行连接,并通过相应的驱动电路控制LED的亮灭,实现点阵显示功能。
二、软件设计在单片机上,我们需要编写相应的程序来控制LED点阵的显示。
以下是基本的软件设计功能:1. 点阵数据存储:在单片机的内部RAM中,设计一块存储区域,用来存放LED点阵的数据。
每个存储单元代表一个LED的亮灭状态,通过将相应的数据写入或读取出来,来实现相应的显示效果。
2. 数据刷新和循环:通过定时器中断,定时触发点阵数据的刷新。
在每次刷新时,通过逐行扫描点阵的方式,将相应的数据输出到点阵对应的LED上。
为了实现流畅的显示效果,需要进行快速的循环刷新,并及时更新点阵数据。
3. 外部控制:为了方便控制点阵的亮灭,可以设计外部按键或开关来实现一些功能,如调整亮度、改变显示内容等。
通过单片机的IO口读取外部的输入信号,进一步控制点阵显示的效果。
三、硬件设计除了单片机之外,还需要设计相应的硬件电路来实现LED点阵的驱动和控制。
1. 驱动电路:通过行选和列选的方式,来控制点阵中的每个LED的亮灭状态。
在每个行选时,通过给相应的引脚输出高电平,从而使得该行上的LED亮起;在每个列选时,通过给相应的引脚输出低电平,从而使得该列上的LED亮起。
2. 电流限制:为了保证LED在正常工作范围内,需要在驱动电路中加入适当的电流限制元件,如电流限制电阻或恒流源。
通过限制电流,在避免烧坏LED的同时,也可进一步控制LED的亮度。
3. 外部控制接口:为了实现外部控制功能,可以设计相应的按钮或开关与单片机的IO口相连接,通过读取按钮或开关的状态,来实现相应的操作。
同时,也需要设计合适的电平转换电路,以兼容单片机和外部控制信号之间的电平差异。
四、实验结果和分析经过硬件和软件的设计与调试,我们成功地实现了基于AT89C51单片机的LED点阵显示系统。
AT89C2051单片机串行口扩展的LED显示接口电路
AT89C2051单片机串行口扩展的LED显示接口电路
林敏;于忠得
【期刊名称】《计量技术》
【年(卷),期】2002(000)008
【摘要】基于AT89C2051这种高性能低价位的单片机,研制出一种低成本的串行口扩展的LED显示接口电路,介绍了其硬件电路与软件程序.实际运行表明,该电路可以成功地应用到以AT89C2051单片机为核心的智能仪表中,而且LED显示清晰稳定可在线调整发光亮度.
【总页数】2页(P28-29)
【作者】林敏;于忠得
【作者单位】大连轻工业学院,大连市116034;大连轻工业学院,大连市116034【正文语种】中文
【中图分类】TP3
【相关文献】
1.由单片机串口扩展的多位LED显示接口电路 [J], 韩静;王熙
2.基于单片机串行扩展的大屏幕LED显示接口电路 [J], 肖静;涂绪坚;邱志诚;余颖
3.利用80C31单片机串行口实现多个LED显示的一种简单方法 [J], 刘文洲;张立臣
4.用AT89C2051单片机串行口实现LED动态显示 [J], 王玉璞;保和平
5.用单片机串行口实现动态扫描LED显示 [J], 眭碧霞
因版权原因,仅展示原文概要,查看原文内容请购买。
单片机实验报告——LED灯控制器
单片机实验报告——LED灯控制器
实验名称:LED灯控制器设计与实现
实验目的:
1.学习和掌握单片机的基本原理及其应用;
2.熟悉LED灯控制器的工作原理,并能够实现基本的灯光控制功能;
3.提高动手能力和解决实际问题的能力。
实验原理:
本实验基于单片机来控制LED灯的亮灭,通过按键输入来控制LED灯的工作状态。
实验材料和器件:
1.AT89C51单片机开发板;
2.电源适配器;
3.LED灯;
4.电阻、电容、按键等元器件。
实验步骤:
1.连接电路
将AT89C51单片机开发板与电源适配器连接,并将LED灯与单片机开发板上的GPIO引脚连接。
2.编写程序
使用Keil C编写程序,实现按下按钮时,LED灯亮起,再次按下按钮时,LED灯熄灭。
3.烧录程序
将编写好的程序通过编程器烧录到AT89C51单片机中。
4.运行程序
上电后,按下按钮,观察LED灯的亮灭情况,验证程序的正确性。
5.调试和优化
根据实际情况,对程序进行调试和优化,确保LED灯的控制能够稳定可靠。
实验结果:
经过调试和优化后,LED灯控制器工作正常。
按下按钮时,LED灯亮起,再次按下按钮时,LED灯熄灭,实现了基本的灯光控制功能。
实验总结:
通过本次实验,我对单片机的基本原理和应用有了更深入的了解,学会了使用单片机控制LED灯的方法和技巧。
同时,我也提高了动手实践和解决实际问题的能力。
在今后的学习和工作中,我会继续深入学习单片机的应用,不断提升自己的技术水平。
at89c51实验报告
at89c51实验报告AT89C51实验报告引言:AT89C51是一款经典的8位单片机,被广泛应用于各种嵌入式系统中。
本实验报告将介绍我对AT89C51的实验过程和结果,以及对该单片机的一些理解和应用。
实验目的:1. 熟悉AT89C51单片机的基本特性和功能;2. 掌握AT89C51单片机的编程方法和调试技巧;3. 实现简单的功能模块并验证其正确性。
实验过程:1. 硬件准备在实验开始前,我准备了一块AT89C51开发板、一台电脑、一根USB数据线以及一些连接线。
将开发板与电脑连接,确保能够正常通信和编程。
2. 软件设置我选择了Keil C51作为开发工具,打开软件后,新建一个工程,并选择AT89C51作为目标芯片。
接着,我编写了一个简单的程序,用于点亮开发板上的LED灯。
3. 编程调试将编写好的程序下载到AT89C51单片机中,然后通过调试工具进行程序的调试和运行。
在调试过程中,我发现程序中存在一处错误,经过仔细排查后,成功修复了问题。
4. 功能实现在程序调试通过后,我开始尝试实现一些功能模块。
首先,我实现了一个简单的计数器,通过按下开发板上的按钮,可以实现数字的加减操作。
接着,我尝试了一些其他的功能,如LED灯的闪烁、蜂鸣器的发声等。
实验结果:经过一系列的实验和调试,我成功地实现了以上功能模块,并验证了其正确性。
AT89C51单片机表现出了良好的稳定性和可靠性,在进行各种操作时没有出现明显的延迟或错误。
对AT89C51的理解和应用:通过这次实验,我对AT89C51单片机有了更深入的了解。
AT89C51作为一款经典的8位单片机,具有较强的处理能力和丰富的外设接口,可以广泛应用于各种嵌入式系统中。
在实际应用中,AT89C51可以用来控制各种外设,如LED灯、LCD显示屏、温度传感器等。
通过编写相应的程序,可以实现各种功能,如数据采集、数据处理、控制操作等。
此外,AT89C51还支持多种通信协议,如UART、SPI、I2C等,可以与其他设备进行数据交互。
基于at89c51的流水灯设计
8只LED从左到右闪烁
实验原理
AT89C51 单片机是一种低功耗且电压性能高的8位单片机,内部除CPU外,还包括128字节RAM,4个8位并行I/O口,6个中断源,2个中断优先权2个16位可编程定时器/计数器,片内集成4K字节可改变程序的FLASH 内存,具有低功耗、速度快、程序擦写方便等优点,完全满足本系统设计的需要。
实现发光二极管(LED)闪烁实际上就是让LED亮一下灭一下,即让LED导通一会儿关断一会即可。
因此,只需要将LED发光二极管的一个极接到电源上,另一个极接到单片机32个I/O口的任何一个即可。
本实验采用流水灯形式,8只LED灯从左到右闪烁,可应用与霓虹灯,夜间彩灯等。
1.C文件程序
/* 名称:8只LED从左到右闪烁*/
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//延时
void DelayMS(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<120;i++);
}
}
//主程序
void main()
{
P0=0xfe;
while(1)
{
P0=_crol_(P0,1); //P0的值向左循环移动
DelayMS(150);
}
}
2.硬件仿真
烧入kell生成的.hex文本
运行:
结果:8只LED灯从左到右闪烁。
运用AT89C51使LED 灯闪烁
运用AT89C51使LED 灯闪烁1. 概述本文档将介绍如何使用AT89C51微控制器来控制LED灯的闪烁。
AT89C51是一种高性能、低功耗的8位单片机,具备丰富的GPIO(通用输入输出)引脚,适合用于各种嵌入式应用中。
2. 硬件准备在开始编程之前,我们需要准备以下硬件设备:•AT89C51单片机开发板•LED灯•220欧姆电阻(用于限流)3. 连接电路在连接电路之前,确保开发板和所需的元件处于关机状态。
按照以下步骤连接电路:1.连接LED灯的长脚(阳极)到AT89C51的P1.0引脚。
2.连接LED灯的短脚(阴极)通过220欧姆电阻接地。
确保连接正确后,即可准备开始编程。
4. 编程以下是使用AT89C51使LED灯闪烁的示例程序:#include <REG51.h>#define LED P1_0 // 定义LED控制引脚为P1.0void delay(int milliseconds){int i, j;for (i = 0; i < milliseconds; i++)for (j = 0; j < 120; j++);}void main(){while (1){LED = 1; // 将LED引脚置高,点亮LEDdelay(1000); // 延时1秒LED = 0; // 将LED引脚置低,熄灭LEDdelay(1000); // 延时1秒}}在上面的示例代码中,我们使用P1.0引脚来控制LED灯的开关。
程序使用了一个简单的延时函数delay来实现LED灯的闪烁效果。
当LED引脚置高时,LED 灯亮起;当LED引脚置低时,LED灯熄灭。
通过在LED灯亮起和熄灭之间加入适当的延时,我们可以实现LED灯的闪烁效果。
5. 下载程序在编程完成后,我们需要将程序下载到AT89C51单片机中。
以下是下载程序的步骤:1.将AT89C51单片机开发板连接到电脑的USB口或串口上。
AT89S51单片机实验及实践.IO并行口直接驱动LED显示
1. 实验任务如图13所示,利用AT89S51单片机的P0端口的P0.0-P0.7连接到一个共阴数码管的a-h的笔段上,数码管的公共端接地。
在数码管上循环显示0-9数字,时间间隔0.2秒。
2. 电路原理图图4.7.13. 系统板上硬件连线把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个数码管的a-h端口上;要求:P0.0/AD0与a相连,P0.1/AD1与b相连,P0.2/AD2与c相连,……,P0.7/AD7与h相连。
4. 程序设计内容(1.LED数码显示原理七段LED显示器内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的极管的接线形式,可分成共阴极型和共阳极型。
LED数码管的g~a七个发光二极管因加正电压而发亮,因加零电压而不以发亮,不同亮暗的组合就能形成不同的字形,这种组合称之为字形码,下面给出共阴极的字形码见表2“0”3FH “8”7FH“1”06H “9”6FH“2”5BH “A”77H“3”4FH “b”7CH“4”66H “C”39H“5”6DH “d”5EH“6”7DH “E”79H“7”07H “F”71H(2.由于显示的数字0-9的字形码没有规律可循,只能采用查表的方式来完成我们所需的要求了。
这样我们按着数字0-9的顺序,把每个数字的笔段代码按顺序排好!建立的表格如下所示:TABLE DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6 FH5.程序框图图4.7.26.汇编源程序ORG 0START: MOV R1,#00HNEXT: MOV A,R1MOV DPTR,#TABLEMOVC A,@A+DPTRMOV P0,ALCALL DELAYINC R1CJNE R1,#10,NEXTLJMP STARTDELAY: MOV R5,#20D2: MOV R6,#20D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1DJNZ R5,D2RETTABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHEND7.C语言源程序#includeunsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char dispcount;void delay02s(void){unsigned char i,j,k;for(i=20;i>0;i--)for(j=20;j>0;j--)for(k=248;k>0;k--);}void main(void){while(1){for(dispcount=0;dispcount<10;dispcount++){P0=table[dispcount];delay02s();}}}。
基于AT89C51单片机的LED点阵显示系统设计
基于AT89C51单片机的LED点阵显示系统设计基于AT89C51单片机的LED点阵显示系统设计一、引言随着科技的不断发展,数字显示技术成为现代生活中不可或缺的一部分。
其中,LED点阵显示系统在广告牌、仪器仪表、计算器等领域有着广泛的应用。
本文将介绍一个基于AT89C51单片机的LED点阵显示系统的设计过程,涉及硬件设计、软件设计以及系统实现等方面。
二、硬件设计该LED点阵显示系统的硬件设计主要包括四个部分:单片机模块、LED点阵模块、输入模块和电源模块。
1. 单片机模块:选择AT89C51单片机作为控制核心,该单片机具有丰富的IO口和强大的计算能力,非常适合用于控制LED点阵显示系统。
单片机模块完成对输入模块的数据读取和处理,并控制LED点阵模块的亮灭。
2. LED点阵模块:采用8*8的单色LED点阵,共有64个LED灯,用于显示各种图形和字符。
单片机模块通过控制各个列线和行线的高低电平来控制LED灯的亮灭,从而实现不同的显示效果。
3. 输入模块:由于AT89C51单片机没有直接的输入接口,需要通过外部电路完成对按键信号的读取。
设计中使用矩阵键盘作为输入模块,采用行列扫描的方法,通过检测按键的状态来实现输入控制。
4. 电源模块:为了保证整个系统的正常运行,设计中需要提供稳定的电源。
采用直流电源供电,通过电源模块对电压进行稳定和过滤处理,从而确保各个模块的正常工作。
以上硬件模块之间通过引脚连接器进行连接,并经过理性布局,以减少对系统性能的影响。
三、软件设计软件设计是LED点阵显示系统中不可或缺的一部分,主要由单片机程序和驱动程序组成。
单片机程序负责对输入信号的读取和处理,驱动程序则负责控制LED点阵的显示效果。
1. 单片机程序:采用C语言编写单片机程序,实现对输入模块的扫描和数据的读取。
根据不同的按键输入,单片机程序可以控制LED点阵的显示模式,如常规显示、滚动显示、逐行显示等。
2. 驱动程序:驱动程序为单片机与LED点阵模块之间的接口程序,负责控制LED点阵的亮灭。
传统51MCU--AT89C51扩展ROM,RAM实验
传统51MCU--AT89C51扩展ROM,RAM实验51MCU内部有RAM,ROM,不同于8031。
尽管如今的增强行51MCU的内部RAM,ROM 可能已经很大的空间。
但就技术而言,扩展RAM,ROM还是需要学会的。
对于不同的设计方案需求,扩展可能基于以下任何一种设计:A,只扩展RAMB,只扩展ROMC,扩展ROM,RAM****************************总线扩展时,P2口是否可用做普通IO口************************************这种扩展是基于总线扩展的,所以,P0P2口就已经不可以再做它用了(有网友提供信息,总线扩展P2还可以做普通IO口用,有两种可能:1,P2口复用,如同P1利用373锁存器。
2,在总线扩展时,只用到了低地址总线,P2口未用到。
就作为普通IO口应用。
由于技术还不到位,不做评论。
)*******************************************扩展RAM****程序************************************************扩展RAM,在程序中定义的xdata类型XBYTE类型等地址范围在外部RAM的变量,对其读写的过程。
用C51语言编写程序,且使用总线扩展的RAM,则时序电路不用考虑,WR RD等信号由编译器/硬件自动完成。
**************************************编译器设置*****************************************内部RAM:0x00~~0xFF外部RAM:0x0000~~0xFFFFRAM的地址虽重复,但是两个RAM是没有关系的,所以不会造成干扰使用了外部RAM,就在工程选项---off-chip xdata memory中设置start:0x0000 size:0xFFFF(根据具体的RAM大小设置size)。
at89c51led闪烁实验汇编语言
at89c51led闪烁实验汇编语言1. 简介at89c51是一种经典的单片机芯片,被广泛应用于各种嵌入式系统中。
其中,led闪烁实验是单片机入门的必备实验之一,通过这个实验可以初步了解单片机的基本工作原理和汇编语言的编程方法。
2. 实验原理在at89c51单片机中,led是一种常用的输出设备,可以通过控制引脚的高低电平来实现闪烁效果。
通过学习汇编语言的编程方法,我们可以编写程序控制led引脚的状态,从而实现led的闪烁操作。
3. 实验步骤第一步:搭建硬件实验评台,将at89c51单片机与led灯连接。
第二步:编写汇编语言程序,通过设置端口的高低电平来实现led的闪烁效果。
第三步:将编写好的程序下载到at89c51单片机中,进行调试和验证。
4. 实验代码下面是一个简单的at89c51led闪烁实验的汇编语言程序:```assemblyorg 0h ; 程序从位置区域0开始执行mov P1, #0FFh ; 设置P1端口为输出loop:mov P1, #00h ; 将P1端口输出低电平acall delay ; 调用延时程序mov P1, #0FFh ; 将P1端口输出高电平acall delay ; 调用延时程序sjmp loop ; 无条件跳转至loop标号处delay:mov R1, #0Ah ; 设置延时计数值delay1:mov R2, #0FFh ; 设置内部计数值delay2:djnz R2, delay2 ; 内部计数减1djnz R1, delay1 ; 延时计数减1ret ; 返回end ; 程序结束```在这个程序中,我们首先设置P1端口为输出,并在一个循环中不断地将P1端口输出高低电平,通过调用延时程序来实现led的闪烁效果。
5. 实验总结通过这个实验,我们初步了解了at89c51单片机的基本工作原理和汇编语言的编程方法。
在以后的学习中,我们可以通过不断地深入实践和学习,掌握更多单片机和汇编语言的知识,从而实现更加复杂的功能和应用。
基于单片机AT89C51控制的LED点阵屏显示时钟课程设计报告
课程设计报告课程名称:LED点阵显示时钟专业班级:课程设计参与人员:指导老师:宁波技师学院2013年9月26日摘要文章论述了基于AT89C52单片机的LED点阵显示电子钟设计控制系统, 并且可以对其进行设置。
基于AT98C52单片机的LED点阵显示电子钟具有结构简单,性能靠,价格低和灵活等优点,因此得到了广泛应用。
LED点阵显示屏是利用发光二极管或像素组成的平面式显示屏。
它具有发光效率高,使用寿命长,组态灵活等特点。
本文设计的是用4块8×8点阵显示屏制作的室内时钟,数字采用静止显示方式。
电子钟是一种利用数字电路来显示分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。
随着人们生活环境的不断改善和美化,在许多场合可以看到数字电子钟。
本文介绍了LED点阵显示电子钟的发展历史及其应用范围。
目录1.总体设计方案及思路 (4)2.硬件设备及电路图 (5)3.所用的材料清单 (10)4.单片机汇编程序及解释 (13)5.组员分工 (27)5.1倪坤.单片机汇编程序的设计 (27)5.2倪翔.原理图及PCB的绘制 (27)5.3采佳浩.硬件设计思路和控制思路设计 (28)6课程报告的总结及调试程 (29)1总体的设计方案及思路:由中断产生的秒、分、小时数据,经转换子程序转换成适应LED点阵显示屏显示的数据,并通过单片机的输出功能输入到LED点阵显示屏,再通过显示扫描程序,显示出时钟的走时时间。
用计时程序来完成计时,数时功能,再通过单片机综合控制将数字显示出来。
由此可见,通过A T89C51单片机的控制功能,完全可以实现LED点阵显示电子钟。
1.1硬件结构:根据项目的功能和要求,可采用A T89C51单片机作为核心控制器。
LED点钟电子钟系统组成包括:晶振电路模块、复位电路模块、显示电路模块、显示行驱动电路模块、蜂鸣器电路模块、按键电路模块以及电源模块。
AT89C51实验报告
实验一MCS-51指令系统实验一一数据排序一、实验目的熟悉MCS-51指令系统,掌握程序设计方法:加深对内部存储器读写的认识;熟悉仿真开发环境,学会源程序的编写、汇编/编译、调试:熟悉单片机硬件实验系统以及良好的实验习惯培养等;学会检查结果的正确性。
二、实验内容将程序存储器的一个列表中的10个单字节无符号数据传送到内部RAM,然后用冒泡法对其按从小到大的次序重新排列,并送到外部RAM以8000H开始的地址单元内。
三、实验说明有序的数列更有利于查找。
本程序用的是“冒泡排序”法,算法是将一个数与后面的数相比较,如果比后面的数大,则交换,如此将所有的数比较一遍后,最大的数就会在数列的最后面。
再进行下一轮比较,找出第二大数据,直到全部数据有序。
四、程序流程图五、调试程序:第一步:将程序存储器的一个列表中的10个单字节无符号数据传送到内部RAM40H〜49H单元中。
ORG OOOOHLJMP S7ART1ORG0030HSTART1: MOV R0,#40H;设置RO为内部RAM首地址MOV R1,#10;设出为计数器MOV DPTR,#TAB1L00P1: CLR A;累加器清零MOVC A,A+DPTR;外部数据送累加器A中MOV RO,A;送内部RAMINC RO;调整内部RAM指针,指向下一个数据INC DPTR;调整外部RAM指针DJNZ R1,L00P1;未完继续:第二步:排序.把片内RAM40H 〜49H 单元中的10个无符号数逐一比较,并按从小到大的顺序依次 排列在这片单元中•:第三步:将内部数据RAM 中40H 〜49H 单元的内容传送到外部数据存储器以8000H 开始的连续单元 中去。
需传送10次数据•将RI 作为循环计数器。
具体程序如下。
START3: MOV R0,#40HMOV DPTR,#8000HMOV R1,#10LOOP: MOV A,ROMOVX DPTR,AINC ROINC DPTRDJNZ R1,L00PSJMP$ TAB1: DB 09H,04H,02H,08H,00H ;数 0・9 表DB 00H,06H,07H,07H,0FH END六、收获与体会第一次用汇编语言在伟福6000环境下运行,感觉和VC6.0稍有不同,伟福6000调试界而非常丰 富,有片内RAM一一DATE :片外RAM ——XDATE :代码寄存器——CODE ;特殊功能寄存器——SFR ; 并且可以单步调试,自己所编的程序一目了然:伟福6000果然是好东西;冒泡法存在的不足及改进方法:START2: CLR F0MOV R3,#9MOV R0,#40HMOV A, ROL2: INC ROMOV R2,ASUBB A,ROMOV A,R2JC L1SETB F0XCH A,RODEC ROXCH A, ROINC ROL1: MOV A, RODJNZ R3,L2 JBF0,START2;清除交换标志位FO ;10个数据循环次数 ;数据存放区首址 ;取前数 ;保存前数 ;前数减后数 ;恢复前数 ;顺序则继续比较 ;逆序则建立标志位 ;前数与后数交换 ;指向前数单元 ;仍指向后数单元 ;取下一个数 ;依次重复比较 ;交换后重新比较:40H 〜49H 共计10个单元,;设置RO 为内部RAM 首地址 ;设置外部RAM 首地址 ;设Rl 为计数器 ;取内部RAM 数 ;送外部RAM ;调整内部RAM 指针,指向下一个数据 ;调整外部RAM 指针 ;未完继续;暂停第一,在排序过程中,执行完最后的排序后,虽然数据已全部排序完备,但程序无法判断是否完成排序,为了解决这一不足,可设置一个标志单元flag,将其设置为OFF,表示被排序的表示是一个无序的表。
AT89C51单片机高速串行输出口设计
AT89C51单片机高速串行输出口设计AT89C51(与MCS-51 兼容)单片机的串行口在方式0 工作状态下,使用移位寄存器芯片可以扩展多个8 位并行I/O 口。
在LED 点阵显示屏应用系统中,一般都采用数据同步移位输出方式,并使用移位寄存器芯片(如74LS595)扩展并行I/O 口驱动LED 点阵显示。
LED 点阵显示采用扫描方式,为不产生闪烁感,每秒需要传送50 屏点阵显示数据,因此有大量的数据要通过同步移位的方式送到显示驱动电路部分,这就要求单片机能够快速地输出数据。
AT89C51 单片机的串行口在方式0 工作状态下,数据以fosc/12 的波特率输出,1 个字节数据写入SBUF 后,需检查中断标志位TI 是否为1 并清0TI 或延时几个机器周期后才能继续写入了一个数据,输出速度慢。
在LED 点阵显示屏应用系统中,系统与PC 机之间的通讯需要使用单片机的串行口,显示数据的同步移位输出口只有另外扩展。
本文介绍的高速串行同步移位输出口(以下简称扩展串行口)电路,采用模块化设计,给出基于TTL 和PLD 两种电路的实现方案,波特率提高到fosc,数据输出不需要等待或延时。
一、扩展串行口与单片机的连接扩展串行口电路框图如图1 所示。
与并行存储器芯片类似,扩展串行口被视为一个外部RAM 地址单元,直接挂接在AT89C51 的外部数据总线上,D0~D7 为数据线,CE 为片选信号,WE 为写脉冲信号,也是扩展串行口的输出控制信号。
AT89C51 外接晶体振荡器的振荡信号经二个与非门整形后为扩展串行口提供时钟脉冲XTAL2。
DAT 和CLK 分别是扩展串行口的数据输出端和同步移位脉冲输出端。
二、操作指令假设AT89C51 分配给扩展串行口的地址是0000H,使用MOVX@DPTR,A。
基于单片机AT89c51的点阵LED电子显示屏的设计
孝感学院新技术学院单片机课程设计(二)第1次题目基于单片机AT89c51的点阵LED电子显示屏的设计分组学号及姓名:专业名称电子信息工程2010年9月17日基于单片机AT89c51的点阵LED电子显示屏的设计系统描述:本设计使用AT89C51系列高速单片机作为主控制模块,利用简单的外围电路来驱动64×64的点阵LED显示屏。
利用AT89C51系列高速单片机本身强大的功能,可以很方便的实现单片机与PC机间的数据传输及存储,并能利用软件方便的进行显示内容的多样变化,另一方面点阵显示屏广泛的应用于医院、机场、银行等公共场所,所以本设计具有很强的现实应用性。
本LED显示屏能够以动态扫描的方式同时显示1个64×64点阵汉字,并能通过上位机软件修改显示内容和显示效果等等。
把字符内码存储在空闲的单片机程序存储器空间,使本LED显示系统能掉电存储1024个字符。
设计中采用了SPI接口的GB2312标准字库,支持所有的国标字符和ASCII标准字符的显示。
因为采用串行传输方式,使本系统的可扩展性得到提升,便于多个显示单元的级联。
硬件框图及其简介软件框图及简介图5.1单片机汉字显示程序流程图显示要求汉字在显示屏上按从左到右的顺序一个个的出现。
设计时可采用如下方法:首先将LED显示屏对应的显示缓冲区全部清零,即LED显示空白,然后每间隔一个“软定时器”设定的动态显示时间,显示缓冲区依次加入一个汉字点阵数据并进行扫描显示,这样就可达到动态显示的效果我们以中文宋体字库为例,每一个字由16行16列的点阵组成显示。
即国标汉字库中的每一个字均由256点阵来表示。
我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。
事实上这个汉字屏不仅可以显示汉字,也可以显示在16像素范围内的任何图形。
系统硬件图片:。
AT89C51实验报告
MAIN: MOV SP,#30H
MOV TMOD,#10H ;设T1工作方式1
MOV IE,#88H ;允许中断
LOOP1: MOV 40H,#00H ;简谱码指针清0
LOOP2: MOV A,40H
MOV DPTR,#TABLE1
MOVC A,@A+DPTR ;取简谱码
MOV R1,A
实验三 定时器/计数器实验
一、实验目的
了解MCS-51单片机中定时器/计数器的基本结构、工作原理和工作方式,掌握工作在定时器和计数器两种方式下的编程方法。
二、实验内容
(1)定时器实验:在使用6MHz晶振的条件下,用定时器1产生10ms定时,由P1.0口输出周期为2s的方波信号,并通过发光二极管指示P1.0的输出波形。
JZ FINISH ;简谱码是00H,转移
ANL A,#0FH
MOV R2,A
MOV A,R1
SWAP A
ANL A,#0FH
JNZ SING ;唱名码不是00H,转移
CLR TR1 ;唱名码是00H,则不发音
SJMP WY ;
SING: DEC A ;唱名码减1
MOV 50H,A
RL A
MOV DPTR,#TABLE2 ;取唱名码高8位
TABLE2: DW 0FD82H,0FDC8H,0FE06H ;唱名码表
DW 0FE22H,0FE56H,0FE85H
DW 0FE9AH,0FEB2H,0FEE4H
DW 0FE03H,0FE11H,0FE2BH
DW 0FF42H,0FF4DH,0FF61H
MOVC A,@A+DPTR
MOV TH1,A
MOV 51H,A
用单片机AT89C51设计一个2位的LED数码显示作为“秒表”—单片机课程设计
目录一、设计题目和要求: (2)二、设计目的: (2)三、设计内容: (3)四、课程设计心得体会 (25)五、参考文献 (26)六、课程设计指导教师评审标准及成绩评定 (27)附件1:秒表原理图(实际接线图) (28)附件2:仿真图1 (30)附件3:仿真图2 (31)一、设计题目和要求:题目三:秒表应用AT89C51的定时器设计一个2位的LED数码显示作为“秒表”:显示时间为00~99s,每秒自动加1,设计一个“开始”键,按下“开始”键秒表开始计时。
设计一个“复位”键,按下“复位”键后,秒表从0开始计时。
任务安排:李座负责绘制电路原理图;梁宗林负责收集资料及电子版整理;付忠林负责程序和仿真。
二、设计目的:1.进一步掌握AT89C51单片机的结构和工作原理;2.掌握单片机的接口技术及外围芯片的工作原理及控制方法;3.进一步掌握单片机程序编写及程序调试过程,掌握模块化程序设计方法;4.掌握PROTEUS仿真软件的使用方法;5.掌握LED数码管原理及使用方法。
6.掌握定时器、外部中断的设置和编程原理。
7.通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。
8.该课程设计通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、复位功能,并同时可以用数码管显示。
三、设计内容:了解8051芯片的的工作原理和工作方式,使用该芯片对LED数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、清零功能,精确到1秒。
AT89C51单片机的主要工作特性:·内含4KB的FLASH存储器,擦写次数1000次;·内含28字节的RAM;·具有32根可编程I/O线;·具有2个16位可编程定时器;·具有6个中断源、5个中断矢量、2级优先权的中断结构;·具有1个全双工的可编程串行通信接口;·具有一个数据指针DPTR;·两种低功耗工作模式,即空闲模式和掉电模式;·具有可编程的3级程序锁定定位;AT89C51的工作电源电压为5(1±0.2)V且典型值为5V,最高工作频率为24MHz.AT89C51各部分的组成及功能:振荡器和时钟电路数据存储器128字节程序存储器14KBCPU 两个16位定时器计数器中断控制总线扩展控制器并行可编程I/O口可编程串行口内部总线外部中断扩展控制P0 P1 P2 P3 RXD TXD1.单片机的中央处理器(CPU )是单片机的核心,完成运算和操作控制,主要包括运算器和控制器两部分。
用单片机AT89C51两个口输出广告灯的实验
用单片机AT89C51两个口输出广告灯的实验
钟先堃
【期刊名称】《广州城市职业学院学报》
【年(卷),期】2007(1)1
【摘要】MCS - 51单片机的教学是一门实用性和实践性很强的学科,在教学中可以开出许多很有意义的实验(实训)项目.在教学中开发设计的用单片机AT89C51 P0口 P2 口输出广告灯的实验(实训)教学项目,对于学生应用本学科所学知识解决实际问题很有启发指导意义,同时对加强学生的专业技能训练很有帮助.
【总页数】5页(P90-93,97)
【作者】钟先堃
【作者单位】广州城市职业学院设备处,广东,广州,510405
【正文语种】中文
【中图分类】G431
【相关文献】
1.用MCS-51单片机四个口输出广告灯的教学体会 [J], 钟先堃
2.基于单片机AT89C51的全双工串行口通信设计 [J], 朱志清
3.基于单片机AT89C51控制的十字路口交通灯系统设计 [J], 淡海英
4.用MCS-51单片机两个口输出广告灯的教学体会 [J], 钟先
5.灯泵浦激光器输出激光稳定性实验研究 [J], 高宏文;孙传东;陈智;王国志;任克惠;丰善
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五:AT89C51单片机串行口扩展实验
——LED静态显示器
一、实验目的
1.掌握AT89C51单片机串行口控制寄存器的设定;
2.熟悉用AT89C51单片机串行口扩展输出口的方法;
3.学习七段LED显示器的静态显示与驱动方法;
4.进一步练习单片机仿真器的使用。
二、实验设备
1.PC机(WINDOWS操作系统);
2.HF-MC01单片机实验实训系统;
3.伟福6000软件模拟器。
三、实验内容
1.认识LED显示器的组成及组成系统的器件;
2.编程程序:
具体要求是:两个显示器组成一个两位的倒计数器,最大数字显示99,最小数字显示00;
3.仿真运行.
四、实验方法步骤
1.电路设计
系统原理图参见图5-1.
整个系统由AT89C51及其复位电路、两片74LS164、两个七段LED(共阴极)显示器组成;采用静态显示方式,由于74LS164有8mA的驱动电流,故不需要加驱动电路。
与动态扫描显示比较起来,静态显示方式的优点是:CPU不必频繁地反复循环显示,软件设计比较简单。
2.装置接线方法
(1).将仿真器的仿真插头插入B单元的AT89C51插座;
(2).将B单元的+5V.GND分别与Z单元的+5V.GND相连;
3.编写程序及仿真运行
按实验内容中编程的具体要求编写程序;用模拟软件进行调试,并进行仿真运行;若不能满足实验要求,反复修改直至成功。
五、实验报告要求
1.画出电路原理图
2.记录程序清单和执行结果。