51单片机的SCON寄存器与C程序解析

51单片机的SCON寄存器与C程序解析

51 单片机的SCON 寄存器与C 程序解析

用计算机来控制单片机,进而控制继电器等其他外设,感觉不错啊,怎幺实现呢?一步步来吧。

单片机串行口通信,也就是单片机与计算机之间的通信,要实现,要明白一些基本的概念。

(1)实现之前,请确定串口正常,我之前做过串口操作,烧了不能控制,后来才发现,设备管理器里串口有叹号,驱动有问题,可能是开发实验板没有插好或是换了个USB 口造成的(我用的是串口转USB 的,笔记本用)

(2)串口初始化,这方面,最好有相关的书来的,明白消化定时器与中断,这样操作起来就容易了。

一。设定串口的工作方式:设定SCON 寄存器。

什幺是SCON 呢?

51系列单片机寄存器详解

AUXR:辅助寄存器 字节地址=8EH,不可位寻址 - - - WDIDLE DISRTO - - DISALE WDIDLE:WTD在空闲模式下的禁止/允许位 当WDIDLE=0时,WDT在空闲模式下继续计数 当WDIDLE=1时,WDT在空闲模式下暂停计数 DISRTO:禁止/允许WDT溢出时的复位输出 当DISRTO=0时,WDT定时器溢出时,在RST引脚输出一个高电平脉冲 当DISRT0=1时,RST引脚为输入脚 DISALE :ALE禁止/允许位 当DISALE=0时,ALE有效,发出恒定频率脉冲 当DISALE=1时,ALE仅在CPU执行MOVC和MOVX类指令时有效,不访问外寄存器时,ALE不输出脉冲信号 AUXR1:辅助寄存器1字节地址A2,不可位寻 - - - -- - - DPS DPS:数据指针寄存器选择位 当DPS=0时,选择数据指针寄存器DPRT0 DPRT1时,选择数据指针寄存器DPS 当= PSW:程序状态字 CY——进位标记 AC——半进位标记 F0——用户设定标记 RS1、RS0——4个工作寄存器区的选择位。 VO——溢出标记 P——奇偶校验标记 PCON:电源控制器及波特率选择寄存器 字节地址=87H,不可位寻址 SMOD - - POF GF1 GF0 PD IDL SMOD——波特率倍增位 GF1、GF0——用户通用标记 PD——掉电方式控制位,PD=1时进入掉电模式 IDL——空闲方式控制位,IDL=1时进入空闲方式 在AT89S51中PCON.4是电源断电标记位POF,上电是为1 IE:中断允许控制寄存器

EA:中断允许总控制位 当EA=0时,中断总禁止。 当EA=1时,中断总允许后中断的禁止与允许由各中断源的中断允许控制位进行设置。 EX0( EX1):外部中断允许控制位 当EX0( EX1)=0 禁止外中断 当EX0( EX1)=1 允许外中断 ET0(EX1):定时/计数中断允许控制位 当ET0(ET1)=0 禁止定时(或计数)中断 当ET0(ET1)=1 允许定时(或计数)中断 ET2:定时器2中断允许控制位,在AT89S52、AT89C52中 ES:串行中断允许控制位 当ES=0 禁止串行中断 当ES=1 允许串行中断 IP:中断优先级控制寄存器 PX0——外部中断0优先级设定位 PT0——定时中断0优先级设定位 PX1——外部中断1优先级设定位 PT1——定时中断1优先级设定位 PS——串口中断优先级设定位 优先级设定位2PT2——定时器SCON:串行口控制寄存器 SM0、SM1:串行口工作方式选择位 SM2:多机通信控制位 REN:允许/禁止串行口接收的控制位 TB8:在方式2和方式3中,是被发送的第9位数据,可根据需要由软件置1或清零,也可以作为奇偶校验位,在方式1中是停止位。

根据单片机的三路抢答器的设计王辉

基于单片机的三路抢答器的设计 1课程设计的任务与要求 1.1 课程设计的任务 (1)设计一个可供3人进行的抢答器。 (2)系统设置复位按钮,按动后,重新开始抢答。 (3)抢答器开始时数码管显示序号00,选手抢答实行优先显示,优先抢答选手的编号一直保持到主持人将系统清除为止。抢答后显示优先抢答者序号,同时发出音响,并且不出现其他抢答者的序号。 (4)抢答器具有定时抢答功能,且一次抢答的时间有主持人设定,本抢答器的时间设定为30秒,当主持人启动“开始”开关后,定时器开始减计时。 (5)设定的抢答时间内,选手可以抢答,这时定时器停止工作,显示器上显示选手的号码和抢答时间。并保持到主持人按复位键。 1.2 课程设计的要求 (1)基于单片机的三路抢答器的设计,并用Proteus设计与仿真出来。 (2)程序用Keil编程出来,并且生成Hex文件。 (3)设计的方案要能够长期,有效,稳定的运行。 (4)力求简单实用。 1.3 课程设计的研究基础 本设计是以三路抢答为基本理念。考虑到依需设定限时回答的功能,利用AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答时间和回答问题时间倒记时显示,满时后系统计时手动复位。 2 基于单片机三路抢答器系统方案制定 2.1 方案提出 方案一:

