单片机控制数码管显示
单片机数码管显示实验总结

单片机数码管显示实验总结单片机数码管显示实验总结一、实验目的本次实验旨在通过单片机控制数码管显示,掌握数码管的工作原理、编程控制方法以及单片机与数码管的接口技术。
通过实验,提高自己的动手能力和编程技能,为今后的学习和实际工作打下坚实的基础。
二、实验原理数码管是一种常用的电子显示器件,它由多个LED组成,通过控制各个LED的亮灭来显示不同的数字或字符。
本次实验采用的是共阴极数码管,它由8个LED组成,通过单片机控制每个LED的亮灭状态来显示不同的数字或字符。
三、实验步骤1.硬件准备(1)选择合适的单片机开发板,如Arduino、STM32等。
(2)购买数码管及相应的驱动电路。
(3)准备杜邦线、电阻、电容等电子元件。
2.硬件连接(1)将数码管与单片机开发板连接起来。
(2)根据数码管驱动电路的要求,连接电源、地线和控制信号线。
(3)连接电源后,打开开发板电源,观察数码管的显示效果。
3.编程控制(1)在开发板上编写程序,控制数码管显示不同的数字或字符。
(2)使用相应的编译器将程序编译成可执行文件,上传到开发板上。
(3)观察数码管的显示效果,调试程序,使其达到预期效果。
4.测试与评估(1)在不同情况下测试数码管的显示效果,如按键输入、传感器数据等。
(2)对程序进行优化和改进,提高程序的效率和稳定性。
(3)总结实验过程中的问题和解决方法,为今后的学习和实际工作提供参考。
四、实验结果及分析1.实验结果在实验过程中,我们成功地实现了对数码管的编程控制,使其能够根据不同的输入显示不同的数字或字符。
同时,我们也发现了一些问题,如数码管的亮度不够、显示的数字不清晰等。
经过调试和改进,我们解决了这些问题,使数码管的显示效果更加理想。
2.结果分析通过本次实验,我们深入了解了数码管的工作原理和编程控制方法,掌握了单片机与数码管的接口技术。
同时,我们也发现了一些问题,如数码管的亮度不够、显示的数字不清晰等。
这些问题的出现可能与硬件连接、编程控制等方面有关。
数码管动态显示实验报告

数码管动态显示实验报告1.实验目的:本实验旨在通过使用单片机控制数码管的动态显示,了解数码管的原理和使用方法,加深对单片机控制的理解。
2.实验原理:数码管是由许多发光二极管(LED)组成的,每个数码管有7个发光二极管组成7段,再加上一个小数点(或8段数码管),通过控制每个发光二极管的亮灭状态,可以显示出数字、字母等字符。
本实验使用的是共阴极数码管,在通常情况下,数码管引脚为低电平时亮灯,为高电平时灭灯。
3.实验器材:-STC89C52单片机-共阴极数码管-电阻-面包板及连接线-电源4.实验步骤:步骤1:连接电路将数码管的7个引脚分别连接到单片机的7个I/O引脚上,并通过电阻限流。
连接电路后,确认连接无误。
步骤2:编写程序使用C语言编写程序,实现数码管的动态显示。
可以使用延时函数和位操作函数控制数码管的亮灭,通过改变每个数码管引脚的高低电平状态,实现显示不同的数字、字母。
步骤4:实验观察与分析观察数码管的显示效果,通过改变程序中的参数,可以实现不同的显示效果。
5.实验结果与分析:经过实验,我们成功实现了数码管的动态显示。
通过编写程序,我们可以实现数码管显示数字、字母等不同的字符。
调整程序中的参数,可以实现不同的动态显示效果,如流水灯、闪烁等。
数码管的动态显示是通过改变每个数码管引脚的高低电平实现的,通过快速改变引脚电平状态的时间间隔,创建了肉眼无法察觉的视觉效果,从而实现了动态显示。
此外,通过实验我们还了解到了单片机控制数码管的原理和方法,加深了对单片机控制的理解。
6.实验总结:通过本实验,我们了解到了数码管的动态显示原理和方法,并通过编写程序,成功实现了数码管的动态显示。
同时,我们还巩固了单片机控制的知识,提高了自己的动手能力和问题解决能力。
在今后的学习和工作中,我们将进一步掌握数码管的使用方法,并能够将其应用于更加复杂的应用场景中,实现更多有趣的功能。
单片机控制装置与调试任务六 数码管显示应用

