草庐IT

51单片机8位抢答器程序设计与原理图搭建

原理图整体本设计利用51单片机中断函数来查询抢答位置,除了一般抢答器用到的基本元件外,还用到了74LS30(八路与非门)与74LS04(非门)。下面对原理图进行分块介绍抢答按钮部分(注意非门接到AT89C52的P3.3 INT1触发)led灯连接部分 (采用灌电流的形式,注意P0口上拉电阻与led线路上的保护电阻)实际电路中,通常外界供电5V,led灯的压降为2V,工作电流为1-5mA,安全电阻通常在1-3KΩ数码管连接部分采用74HC573连接数码管,增加端口的驱动能力,也节约了端口P3端口与蜂鸣器蜂鸣器要保证供电,采用三极管增加驱动能力程序流程图C程序#include//添加两类头文件#i

51单片机矩阵键盘的控制原理-扫描及使用方式

矩阵键盘矩阵键盘一般和之前学的LCD1602液晶屏一起控制,建议先看一下之前的博客学习一下液晶屏的使用。当然矩阵键盘也可以和数码管和LED等一起操作,但是数码管需要扫描,很费CPU,LED又不能直观的看到键盘的操作。用LCD1602来学习矩阵键盘比较合适。简介在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排成矩阵形。采用逐行或逐列扫描,就可以读出任意位置按键的状态。解释一下从原理图中我们可以看到,独立按键每个按键要使用一个I/O口,而矩阵键盘只用了8个I/O口。假如矩阵键盘用独立按键的控制方式,四行四列需要16个I/O口。但是采用了扫描的控制方式后,我们只用了4+4=8个I/O口。

51单片机笔记:定时器/计数器

单片机笔记定时器/计数器定时器/计数器的结构AT89S51内部两个16位定时器/计数器:T0(P3.4),T1(P3.5),定时器/计数器T0由特殊寄存器TH0,TL0构成,T1由特殊功能寄存器TH1,TL1构成T0,T1都有定时器和计数器两种工作模式,两种模式实质都是对脉冲信号进行计数,只不过技术信号来源不同。计数器模式是对T0(P3.4)和T1(P3.5)两个引脚上的外部脉冲进行计数定时器模式是对系统时钟信号(fosc)经12分频后的内部脉冲信号(机器周期Tcy)计数.由于系统时钟频率fosc是定值,可根据数值计算出定时时间T(定时时间T=n*Tcy).振荡周期Tosc=1/fosc,机器

51单片机(80951系列)引脚功能说明

一AT89C51引脚图1.0中断1.0.1中断源AT89C51一共有5个中断源(1):外部中断0,外部中断请求信号由引脚输入,低电平或下降沿有效,中断请求标志位IE0。(2):外部中断1,外部中断请求信号由引脚输入,低电平或下降沿有效,中断请求标志位IE1。(3)T0:定时/计数溢出时发出中断请求信号,中断请求标志位TF0(也就是之前说的溢出标志位)。(4)T1:定时/计数溢出时发出中断请求信号,中断请求标志位TF1(也就是之前说的溢出标志位)。(5)串行口中断:发出或接收1字节数据以后发出中断请求信号,中断请求标志位发送时为TI,接收时为RI。1.0.2控制中断特殊寄存器控制中断的特殊功能寄

C51单片机的电子时钟(数码管显示+独立按键模块修改及暂停时间)

C51单片机的电子时钟(数码管显示+按键修改时间)效果预览相关的开发板原理图解析正式代码main.c代码部分key.h部分key.c部分效果预览IMG_1120相关的开发板原理图解析通过查看这三个原理图我们可以得知控制K1、K2、K3及K4是通过P31、P30、P32及P33来实现的,控制8个数码管是P22、P23及P24来实现,控制发光二极管则由P00-P07来实现。正式代码代码分为三部分分别为main.c、key.h、key.cmain.c代码部分#include#include"key.h"//这里定义了一个10个元素的只读数组zxCode,用于存放0~9的数码管显示码。codeunsi

51单片机io口的应用,注意事项及实例代码并标注

 51单片机是一种广泛使用的8位微控制器,它具有多个I/O(输入/输出)端口。根据不同的厂商,51单片机可能有不同数量的I/O端口。在此,我们以常见的AT89C51单片机为例,讨论其各I/O端口的区别及应用实例。1.P0端口:P0端口为地址/数据复用端口,其控制信号线共用。在实际应用中,需要使用上拉电阻将端口设置为高电平,以便输出数据。由于地址/数据复用,P0端口可以用作数据总线或者地址总线。应用实例:数码管显示、DS1302实时时钟等。2.P1端口:P1端口为专用的数据端口,具有较高的驱动能力。在应用中,可以直接驱动LED、按键等设备。应用实例:数字电压表、按键输入等。3.P2端口:P2端口

51单片机——中断系统之外部中断实验,小白讲解,相互学习

 中断介绍        中断是为使单片机具有对外部或内部随机发生的事件实时处理而设置的,中断功能的存在,很大程度上提高了单片机处理外部或内部事件的能力。它也是单片机最重要的功能之一,是我们学些单片机必须要掌握的。        为了更容易的理解中断概念,我们先来举一个生活中的例子:你打开火烧上一壶水,然后去洗衣服,在洗衣服的过程中,突然听到水壶发水开的报警声,这时,你停止洗衣服动作,立即去关掉火,然后将开水灌入暖水瓶中,灌完开水后,你又回去继续洗衣服。这个过程实际就发生了一次中断。如下图:                              对于单片机来讲,中断是指CPU在处理某一事件

【C51】基于51单片机的多路抢答器的设计与制作

摘  要    随着社会的进步和科技的发展,当今社会活动对电子设备的使用也越发依赖,此时抢答器也作为一种答题方式所需要的设备应运而生。抢答器的适用方面广泛,可用在当下各种答题节目,知识竞赛等活动之中。但随之而来的也有很多问题,当今市面上有的抢答器使用线路复杂,导线散乱,实用性差,有的抢答器采用专用集成芯片,制作成本高,购买难度大。为面对这些问题,本次毕业设计将决定利用C52单片机设计出一种结构简单,元器件易购,实用性强,功能完善的多路抢答器。    本次多路抢答器的设计采用八路抢答的形式,系统以STC89C52单片机为核心作为控制芯片,采用四位数码管显示,实现八位选手抢答功能。在主持人按下开始

51单片机实现倒计时,按键控制倒计时

基于AT89C52的答辩倒计时。四个按键分别控制倒计时开始,暂停,时间加和减。剩下30S时蜂鸣器响,倒计时结束蜂鸣器响。 #includeunsignedcharmin=1;unsignedcharsec=00;sbitKEY1=P3^1;sbitKEY2=P3^0;sbitKEY3=P3^2;sbitKEY4=P3^3;sbitLSA=P2^2;sbitLSB=P2^3;sbitLSC=P2^4;sbitbee=P2^5;sbitled=P2^6;unsignedchartable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x

【51单片机】键控流水灯

设置k3作为启动键,只有先按下k3才能开始控制流水灯,按下k3后LED闪烁提示开始成功。在按下k3后,其余键即可控制流水灯。其中k1执行从右到左,k2执行从左到右。按下k4,执行外部中断,立马中止流水灯运行,需重新按下启动键重启。#include#include//因为要用到左右移函数,所以加入这个头文件#include#defineledP2sbitk3=P3^2; //启动键sbitk4=P3^3; //暂停键sbitk1=P3^1; sbitk2=P3^0; intflag=0;voidInt1Init(){ IT1=1; EX1=1; EA=1;}voidkeypros()//在按