图1 方案一设计方案 方案二: 图2 方案二设计方案 2.2 方案比较 第一个方案比第二个方案多了一个驱动电路,所以第一个方案的电路会比较复杂。 2.3 方案论证 该系统采用51系列单片机AT89C52作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。 2.4 方案选择 通过以上两个方案的比较,选择第二个方案。 3 基于单片机三路抢答器系统方案设计 3.1各单元模块功能介绍及电路设计

51单片机特殊功能寄存器功能一览表

51单片机特殊功能寄存器功能一览表 21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。 在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):

分别说明如下: 1、ACC---是累加器,通常用A表示 这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。该标志常用作程序分枝转移的判断条件。 2、B--一个寄存器 在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。 3、PSW-----程序状态字。 这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。它的各位功能请看下表: 下面我们逐一介绍各位的用途 CY:进位标志。 8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0-255,如果做加法的话,两数相加可能会超过255,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。这样就没事了。有进、借位,CY=1;无进、借位,CY =0 例:78H+97H(01111000+10010111) AC:辅助进、借位(高半字节与低半字节间的进、借位)。

51单片机特殊功能寄存器详细说明

/*-------------------------------------------------------------------------- REG51.H Header file for generic 80C51 and 80C31 microcontroller. Copyright (c 1988-2001 Keil Elektronik GmbH and Keil Software, Inc. All rights reserved. --------------------------------------------------------------------------*/ /* BYTE Register */ sfr P0 = 0x80; sfr P1 = 0x90; sfr P2 = 0xA0; sfr P3 = 0xB0; sfr PSW = 0xD0; 程序状态字 sfr ACC = 0xE0; 累加器 sfr B = 0xF0; B寄存器 sfr SP = 0x81; 堆栈指针 sfr DPL = 0x82; 数据指针低八位 sfr DPH = 0x83; 数据指针高八位 sfr PCON = 0x87; 波特率选择寄存器 sfr TCON = 0x88; 定时器/计数器控制寄存器

sfr TMOD = 0x89; 定时器方式选择寄存器 sfr TL0 = 0x8A; 定时器0低八位 sfr TL1 = 0x8B; 定时器1低八位 sfr TH0 = 0x8C; 定时器0高八位 sfr TH1 = 0x8D; 定时器1高八位 sfr IE = 0xA8; 中断允许寄存器 sfr IP = 0xB8; 中断优先级寄存器 sfr SCON = 0x98; 串行控制寄存器 sfr SBUF = 0x99; 串行数据缓冲器 /* BIT Register */ /* PSW */ 程序状态字 sbit CY = 0xD7; 有无进位或者借位 sbit AC = 0xD6; Auxiliary Carry有无低四位向高四位的进位或借位 sbit F0 = 0xD5; 用户管理的标志位,可根据自己的需求设定 sbit RS1 = 0xD4; 这两位用于选择当前工作寄存器区。8051有8个8位寄存器R0~R7,它 们在RAM中的地址可以根据用户需要来确定。 sbit RS0 = 0xD3; RS1 RS0:R0~R7的地址0 0:00H~07H 0 1:08H~0FH 1 0:10H~17H 1 1:18H~1FH

基于51单片机的6路抢答器