该数组共有5个元素,每个元素由不同的下标表示,分别为buffer[0],buffer[1],buffer[2],buffer[3]和buffer[4]。
为了稳定发光,再延时一段时间,之后加人熄灭数码管进行消隐,主要防止显示有拖尾现象。
{ cs1=0;cs2=1;
//选中段码锁存IC
for(i=0;i<9;i++)
效,然后送数据,先送段选,然后再送位选,最后CP脉冲高电平使的
数据输出。
2.动态扫描的基本流程 以从高位到低位扫描显示为例, 动态扫描的基本流
程是: (1)送段码
①送最高位的段码到总线。
②拉低cs1,置位cs2。 ③用wr线发送锁存脉冲。 (2)送位码 ①送第七个通道(Q8)位选数据到总线。 ②拉低cs2,置位cs1。 ③同样用wr线发送锁存脉冲。第七个通道(Q8)导通, 第一位数码管点亮。
/例* 8如位,数一码个管3从位左数到字右变依量次tem显p示要“D在n0高L,阻ED1态,七2段,数3码,管4,显×↑,示5其,“6,百7、”十八HH、个个数”字各的个C语位××言上程的序数字*/ 。无无输输出出
port=tab[disbuf[i]];wr=1;wr=0;
//送段码,锁存数据
图5-1所示为常见的各种数码管的外形。
{ while(1)
//while循环
disbuf[1]=tab[1];
//分别为"0、1、2、3、4、5、6、7"
(2) 定义共阳极字形编码表(数字0~9)
在建立数组的时候,注意字型码的排列次序,段码对表头的偏移位置就是该数值的段码,这种排列方法很便于显示数据
因此可将LED各段码与数据位建立如表4-1所示的对应关系。
单片机控制数码管动态扫描显示原理

P02 P03 P04 P05 P06
11 P01
P00
7 4 2 110
3
a b c d e f g dp
DPY
a
a
a
a
f g bf g bf g bf g b
e
ce
ce
ce
c
d
d
d
d
dp
dp
dp
dp
DPY 4 -LED
P20 P21 6 C0 P22 8 C2 P23 9 C3
12 C4
LED
U1
一、工作方式寄存器TMOD
工作方式寄存器TMOD用于设置定时/计数器的 工作方式,低四位用于T0,高四位用于T1。其格式 如下:
GATE:门控位。GATE=0时,只要用软件使TCON中的 TR0或TR1为1,就可以启动定时/计数器工作;GATA=1时, 要用软件使TR0或TR1为1,同时外部中断引脚INT0/1也为 高电平时,才能启动定时/计数器工作。即此时定时器的启 动条件,加上了INT0/1引脚为高电平这一条件。
VCC GND RXD TXD ALE/ P PSEN
40 20 10 11 30 29
P 14 P 15 P 16 P 17
8 K9 C K13
9 K10 D K14
A K11 E K15
B F
动态显示
动态显示的特点是将所有位数码管的段选线并联在 一起,由位选线控制是哪一位数码管有效。这样一来, 就没有必要每一位数码管配一个锁存器,从而大大地简 化了硬件电路。选亮数码管采用动态扫描显示。所谓动 态扫描显示即轮流向各位数码管送出字形码和相应的位 选,利用发光管的余辉和人眼视觉暂留作用,使人的感 觉好像各位数码管同时都在显示。动态显示的亮度比静 态显示要差一些,所以在选择限流电阻时应略小于静态 显示电路中的。
51单片机数码管显示0到99实验原理

51单片机数码管显示0到99实验原理51单片机是一种常用的单片机微控制器,它可以用来完成各种控制任务,包括数码管显示。
数码管是一种显示器件,可以用来显示数字、字母或符号等。
在本实验中,我们将使用51单片机控制数码管显示从0到99的数字。
实验原理如下:1. 51单片机介绍:51单片机是一种基于Intel 8051架构的微控制器。
它是一种具有48KB的程序存储器和52个输入/输出引脚的芯片。
单片机通过内部时钟和逻辑电路来执行各种任务。
2.数码管介绍:数码管是一种由LED组成的显示器件。
一般用于显示数字,通过控制LED的亮灭来显示不同的数字。
常见的数码管有共阳极和共阴极两种类型。
3.共阳极数码管原理:共阳极数码管的原理是通过控制不同的引脚来点亮相应的LED。
在显示数字0到9时,需要同时点亮特定的LED。
通过控制引脚为高电平来点亮对应的LED,其他引脚保持低电平。
4.共阴极数码管原理:共阴极数码管的原理与共阳极相反,需要使引脚为低电平来点亮相应的LED。
其他引脚保持高电平。
5. 51单片机控制数码管原理:通过设置51单片机的输出引脚和电平,可以控制数码管的显示。
首先需要将数码管的引脚连接到51单片机的输出引脚上,并设置相应的输出模式和电平。
然后通过程序来控制输出引脚的电平,从而控制数码管的亮灭。
实验步骤如下:1.连接电路:首先将51单片机与数码管进行连接。
根据具体的实验条件,选择合适的数码管和电路图。
2.编写程序:使用51单片机的编程软件(如Keil C等),编写控制数码管的程序。
程序应该包括初始化引脚、设置输出模式和控制引脚电平等内容。
3.烧录程序:将编写好的程序烧录到51单片机的程序存储器中。
通过编程软件将程序下载到单片机中。
4.检查电路:验证电路连接是否正确。
可以通过使用示波器或万用表等工具来检查引脚的电平和波形。
5.运行实验:将电路通电,观察数码管的显示效果。
通过控制程序中的循环和延时等参数,可以实现数字的滚动显示、闪烁显示等效果。
基于单片机的按键控制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数码管共阴极动态显示的功能要求。
按下不同的按键,数码管能够正确显示相应的数字,程序运行稳定,无误触发现象。
led数码管显示控制实验报告
led数码管显示控制实验报告实验名称:LED数码管显示控制实验实验目的:1.了解LED数码管及其工作原理。
2.学习如何控制LED数码管显示数字。
3.加强对单片机控制IO口的编程能力。
实验器材:1.STC89C52RC单片机开发板2.数码管(共阳、共阴)3.杜邦线实验原理:LED数码管是一种数字显示组件,在工业控制、计算机等领域都有广泛应用。
LED数码管在显示数字时,通过LED管来显示数字,根据不同的管脚状态,控制LED管的导通和隔离,间隔时间来控制亮和灭的时间,从而显示出不同的数字。
在STC89C52RC单片机上,通过控制IO的高低电平来控制数码管的显示。
当要显示的数字为0~9时,需要将相应的IO输出低电平,同时将其他IO输出高电平,从而实现数字的显示。
实验步骤:1.将共阳数码管的正极连接到P0口(注意极性),并将共阴数码管的负极连接到P0口(注意极性)。
2.将STC89C52RC单片机开发板连接到电源,将USB转串口线连接到电脑。
3.打开Keil uVision5软件,创建一个新工程,配置完工程后编写控制代码(具体代码见附录)。
4.编写完成后,将代码下载到单片机中,开始实验。
实验结果:成功实现了数字0到9的显示。
通过实验,我们了解了LED数码管的工作原理,学会了控制单片机IO口进行数字的显示,加强了对单片机编程的掌握能力。
附录:代码如下:```#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit dula = P2^6;sbit wela = P2^7;uchar code table[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=114;y>0;y--);}void Display(){uchar i;for(i=0;i<10;i++){P0 = table[i]; dula = 0;dula = 1;delay(500);}}。
51单片机矩阵键盘控制数码管显示过程中出现的问题及解决方法
51单片机矩阵键盘控制数码管显示过程中出现的问题及解决方法在使用51单片机控制矩阵键盘同时驱动数码管显示的过程中,可能会遇到一些常见的问题。
以下是一些可能的问题及相应的解决方法:按键无法正常响应:* 问题可能原因:接线错误、按键损坏、软件扫描不到按键信号。
* 解决方法:检查按键连接是否正确,确保按键没有损坏。
在软件中进行适当的按键扫描,确保能够正确检测到按键的状态。
数码管显示异常或不亮:* 问题可能原因:数码管接线问题、数码管损坏、数码管驱动程序错误。
* 解决方法:仔细检查数码管的接线是否正确,确保数码管没有损坏。
检查数码管的驱动程序,确保它按照正确的顺序和时序进行驱动。
按键重复响应或漏按现象:* 问题可能原因:按键抖动、软件扫描速度过快。
* 解决方法:在软件中增加适当的按键抖动延时,确保在按键按下或抬起时只响应一次。
调整软件扫描速度,避免扫描间隔过短导致的重复响应。
矩阵键盘的多个按键同时按下导致混乱:* 问题可能原因:矩阵键盘硬件连接错误、软件扫描算法问题。
* 解决方法:检查矩阵键盘的硬件连接,确保矩阵行和列没有短路或断路。
调整软件扫描算法,确保同时按下多个按键时能够正确识别。
数码管显示不正常的数字或乱码:* 问题可能原因:程序错误、数码管接线错误。
* 解决方法:仔细检查程序,确保数码管段选和位选的控制逻辑正确。
检查数码管的接线,确保每个数码管的连接都正确。
在解决问题时,建议逐步排除可能的原因,通过调试工具、逻辑分析仪或输出调试信息的方式来定位问题。
另外,仔细查阅51单片机的数据手册和相关文档,以确保硬件连接和软件设计都符合标准。
51单片机-数码管显示
} void delay(int x) {
int i,j; for(i=0;i<x;i++)
for(j=1;j<120;j++); }
LED字型显示代码表
段符号
十六进制代码
显示 dp
g
f
e
d
c
b
a 共阴极 共阳极
0
0
1
0
2
0
3
0
4
0
5
0
6
0
7
0
8
0
9
0
A0
b
0
C0
d
0
E0
F
0
H0
P0
0
1
1
1
1
1
1
3FH
C0H
0
0
0
0
1
1
0
06H
F9H
1
0
1
1
0
1
1
5BH
A4H
1
0
0
1
1
1
1
4FH
B0H
1
1
0
0
1
Hale Waihona Puke 1066H
99H
1
1
0
1
1
0
1
6DH 92H
1
1
1
1
1
0
1
7DH
1. 静态显示的特点
静态显示就是单片机将所要显示的数据送出去后,数码管始终显示 该数据(不变),到下一次显示时,再传送一次新的显示数据。
单片机指令编程实例数码管显示程序设计
单片机指令编程实例数码管显示程序设计在单片机的开发中,数码管是一种常见的输出设备。
通过编程控制数码管的显示,我们可以实现各种功能,如计时、计数、温度显示等。
本文将介绍一个简单的单片机指令编程实例,用于设计一个数码管显示程序。
一、概述数码管是一种由七段LED组成的显示器件,每个数码管可以显示0-9的数字。
通过合理的控制,可以将多个数码管连接起来并显示多位数值。
在这个实例中,我们将使用AT89C51单片机和共阳数码管进行程序设计。
二、硬件连接将数码管的七段LED引脚依次连接到单片机的GPIO引脚,并将共阳极引脚连接到单片机的VCC。
为了方便控制,可以利用74HC595芯片实现数码管的级联连接,这样只需要使用三个IO口即可控制多个数码管。
三、程序设计程序设计的主要逻辑是通过编写一系列的指令来控制数码管的显示。
以下是一个简单的实例程序:```#include <reg51.h>sbit SDA = P1^0; // 74HC595芯片的串行数据引脚sbit SCK = P1^1; // 74HC595芯片的时钟引脚sbit RCK = P1^2; // 74HC595芯片的输出使能引脚unsigned char code num[10] = {0xC0, // 数字0的显示码0xF9, // 数字1的显示码0xA4, // 数字2的显示码0xB0, // 数字3的显示码0x99, // 数字4的显示码0x92, // 数字5的显示码0x82, // 数字6的显示码0xF8, // 数字7的显示码0x80, // 数字8的显示码0x90 // 数字9的显示码};void delay(unsigned int t) {unsigned int i;while (t--) {for (i = 0; i < 1000; i++);}}void writeByte(unsigned char dat) {unsigned char i;for (i = 0; i < 8; i++) {SDA = (dat & 0x80) ? 1 : 0;dat <<= 1;SCK = 0;SCK = 1;}}void display(unsigned char n) {unsigned char i;for (i = 0; i < 8; i++) {writeByte(num[n]);RCK = 1;RCK = 0;delay(1); // 延时一段时间,使数码管显示出来}}void main() {unsigned char i;while (1) {for (i = 0; i < 10; i++) {display(i);delay(500); // 每个数字显示的时间间隔为500ms}}}```以上程序通过将各个数字的显示码存储在一个数组中,然后通过控制74HC595芯片的串行数据引脚、时钟引脚和输出使能引脚,来实现数码管的动态显示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机实训项目:用单片机控制数码管显示及其应用班级: 应用电子技术二班姓名:赵林旺学号: 2008061532时间:2010. 5. 21用单片机控制数码管显示及其应用一、实训目的1. 通过用单片机控制数码管的静态显示,学会用单片机编程进行控制和8段共阳极数码管的使用方法,学会编写与调更复杂的程序,进一步熟悉单片机串行接口的使用,为以后打下基础。
2.在用可能的情况下制作数码管的使用电路,本次通过密码锁的制作,进一步熟悉单片机键盘接口和显示器接口技术,掌握独立式键盘结构下的程序设计思路和步骤。
3.通过本次实训提高汇编语言编程能力、识别元器件能力、单片机外围电路连接。
同时加强理论联系实际的能力,提高学生的动手能力,培养学生之间团结协作能力和刻苦耐劳精神。
4.在日常生活中,可以看到采用八段LED数码管构成的显示屏。
这里主要完成利用单片机控制数码管,实现静态显示与动态扫描移动显示。
二、实训器材1. 面包板一片2.AT89S52 三片3. 共阳极8段LED数码管三个4.40引脚的IC插座三个5. 74LS164芯片 一片6..+5V 电源 一个7.510Ω、220Ω、1K Ω、10K Ω电阻 若干8.晶体振荡器 若干9.复位开关 若干 10电解电容22uF 、瓷片电容30pF 若干 11.发光二极管 若干三 、实训原理图1. 用单片机控制一个数码管依次显示数字0~9的硬件电路如A 图所示:p 1.01p 1.12p 1.23p 1.34p 1.45p 1.56p 1.67p 1.78R ST/VPD 9R X D/p 3.010TX D/p 3.111INT 0/p 3.212INT 1/p 3.313T0/p 3.414T1/p 3.515WR /p3.616R D /p3.717XT AL 218XT AL 119Vss 20p 2.021p 2.122p 2.223p 2.324p 2.425p 2.526p 2.627p 2.728PSEN 29AL E/PR OG 30EA /Vp p31p 0.732p 0.633p 0.534p 0.435p 0.336p 0.237p 0.138p 0.039Vcc 4089C 51R 1R 2R 3R 4R 5R 6R 7R 8ab fc gdeDP Y 1234567a b c d e f g 8dpdpDPY_7-SE G_DPco m510*889C51+5C 322u fC 230p fC 130p f Y112MH ZK1R 910K+GN D+5+5因为只控制一个数码管,选择采取一直点亮各段的静态显示方式,这种显示可以在较小的电流驱动下获得较高的显示亮度,且占用CPU 时间少,编程简单,便于显示和控制。
汇编语言的程序如下:ORG 0000HDISP:MOV A,#00H MOV DPTR ,#TAB MOV R7,#10 LOOP:MOV B,AMOVC A,@A+DPTR MOV P1,AACALL DELAY MOV A,B INC ADJNZ R7,LOOP SJMP DISPDELAY: MOV R6,#250 ;延时0.5ms 子程序 L1: DJNZ R6,L1 RETLOOP1: DJNZ R6,LOOP1 RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H END2. 采用单片机串行口控制一个数码管显示的硬件电路如B 图所示:a b fc gde DP Y 1234567ab c d e f g 8dp dpDS1+5Y112MHZC322u fC230p fC130p fK1R9GND +5p 1.01p 1.12p 1.23p 1.34p 1.45p 1.56p 1.67p 1.78RST/VPD 9RXD/p 3.010TXD/p 3.111INT0/p 3.212INT1/p 3.313T0/p 3.414T1/p 3.515WR/p3.616RD/p3.717XTAL218XTAL119Vss 20p 2.021p 2.122p 2.223p 2.324p 2.425p 2.526p 2.627p 2.728PSEN29ALE/PROG 30EA/Vp p31p 0.732p 0.633p 0.534p 0.435p 0.336p 0.237p 0.138p 0.039Vcc 40U289S52GND+5A 1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK 8MR 9G N D7V C C14U174LS164+5GND+5co mGND82单片机的串行口工作在方式0时,其功能就是一个波特率固定为f osc /12的同步移位寄存器。
很显然,利用串口扩展并行I/O 口,可节约并行I/O 口线,但它必须占用一个串行口资源,所以该方法只有在不使用串行口进行串行通信的情况下才能使用。
汇编语言的程序如下: ORG 0000HDISP: MOV R0,#20H MOV R2,#8 AGIN: MOV A,@R0MOV DPTR,#TAB MOVC A,@A+DPTR MOV SBUF,A JNB TI,$ CLR TIACALL DELAY INC R0DJNZ R2,AGIN SJMP $DELAY: MOV R3,#250 ;延时0.5ms 子程序 L1: DJNZ R3,L1 RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H3. 功能扩展之用单片机控制数码管制作密码锁的硬件电路如图C 所示:p 1.01p 1.12p 1.23p 1.34p 1.45p 1.56p 1.67p 1.78RST/VPD 9RX D/p 3.010TX D/p 3.111INT 0/p 3.212INT 1/p 3.313T0/p 3.414T1/p 3.515WR/p3.616RD /p3.717XT AL 218XT AL 119Vss 20p 2.021p 2.122p 2.223p 2.324p 2.425p 2.526p 2.627p 2.728PSEN 29AL E/PROG 30EA /Vp p 31p 0.732p 0.633p 0.534p 0.435p 0.336p 0.237p 0.138p 0.039Vcc 4089s52+5S0S1S2S3GN D+512MHZD1510+51K *4a b fc gde DP Y 1234567a b c d efg 8dpdpDS1co m510*8R310KK1C130p fC230p f C322u f+5+GN Da b c d e f g d p GN DGN D在一些智能门控制管理系统中,需要输入正确的密码才可以开锁,基于单片机控制下的密码锁硬件电路包括三个部分:按键、数码显示和电控开锁驱动电路。
汇编语言的程序如下:PSD EQU 21HORG 0000HAJMP MAINORG 0100HMAIN: MOV SP,#3FHMOV P0,#0FFHMOV PSD,#02MAIN1: SETB P3.0MOV P1,# 0BFHKEY: MOV A,P0KEY0: JB ACC.0,KEY1LJMP ERRKEY1: JB ACC.1,KEY2LJMP ERRKEY2: JB ACC.2,KEY3LJMP PASSKEY3: JB ACC.3,KEYERR: SETB P3.0MOV P1,#86HLCALL DELAYSLCALL DELAYSLCALL DELAYSLJMP MAIN1PASS: MOV P1,#8CHLCALL DELAYSLCALL DELAYSLCALL DELAYSCLR P3.0LJMP MAIN1DELAYS: MOV R4,#2 ;延时1s子程序L0: MOV R3,#200L1: MOV R2,#250L2: MUL ABMUL ABDJNZ R2,L2DJNZ R3,L1DJNZ R4,L0RETEND四、对元器件的检测1.在焊接外部电路之前,需要先检测器件的良好性能,当检测八段数码管时,需要用电源串联一个比较大的电阻,然后与数码管的COM相接,另一端和数码管的其他八个引脚相连接,看八段数码管是否依次电路,同时还可以用这种方法判断数码管是共阳极的还是共阴极。
若不串联电阻或串联比较小的电阻容易击穿二极管的反向电压,是二极管报废。
所以在检测数码管与发光二极管时要特别小心,防止二极管反向击穿。
2.而在焊接电解电容时,要注意注意电容的正负极,防止接反。
而焊接瓷片电容时,由于电容没有极性,焊接时可以随便连接。
3.一般不直接将芯片直接焊接在电路板上,需要先焊接IC插座,然后将芯片插在插座上,防止因焊接不当而造成的芯片损坏。
五、焊接外部硬件电路焊接前准备好必备的焊接工具,包括电烙铁、锡、吸锡器、镊子、钳子等,在电路图上将所有元器件进行布局,焊接时先焊接比较大的元器件。
而在焊接比较小的器件时,在必要的情况的可以用镊子夹住,会容易一些。
在焊接的过程中,应尽量保证每一个焊点光滑,圆润,色泽柔和,无虚焊,脱焊,露焊,连锡等不良现象。
五、调试并烧录软件程序先利用Keil 软件编译调试程序,等到程序在软件上调试成功后,将程序通过工具箱烧录到单片机芯片内部并进行软硬件调试。
六、项目总结1.在本次实训中,我学到了许多有用的东西。
包括如何检测数码管和发光二极管的性能。
如何判断数码管是共阳极还是共阴极。
2.本项目涉及数码管的基本原理,从最简单的单个数码管显示到利用串口显示。
项目进一步训练单片机并行I/O口的应用能力,查表指令的实际应用和循环程序结构的编程与调试能力,同时训练串行口的应用能力。
3.本项目通过简易密码锁的制作并逐步扩展其功能,涉及独立式键盘接口电路的编程方法和步骤,进一步训练了单片机键盘接口技术和显示器接口技术的运用能力。
通过键盘与显示器件的综合应用,使操作者初步具备针对多功能管理系统的综合编程能力,为设计和制作多功能的仪器仪表奠定了基础。