用51单片机数码管0到9编程编程,如何让一位数码管显示数字0~9,显示一遍之后,再变换为A~J,时间间隔为1秒

51 内部有一个全双工串行接口什麼叫全双工串口呢?一般来说只能接受或只能发送的称为单工串行;既可接收又可发送,但不能同时进行的称为半双工;能同时接收和发送嘚串行口称为全双工串行口串行通信是指数据一位一位地按顺序传送的通信方式,其突出优点是只需一根传输线可大大降低硬件成本,适合远距离通信其缺点是传输速度较低。

与之前一样首先我们来了解单片机数码管0到9编程串口相关的。

SBUF 寄存器:它是两个在物理上獨立的接收、发送缓冲器可同时发送、接收数据,可通过指令对SBUF 的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作从而控淛外部两条独立的收发信号线RXD(P3.0)、TXD(P3.1),同时发送、接收数据实现全双工。

串行口控制寄存器SCON(见表1)

表中各位(从左至右为从高位到低位)含义如下。

SM0 和SM1 :串行口工作方式控制位其定义如表2 所示。

表2 串行口工作方式控制位

其中fOSC 为单片机数码管0到9编程的频率;波特率指串行口每秒钟发送(或接收)的位数。

SM2 :多机通信控制位 该仅用于方式2 和方式3 的多机通信。其中发送机SM2 = 1(需要程序控制设置)接收机的串行口工作于方式2 或3,SM2=1 时只有当接收到第9 位数据(RB8)为1 时,才把接收到的前8 位数据送入SBUF且置位RI 发出中断申请引发串行接收中断,否则会将接受到的数据放弃当SM2=0 时,就不管第位数据是0 还是1都将数据送入SBUF,并置位RI 发出中断申请工作于方式0 时,SM2 必须为0

REN :串行接收允许位:REN =0 时,禁止接收;REN =1 时允许接收。

TB8 :在方式2、3 中TB8 是发送机要发送的第9 位数据。在多机通信中它代表传输的地址或数据TB8=0 为数据,TB8=1 時为地址

RB8 :在方式2、3 中,RB8 是接收机接收到的第9 位数据该数据正好来自发送机的TB8,从而识别接收到的数据特征

:串行口发送中断请求標志。当 发送完一串行数据后此时SBUF 寄存器为空,硬件使 置1请求中断。CPU 响应中断后由软件对 清零。

RI :串行口接收中断请求标志当串荇口接收完一帧串行数据时,此时SBUF 寄存器为满硬件使RI 置1,请求中断CPU 响应中断后,用软件对RI 清零

电源控制寄存器PCON(见表3) 。

表中各位(从左至右为从高位到低位)含义如下

SMOD :波特率加倍位。SMOD=1当串行口工作于方式1、2、3 时,波特率加倍SMOD=0,波特率不变

GF1、GF0 :通用标志位。

PD(PCON.1) :掉电方式位当PD=1 时,进入掉电方式

IDL(PCON.0) :待机方式位。当IDL=1 时进入待机方式。

另外与串行口相关的寄存器有前面文章叙述的相關寄存器和中断寄存器定时器寄存器用来设定波特率。中断允许寄存器IE 中的ES 位也用来作为串行I/O 中断允许位当ES = 1,允许 串行I/O 中断;当ES = 0禁止串行I/O 中断。中断优先级寄存器IP的PS 位则用作串行I/O 中断优先级控制位当PS=1,设定为高优先级;当PS =0设定为低优先级。

波特率计算:在了解了串行ロ相关的寄存器之后我们可得出其通信波特率的一些结论:

① 方式0 和方式2 的波特率是固定的。

在方式0 中 波特率为时钟频率的1/12, 即fOSC/12固萣不变。

在方式2 中波特率取决于PCON 中的SMOD 值,即波特率为:

② 方式1 和方式3 的波特率可变由定时器1 的溢出率决定。

当定时器T1 用作波特率发生器时通常选用定时初值自动重装的工作方式2( 注意:不要把定时器的工作方式与串行口的工作方式搞混淆了)。其计数结构为8 位假定計数初值为Count,单片机数码管0到9编程的机器周期为T则定时时间为(256 ?Count)×T 从而在1s内发生溢出的次数(即溢出率)可由公式(1)所示:

从洏波特率的计算公式由公式(2)所示:

在实际应用时,通常是先确定波特率后根据波特率求T1 定时初值,因此式(2)又可写为:

图1 串行通信实验电路图

下面就对图1 所示电路进行详细说明

最小系统部分(时钟电路、复位电路等)第一讲已经讲过,在此不再叙述我们重点来叻解下与计算机通信的-232 接口电路。可以看到在电路图中,有TXD 和RXD 两个接收和发送指示状态灯此外用了一个叫MAX3232 的芯片,那它是用来实现什麼的呢首先我们要知道计算机上的串口是具有RS-232 标准的串行接口,而RS-232 的标准中定义了其电气特性:高电平“1”信号电压的范围为-15V~-3V低电平“0”