摘要 此次设计选择使用AT89C51单片机为核心的控制元件,设计制作一个简易的抢答器。本设计是以AT89C51单片机作为控制的主要核心,LED显示器,蜂鸣器等六路抢答器的程序,并且利用了单片机的延迟时电路,时钟电路,键复位电路以及定时器/中断等其他电路。六路抢答器的设计特点是让选手应答时间与选手号码实时显示出来,利用复位电路开始新一轮的比赛或者游戏,我们使用的也是我们所掌握的C 语言来进行编程,实现了一些基本功能。 该系统的设计是可行的,以确定准确,简便,强烈的扩展能力。它的体现的功能主要是比赛开始时,主持人读完题目后按下抢答键,语音提示答题开始,提示音结束后开始倒计时,这时数码管开始进行10s 的倒计时,当有选手进行抢答时,选手按下抢答键,这时候数码管显示屏上就会显示出对应答题者的编号以及抢答所剩余的时间。如果10秒计时时间到了还没有人做出抢答,蜂鸣器就会发出声音并且语音提示抢答结束,这一题就作废即所有人均不得分,然后开始新一轮的抢答。在下一轮抢答开始之前按下复位键将时间归零,再按下开始键进行新的一轮。抢答者回答正确后,评审员按下加分键,该选手编号所对应的数码管显示的数字就增加(按一次加一分,最高显示9分)。相反,如果抢答者回答错误,在抢答者分数不为0的情况下,评审员按下减分键,该选手编号所对应的数码管显示数字就减少(按一次减一分,最低显示0分)。 关键词:单片机、AT89C51、抢答器 Abstract:The design options using AT89C51 microcontroller as the core control elements, design a simple Responder. The design is based on the six-way Responder AT89C51 microcontroller as the main core control, LED display, beeper and other procedures, and use of the single-chip delay circuit, clock circuit, key reset circuit and a timer / interrupt other circuits. Six-way Responder design feature is to allow players the response time and the player numbers displayed in real time, using the reset circuit to start a new round of the competition or game, we used our disposal C language programming, to achieve some basic functions. The design of the system is feasible to determine the accurate, simple, strong expansion capability. Its main function is to reflect the start of the game, the host title after reading press answer key, voice

51单片机

51单片机入门学习笔记 有一段时间不碰单片机了,现在重新整理。一是回忆知识,重新拾起来。二是给想入门单片机的朋友一点参考。一部分资料源于网络。 一、51单片机简介 目前学习板上常用的是STC89C52单片机。封装是DIP40。

主要参数 1. 增强型8051单片机,6 时钟/机器周期和12 时钟/机器周期可以任意选择,指令代码完全兼容传统8051。 2. 工作电压:5.5V~ 3.3V(5V单片机)/3.8V~2.0V(3V 单片机) 3.工作频率范围:0~40MHz,相当于普通8051 的0~80MHz,实际工作频率可达48MHz 4. 用户应用程序空间为8K字节 5. 片上集成512 字节RAM 6. 通用I/O 口(32 个),复位后为:P0/P1/P2/P3 是准双向口/弱上拉,P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O 口用时,需加上拉电阻。 7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片 8. 具有EEPROM 功能 9. 共3 个16 位定时器/计数器。即定时器T0、T1、T2 10.外部中断4 路,下降沿中断或低电平触发电路,Power Down 模式可由外部中断低电平触发中断方式唤醒 11. 通用异步串行口(UART),还可用定时器软件实现多个UART 12. 工作温度范围:-40~+85℃(工业级)/0~75℃(商业级) 二、I/O介绍 P0内部不带上拉电阻,其余三组带内部上拉电阻。P0是双向8位三态I/O口。由于内部没有上拉电阻。所以默认是高阻态(指的是电路的一种输出状态,既不是高电平也不是低电平,如果高阻态再输入下一级电路的话,对下级电路无任何影响,和没接一样,如果用万用表测的话有可能是高电平也有可能是低电平,随它后面接的东西定。电路分析时高阻态可做开路理解),所以使用时外部必须接上拉电阻。 三、寄存器 存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器): MCS-51单片机的特殊功能寄存器 符号地址功能介绍

基于80C51单片机的八路抢答器设计分析

专业论文 题目:基于80C51单片机的八路抢答器设 计

摘要:八路智力抢答器是一个可供八个参赛组进行智力竞赛的电路装置,该装置主要是由单片机最小系统、控制电路(八个选手抢答按钮;三个主持人控制按钮;四个修改按钮)、数码显示电路与蜂鸣器电路组成的。单片机(MCU)是目前在电气控制技术中广泛应用的重要元件。它具有体积小,稳定性高,应用范围广,控制能力强,升级改造容易等诸多优点。本论文介绍采用ATMEL公司AT89S52单片机设计八路智能抢答器。软件采用汇编语言编程,汇编语言属于计算机领域的低级语言,具有简明易懂,执行效率高等的优点。智能八路抢答器具有抢答时间与答题时间调整,抢答错误报警提示等功能,可以广泛应用于各类知识竞赛。 关键词:抢答器;单片机;硬件系统;软件编程

