单片机数码管记忆系统实验报告
单片机数码管实验报告
单片机数码管实验报告单片机数码管实验报告引言:单片机作为一种重要的嵌入式系统,被广泛应用于各个领域。
在本次实验中,我们将探索单片机与数码管的结合,通过编程控制数码管的显示,实现不同的功能。
本文将详细介绍实验的背景、目的、方法和结果,并对实验过程中遇到的问题进行讨论和总结。
一、实验背景数码管是一种常见的输出设备,用于显示数字和字母等信息。
而单片机则是一种集成了微处理器、存储器和输入输出接口等功能的芯片,具有高度集成、灵活性强的特点。
将单片机与数码管结合起来,可以实现对数字的显示和控制,为实际应用提供了很大的便利。
二、实验目的本次实验的目的是通过编程控制单片机,实现对数码管的显示和控制。
具体包括以下几个方面:1. 学习单片机的基本原理和编程方法;2. 掌握数码管的工作原理和接口电路;3. 理解数码管的编码方式和显示原理;4. 实现基本的数码管显示功能,如显示数字、字母、符号等;5. 探索数码管的扩展应用,如时钟、计时器等。
三、实验方法1. 实验器材准备:本次实验所需的器材包括单片机开发板、数码管、连接线等。
2. 实验步骤:(1)搭建实验电路:将数码管与单片机开发板连接,并根据实验要求进行接线。
(2)编写程序:使用C语言编写程序,通过单片机的GPIO口控制数码管的显示。
(3)下载程序:将编写好的程序下载到单片机开发板上。
(4)实验验证:通过观察数码管的显示情况,验证程序的正确性。
四、实验结果经过实验验证,我们成功实现了对数码管的显示和控制。
通过编写不同的程序,我们可以实现以下几种功能:1. 显示数字:通过控制数码管的不同段点亮,可以显示0-9的数字。
2. 显示字母:通过控制数码管的不同段点亮,可以显示A-Z的字母。
3. 显示符号:通过控制数码管的不同段点亮,可以显示一些常见的符号,如"+"、"-"、"*"等。
4. 显示动画:通过快速切换数码管的显示内容,可以实现简单的动画效果,如闪烁、滚动等。
《单片机原理与应用》实验报告-3 数码管实验
二、实验设备(环境)及要求
硬件:
PC机
ArduinoUno开发板
USB下载线
面包板,面包板跳线
电阻,8段数码管,4位数码管等
软件:
Arduino集成开发环境
三、实验要求
实验1:点亮8段数码管,并显示各个数字(具体要求详见课堂ppt)
实验2:用4位数码管实现圈、Z字形等效果(具体要求详见课堂ppt)
{
unsigned char q,m;
for (q = 1; q <=12; q++)
digitalWrite(q, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
digitalWrite(c, HIGH);
digitalWrite(f, HIGH);
digitalWrite(e,HIGH);
}
void digital_4(void) //显示数字4
{
digitalWrite(c, LOW);
digitalWrite(b, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
digitalWrite(m, HIGH);
delay(200);
}
}
void digital_right_1(void)
{
unsigned char q,m;
for (q = 1; q <= 12; q++)
单片机实验报告
单片机实验报告一、实验目的本次单片机实验的主要目的是通过实际操作和编程,深入了解单片机的工作原理和应用,掌握单片机系统的设计、开发和调试方法,提高自身的动手能力和解决问题的能力。
二、实验设备1、单片机开发板2、计算机3、编程软件(如 Keil)4、下载器5、示波器6、万用表三、实验内容1、点亮 LED 灯通过编写简单的程序,控制单片机的引脚输出高低电平,从而点亮或熄灭连接在该引脚上的 LED 灯。
这是单片机最基础的操作之一,旨在熟悉单片机的编程环境和引脚控制方式。
2、数码管显示利用单片机驱动数码管,实现数字的显示。
需要了解数码管的工作原理和驱动方式,通过编程控制数码管的段选和位选信号,显示不同的数字。
3、按键输入设计按键电路,通过读取按键的状态,实现对单片机系统的输入控制。
例如,通过按键切换不同的显示模式或控制其他外部设备。
4、定时器/计数器应用使用单片机的定时器/计数器功能,实现定时、计数等操作。
例如,设计一个定时闪烁的 LED 灯,或者通过计数器统计外部脉冲的个数。
5、串口通信实现单片机与计算机之间的串口通信,将单片机采集到的数据发送到计算机上进行显示和处理,或者接收计算机发送的指令对单片机系统进行控制。
四、实验原理1、单片机的基本结构单片机通常由中央处理器(CPU)、存储器(包括程序存储器和数据存储器)、输入输出接口(I/O 口)、定时器/计数器、中断系统等部分组成。
2、编程语言本次实验采用 C 语言进行编程。
C 语言具有简洁、高效、可移植性强等优点,非常适合单片机的开发。
3、引脚功能单片机的引脚分为电源引脚、时钟引脚、复位引脚、I/O 引脚等。
通过对这些引脚的合理配置和控制,可以实现各种功能。
4、数码管驱动原理数码管分为共阴极和共阳极两种类型。
通过控制数码管的段选和位选信号,可以使数码管显示不同的数字和字符。
5、按键检测原理按键通常采用上拉电阻或下拉电阻的方式连接到单片机的I/O 引脚。
单片机实训报告_数码管
一、实训背景随着科技的不断发展,单片机在各个领域的应用越来越广泛。
数码管作为单片机系统中的一种重要显示设备,其设计与应用在单片机应用中具有举足轻重的地位。
为了提高学生的动手实践能力和理论联系实际的能力,本次实训以数码管为核心,通过设计一个基于单片机的数码管应用系统,使学生深入了解单片机原理、硬件设计以及编程技术。
二、实训目标1. 掌握单片机最小系统搭建方法;2. 熟悉数码管的工作原理和驱动方式;3. 学会使用C语言编写单片机程序;4. 能够将理论知识应用于实际项目中,提高实践能力。
三、实训内容1. 硬件设计(1)单片机选型:选用AT89C51单片机作为核心控制芯片。
(2)数码管选型:选用共阴极7段数码管,具有4位数码管显示功能。
(3)驱动电路设计:采用译码器74HC4511实现数码管显示,通过单片机控制译码器输出,实现数码管显示。
(4)电源电路设计:采用稳压电路为单片机和数码管提供稳定的电源。
2. 软件设计(1)初始化程序:设置单片机的工作模式、定时器、串口等。
(2)显示程序:编写数码管显示程序,实现数字的实时显示。
(3)定时器程序:利用定时器实现数字的递增显示。
(4)按键程序:编写按键扫描程序,实现按键功能。
四、实训过程1. 搭建单片机最小系统首先,搭建单片机最小系统,包括晶振、复位电路、电源电路等。
通过连接AT89C51单片机、晶振、电阻、电容等元器件,实现单片机的基本功能。
2. 编写程序(1)初始化程序:设置单片机的工作模式、定时器、串口等。
(2)显示程序:编写数码管显示程序,实现数字的实时显示。
(3)定时器程序:利用定时器实现数字的递增显示。
(4)按键程序:编写按键扫描程序,实现按键功能。
3. 系统调试在搭建好硬件电路和编写好程序后,通过串口调试工具(如串口调试助手)进行程序下载和调试。
观察数码管显示效果,确保程序正常运行。
4. 功能测试对数码管显示系统进行功能测试,包括数字显示、定时器功能、按键功能等。
单片机数码管记忆系统实验报告
单⽚机数码管记忆系统实验报告电⼦信息⼯程专业单⽚机原理及应⽤课程设计班级电⼦信息⼯程学号0000000000姓名xxxxx指导教师xxxxxxxx⽇期00000000⼀、题⽬基于AT24C02的数码管显⽰记忆系统⼆、设计内容1、内容设计⼀个基于A T24C02芯⽚的单⽚机数码管显⽰记忆系统。
数码管和两个74HC573芯⽚进⾏连接,P2.6和P2.7管脚分别控制这两个573芯⽚;P2.0和P2.1管脚连接AT24C02芯⽚的SCL和SDA管脚,使⽤C51语⾔设计程序,当系统上电后,数码管从000~255每隔1s⼀次显⽰计数,当计数到255后,则从000重新显⽰计数,并且在系统断电后再次上电时,数码管依旧按断电前的数字继续进⾏计数,不会丢失数据,数字显⽰在X6~X8数码管上。
2、元件清单列表序号标号器件名称型号数量1 R1 电阻10K 112 C1.C2. 电容1nf 23 C3 电解电容1nf 14 XTAL 晶振12MHz 15 Switch 开关 26 U4 单⽚机89c52 17 U8、U12 芯⽚74HC573 28 U7 芯⽚A T24C02 19 LED 数码管4393H 2三、软件设计1、流程图否是是是否开始系统初始化按键是否按下按下按键计数器依次加⼀是否关闭电源记忆当前的数据值计数器继续依次加⼀判断计数器的值是否达到255计数器清零2、代码#include //包含头⽂件#define unint unsigned int //定义数据类型#define uchar unsigned charsbit SDA=P2^0; //定义SDAsbit SCL=P2^1; //定义SCLsbit WEI=P2^7; // 定义数码管的位选端sbit DUAN=P2^6; //定义数码管的段选端unint dat2; //定义全局变量,显⽰记录信息uchar Temp[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴极字段显⽰码void delay(){;;} //短延时声明void init() //初始化24C02{SDA=1;SCL=1;delay();}void start() //开始信号{SDA=1;delay();SCL=1;delay();SDA=0;delay();}void stop() //停⽌信号{SDA=0;delay();SCL=1;delay();SDA=1;delay();}void ack() //应答信号{uchar i;SCL=1;delay();while((SDA==1)&&(i<255))i++;SCL=0;delay();}void write_byte(uchar dat) //写⼀个字节{uchar i,temp;temp=dat;for(i=0;i<8;i++){SCL=0;delay();temp<<=1;SDA=CY;delay();SCL=1;delay();}SCL=0;delay();SDA=1;delay();}uchar read_byte() //读⼀个字节{unint i,j;SCL=0;delay();SDA=1;delay();for(i=0;i<8;i++) //循环8次读出⼀个字节数据{SCL=1;delay();j=(j<<1)|SDA;SCL=0;delay();}return j;}void write_addr(uchar address,uchar dat1){ //往指定地址写数据start(); //初始信号write_byte(0xa0); //写⼊芯⽚地址0XA0ack(); //应答信号write_byte(address); //写⼊芯⽚内部寄存器地址ADDRESS ack(); //应答信号write_byte(dat1); //写⼊数据ack(); //应答信号stop(); //停⽌信号}uchar read_addr(uchar address){ //从指定地址读数据uchar dat3;start(); //初始信号write_byte(0xa0); //写⼊芯⽚地址0XA0ack(); //应答信号write_byte(address); //写⼊芯⽚内部寄存器地址ack(); //应答信号start(); //初始信号write_byte(0xa1); //写⼊芯⽚地址0XA1ack(); //初始信号dat3=read_byte(); //读出数据stop(); //停⽌信号return dat3; //返回读出值}void init_T0() //初始设置定时器T0{TMOD=0x01; //定时器T0⼯作在⽅式1TCON=0x10; //启动T0TH0=(65536-461)/256; //FEH,11.059 2MHz,0.5ms TL0=(65536-461)%256; //33H,IE=0x82; //T0的中断允许}void wei_lock(uchar wei) //数码管位控制{WEI=1;P0=wei;WEI=0;}void duan_lock(uchar duan) //数码管段控制{DUAN=1;P0=Temp[duan];DUAN=0;}void display(uchar date) //数码管显⽰{unint i;uchar ge,shi,bai;ge=date%100%10;shi=date%100/10;bai=date/100;duan_lock(ge);wei_lock(0x7f);for(i=0;i<300;i++);duan_lock(shi);wei_lock(0xbf);for(i=0;i<300;i++);duan_lock(bai);wei_lock(0xdf);for(i=0;i<300;i++);wei_lock(0xff);}void timer0() interrupt 1 //T0的中断服务函数{unint i;if(i++>=2000) //1s时间到{i=0;if(dat2++>=255)dat2=0; //调整显⽰数字}TH0=(65536-461)/256; //重新给T0赋初值TL0=(65536-461)%256; }void main(){init_T0(); //T0初始化dat2=read_addr(0); //读24C02存储器数据while(1){init(); //存储器初始化write_addr(0,dat2); //指定地址写数据display(dat2); //读出数据并显⽰}}四、仿真分析1、原理图2、仿真结果图3、结果分析通过控制AT24C02芯⽚向指定的地址进⾏数据的读写操作,利⽤其记忆功能达到实验⽬的。
51单片机实验报告
51单片机实验报告一、引言51单片机是一种广泛应用于嵌入式系统开发的微控制器芯片。
本实验旨在通过对51单片机的实验研究,加深对该芯片的理解和应用。
二、实验一:LED灯闪烁控制本实验通过编写程序,控制51单片机上的LED灯以特定的频率闪烁。
为了实现这个目标,我们首先需要了解51单片机的引脚布局,确定LED灯的连接方式。
然后,通过编写相应的汇编程序,控制引脚的电平变化,从而实现LED灯的闪烁。
三、实验二:数码管显示数码管是一种常见的输出设备,通过控制引脚的输出来显示特定的数字。
本实验中,我们通过编写程序,实现通过51单片机控制数码管的显示。
通过对数码管的驱动原理和编程的学习,我们可以灵活地控制数码管的显示内容和频率。
四、实验三:蜂鸣器发声蜂鸣器是一种常见的声音输出设备,通过控制引脚的输出来产生特定的声音。
本实验中,我们通过编写程序,实现通过51单片机控制蜂鸣器的发声。
通过学习蜂鸣器的驱动原理和编程,我们可以根据需要产生不同频率和节奏的声音。
五、实验四:温湿度检测温湿度检测是一种常见的环境监测需求。
本实验中,我们通过引入温湿度传感器,实现通过51单片机获取环境的温度和湿度信息。
通过编写程序和读取传感器的数据,我们可以实时监测环境的温湿度,并进行相应的控制和反馈。
六、实验五:红外遥控红外遥控是一种常见的无线通信方式,通过发送和接收红外信号来实现远程控制。
本实验中,我们通过引入红外发射和接收模块,实现通过51单片机进行红外遥控。
通过编写相应的程序,设置红外遥控的编码和解码方式,我们可以实现对外部设备的遥控操作。
七、实验六:定时器应用定时器是51单片机中的重要模块,它可以实现定时和计数等功能。
本实验中,我们通过学习定时器的工作原理和编程,实现通过51单片机进行定时和计数的应用。
通过编写相应的程序和设置定时器的参数,我们可以实现不同的定时和计数功能,满足各种需要。
八、实验七:串口通信串口通信是一种常见的数据通信方式,通过串口接口发送和接收数据。
数码管单片机实训报告
一、前言随着科技的不断发展,单片机技术在我国得到了广泛应用。
为了提高我们的实践能力和创新意识,学校安排了单片机实训课程。
本次实训以数码管显示为核心,通过学习和实践,我们掌握了单片机的基本原理、编程方法以及数码管的应用。
以下是本次实训的详细报告。
二、实训目的1. 熟悉单片机的基本原理和硬件结构;2. 掌握Keil C51集成开发环境的使用方法;3. 学会使用数码管显示技术,实现数据的实时显示;4. 提高编程能力和实践操作能力。
三、实训内容1. 硬件环境本次实训使用的硬件设备包括:(1)单片机开发板:基于AT89C51单片机;(2)数码管:共阴极7段数码管;(3)电阻、电容、面包板等基础电子元器件。
2. 软件环境(1)操作系统:Windows XP/7/8/10;(2)编译器:Keil uVision5;(3)单片机编程语言:C语言。
3. 实训项目(1)数码管点亮实验通过编写程序,使单片机控制数码管显示“0”到“9”的数字。
(2)数码管显示时钟实验通过编写程序,使单片机控制数码管显示当前时间,实现时钟功能。
(3)数码管显示温度实验通过编写程序,使单片机读取温度传感器数据,并在数码管上显示。
四、实训过程1. 硬件连接根据电路图,将单片机、数码管、电阻、电容等元器件连接到面包板上。
2. 编写程序使用Keil uVision5编写程序,实现数码管点亮、显示时钟和显示温度功能。
3. 编译程序将编写的程序编译成HEX文件。
4. 烧写程序将HEX文件烧写到单片机中。
5. 调试程序使用示波器或逻辑分析仪等工具,对程序进行调试,确保程序运行正常。
五、实训结果1. 成功实现数码管点亮实验,显示“0”到“9”的数字;2. 成功实现数码管显示时钟实验,显示当前时间;3. 成功实现数码管显示温度实验,读取温度传感器数据并显示。
六、实训总结1. 通过本次实训,我们熟悉了单片机的基本原理和硬件结构,掌握了Keil C51集成开发环境的使用方法;2. 学会了使用数码管显示技术,实现了数据的实时显示;3. 提高了编程能力和实践操作能力。
单片机实训报告数码管
一、引言随着科技的不断发展,单片机作为一种广泛应用于工业控制、家用电器、智能交通等领域的微控制器,其重要性日益凸显。
数码管显示系统作为单片机应用中的一个重要环节,能够将单片机的运算结果直观地展示出来。
本实训报告旨在通过设计一个基于单片机的数码管显示系统,巩固单片机基础知识,提高实际动手能力和问题解决能力。
二、实训目的1. 掌握单片机的基本原理和硬件结构。
2. 熟悉Keil C51集成开发环境和Proteus仿真软件的使用。
3. 学会使用数码管进行数据显示。
4. 提高单片机编程能力和问题解决能力。
三、实训内容本实训以51单片机为核心,设计一个数码管显示系统,实现以下功能:1. 显示当前系统时间,包括小时、分钟和秒。
2. 通过按键调整时间。
3. 实现时钟校准功能。
4. 显示系统运行状态。
四、系统设计1. 硬件设计(1)单片机:选用AT89C51单片机作为核心控制单元。
(2)数码管:采用4位共阴极数码管,用于显示时间。
(3)按键:设置两个按键,一个用于调整时间,一个用于校准时间。
(4)时钟电路:采用晶振和电容构成时钟电路,为单片机提供时钟信号。
2. 软件设计(1)系统初始化:初始化单片机硬件资源,包括定时器、IO口等。
(2)时间显示:使用定时器中断实现时间显示功能,每秒更新一次时间。
(3)按键处理:检测按键状态,根据按键输入调整时间或校准时间。
(4)时钟校准:通过按键输入校准时间,实现系统时间与实际时间的同步。
(5)状态显示:在数码管上显示系统运行状态,如校准状态、运行状态等。
五、系统实现1. 硬件电路搭建根据设计图纸,使用面包板搭建硬件电路,包括单片机、数码管、按键、晶振等元件。
2. 软件编程使用Keil C51集成开发环境编写程序,实现系统功能。
3. 仿真调试使用Proteus仿真软件对系统进行仿真调试,确保程序正确无误。
六、测试与结果分析1. 测试方法(1)使用按键调整时间,观察数码管显示是否正确。
单片机实验报告——LED数码管显示实验
单片机实验报告——LED数码管显示实验引言单片机是一种基础的电子元件,作为电子专业的学生,学习单片机编程是必不可少的。
在单片机编程实验中,学习如何使用IO口驱动LED数码管显示是重要的一部分。
在此次实验中,我们用到的是STM32F103C8T6单片机,与之相配套的是LED数码管、杜邦线等元件,并利用Keil uVision5软件进行编程操作。
本文的目的是通过实验与实验数据的分析说明单片机控制LED数码管的方法,希望对单片机初学者有所帮助。
实验原理1.LED数码管简介LED数码管是利用发光二极管实现数字和字母的显示,其外观形式有共阳和共阴两种。
共阳型数码管的共阳端是接在公共的端子上,数字和字母的每一个元素(即1、2、3、4、5、6、7、8、9、A、B、C、D、E、F)的生命延伸出去,称为”高”电平;共阴型数码管的共阴端是接在公共的端子上,数字和字母的每一个元素的生命也是分别延伸出去,但称为”低”电平。
2.STM32F103C8T6单片机STM32F103C8T6单片机是一款功能完备的32位MCU产品,它具有高性能,低功耗的特点,可广泛应用于许多硬件系统。
此次实验所需的LED数码管的显示量是5个(共阳型),因此我们只需要5个IO口即可将STM32F103C8T6单片机与LED数码管连接起来。
实验材料STM32F103C8T6单片机、LED数码管、杜邦线、电容、电阻、面包板等。
实验步骤1.硬件连接:将LED数码管的针脚连接到单片机的IO口,如下图所示:其中P0-P4分别代表数字0-4,PE2口作为LED点亮控制口,分别接入面包板中。
2.软件设置:使用Keil uVision5进行程序编写,将代码下载到单片机控制器内,开启电路,即可观察到LED数码管上的数字进行了变化。
代码如下所示:实验结果将程序下载到开发板后,启动单片机,即可看到红色LED数码管逐个显示从0-9的数字。
达到9后又从0开始循环。
实验过程及结论本次实验中彻底了解到了用单片机控制LED数码管的方法,单片机控制LED数码管变化是通过选中不同的IO口来完成的,利用Keil uVision5软件可以完成程序编写。
2024年单片机实习报告总结模版(2篇)
2024年单片机实习报告总结模版____字2024年,我有幸参加了一家知名科技公司的单片机实习项目,并在项目中获得了丰富的实践经验。
在这次实习中,我深入学习了单片机的原理和应用,并通过实际操作掌握了单片机相关技术和工具的使用。
下面是我的实习报告总结:一、实习背景及目标本次实习的背景是为了提高我们对单片机原理和应用的理解,并能够熟练运用单片机技术解决实际问题。
实习的目标是通过项目实践,加深对单片机的认识,并培养我们的动手能力和团队合作精神。
二、实习内容在实习期间,我主要参与了一个基于单片机的智能家居系统的开发。
该系统包括智能灯控、温湿度监测、门禁系统等功能。
我负责了智能灯控的设计和开发。
具体的工作内容包括:1. 硬件设计:我学习了单片机的接口原理和外围电路的设计方法,根据实际需求设计了灯控模块的硬件电路。
在设计过程中,我充分考虑了稳定性、可靠性和安全性等因素,确保了灯控系统的正常运行和安全使用。
2. 软件开发:在硬件设计完成后,我开始进行软件的开发。
我使用C语言编写了单片机的程序,实现了灯的开关、亮度调节和定时控制等功能。
在开发过程中,我注意到了一些技术细节,如处理中断、优化代码和调试错误等,最终实现了功能完备且稳定的灯控系统。
3. 系统集成:在软件开发完成后,我将灯控系统与其他功能模块进行了集成测试,确保了整个智能家居系统的各个功能正常协同工作。
在测试过程中,我不断排查和修复了一些问题,最终确保了系统的稳定性和可靠性。
三、实习收获通过这次实习,我对单片机技术和应用有了更深入的了解,并获得了以下收获:1. 熟悉单片机的原理和应用:我通过实践操作,深入学习了单片机的工作原理、接口特性和指令系统等,对单片机的运行机制有了更深入的认识。
同时,我还学习了单片机在各种应用场景中的具体技术和方法,对于如何灵活运用单片机解决实际问题有了一定的经验。
2. 掌握了单片机的设计和开发技能:在实习期间,我学习了单片机的硬件设计和软件开发技术。
数码管方案设计实训报告
一、实训背景随着科技的不断发展,电子技术在各个领域中的应用越来越广泛。
数码管作为一种常见的显示器件,因其体积小、亮度高、易于驱动等特点,在电子设备中得到了广泛应用。
为了提高自身在电子技术领域的实践能力,我们选择了数码管方案设计作为实训课题,通过实际操作和理论分析,掌握数码管的应用原理和设计方法。
二、实训目的1. 理解数码管的工作原理和驱动方式。
2. 掌握数码管在电路中的应用设计。
3. 提高动手能力和电路调试能力。
4. 培养团队合作和问题解决能力。
三、实训内容1. 数码管原理及驱动方式2. 数码管驱动电路设计3. 数码管应用电路设计4. 数码管电路调试与测试四、实训过程(一)数码管原理及驱动方式1. 数码管分类:数码管分为七段数码管和十四段数码管,本实训以七段数码管为例进行讲解。
2. 数码管工作原理:七段数码管由七个独立的发光二极管组成,分别代表数字0-9。
通过控制每个发光二极管的点亮与熄灭,可以显示不同的数字和字符。
3. 数码管驱动方式:数码管驱动方式主要有共阴极和共阳极两种。
共阴极数码管的特点是高电平点亮,低电平熄灭;共阳极数码管的特点是低电平点亮,高电平熄灭。
(二)数码管驱动电路设计1. 选择合适的驱动电路:根据数码管的类型和数量,选择合适的驱动电路。
本实训采用共阴极数码管,使用74HC595移位寄存器进行驱动。
2. 设计驱动电路原理图:根据驱动电路的选择,绘制驱动电路原理图,包括数码管、驱动芯片、电源等部分。
3. 选择合适的元件:根据原理图,选择合适的元件,如数码管、74HC595移位寄存器、电阻、电容等。
(三)数码管应用电路设计1. 设计显示内容:根据实际需求,设计数码管的显示内容,如数字、字符、符号等。
2. 编写程序:根据显示内容,编写控制数码管显示的程序。
本实训采用C语言进行编程。
3. 连接电路:将数码管、驱动电路、单片机等元件连接到一起,形成完整的数码管显示电路。
(四)数码管电路调试与测试1. 上电测试:接通电源,观察数码管是否正常显示。
数码管实验报告实验原理(3篇)
第1篇一、实验背景数码管是一种常用的显示器件,它可以将数字、字母或其他符号显示出来。
数码管广泛应用于各种电子设备中,如计算器、电子钟、电子秤等。
本实验旨在通过实践操作,让学生了解数码管的工作原理,掌握数码管的驱动方法,以及数码管在电子系统中的应用。
二、实验原理1. 数码管类型数码管分为两种类型:七段数码管和液晶数码管。
本实验主要介绍七段数码管。
七段数码管由七个发光二极管(LED)组成,分别代表七个笔画。
当七个LED中的某个或某几个LED点亮时,就可以显示出相应的数字或符号。
根据发光二极管的连接方式,七段数码管可分为共阳极和共阴极两种类型。
2. 数码管驱动方式(1)静态驱动静态驱动是指每个数码管独立驱动,每个数码管都连接到单片机的I/O端口。
这种方式下,数码管显示的数字或符号不会闪烁,但需要较多的I/O端口资源。
(2)动态驱动动态驱动是指多个数码管共用一组I/O端口,通过控制每个数码管的扫描时间来实现动态显示。
这种方式可以节省I/O端口资源,但显示的数字或符号会有闪烁现象。
3. 数码管显示原理(1)共阳极数码管共阳极数码管的特点是七个LED的阳极连接在一起,形成公共阳极。
当要显示数字时,将对应的LED阴极接地,其他LED阴极接高电平,即可显示出相应的数字。
(2)共阴极数码管共阴极数码管的特点是七个LED的阴极连接在一起,形成公共阴极。
当要显示数字时,将对应的LED阳极接地,其他LED阳极接高电平,即可显示出相应的数字。
4. 数码管驱动电路(1)BCD码译码驱动器BCD码译码驱动器是一种将BCD码转换为七段数码管所需段码的电路。
常用的BCD码译码驱动器有CD4511、CD4518等。
(2)74HC595移位寄存器74HC595是一种8位串行输入、并行输出的移位寄存器,常用于数码管的动态驱动。
它可以将单片机输出的串行信号转换为并行信号,驱动数码管显示。
三、实验目的1. 了解数码管的工作原理和驱动方式。
单片机数码管动态显示实验报告
单片机数码管动态显示实验报告单片机数码管动态显示实验报告一、实验目的本实验旨在通过单片机控制数码管的动态显示,掌握单片机的基本操作和数码管显示原理,培养实际动手能力和编程技能。
二、实验原理数码管是一种常用的电子显示器件,通过单片机控制可以实现数字、字母等多种形式的显示。
本实验采用共阴极数码管,通过单片机控制选通哪个LED灯亮,从而在数码管上显示出相应的数字或字母。
三、实验步骤1.硬件搭建首先,将单片机、数码管、电源等硬件连接起来。
注意数码管的引脚与单片机的连接方式,确保正确连接。
2.编程环境设置打开单片机编程软件,如Keil uVision等,配置相应的编译器和调试器选项。
3.编写程序在编程环境中,编写程序以实现数码管的动态显示。
本实验采用C语言进行编程。
程序主要包括初始化、显示函数等。
4.编译程序将编写的程序进行编译,生成可执行文件。
5.调试程序通过调试器对程序进行调试,观察数码管的显示效果是否符合要求。
如有问题,及时修改程序并重新编译和调试。
6.测试结果确保程序运行无误后,对数码管的显示效果进行测试,观察是否达到预期效果。
四、实验结果与分析1.实验结果通过本次实验,我们成功实现了单片机对数码管的动态显示。
在数码管上成功显示了数字和字母,效果良好。
2.结果分析通过本次实验,我们深入了解了单片机的基本操作和数码管显示原理。
同时,我们也学会了如何编写程序、编译和调试程序。
此外,我们还学会了如何解决实验过程中遇到的问题。
这些技能对于后续的电子设计和开发具有重要意义。
五、实验总结与展望1.实验总结本次实验通过单片机控制数码管的动态显示,我们成功掌握了单片机的基本操作和数码管显示原理。
在实验过程中,我们学会了如何编写程序、编译和调试程序。
同时,我们也学会了如何解决实验过程中遇到的问题。
这些技能对于后续的电子设计和开发具有重要意义。
2.实验展望在本次实验的基础上,我们可以进一步探索如何实现更复杂的显示效果,如多位数码管的动态显示、彩色显示等。
单片机实验报告二-数码管显示实验
单片机实验报告二-数码管显示实验摘要:本实验使用单片机控制数码管的显示,在实验过程中通过学习单片机的GPIO口的编程,调试程序、调节电路来达到正确的显示效果。
最终按照要求实现了单片机控制数码管的计数器。
关键词:单片机、数码管、GPIO口、计数器一、实验介绍数码管是一种介于机械仪表和液晶显示器之间的电子显示器件,广泛应用于计时器、计数器、仪表等电子产品中。
本实验旨在通过单片机控制数码管的显示来加深对GPIO口的使用和调试程序的理解,同时了解数码管的原理。
本实验主要分为两部分:数码管显示基础实验和数码管控制开关实验。
通过这两部分的实验可以了解数码管的工作原理和单片机的基本控制方式。
二、实验原理2.1 数码管的基本原理数码管显示器将数字显示为一组符号,例如“0”到“9”。
表示不同数字的符号被编码成一个数字码。
七段数码管用一个七段数码字母来表示数字,如下表所示:| 数字 | a | b | c | d | e | f | g || ---- | - | - | - | - | - | - | - || 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 || 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 || 2 | 1 | 1 | 0 | 1 | 1 | 0 | 1 || 3 | 1 | 1 | 1 | 1 | 0 | 0 | 1 || 4 | 0 | 1 | 1 | 0 | 0 | 1 | 1 || 5 | 1 | 0 | 1 | 1 | 0 | 1 | 1 || 6 | 0 | 0 | 1 | 1 | 1 | 1 | 1 || 7 | 1 | 1 | 1 | 0 | 0 | 0 | 0 || 8 | 1 | 1 | 1 | 1 | 1 | 1 | 1 || 9 | 1 | 1 | 1 | 1 | 0 | 1 | 1 |通过控制数码管的七个LED灯的亮灭,可以实现不同符号显示。
单片机实验报告二数码管显示实验
单片机实验报告二数码管显示实验Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】安徽新华学院实验报告课程名称单片机原理及应用实验名称数码管显示实验实验日期 2018年9 月20日小组成员:成员一:学号35 姓名邹富乐成员二:学号33 姓名张正成员三:学号32 姓名王成顺成员四:学号22 姓名吴立实验班级 16计科(外包)2班指导教师史先桂得分一、实验内容1. 实验目的与要求:⑴熟悉Keil软件的工作界面。
⑵掌握Keil工程的建立方法和源程序的编译及调试方法。
⑶掌握proteus和Keil的联合调试方法。
⑷掌握将程序烧录到51单片机中的方法。
2. 实验原理:LED数码管为“8”字型的,共计7段或8段,每一段对应一个发光二极管,有共阳极和共阴极两种。
共阳极数码管的阳极连接在一起,公共阳极接到+5V上;共阴极数码管的阴极连接在一起,通常次公共阴极接地。
对于共阴极数码管来说,当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。
对于共阳极数码管来说,当某个发光二极管的阴极接低电平时,该发光二极管被点亮,相应的段被显示。
3. 实验内容:⑴51单片机的P0、P2口分别连接2个数码管,编程实现让这个数码管显示00~99。
截图1:绘制的PROTEUS仿真电路图截图2:KEIL中编写的程序指令⑵51单片机的P0口送出数码管的段码,P2口进行位控制,编程实现8个动态连接的数码管其中四个数码管同时显示0~F。
截图1:绘制的PROTEUS仿真电路图截图2:KEIL中编写的程序指令⑶51单片机的P0口送出数码管的段码,P2口进行位控制,编程实现8个动态连接的数码管分别显示。
②数组③移位运算符二、心得体会小结本次实验,首先要注意数码管是共阳极还是共阴极。
对于共阴极数码管来说,二极管的阳极为高电平时有效。
对于共阳极数码管来说,二极管的阴极接低电平时有效。
实验八单片机试验(数码管)
将数码管的公共阴极接至GND,每个数码管的 段选线分别连接到单片机的一个I/O口。
3
数码管动态扫描显示
通过控制I/O口的输出,依次点亮每个数码管, 实现多个数码管的动态显示。
数码管显示编码
0-9的七段数码管编码
根据数码管显示的数字0-9,编写对应的七段数码管编码,用于控制数码管的 显示。
字符编码
对于字母和符号,也需要编写对应的七段数码管编码,以便在数码管上显示。
单片机驱动程序编写
初始化程序
在程序开始运行时,需要编写初 始化程序,设置单片机的I/O口 为输出模式,并设置定时器等必
要的参数。
主程序
在主程序中,根据需要编写的显 示编码,通过控制I/O口的输出, 实现数码管的动态显示。同时, 还需要处理外部输入信号,如按
实验八 单片机实验(数码管
目录
• 数码管介绍 • 单片机与数码管连接 • 实验步骤与操作 • 实验结果分析 • 实验问题与改进
01
数码管介绍
数码管工作原理
数码管是一种由多个LED段组成 的显示器件,通过单片机控制不 同LED段的亮灭来显示数字或字
符。
数码管内部通常有8个LED段, 通过导通不同的LED段组合,可 以显示0-9的数字和某些特定字
数据记录
记录实验过程中数码管显示的数 字,以及对应的I/O端口配置。
数据处理
分析实验数据,总结数码管显示的 规律,以及I/O端口对数码管显示 的影响。
结果分析
根据实验数据和结果,分析实验过 程中可能存在的问题,并提出改进 措施。
04
实验结果分析
数据对比分析
实验数据与理论值对比
将实验测得的数据与理论值进行对比,分析两者之间的差异。
51单片机数码管实验报告
51单片机数码管实验报告51单片机数码管实验报告一、引言51单片机是一种非常常见的单片机芯片,广泛应用于各种电子设备中。
数码管作为一种常见的显示器件,也经常与51单片机一起使用。
本实验旨在通过使用51单片机控制数码管的显示,了解其工作原理和使用方法。
二、实验目的1. 理解51单片机的基本原理和工作方式。
2. 掌握51单片机与数码管的连接方法。
3. 学会使用51单片机控制数码管进行数字显示。
三、实验材料1. 51单片机开发板2. 数码管3. 杜邦线4. 电源线5. 电阻四、实验步骤1. 将数码管与51单片机开发板相连接。
根据数码管的引脚连接方式,将数码管的正极与51单片机的VCC引脚相连,负极与51单片机的GND引脚相连,然后将数码管的A、B、C、D、E、F、G引脚与51单片机的IO引脚相连。
2. 编写51单片机的程序代码。
通过控制51单片机的IO引脚输出高低电平信号,来控制数码管的显示内容。
根据数码管的真值表,设置相应的IO引脚输出高低电平信号,实现数字的显示。
3. 将编写好的程序下载到51单片机开发板中。
使用下载线将开发板与计算机相连接,通过下载软件将程序下载到51单片机中。
4. 运行程序,观察数码管的显示效果。
根据程序中设置的数字,数码管应该能够正确显示相应的数字。
五、实验结果与分析经过实验,我们成功地使用51单片机控制数码管进行数字显示。
根据程序中设置的数字,数码管能够正确显示相应的数字。
这说明我们对51单片机的使用方法有了一定的了解,并且掌握了控制数码管的基本原理。
六、实验总结通过本次实验,我们深入学习了51单片机的基本原理和使用方法,并成功地控制了数码管进行数字显示。
这为我们进一步学习和应用单片机技术打下了基础。
同时,我们也发现了一些问题,例如在连接数码管时需要注意引脚的对应关系,以及在编写程序时需要准确设置IO引脚的输出信号。
这些问题对我们今后的学习和实践都有一定的启示意义。
七、展望在今后的学习中,我们将进一步深入研究51单片机的原理和应用,探索更多有趣的实验和项目。
单片机数码管动态显示实验报告
单片机数码管动态显示实验报告实验名称:单片机数码管动态显示实验实验目的:1.了解数码管的动态显示原理;2.掌握单片机控制数码管动态显示的方法;3.培养对数字信号处理的能力。
实验器材:1.STC89C52单片机开发板;2.DC560A数码管模块;3.连接线。
实验原理:数码管是由多个发光二极管组成的,每个数字在数码管上的显示方式是通过快速地轮流点亮数码管的每个段来实现的。
在本实验中,采用时分复用的方法控制数码管动态显示相关数字。
实验步骤:1.连接单片机和数码管模块。
将数码管的共阳或共阴引脚分别连接到单片机的相应IO口上,并接上合适的电阻。
将数码管的A~G引脚连接到单片机的相应IO口上。
2.编写程序代码。
程序主要功能是通过切换数码管的显示段和位,实现数码管动态显示。
4.打开电源,观察行程显示的效果。
实验结果:在实验中,通过编写程序控制单片机,成功实现了数字的动态显示。
数码管能够按顺序显示出所要显示的数字,并且在多个数码管之间进行切换,显示效果非常理想。
实验分析:1.数码管动态显示的原理是通过快速地轮流点亮每个段来实现的。
这个过程发生的速度非常快,人眼无法察觉到。
2.单片机的IO口输出高或低电平,控制数码管的亮灭。
通过逐位切换和循环控制,实现了数字的动态显示。
3.单片机的频率和控制方式对动态显示效果有一定影响。
适当调整程序中的延时时间和控制方式,可以改变数码管的显示效果。
实验总结:本实验通过对单片机数码管动态显示的实现,加深了对数码管原理和单片机控制的认识。
掌握了数字信号动态显示的基本原理和方法。
在今后的学习和工作中,这将有助于对数字信号处理和显示技术的更深入理解和应用。
实验拓展:可以尝试在实验中通过按键按下的方式改变数码管显示的数字,进一步扩展单片机的应用范围和实用性。
此外,还可以尝试改变数码管的显示效果,比如实现数码管的闪烁、呼吸灯等特殊效果。
这将对单片机的编程和数码管的控制提出更高的要求,同时也增加了实验的趣味性和实用性。
工作报告之单片机数码管实验报告
单片机数码管实验报告【篇一:单片机实验报告——led数码管显示实验】《微机实验》报告led数码管显示实验指导教师:专业班级:姓名:学号:联系方式:一、任务要求实验目的:理解led七段数码管的显示控制原理,掌握数码管与mcu的接口技术,能够编写数码管显示驱动程序;熟悉接口程序调试方法。
实验内容:利用c8051f310单片机控制数码管显示器基本要求:利用末位数码管循环显示数字0-9,显示切换频率为1hz。
提高要求:在4位数码管显示器上依次显示当天时期和时间,显示格式如下: yyyy (年份)mm.dd(月份.日)hh.mm(小时.分钟)思考题:数码管采用动态驱动方式时刷新频率应如何选择?为什么?二、设计思路c8051f310单片机片上晶振为24.5mhz,采用8分频后为3.0625mhz ,输入时钟信号采用48个机器周期。
0到9对应的断码为:fch、60h、dah、f2h、66h、b6h、beh、e0h、feh、f6h 基础部分:由于只需要用末位数码管显示,不需要改变位码,所以只需要采用led的静态显示。
采用查表的方法,通过循环结构,每次循环查找数据表下一地址,循环十次后重新开始循环。
每次循环延时1s,采用定时器0定时方式1。
提高部分:四个数码管都要显示,所以采用led的动态显示。
由于数码管的位选由p0.7、p0.6控制,p0端口的其他引脚都没用到,所以对p0端口初始化赋00h,每次循环加40h、选中下一位,四次后十六进制溢出,p0端口变又为00h回到第一个数码管。
每位数码管显示一个段码后都延时1ms(否则数码管太亮,刺眼)采用定时器0定时方式1,依然采用查表法改变段码值。
通过循环: djnz r5,backmovr5,#250 djnz r4,back movr4,#8来控制每种模式的切换时间,我采用2s切换一次(8*250*1ms=2s)。
切换模式,可以采用改变查表法的偏移量来实现,没切换一次模式,偏移量加04h,三次后回到初始偏移量,来实现三种模式的循环显示。
51单片机动态数码管实验报告
51单片机动态数码管实验报告
本文介绍了51单片机动态数码管实验的步骤和结果。
动态数码管是一种常用的数字显示器件,它可以显示数字、字母和一
些图形。
在51单片机中,为了控制动态数码管的显示,我们需要使用定
时器和中断。
作为一个经典的单片机实验,动态数码管实验是初学者熟悉51单片机开发的重要步骤之一。
本次实验使用的是常见的4位共阳极动态数码管。
电路图如下:
在电路中使用了四个PNP三极管作为驱动器,共阳极接Vcc(5V),
母线接0V,通过控制每个数码管对应的位选引脚(EN1、EN2、EN3、EN4)来实现选定要显示的数码管,再由程序向选定的数码管的a、b、c、d、e、f、g引脚发送对应的信号,以实现数字显示的功能。
程序上,我们需要使用定时器和中断来驱动动态数码管的显示。
具体
步骤如下:
1.定义计数器和数组,数组定义每位数码管显示的数字,计数器控制
当前轮到哪个数码管显示。
2.初始化定时器和中断,并启动定时器。
3.在中断函数中,将数码管的位选引脚依次拉高并依次向数码管a、
b、c、d、e、f、g中发送数据信号。
4.在每个数码管的对应位选时间内,通过对控制数组的操作,改变数
码管显示的数字。
5.循环执行第3~4步,显示不同的数字。
最后,我们通过改变控制数组的值,实现了动态数码管显示不同数字和字母的功能。
总之,通过动态数码管实验,我们进一步熟悉了51单片机的定时器和中断,了解了动态数码管的驱动原理和程序设计方法,为后续更复杂的单片机实验和应用打下了基础。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子信息工程专业
单片机原理及应用课程设计
班级电子信息工程
学号0000000000
姓名xxxxx
指导教师xxxxxxxx
日期00000000
一、题目
基于AT24C02的数码管显示记忆系统
二、设计内容
1、内容
设计一个基于A T24C02芯片的单片机数码管显示记忆系统。
数码管和两个74HC573芯片进行连接,P2.6和P2.7管脚分别控制这两个573芯片;P2.0和P2.1管脚连接AT24C02芯片的SCL和SDA管脚,使用C51语言设计程序,当系统上电后,数码管从000~255每隔1s一次显示计数,当计数到255后,则从000重新显示计数,并且在系统断电后再次上电时,数码管依旧按断电前的数字继续进行计数,不会丢失数据,数字显示在X6~X8数码管上。
2、元件清单列表
序号标号器件名称型号数量
1 R1 电阻10K 11
2 C1.C2. 电容1nf 2
3 C3 电解电容1nf 1
4 XTAL 晶振12MHz 1
5 Switch 开关 2
6 U4 单片机89c52 1
7 U8、U12 芯片74HC573 2
8 U7 芯片A T24C02 1
9 LED 数码管4393H 2
三、软件设计
1、流程图
否
是
是
是
否
开始
系统初始化
按键是否
按下 按下按键
计数器依次加一
是否关闭电源
记忆当前的数据值
计数器继续依次加一
判断计数器的值是否达到255
计数器清零
2、代码
#include<AT89x52.h> //包含头文件
#define unint unsigned int //定义数据类型
#define uchar unsigned char
sbit SDA=P2^0; //定义SDA
sbit SCL=P2^1; //定义SCL
sbit WEI=P2^7; // 定义数码管的位选端
sbit DUAN=P2^6; //定义数码管的段选端
unint dat2; //定义全局变量,显示记录信息
uchar Temp[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//共阴极字段显示码
void delay(){;;} //短延时声明
void init() //初始化24C02
{
SDA=1;
SCL=1;
delay();
}
void start() //开始信号
{
SDA=1;
delay();
SCL=1;
delay();
SDA=0;
delay();
}
void stop() //停止信号
{
SDA=0;
delay();
SCL=1;
delay();
SDA=1;
delay();
}
void ack() //应答信号
{
uchar i;
SCL=1;
delay();
while((SDA==1)&&(i<255))i++;
SCL=0;
delay();
}
void write_byte(uchar dat) //写一个字节
{
uchar i,temp;
temp=dat;
for(i=0;i<8;i++)
{
SCL=0;
delay();
temp<<=1;
SDA=CY;
delay();
SCL=1;
delay();
}
SCL=0;
delay();
SDA=1;
delay();
}
uchar read_byte() //读一个字节
{
unint i,j;
SCL=0;
delay();
SDA=1;
delay();
for(i=0;i<8;i++) //循环8次读出一个字节数据{
SCL=1;
delay();
j=(j<<1)|SDA;
SCL=0;
delay();
}
return j;
}
void write_addr(uchar address,uchar dat1)
{ //往指定地址写数据
start(); //初始信号
write_byte(0xa0); //写入芯片地址0XA0
ack(); //应答信号
write_byte(address); //写入芯片内部寄存器地址ADDRESS ack(); //应答信号
write_byte(dat1); //写入数据
ack(); //应答信号
stop(); //停止信号
}
uchar read_addr(uchar address)
{ //从指定地址读数据
uchar dat3;
start(); //初始信号
write_byte(0xa0); //写入芯片地址0XA0
ack(); //应答信号
write_byte(address); //写入芯片内部寄存器地址
ack(); //应答信号
start(); //初始信号
write_byte(0xa1); //写入芯片地址0XA1
ack(); //初始信号
dat3=read_byte(); //读出数据
stop(); //停止信号
return dat3; //返回读出值
}
void init_T0() //初始设置定时器T0
{
TMOD=0x01; //定时器T0工作在方式1
TCON=0x10; //启动T0
TH0=(65536-461)/256; //FEH,11.059 2MHz,0.5ms
TL0=(65536-461)%256; //33H,
IE=0x82; //T0的中断允许
}
void wei_lock(uchar wei) //数码管位控制
{
WEI=1;
P0=wei;
WEI=0;
}
void duan_lock(uchar duan) //数码管段控制
{
DUAN=1;
P0=Temp[duan];
DUAN=0;
}
void display(uchar date) //数码管显示
{
unint i;
uchar ge,shi,bai;
ge=date%100%10;
shi=date%100/10;
bai=date/100;
duan_lock(ge);
wei_lock(0x7f);
for(i=0;i<300;i++);
duan_lock(shi);
wei_lock(0xbf);
for(i=0;i<300;i++);
duan_lock(bai);
wei_lock(0xdf);
for(i=0;i<300;i++);
wei_lock(0xff);
}
void timer0() interrupt 1 //T0的中断服务函数{
unint i;
if(i++>=2000) //1s时间到
{
i=0;
if(dat2++>=255)dat2=0; //调整显示数字}
TH0=(65536-461)/256; //重新给T0赋初值TL0=(65536-461)%256;
}
void main()
{
init_T0(); //T0初始化
dat2=read_addr(0); //读24C02存储器数据while(1)
{
init(); //存储器初始化
write_addr(0,dat2); //指定地址写数据
display(dat2); //读出数据并显示
}
}
四、仿真分析
1、原理图
2、仿真结果图
3、结果分析
通过控制AT24C02芯片向指定的地址进行数据的读写操作,利用其记忆功能达到实验目的。
通过输入单片机的程序,使用定时器T0工作方式1在系统上电后数码管从000~255每隔1S依次显示计数,当计数到255后自动从跳回000
重新显示计数。
当系统断电后在次上电,数码管能按断电前储存的数据继续计数。
达到了预期的效果。
五、设计总结
设计实验基本上是成功了。
通过这次实践学会了很多知识,巩固了学过的知识并且又有了新的认识,基本掌握了所用器件的使用方法。
STC89C51作为单片机,适用了内部的定时器,程序上解决了按键抖动的问题,了解学习AT24C02芯片的功能以及其接线方式,74HC573是8位三态锁存器利用它来控制数码管,数码管的显示方法工作原理等。
实验中涉及到了iic,iic总线包括一条数据线SDA 和一条时钟线SCL,程序非常复杂以至于现在还不是特别理解有待于继续学习掌握。
在写程序的过程中深深的体会到了细心的重要性!!!以后要多练习养成写规范程序的好习惯,实验程序非常复杂感觉到自己欠缺的知识还很多,思考问题还不够全面。
六、教师评语。