信号电压的范围为+3V~+15V。可能有些读者会问它为什么要以这样的电气特性呢?这是因为高低电平用相反的电压表示至少有6V 的压差,非瑺好的提高了数据传输的可靠性由于单片机数码管0到9编程的管脚电平为TTL,单片机数码管0到9编程与RS-232 标准的串行口进行通信时首先要解决嘚便是电平转换的问题。一般来说可以选择一些专业的集成电路芯片,如图中的MAX3232MAX3232 芯片内部集成了电压倍增电路,单电源供电即可完成電平转换而且工作电压宽,3V~5.5V 间均能正常工作其典型应用如图中所示,其外围所接的对传输速率有影响在试验套件中采用的是0.1μF。

值嘚一提的是MAX3232 芯片拥有两对电平转换线路图中只用了一路,因此浪费了另一路在一些场合可以将两路并联以获得较强的驱动抗干扰能力。此外我们有必要了解图中与计算机相连的DB-9 型RS-232的引脚结构(见图2)。

图2 DB-9连接器接口图

其各管脚定义如下(见表4)

表4 DB-9型接口管脚定义

本講设计实例程序如下:

(2)声明串口初始化程序。

(3)设置定时器1 工作在模式2自动装载初值(详见第二讲)。

(4)SMOD 位清0波特率不加倍。

(5)串行口工作在方式1并允许接收。

(6)定时器1 高8 位赋初值波特率为1200b/s(7)定时器1 低8 位赋初值。

(10)定义一个字符型变量

(13)如果接收到数据。

(14)将接收到的数据赋给之前定义的变量

(15)将接收到的值输出到P0 口。

(16)对接收标志位清0准备再次接收。

(17)将接收箌的数据又发送出去

(18)查询是否发送完毕。

(19)对发送标志位清0

四、调试要点与实验现象

接好硬件,通过冷启动方式将程序所生成嘚hex文件下载到单片机数码管0到9编程运行后,打开串口调试助手软件设置好波特率1200,复位单片机数码管0到9编程然后在通过串口调试助掱往单片机数码管0到9编程发送数据(见图3),可以观察到在接收窗口有发送的数据显示此外电路板上的串行通信指示灯也会闪烁,P0 口所接到LED 灯会闪烁所接收到的数据

图3 串口软件调试界面

另外串口调试助手软件使用时应注意的是,如果单片机数码管0到9编程开发板采用串口丅载而且和串口调试助手是使用同一串口则在打开串口软件的同时不能给单片机数码管0到9编程下载程序,如需要下载请首先点击“关閉串口”,做发送实验的时候注意如果选中16 进制发送的就是数字或者字母的16 进制数值,比如发送“0”实际接收的就应该是0x00,如果不选Φ默认发送的是ASCII 码值,此时发送“0”实际接收的就应该是0x30,这点可以通过观察板子P0 口上的对应的LED 指示出来

本讲介绍了单片机数码管0箌9编程串口通信的原理并给出了实例,通过该讲读者可以了解和掌握51 单片机数码管0到9编程串口通信的原理与应用流程,利用串口通信單片机数码管0到9编程可以与计算机相连,也可以单片机数码管0到9编程互联或者多个单片机数码管0到9编程相互通信组网等在实际的工程应鼡中非常广泛。从学习的角度来说熟练的利用串口将单片机数码管0到9编程系统中的相关信息显示在计算机上可以很直观方便的进行调试囷开发。

51单片机数码管0到9编程的外部中断0引脚接一只按键该按键通过上拉电阻接到电源,即没有按键发生时单片机数码管0到9编程检测到嘚是高...

对于NVIC的任务可以概括为三个: 1.配置中断向量表--如果不配置,则不能进入中断 SCB...

51 单片机数码管0到9编程的 RAM 分为两个部分一块是片内 RAM,┅块是片外 RAM标准 51 的片内 R...

名称:串口通信 内容:连接好串口或者usb转串口至电脑,下载该程序打开电源 打开串口调...

这是一款51单片机数码管0箌9编程智能温控器C语言源程序,程序功能:速成有时钟显示使用DS18B20进行温度检测,...

红外发射模块:电源3.3V或5V通过发射管发射38KHz的红外信号,高电平驱动 红外接收模块...

这里用到的液晶为LCD1602能够同时显示16x02即32个字符(16列2行)。1602液晶模块内...

先说说PPM波从图上可以看出周期为20ms,冠丽控实際是6通控但预留两通没有使用。通道的高电平区...

在STM32串口通信程序中使用printf发送数据非常的方便。可在刚开始使用的时候总是遇到问题瑺...

EM78系列单片机数码管0到9编程采用高速CMOS工艺制造,低功耗设计为低功耗产品价格较低。具有三个中断源、R-O...

实验结果:当杜邦线另一端接电源时led灭;当接地时,led就亮 结论:无论配置与否51单片...

SCON寄存器是51单片机数码管0到9编程一个可寻址的专用寄存器,用于串行数据通信的控制其字节地址为:98H,位地...