基于80C51单片机的八路抢答器设计 一、系统概述与原理方框图 在文中,我对八路抢答器的总体设计及其主要的功能特点进行简单的分析,并给出它的特点,实现的功能以及系统的简单操作,以对单片机及其控制系统的了解。 (一)单片机技术发展的概述与系统问题的提出 目前,单片机正朝着高性能和多品种方向发展,单片机的发展正朝着 CMOS化,低功耗,小体积,大容量,高性能,低价格和外围电路的内装化等 几个方面 发展。近几年,由于某种原因CHMOS技术的进步,大大地促进了单片机的CMOS 化,此种芯片除了低功耗外,还具有功耗的可控性,使单片机可以工作在功 耗精细管理状态,特别是IIC,API等串行总线的引入,可以使单片机的引脚 设计得更少,单片机系统结构更加简化及规范化。 我们设计出的8路抢答器是一种基于MCS-51单片机的硬件和软件设计及 实现方法,这种电路设计具有按键有效提示,输入错误提示,控制报警电路, 在线修改功能等多种功能,保密性强,灵活性高,特别适用于家庭!办公室!学 生宿舍及宾馆等场所。它具有全集成化,智能化,高精度,高性能,高可靠 性和低价格等优点,是一个值得推广的一种方法。接下来我们就对方案与设 计原理方框图进行比较分析。 (二)设计思路与系统组成及主要特点 为了使设计更具有针对性,使用性更强,我对其进行精心的设计,在设 计过程中,我们想到了很多的设计方案。 1.设计思路 设计一个八路抢答器,可同时供8名选手或者8个代表队参加比赛,他 们的编号分别为1——8,各用一个抢答器按钮,按钮的编号与选手的编号相 对应,分别设为S1…S8。节目主持人设置一组控制开关,用来控制系统的清 零和抢答器的开始,修改抢答时间与答题时间,如果想调节抢答时间或答题 时间,按"抢答时间调节"键或"答题时间调节"键进入调节状态。并且抢答器具 有数据锁存和显示的功能,抢答开始,若有选手按动抢答按钮,编号立即锁

51单片机寄存器汇总表

51单片机寄存器功能一览表 21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。 在51单片机部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O 口,中断系统,以及一个部的时钟电路。在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):

分别说明如下: 1、ACC---是累加器,通常用A表示 这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。该标志常用作程序分枝转移的判断条件。 2、B--一个寄存器 在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。 3、PSW-----程序状态字。 这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU 的当前状态,并作出相应的处理。它的各位功能请看下表: 下面我们逐一介绍各位的用途 CY:进位标志。

51单片机寄存器地址查询

适合初学好东西一起分享 中断使能寄存器IE 中断总开关EA=1;启动有中断EA=0;关闭所有中断 保留 TF2中断开关ET2=1;启动ET2=0;关 闭(8052) 串行口中断开关ES=1启动串口ES=0 关闭串口 TF1中断开关ET1=1;启动ET1=0;关闭 INT1中断开关EX1=1; 启动EX1=0;关闭 TF0中断开关ET0=1;启动ET0=0;关闭 INT0中断开关EX0=1; 启动EX0=0;关闭 中断优先级寄存器IP EA — ET2 ES ET1 EX1 ET0 EX0 IE 寄存器 IP.7 IP .6 IP .5 IP .4 IP .3 IP .2 IP .1 IP .0 IP 寄存器 — — PT2 PS PT1 PX1 PT0 PX0 保留 保留 TF2中断先级 PT2=1;TF2为高优先级(8052) 串行口中断优先级PS1=1;为高优先级 TF1中断先级PT1=1;TF1为高优先级 INT1中断优先级PX1=1;为最高优先 级 TF0中断先级PT0=1;TF1为高优先级 INT0中断优先级PX0=1;为最高优先 级 定时器/计数器控制寄存器TCON Timer1中断标志CPU 设置 Timer1启 动开关TR1=1;启动Timer1 TR1=0;关闭Timer1 Timer0中断标志CPU 设置 Timer0启动开关TR0=1;启动Timer1 TR0=0;关闭Timer0 INT1中断标志CPU 设置 INT1信号种类IT1=1;负边沿触发IT1=0;低电平触发 INT0中断标志CPU 设置 INT0信号种类IT0=1;负边沿触发IT0=0;低电平触发 定时器/计数器功能 外部中断功能 定时器/计数器方式寄存器TMOD

基于51单片机8路抢答器设计

创新实践课 课程名称:创新实践课 实践题目:基于51单片机8路抢答器设计学院:信息工程与自动化学院 专业:生物医学工程 年级:2014级 学生:4 丽莎2海星 指导教师:嘉林 日期:2016-12-30 教务处制

