51单片机数码管静态显示及定时器和中断应用
- 格式:ppt
- 大小:1.21 MB
- 文档页数:43
《单片机原理及应用》考试大纲I、考试的性质与目的本科插班生考试是由专科毕业生参加的选拔性考试。
《单片机原理及应用》是电气工程及其自动化(本科)的一门专业基础课程,考试主要检查考生对单片机技术的基本知识的掌握程度,考察内容主要包括:单片机的组成、工作原理、编程及外围电路设计等基础知识;单片机的编程方法、编程规则及外围电路设计技巧,着重考察编程能力,分析问题、解决问题的能力。
通过考察保证后续课程的学习。
II、考试的内容一、考试基本要求1.基本理论知识1)掌握单片机并行I/O(也就是个P口)口的其内部结构、它们的用途和在使用过程中需要注意的问题。
2)掌握数码管的内部结构(共阴极、共阳极)和驱动方法(动态驱动方法和静态驱动方法)3)掌握独立键盘和矩阵键盘的扫描原理4)掌握外部中断的原理,使用方法和设置方法,重点注意外部中断在TCON、IE、IP寄存器的设置方法。
5)掌握定时器中断的原理,使用方法和设置方法,重点注意定时器中断在TCON、、TMOD、IE、IP寄存器的设置方法。
掌握定时器的4种工作方式。
6)掌握串口的原理,使用方法和设置方法,重点注意串口中断在TCON、、TMOD、IE、IP寄存器的设置方法。
掌握串口232A的电压规范及物理连接方法、掌握波特率的概念,各种工作模式下数据帧的格式。
7)掌握IIC总线的通信格式(什么是起始信号、结束信号和数据信号),通信协议(重点注意通信的过程中发送信号的顺序和对地址信号的定义)8)了解液晶1602的使用方法2.基本技能1)了解51单片机的架构和资源,能够读懂单片机组成简单系统;2)能够利用单片机以及其他元器件设计简单的监控电路3)能够阅读基础C语言编写的程序,能够利用C语言编写单片机程序,并具有编译、下载和调试单片机系统的能力。
4)能够利用一些常用的集成电路芯片组成单片机系统二、考核知识点及考核要求1. 基础必备知识1.1 考核知识点:1)单片机概述:了解什么是单片机、单片机标号信息及封装类型、单片机能做什么、如何开始学习单片机、单片机外部引脚介绍、电平特性等;2)单片机常用的数制与码制,包括:二进制、十六进制、二进制与十进制的相互转换;3)二进制的逻辑运算包括:与、或、非、同或、异或等4)单片机的C51基础知识包括:了解利用C语言开发单片机的优点、C51中的基本数据类型、C51数据类型扩充定义、C51中常用的头文件、C51中的运算符、C51中的基础语句1.2 考核要求:1)识记:单片机的资源和特点2)理解:单片机使用的数制和逻辑运算3)应用:读懂并利用C语言编写程序2. Keil软件使用及流水灯设计2.1 考核知识点:熟悉和使用Keil编写简单的单片机C51程序,内容包括:1)Keil工程建立及常用按钮的使用2)能灵活使用C语言循环控制语句3)掌握延时程序的写法和延时时间的计算方法4)掌握函数的使用方法5)使用简单的C51库函数2.2 考核要求:识记:简单的C51库函数;理解:C51的基础语法;应用:使用Keil编写单片机程序,形成可下载的HEX文件,并下载到单片机(或者仿真软件protues)进行仿真和调试。
第 4 章 51系列单片机的功能模块及其应用本章介绍51内部接口的应用。
51系列单片机内部集成了:●CPU──111条指令●ROM──0K~4K/8K(可扩为64KB)●内RAM──128/256 B(可扩外部64KB)●定时/计数器接口──2个/3个16位定时/计数器T0、T1、T2●全双工异步串行通信接口──●并行接口──提供4个8位并行端口●中断控制器──可以管理5个/6个中断源接口电路(Interface)──简称“接口”,是连接CPU总线和外设的桥梁。
接口卡=适配器(Adapter)──复杂接口电路,仅仅一片IC还不够,需要以某种核心IC芯片搭配外围元器件构造成一个电路板。
比如:网卡、声卡、显卡、数据采集卡、图像采集卡等。
端口(Port)──简称“口”,是指接口电路中的寄存器,硬件连线决定了每个寄存器的I/O地址,对接口电路的编程实质是对接口寄存器的编程。
CPU控制外设的实质就是控制接口电路,控制接口电路的实质就是控制接口寄存器。
4.0 中断系统──(教材第2章第5节)4.0.1 中断概念中断是针对“条件I/O”的外设而设置的一种I/O工作方式(另一种方式是查询)。
与查询方式相比,中断方式减少了CPU的负担,是计算机系统中重要概念和必不可少的内容。
举例:把人看成CPU,手表和电话看成是外设,访问这两个外设就是两种I/O类型:手表──无条件I/O的典型,随时可以访问,自然也不涉及查询和中断方式的选择。
电话──条件I/O的典型,可以设计成查询方式,也可以设计成中断方式。
显然,查询方式用在这里很“愚蠢”!而采用中断方式就很自如。
实现中断工作方式的几个条件:●外设能够产生中断申请信号;●CPU支持中断工作方式──CPU能够接受外设的中断申请并做出响应;●有一个独立于CPU的中断控制电路──能够区分多路中断源,进行中断允许和优先权设置。
正确使用中断需要搞清:中断屏蔽、优先权、响应过程、激活方法、中服调用和返回等。
51单片机数码管编程题一、概述51单片机是一种广泛应用于嵌入式系统的微控制器,它具有丰富的I/O端口和定时器资源,可以方便地与数码管等显示器件连接,实现数字和字符的显示。
数码管编程是51单片机应用开发中一项重要的技能,需要掌握基本的数字电路知识和单片机编程技巧。
二、编程要求本次编程任务是实现一个简单的数码管显示程序,要求能够控制数码管依次显示数字0-9,并且能够在数码管熄灭时进行清零操作。
同时,需要考虑到数码管的显示亮度、闪烁等问题,可以通过调整LED 的亮灭时间来实现。
三、编程思路1. 硬件连接:首先需要将数码管与单片机的I/O端口进行连接,可以使用7段数码管译码器芯片(如74LS379)来实现译码和驱动。
同时,需要为数码管和译码器芯片加上适当的电压和地线。
2. 程序设计:根据要求,程序需要包括显示数字、清零和调整亮度的功能。
可以使用定时器中断的方式来实现定时控制数码管的显示和熄灭。
具体来说,可以定义一个数组来存储数字的编码,然后在中断服务程序中依次取出数组中的数字编码,通过I/O端口输出到数码管上。
同时,可以使用另一个数组来存储清零和调整亮度的控制信号,通过I/O端口输出到数码管驱动芯片上。
3. 调试与优化:在程序编写完成后,需要进行调试和优化,确保数码管的显示效果和亮度达到要求。
可以使用调试器将程序下载到单片机中进行测试,也可以使用示波器和万用表等工具来测量数码管驱动芯片的输出信号和电压是否正常。
四、代码实现以下是一个简单的51单片机数码管显示程序示例:```c#include <reg52.h> //包含51单片机寄存器定义的头文件//定义数码管数字编码数组unsigned char code dongsu[10] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};void delay(unsigned int time) //延时函数{unsigned int i, j;for(i = 0; i < time; i++)for(j = 0; j < 1275; j++);}void display(unsigned char num) //数码管显示函数{P2 = dongsu[num]; //将数字编码输出到数码管上EA = 1; //开启全局中断ET0 = 1; //开启定时器0中断TF0 = 0; //清除定时器0溢出标志位while(!TF0); //等待定时器中断触发EA = 0; //关闭全局中断}void main() //主函数{while(1) //循环显示数字{display(0); //显示数字0delay(100); //延时一段时间display(1); //显示数字1delay(100); //延时一段时间display(2); //显示数字2delay(100); //延时一段时间display(3); //显示数字3delay(50); //短时间延时后熄灭数码管并清零P2 = 0xff; //清零操作,将所有I/O端口设置为高电平 while(P2 != 0xff); //等待I/O端口电平变化完成}}```以上代码实现了基本的数码管显示功能,可以根据实际需求进行修改和优化。
一、实训目的通过本次实训,掌握数码管静态显示的原理和方法,熟悉51单片机的编程技巧,以及如何利用单片机控制数码管显示特定的数字和字符。
同时,了解数码管在电子显示中的应用及其驱动电路的设计。
二、实训器材1. 51单片机开发板2. 数码管(共阴极或共阳极)3. 电阻4. 译码器(如74HC138)5. 驱动器(如74HC245)6. 连接线7. 编程软件(如Keil)8. 仿真软件(如Proteus)三、实训原理数码管静态显示是指每个数码管的每个段都由单片机的I/O口直接驱动。
当某个段需要显示时,相应的I/O口输出高电平或低电平,控制该段LED的亮灭。
共阴极数码管的段码共用一个电源的负极,高电平点亮;共阳极数码管的段码共用一个电源的正极,低电平点亮。
在本次实训中,我们使用51单片机的P0口输出段码数据,P2口输出位选信号,通过译码器和驱动器实现对数码管的驱动。
四、实训步骤1. 硬件连接(1)将数码管按照共阴极或共阳极的接法连接到单片机的P0口。
(2)将译码器的输入端连接到单片机的P2口。
(3)将驱动器的输入端连接到译码器的输出端。
(4)将驱动器的输出端连接到数码管的位选端。
2. 软件编写(1)定义数码管的字形码数组,存储0~9数字的字形码。
(2)编写主函数,通过循环遍历字形码数组,控制数码管显示相应的数字。
(3)编写延时函数,实现数字显示的间隔。
3. 仿真测试(1)使用Proteus软件搭建仿真电路。
(2)编写Keil软件中的程序,并编译生成HEX文件。
(3)将HEX文件下载到51单片机中。
(4)运行仿真程序,观察数码管显示的数字是否正确。
五、实训结果经过实训,我们成功实现了数码管静态显示功能。
数码管能够按照程序设置的方式,依次循环显示0~9十个数字。
六、实训心得1. 通过本次实训,我们了解了数码管静态显示的原理和实现方法,掌握了51单片机的编程技巧。
2. 在实训过程中,我们学会了如何使用译码器和驱动器扩展单片机的I/O口功能。
33第2卷 第22期产业科技创新 2020,2(22):33~34Industrial Technology Innovation 基于51单片机实现LED数码管静态与动态显示的设计浅析龙 志(广州大学松田学院,广州 增城 511370)摘要:随着社会的发展,在我们日常的生活中,数码管的应用随处可见,尤其是在电子应用设计显示等方面常常发挥着非常重要的作用,因此研究数码管的显示有非常重要的现实意义。
数码管我们可以分为静态显示和动态显示,这两种显示有着本质的区别,静态显示的特点是占用CPU 时间少,显示便于监测和控制,显示字形稳定,而动态数码管的显示,效果相对静态显示亮度差少许,但成本较低。
本设计主要是基于51单片机,先通过结合集成芯片74HC573对LED 数码管静态显示的硬件电路设计与分析,进一步拓展到采用芯片74HC138与LED 数码管动态显示的硬件电路设计与分析,最终实现两种不同的电路设计显示的方法。
关键词:LED 数码管;静态显示;动态显示;51单片机中图分类号:TP368.12 文献标识码:A 文章编号:2096-6164(2020)22-0033-02随着电子应用技术的不断发展,显示电路在电子设计应用方面更加广泛,尤其是LED 数码管显示在各行各业中的应用更加重要,如红绿交通灯显示,电子时钟显示,家电产品功能显示等方面都需要用到LED 数码管作为显示。
因此,对LED 数码管的显示控制有着非常重要的现实意义。
因此我们要实现LED 数码管的熟练显示控制,我们必须要根据数码管的特点来进行分析和设计,数码管有静态显示和动态显示的两种方法,接下对这两种电路作详细的分析与设计,最终实现对LED 数码管静态与动态的两种不同显示设计方法。
1 数码管静态显示电路设计数码管静态显示设计是利用MCS-51单片机结合两片集成芯片74HC573,实现对4个LED 数码管的显示控制。
具体设计如图1所示:图1 数码管静态显示设计电路图本电路设计主要是利用单片机的P0口来实现对数码管的位选控制与段选的控制,P0口之所以能够正确的对数码管进行位选与段选的控制,关键是在于设计中使用了芯片74HC573。
51单片机实验报告一、引言51单片机是一种广泛应用于嵌入式系统开发的微控制器芯片。
本实验旨在通过对51单片机的实验研究,加深对该芯片的理解和应用。
二、实验一:LED灯闪烁控制本实验通过编写程序,控制51单片机上的LED灯以特定的频率闪烁。
为了实现这个目标,我们首先需要了解51单片机的引脚布局,确定LED灯的连接方式。
然后,通过编写相应的汇编程序,控制引脚的电平变化,从而实现LED灯的闪烁。
三、实验二:数码管显示数码管是一种常见的输出设备,通过控制引脚的输出来显示特定的数字。
本实验中,我们通过编写程序,实现通过51单片机控制数码管的显示。
通过对数码管的驱动原理和编程的学习,我们可以灵活地控制数码管的显示内容和频率。
四、实验三:蜂鸣器发声蜂鸣器是一种常见的声音输出设备,通过控制引脚的输出来产生特定的声音。
本实验中,我们通过编写程序,实现通过51单片机控制蜂鸣器的发声。
通过学习蜂鸣器的驱动原理和编程,我们可以根据需要产生不同频率和节奏的声音。
五、实验四:温湿度检测温湿度检测是一种常见的环境监测需求。
本实验中,我们通过引入温湿度传感器,实现通过51单片机获取环境的温度和湿度信息。
通过编写程序和读取传感器的数据,我们可以实时监测环境的温湿度,并进行相应的控制和反馈。
六、实验五:红外遥控红外遥控是一种常见的无线通信方式,通过发送和接收红外信号来实现远程控制。
本实验中,我们通过引入红外发射和接收模块,实现通过51单片机进行红外遥控。
通过编写相应的程序,设置红外遥控的编码和解码方式,我们可以实现对外部设备的遥控操作。
七、实验六:定时器应用定时器是51单片机中的重要模块,它可以实现定时和计数等功能。
本实验中,我们通过学习定时器的工作原理和编程,实现通过51单片机进行定时和计数的应用。
通过编写相应的程序和设置定时器的参数,我们可以实现不同的定时和计数功能,满足各种需要。
八、实验七:串口通信串口通信是一种常见的数据通信方式,通过串口接口发送和接收数据。
MCS-51单片机应用实验教程课程设计1. 简介MCS-51单片机是一种高性能、低功耗单片机,广泛应用于各个领域。
本文主要介绍MCS-51单片机应用实验教程课程设计内容,以帮助初学者了解MCS-51单片机的应用。
2. 实验环境•Keil C51编译器•STC89C52RC单片机•电路板和外围器件•PC3. 实验内容3.1 实验1:LED流水灯LED流水灯是MCS-51单片机入门实验,可以让学生熟悉MCS-51单片机基本指令和寄存器的使用,以及加深对位运算的理解。
实现方法:通过MCS-51单片机的IO口和位运算实现8个LED灯的流水效果。
3.2 实验2:数码管显示数码管是一种常见的数字显示器件,通过数码管的显示,可以实现对数字的显示和闪烁等效果。
该实验可以让学生了解MCS-51单片机的定时器和中断服务程序的使用,以及对数码管的控制。
实现方法:通过MCS-51单片机的定时器,按照一定的时间间隔对数码管进行显示和闪烁。
3.3 实验3:按键控制LED灯按键开关是电子产品常用的一种输入方式,通过按键的不同状态可以控制LED等输出设备的开关。
该实验可以让学生了解MCS-51单片机的IO口的输入状态读取和控制。
实现方法:通过MCS-51单片机的IO口读取按键输入状态,通过位运算控制LED灯的开关。
3.4 实验4:外部中断实现按钮控制LED灯外部中断是MCS-51单片机的一种重要功能,通过外部中断可以实现对按钮的响应,进而实现对LED等设备的控制。
该实验可以让学生进一步了解MCS-51单片机的外部中断服务程序的使用和IO口管理。
实现方法:通过MCS-51单片机的外部中断输入,响应按键状态,并通过位运算控制LED灯的开关。
3.5 实验5:定时器PWM控制LED灯亮度通过调节LED灯的亮度,可以达到调节电子产品亮度的效果。
该实验可以让学生了解MCS-51单片机的定时器的PWM输出功能,以及通过PWM实现对LED等设备的亮度调节。
单片机指示灯和数码管的中断控制实验报告.doc本次实验是对单片机指示灯和数码管的中断控制的探索与实验。
本次实验采用的控制芯片是C8051F020,并使用了Keil uVision 5软件进行编程,通过搭建的硬件电路实现指示灯和数码管的控制。
一、实验目的1.了解中断的基本概念和中断的处理过程;2.学习如何设置中断优先级和使用中断嵌套;4.进一步巩固单片机的编程基础。
二、实验内容1.实现定时器中断控制指示灯,每隔一定时间改变指示灯的亮灭状态2.实现外部中断控制数码管,当外部引脚有电平变化时,更新数码管的显示内容三、实验原理中断是单片机系统中常用的一种处理机制。
引发中断的事件可以是定时器计数器溢出,外部I/O口电平跳变、串口数据到达等多种情况。
在中断响应后,单片机会暂停当前的程序执行,先转到相应的中断服务程序中执行,待中断处理完成后再从原来暂停的位置继续执行。
本次实验中,通过使用单片机的定时器和外部中断控制指示灯和数码管。
定时器中断每隔一定时间改变指示灯的状态,外部中断控制数码管显示内容的改变。
在编程时,需要设置中断的优先级和中断嵌套的情况。
四、实验步骤1.硬件连接将指示灯连接到P0.0引脚,将数码管连接到P2口对应的引脚,在数码管的位选接口处接入一个按键(用于模拟外部中断)。
2.编写定时器中断代码在Keil uVision中打开一个新的工程,编写定时器中断的代码,具体代码如下://包含头文件和全局变量定义#include<reg51.h>unsigned char ledStatus = 0;//定时器中断服务程序void tmr0_isr(void) interrupt 1{TMOD &= 0xf0;TH0 = (65536-50000)/256;}//定时器初始化ET0 = 1;unsigned char code num_c[] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};//LED灯控制函数control_led();//外部中断初始化//数码管更新函数P0 = num_c[num];P2 = ~(0x01<<num);4.实验结果将编写好的程序下载到单片机控制芯片上,按下数码管的位选按键,就可以看到数码管上的数字不断改变,同时指示灯每隔一定时间改变一次状态。