1、4个工作寄存器组共有32个通用寄存器但在指令中只能使用当前寄存器组(工作寄存器组的选择在前面专...

51单片机數码管0到9编程的串口引脚为P3.0引脚与P3.1引脚,分别是RXD和TXD引脚串口通信可以用于单片机数码管0到9编程和...

在之前的MCS-51系列单片机数码管0到9编程中内蔀没有IIC通信资源,所如果要想用51单片机数码管0到9编程实现IIC通信就只能...

单片机数码管0到9编程就是一款自动控制的芯片。注意是芯片,你莋的工作就是如何编程来是这款芯片工作是这款芯片在规定...

一般来说,我们都是采用定时器1的模式2(自动重装模式)来作为波特率发生器的同理,定时器1的中断也就...

51中一般针对串口通讯编程通常采取中断接受查询发送的方式。中断函数在接受数据到达时被重复调用其实...

微控制器的IO口均不能流过过大的电流,LED点亮时有约10ms的电流因此LED点阵引脚不要直接接单...

目前,温度控制器存在的问题是如何缩减成本减少功耗,温度测量的准确性和多路温度的同时显示本方案设计...

下面先讲一讲串口通信的一些基本概念,术语如果对串口通信比较熟悉的,就当复习复习如果哪里讲错或不到...

下面这个系统中,8051同时扩展片外程序存储器和数据存储器两片存储器的片选信号都接地, 即同时有效...

最近在项目中用到51单片机数码管0到9编程因为某些条件限制,51单片机数码管0到9编程片上程序不是很大需要进行外部扩展。

函數功能:51单片机数码管0到9编程制作的频率计(当然这个频率计的频率范围是有限制的理论值为2Hz-1MHz) 编...

1)h文件作用1 方便开发:包含一些文件需要的囲同的常量,结构,类型定义,函数,变量申明2 提供接口...

1.ROM:只读存储器单片机数码管0到9编程的只读存储区大多用于存储程序固又称程序存储器。 51單片机数码管0到9编程是EP...

TFi-定时/计数器溢出标志位;计数溢出时硬件自动置1,在中断允许条件下是向CPU请求中断的信号...

1.关闭非IIC通信器件,比洳我的开发板SDA和SCL也连接了DS1302造成干扰会没有结果。 ...

首先屏蔽了串口模块后可以正常可以说明是串口模块里面某个部分影响到了Aurora。可以采鼡如下策略...

51内核的最基础的中断源请求有外部中断、定时器中断和串口中断,这也是学习和开发者最长用的当然还有其...

随着单片机数碼管0到9编程的使用日益频繁,用其作前置机进行采集和通信也常见于各种应用一般是利用前置机采集各种终端数...

TX-1C板操作并行模式的1602液晶液晶第1,2脚是gnd和vcc第3脚是对比度调节第4脚是数据/...

了个H桥电路控制电机的正反转和PWM调速,程序是网上的改改引脚就能用,电路和源程序如丅

单片机数码管0到9编程与pc串口通信程序及电路图

超声波原理简单测距准确,应用广泛下面贴一个自己写的数码管程序显示部分需要改,写的是我使用的是慧净开...

首先介绍下原理。下图为主控芯片和流水灯模块的原理图流水灯模块接在单片机数码管0到9编程的P1口,由原悝图可以知道...

本程序已经调试通过4*4键盘接P1口数据从P2的8个发光二极管来表示,也可以接数码管;只是为了能够...

传统的嵌入式系统中设计周期、硬件和软件的开发是分开进行的,并在硬件完成后才将系统集成在一起很多情...

随着电子技术产业结构调整,生产工艺的飞速发展人们生活水平的不断提高,家用电器逐渐普及市场对于智能...

使用Keil的编译环境下载,确实能够下载但是入口的地址是如下黄色的那行顯示所示,如果单步执行(F1...

80C51单片机数码管0到9编程有位处理功能可以对数据位进行操作,因此就有相应的位寻址方式所谓位寻址,就是對内部...

众享充基于区块链技术和共享经济为基础结合当前充电桩痛点和传统充电桩共享平台的弊端,运用区块链、物联...

超声波原理简单測距准确应用广泛下面贴一个自己写的数码管程序,显示部分需要改写的是我使用的是慧净开...

急,谢谢大家了~... 急,谢谢大家了~

可选Φ1个或多个下面的关键词搜索相关资料。也可直接点“搜索资料”搜索整个问题

PA连八盏灯,PB只连两盏

我只写了程序段,因为其他电路之类,峩都不知道,所以只能帮这么多了

你对这个回答的评价是?

你好 请问你 那 现在 还有这个 程序吧 我现在 急需啊 感谢

你对这个回答的评价是

可选中1个或多个下面的关键词搜索相关资料。也可直接点“搜索资料”搜索整个问题

一位数码管循环显示1-9的汇编程序

INC R2 ;修改要显示的下一个数

LCALL DELAY ; 调用延时子程序(稳萣显示)

JMP START ;从新转主程序 开始新一轮的显示

本回答由电脑网络分类达人 董辉推荐

你对这个回答的评价是?

你对这个回答的评价是

我要回帖

更多关于 单片机数码管0到9编程 的文章

 

随机推荐