目录 一、前言 (3) 二、电路原理图设计 (3) 三、印制版图设计 (7) 四、软件设计 (9) 五、测试数据及分析 (16) 六、总结 (18)

一、前言 目前,抢答器已经作为一种必不可少的工具广泛应用于各种智力和知识竞赛场合,但一般的抢答器可靠性低,使用寿命短,介于这些不方便因素,此次设计提出了用51单片机为核心控制元件,设计一个简易的八路抢答器。本方案以51单片机作为主控核心,与晶振、数码管、蜂鸣器等通过外围接口实现的八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时器/计数器等,设计的八路抢答器不仅具有实时显示抢答选手的和抢答时间的功能,同时还利用汇编语言编程,使其实现复位、定时和报警的功能。本次设计的系统实用性强、判断精确、操作简单、扩展功能强。 功能:以STC89C52RC单片机作为主控核心,与晶振、数码管、蜂鸣器等通过外围接口实现的八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路等,设计的八路抢答器不仅具有实时显示抢答选手的和抢答时间的功能,同时还利用汇编语言编程,使其实现复位和报警的功能。 此系统是基于51单片机,led发光二极管,一位共阳数码管,蜂鸣器,按键,等分立元件设计而成。 元件设计的意义:关于按键:共设计了10个独立按键,其中8个分别为八位选手抢答输入用,另外两个分别为开始和停止按键!只有裁判按下了开始键才进入正常抢答,否则属于犯规抢答,抢答完毕,裁判按下停止,数码管显示0。关于led发光二极管:共设计了9个发光二极管,其中一个为电源指示,其他8个为选手抢答状态指示,正确抢答时led发光二极管缓慢闪烁,犯规抢答时,快速闪烁。关于数码管:选手按下自己的按键时显示相应的选手编号!裁判按下开始键时数码管显示倒计时,

51单片机的特殊功能寄存器

51单片机的特殊功能寄存器 通过前面课程的学习,我们已知道了单片机的内部有ROM、有RAM、有并行I/O 口,那么,除了这些东西之外,单片机内部究竟还有些什么?这些个零碎的东西怎么连在一起的? 下面就让我们来对单片机内部作一个完整的分析吧! 从图中我们可以看出,在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、 P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。在一个51单片机 的内部包含了这么多的东西。 对图进行进一步的分析,我们已知,对并行I/O口的读写只要将数据送入到相应I/O口的锁存器就可以了,那么对于定时 /计数器,串行I/O口等怎么用呢?在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。事实上,我们已接触过P1 这个特殊功能寄存器了,还有哪些呢?看下表 符号地址功能介绍 B F0H B寄存器 ACC E0H 累加器 PSW D0H 程序状态字 IP B8H 中断优先级控制寄存器 P3 B0H P3口锁存器 IE A8H 中断允许控制寄存器

P2 A0H P2口锁存器 SBUF 99H串行口锁存器 SCON 98H串行口控制寄存器 P1 90H P1口锁存器 TH1 8DH定时器/计数器1(高8位) TH0 8CH 定时器/计数器1(低8位) TL1 8BH 定时器/计数器0(高8位) TL0 8AH 定时器/计数器0(低8位) TMOD 89H定时器/计数器方式控制寄存器 TCON 88H 定时器/计数器控制寄存器 DPH 83H 数据地址指针(高8位) DPL 82H 数据地址指针(低8位) SP 81H 堆栈指针 P0 80H P0口锁存器 PCON 87H电源控制寄存器 下面,我们介绍一下几个常用的SFR。 1、ACC---是累加器,通常用A表示。 这 是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在 ACC中的缘故吧。它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。自身带有全零标志Z,若A=0则 Z=1;若A≠0则z=0。该标志常用作程序分枝转移的判断条件。 2、B--一个寄存器。 在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。 3、PSW-----程序状态字。这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。它的各位功能请看下表: 下面我们逐一介绍各位的用途 CY:进位标志。8051中的运算器是一种8位的运算器,我们知道,8位运算器只

基于51单片机八路抢答器的设计大学论文

毕业设计(论文) 题 目: 基于51单片机的抢答器系统设计 函授站点: 中国矿业大学继续教育学院 学习层次: 专科 班级名称: 徐工技师学院 函机电2015班 姓名: 学号: 中国矿业大学继续教育学院 20 年 月 日

摘要 随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也就显而易见。目前很多抢答器基本上采用小规模数字集成电路设计,使用起来不够理想。因此设计一更易于使用和区分度高的抢答器成了非常迫切的任务。现在单片机已进入各个领域,以其功耗小、智能化而著称,所以若利用单片机来设计抢答器,便使以上问题得以解决.针对以上情况,本文设计出以STC89C52RC单片机为核心的八路抢答器。我们采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,它能根据不同的抢答输入信号,经过单片机的控制处理并产生不同的与输入信号相对应的输出信号,最后通过LED数码管显示相应的路数,即使两组的抢答时间相差几微秒,也可分辨出是哪组优先按下的按键,它充分利用了单片机系统的优点,具有结构简单、功能强大、可靠性好、实用性强的特点。 本设计是以八路抢答为基本理念。考虑到依需设定限时回答的功能,利用51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为犯规;满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。 关键词:STC89C52RC;共阴数码管;按键;蜂鸣器

51单片机IO口应用详解

51单片机IO口应用详解 MCS-51是标准的40引脚双列直插式集成电路芯片,引脚分布请参照单片机引脚图: 这4个I/O口具有不完全相同的功能,大家可得学好了,其它书本里虽然有,但写的太深,对于初学者来说很难理解的,我这里都是按我自已的表达方式来写的,相信你也能够理解的。 P0口有三个功能: 1、外部扩展存储器时,当做数据总线(如图1中的D0~D7为数据总线接口) 2、外部扩展存储器时,当作地址总线(如图1中的A0~A7为地址总线接口) 3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。 P1口只做I/O口使用:其内部有上拉电阻。 P2口有两个功能: 1、扩展外部存储器时,当作地址总线使用 2、做一般I/O口使用,其内部有上拉电阻; P3口有两个功能: 除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能请参考我们后面的引脚说明。 有内部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的, 即:编程脉冲:30脚(ALE/PROG) 编程电压(25V):31脚(EA/Vpp) 在介绍这四个I/O口时提到了一个“上拉电阻”那么上拉电阻又是一个什么东东呢?他起什么作用呢?都说了是电阻那当然就是一个电阻啦,当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;所以如果P0口如果作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。 ALE 地址锁存控制信号:在系统扩展时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起

基于51单片机的抢答器

/**********************51单片机实验开发板例程************************ * 名称:本例程为一抢答器;其中主持人操控S7与S8两个按键。选手共六位,分别操控S1--S6中的一个按键。 当主持人按下抢答开始按键S7后,倒计时开始,计时5s。此后最先按下按键的选手号码将显示与数码管上。 后来按下的将无显示。 若五秒计时结束后,再按下按键也不会显示。 若主持人没有按开始键,就有选手抢答,则视为犯规。此时犯规的选手号码将被显示于数码管上(最多显示五位犯规选手) 同时,蜂鸣器发出长笛声报警,数码管全亮。 而当主持人按下清零键S8后,一切状态均恢复,可以开始新一轮的抢答。 按键功能简介 S8抢答开始S7 清零 S1--S6 分别为1到6号选手按键 ******************************************************************/ #include #define uchar unsigned char sbit dula=P2^6; sbit wela=P2^7; sbit beep=P2^3; uchar key,j,k,temp,daojishi=5,wei; bit begin,end,clear,fangui; uchar a0,b0=16;c0=16;d0=16;e0=16;f0=5; unsigned int pp; unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}; void delay(unsigned char i) { for(j=i;j>0;j--) for(k=125;k>0;k--); } void display(uchar a,uchar b,uchar c,uchar d,uchar e,uchar f) { dula=0; P0=table[a]; dula=1; dula=0; wela=0; P0=0xfe; wela=1;

C51单片机21个特殊功能寄存器

21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83 个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。 在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):

分别说明如下: 1、ACC---是累加器,通常用A表示 这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一定是在ACC中的缘故吧。它的名字特殊,身份也特殊,稍后在中篇中我们将学到指令,可以发现,所有的运算类指令都离不开它。自身带有全零标志Z,若A=0则Z=1;若A≠0则z=0。该标志常用作程序分枝转移的判断条件。 2、B--一个寄存器 在做乘、除法时放乘数或除数,不做乘除法时,随你怎么用。 3、PSW-----程序状态字。 这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。它的各位功能请看下表: 下面我们逐一介绍各位的用途CY:进位标志。,如果做加法的话,两数位运算器只能表示到0-255中的运算器是一种8位的运算器,我们知道,88051,这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到这里来。这样就没事了。有相加可能会超过2550 CY==1;无进、借位,进、借位,CY )78H+97H(01111000+10010111例: 。(高半字节与低半字节间的进、借位)AC:辅助进、借位)(01010111+0011101057H+3AH例::用户标志位F0 由用户(编程人员)决定什么时候用,什么时候不用。 :工作寄存器组选择位、RS0RS1现场保两位的状态,就能任选一个工作寄存器区。这个特点提高了MCS-51中的RS1、RS0通过修改PSW不需的工作效率和响应中断的速度是很有利的。若在一个实际的应用系统中,护和现场恢复的速度。对于提高CPU 要四组工作寄存器,那么这个区域中多余单元可以作为一般的数据缓冲器使用。 0V:溢出标志位0。什么是溢出我们后面的章节会讲到。运算结果按补码运算理解。有溢出,OV=1;无溢出,OV= :奇偶校验位P。运算结果有,否则为0P=1ALU它用来表示运算结果中二进制数位“1”的个

80C51寄存器详解

中断使能寄存器 通过设置中断使能寄存器IE 的EA位使能所有中断每个中断源都有单独的使能位可通过软件设置IE 中相应的使能位在任何时候使能或禁能中断中断使能寄存器IE 的各位如下所示 中断使能寄存器IE可位寻址 位地址0AFH0AEH0ADH0ACH0ABH0AAH0A9H0A8H 位符号EA/ET2ES ET1EX1ET0EX0 EA 使能标志位置位则所有中断使能复位则禁止所有中断保留 ET2 定时器2 中断使能 ES 串行通信中断使能 ET1 定时器1 中断使能 EX1 外部中断1 使能 ET0 定时器0 中断使能 EX0 外部中断0使能 8051 支持两个中断优先级有标准的中断机制,低优先级的中断只能被高优先级的中断所中断,而高优先级的中断不能被中断。 中断优先级寄存器 每个中断源都可通过设置中断优先级寄存器IP来单独设置中断优先级如果每个中断源的相应位被置位则该中断源的优先级为高,如果相应的位被复位, 则该中断源的优先级为低, 如果你觉得两个中断源不够用,别急以后我会教你如何增加中断优先级表A-5 示出了IP 寄存器的各位此寄存器可位寻址 IP寄存器可位寻址 位地址0BFH0BEH0BDH0BCH0BBH0BAH0B9H0B8H

位符号//PT2 PS PT1PX1PT0PX0 PT2 定时器2中断优先级 PS 串行通信中断优先级 PT1 定时器1中断优先级 PX1 外部中断1 优先级 PT0 定时器0中断优先级 PX0 外部中断0 优先级 电源控制PCON 8051的CHMOS 版本可通过软件设置两种节电方式空闲模式和低功耗模式设置电源控制寄存器PCON 的相应位来进入节电方式置位IDLE 进入空闲模式空闲模式将停止程序执行RAM 中的数据仍然保持晶振继续工作但与CPU 断开定时器和串行口续工作, 发生中断将退出中断模式执行完中断程序后将从程序停止的地方继续指令的执行通过置位PDWN 位来进入低功耗模式低功耗模式中晶振将停止工作因此定时器和 串行口都将停止工作至少有两伏的电压加在芯片上因此RAM 中的数据仍将保存退 出低功耗模式只有两种方式上电或复位 SMOD 位可控制串行通信的波特率将使由定时器1 的溢出率或晶振频率产生的波特率 翻倍置位SMOD 可使工作于方式1 2 3 定时器产生的波特率翻倍当使用定时器2 产生波特率时SMOD将不影响波特率 电源控制寄存器PCON不可位寻址 编号中断源中断向量 SMOD 串行口通信波特率控制位置位使波特率翻倍

(完整版)基于51单片机的4人抢答器课程设计

基于51单片机的4人抢答器设计 设计要求: 以单片机为核心,设计一个4位竞赛抢答器:同时供4名选手或4个代表队比赛,分别用4个按钮S0~S3表示。 设置一个系统清除和抢答控制开关S,开关由主持人控制。 抢答器具有锁存与显示功能。即选手按按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止。 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。 当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间为0.5s左右。 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。 如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。 工作原理: 通过键盘改变抢答的时间,原理与闹钟时间的设定相同,将定时时间的变量置为全局变量后,通过键盘扫描程序使每按下一次按键,时间加1(超过30时置0)。同时单片机不断进行按键扫描,当参赛选手的按键按下时,用于产生时钟信号的定时计数器停止计数,同时将选手编号(按键号)和抢答时间分别显示在LED上。

#include #define uchar unsigned char #define uint unsigned int uchar num; //定义中断变量,num计满20表示1秒时间到uchar num1; //十秒倒计时显示初始值 uchar flag1,flag2; //清零键及开始键按下标志位 uchar flag3,flag4=0; //定义键盘按下标志位 uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f}; //数码管编码

51单片机寄存器功能查看(带目录)

【51单片机寄存器功能一览表】 21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。 在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器): MCS-51单片机的特殊功能寄存器

PSW-----程序状态字

它用来表示ALU运算结果中二进制数位“1”的个数的奇偶性。若为奇数,则P=1,否则为0。运算结果有奇数个1,P=1;运算结果有偶数个1,P=0。 例:某运算结果是78H(01111000),显然1的个数为偶数,所以P=0。 4、DPTR(DPH、DPL)--------数据指针 可以用它来访问外部数据存储器中的任一单元,如果不用,也可以作为通用寄存器来用,由我们自已决定如何使用。分成DPL(低8位)和DPH(高8位)两个寄存器。用来存放16位地址值,以便用间接寻址或变址寻址的方式对片外数据RAM或程序存储器作64K字节范围内的数据操作。 5、P0、P1、P2、P3--------输入输出口(I/O)寄存器 这个我们已经知道,是四个并行输入/输出口(I/O)的寄存器。它里面的内容对应着管脚的输出。6、IE-----中断充许寄存器 7、IP-----中断优先级控制寄存器

单片机程序存储空间和数据存储空间详解..

单片机程序程序存储空间(ROM)和数据 存储空间(RAM)详解 问题:STC89C52RC单片机:8K字节程序存储空间,512字节数据存储空间,内带2K字节EEPROM存储空间;它们分别存的是什么? 8K的程序存储空间是存储代码,也就是你写的程序生成的HEX文件的,相当于电脑系统的C盘。 512字节相当于内存,存储空间存储变量,像u8 x,y,z,u32 a之类的临时变量掉电后数据丢失。 2K eeprom相当于电脑系统的硬盘,数据写入后掉电不丢失。主要是单片机在运行的过程中写入数据或者读取数据。像设置的闹铃值,设置好了就不用每次都去设置了,保存在单片机里面,即使掉电了,设置的数据也不会丢失,只需单片机上电再读取就好了。 单片机原理及系统结构 在此先详细分析51单片的存储器结构和寻址方法,再分析片外存储器的扩展,最后给出设计原理并分析系统结构。 图一:存储空间分布

51单片机存储器结构分析 8051单片机的存储器在物理结构上分为程序存储器空间和数据存储器空间,共有4个存储空间:片内程序存储器、片外程序存储器以及片内数据存储器、片外数据存储器空间。 这种程序存储和数据存储分开的结构形式被称为哈佛结构。MCS-51使用哈弗结构,它的程序空间和数据空间是分开编址的,即各自有各自的地址空间,互不重叠。所以即使地址一样,但因为分开编址,所以依然要说哪一个空间内的某地址。而ARM(甚至是x86)这种冯诺依曼结构的MCU/CPU,它的地址空间是统一并且连续的,代码存储器/RAM/CPU寄存器,甚至PC机的显存,都是统一编址的,只是不同功能的存储器占据不同的地址块,各自为政。 MCS-51单片机存储器的配置特点 ①内部集成了4K的程序存储器ROM; ②内部具有256B的数据存储器RAM(用户空间+SFR空间); ③可以外接64K的程序存储器ROM和数据存储器RAM。 从物理结构的角度讲,51单片机的存储系统可以分为四个存储空间:既片内ROM,RAM和片外ROM、RAM。 从逻辑结构上看(既编程的角度),可以分为三个不同的空间: (1)片内、片外统一编址的64KB的程序存储器地址空间:0000H~FFFFH(用16位地址);,其中0000H~0FFFH为片内4KB的ROM地址空间,1000H~FFFFH为外部ROM 地址空间; (2)256B的内部数据存储器地址空间(用8位地址),00H~FFH,分为两大部分,其中00H~7FH(共128B单元)为内部静态RAM的地址空间,80H~FFH为特殊功能寄存器的地址空间,21个特殊功能寄存器离散地分布在这个区域; (3)64KB的外部数据存储器地址空间(用16位地址):0000H~FFFFH,包括扩展I/O地址空间。 上述4个存储空间地址是重叠的,如图1所示。8051的指令系统设计了不同的数据传送指令以区别这4个不同的逻辑空间:CPU访问片内、片外ROM指令用MOVC,访问片外RAM指令用MOVX,访问片内RAM指令用MOV。 程序存储器用于存放编好的程序和表格常数。程序通过16位程序计数器寻址,寻址能力为64KB。这使得指令能在64KB的地址空间内任意跳转,但不能使程序从程序存储器空间转移到数据存储器空间。

相关文档
最新文档