51单片机两个定时器同时使用程序,望大神解答一二!拜谢~~!!

作者&投稿:锐佩 (若有异议请与网页底部的电邮联系)
单片机编程语言一般有哪几种~

单片机编程语言很多,大致分成三类:机器语言、汇编语言、高级语言。机器语言由于繁琐容易出错,大部分用户已经不再便用。
1.单片机的汇编语言
汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少,程序执行效率高,由于它一条指令就对应一条机器码,每一步的执行动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。但是不同的类型的单片机,其汇编语言可能有点差异,所以不易移植,因为他们的指令系统是有区别的。但懂得汇编语言可帮助了解影响川可语言效率的特殊规定。例如,懂得汇编语言指令就可以便用在片内ram作变量的优势,因为片外变量需要几条指令才能设署累加器和数据指针进行存取。同样的,当要求便用浮点数和启用函数时也只有具备汇编编程经验才能避免生成庞大的、效率低的程序,对于这方面的编程,没有汇编语言是做不到的。
2.单片机的C语言
单片机的C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言具有功能丰富的库函数,运算谏磨快,编译效率高,有良好的可移植性,而且可以实现直接对系统硬件的控制。此外,C语言程序具有完整的程序模块结构,从而为软件开发中栗用模块化程序设计方法提供了有力的保障。与汇编相比,有如下优点:
对单片机的指令系统不要求了解,仅要求对51的存储器结构有初步了解,至于寄存器分配、不同存储器的寻址及数据类型等细节均由编译器管理。程序有规范的结构,可分为不同的函数。这种方式可便程序结构化,将可变的选择与特殊操作组合在一起,改善了程序的可读性。
编程及程序调试时间显著缩短,从而提高效率。提供的库包含许多标准子程序,具有较强的数据处理能将已编好程序可容易的植入新程序,因为它具有方便的模块化编程技术。
功能强而有弹性,提供的库包含许多标准子程序,具有较强的数据处理能力,能将已编好程序容易的植入新程序,因为它具有方便的模块化编程技术。
单片机C语言作为一种非常方便的语言而得到广泛的支持,(语言程序本身并不依赖于机器硬件系统,基本上不做修改就可根据单片翻U均不同较快地移植过来。
用单片机c语言进行程序设计,已成为单片机软件开发的一个主流,作为一个技术全面并涉足较大规模的软件系统开发的单片机开发人员最好能够掌握基本的C语言编程。

拓展资料
单片机,全称单片微型计算机(英语:Single-Chip Microcomputer),又称微控制器(Microcontroller),是把中央处理器、存储器、定时/计数器(Timer/Counter)、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机。与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本。它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出接口简单,功能较低。由于其发展非常迅速,旧的单片机的定义已不能满足,所以在很多应用场合被称为范围更广的微控制器;由于单芯片微电脑常用于当控制器故又名single chip microcontroller,但是目前在中国大陆仍多沿用“单片机”的称呼。

1、单片机与的程序设计有很大的区别,单片机的全部程序都是用户设计的,PLC的程序包括系统程序(西门子称为操作系统)和用户程序。操作系统用来组织与具体的控制任务无关的所有的CPU功能。操作系统的任务包括处理启动过程,刷新输入/输出过程映像,调用用户程序,检测中断事件和调用中断组织块,检测和处理错误,管理存储器,以及处理通信任务等。PLC的很多功能,例如扫描工作方式、定时器功能和中断处理,是操作系统完成的。在画流程图时,应考虑这个问题。
2、PLC的开关量控制系统的程序用顺序功能图来描述比较简洁。用流程图来描述PLC的用户程序原则上也是可以的,但是应区分哪些功能是操作系统完成的,哪些是用户程序实现的。
3、例如有人问是否需要用跳转指令来等待某个信号上升沿的出现,这是一种单片机编程的思维。PLC的扫描工作方式在每一扫描周期开始时读取全部的开关量输入,根据前后两个扫描周期同一输入点状态的变化来判断是否有上升沿出现。所以不需要用往回跳的跳转指令来等待某个输入信号的出现。如果用这种方法来查询信号的状态变化,PLC不能干别的事情,因为它的全部精力都用在查询上了!而这种查询是在一个扫描周期内进行的,将使扫描周期变得很长,很容易造成监控定时器(看门狗)超时的错误。
4、在PLC的用户程序中,只需要用一条检测上升沿的指令就可以捕捉到脉冲信号的上升沿。如果要求快速响应,可以采用中断方式,在脉冲信号的上升沿由系统程序调用用户编写的中断程序。

优先级高的能打断优先级低的,就是低优先级的正在执行的时候,优先级高的来了低的就会被打断。执行完高的 再来执行低的,存入65536,中断会出问题的。

定时时间是一样的,但是由于先启动的是T1定时器(TR1=1),所以T1先溢出,首先相应的是T1定时器中断。

我啊啊啊额外啊


51单片机的两个定时器T0和T1能同时工作吗?
可以的,其中的定时器互不影响,像8052有三个定时器,都可同时定时,还有它们的两个外部中断也都一起工作……

51单片机在同时使用两个定时器时候,我的为什么T0总是不好使??
你两个定时器定时50ms中断同时到达中断,你觉得可能吗, T1高于T0,肯定先执行T1,问题就出现在这里。

定时器T1定时250μs,工作方式设置为方式2
TH1=TL1=6H,TMOD=20H 源代码如下:MOV TMOD,#20H MOV TH1,#06H MOV TL1,#06H SETB TR1 DS1_RPTA:MOV R2,#04H DS1_RPTB:JNB TF1,CLR TF1 CPL P1.3 DJNZ R2,DS1_RPTB CPL P1.2 LJMP DS1_RPTA 51单片机中有两个定时器T0和T1,分别是由两个8位的...

51单片机同时使用两个计时器的问题
这样 void main(){ TIMER_ini();while(1){ TEMP[0]=NUMBER[num\/1000];TEMP[1]=NUMBER[num\/100%10];TEMP[2]=NUMBER[num\/10%10];TEMP[3]=NUMBER[num%10];display(4,4);} } 问题就解决了。最后就一句,那计数是很快了,是每秒计一个数吗,还是就是计数?这样改,要关掉定时器T1的...

在单片机中开俩个外部中断,俩个定时器中断, TMOD为多少?外部中断1是...
TMOD 根据需要设置;例如:都设置为方式1,定时器方式,TMOD=0X11;外部中断,没有方式之分,只有下降沿触发或者低电平触发之分。

单片机定时器\/计数器有哪几种工作方式?
标准8051单片机内部有2个定时器\/计数器 分别是T0和T1。每个定时器有4种工作方式,方式0:13位定时计数方式,最大计数值为2^13=8192,定时8192个机器周期。此方式已经不再用了,是为了和以前的单片机兼容,学初者不用掌握。方式1:16位定时计数方式,最大计数值为2^16=65536,定时65536个机器周期。此...

51 单片机 2个定时器 同时工作
你的两个定时器的时间都设成一样的了,当两个定时器到了点后,单片机到底该进行处理那一个啊,所以要么你修改时间,要么你把IP优先寄存器设施下PT0或者PT1等于1,就行了。

51单片机T的两个计时器怎么同时使用?下面是我的代码,为什么实现不了...
是的,EA是用来开总中断的,如果EA=0则所有可用中断都无用。EA相当于使能信号。必须EA=1时中断才被打开。具体开那个还得看具体中断的使能信号,如定时的TR0,TR1信号。

51单片机定时器可以设置几个定时变量
2个。STC89C51单片机有2个定时器,叫做定时器0和定时器1,可以用作普通定时器,计数器,系统可以同时设置2个定时变量。定时器是当脉冲信号是来自单片机内部的时钟信号,则由于单片机的振荡周期非常精准,故溢出时统计的脉冲数便可换算成定时时间因此可做定时器使用。

51单片机的两个定时器可以同时运行吗
如果你说的是同时生效起作用的话可以,但在同一时刻运行不行,两个定时器是有优先级的概念的

武鸣县15533403577: 51单片机的两个定时器可以同时运行吗 -
焦治银杏: 如果你说的是同时生效起作用的话可以,但在同一时刻运行不行,两个定时器是有优先级的概念的

武鸣县15533403577: 51单片机两个定时器一起用,该怎么设置啊? -
焦治银杏: 两个定时器使用没有什么特殊设置,但是有一个经验你必须明白,中断里面重新对定时器赋值的操作必须放在中断处理的头端,否则会有一个整个中断处理的时间延时.如: void timer1()interupt3 using1 { ... //如果这里的...程序段太长,那么每次中断就慢了处理这段程序的时间 TH1=0X.. TL1=0X.. ... //如果把处理程序放在这里,那么慢的是2个指令周期(重载) } 所以时间要求特别严格的程序,一般建议使用方式2自动载入.

武鸣县15533403577: 用AT89C51单片机编程如下要求的题,该怎么写?两个定时器不知怎么同时使用.求大神们帮忙!谢谢, -
焦治银杏: 首先抱歉我没多少时间去思考具体实现过程,但又不想错过这个这么好的问题.我有个思路可以给你参考下,可以回复我一起讨论:首先定时器1一直启动TR1=1,然后当定时器1计数到1S时执行TR0=~TR0,这样就达到了1S间隔输出定时器0输...

武鸣县15533403577: 51单片机T的两个计时器怎么同时使用 -
焦治银杏: 使用定时器首先要设置定时器的工作方式,在TMOD这个特殊寄存器设置,再设置初值,定多长时间,最后开定时器中断

武鸣县15533403577: 51单片机中l两个定时器怎样才能同时调入函数中 -
焦治银杏: 狠简单的,首先开总中断,然后在你要调入函数的地方开定时器中断,开始计数,到了计数时间就会自动触发中断,两个是同样的道理.自己琢磨下,不是很难的...

武鸣县15533403577: 51单片机的两个定时器T0和T1能同时工作吗? -
焦治银杏: 可以,3个都可以的.

武鸣县15533403577: 51单片机T的两个计时器怎么同时使用?下面是我的代码,为什么实现不了? -
焦治银杏: 是的,EA是用来开总中断的,如果EA=0则所有可用中断都无用.EA相当于使能信号.必须EA=1时中断才被打开.具体开那个还得看具体中断的使能信号,如定时的TR0,TR1信号.

武鸣县15533403577: 单片机c语言里怎么用2个定时器?怎么设置优先级? -
焦治银杏: 是51单片机吗?如果是51单片机,你可以使用TMOD设置两个定时器,然后使用TR0、TR1分别启动两个定时器.PT0置为“1”,就可以中断定时器1的服务函数,相反,如果PT1置为“1”就可以中断定时器0的服务函数. 如果不设置PT的值,默认为“0”,这样的话,T0和T1谁也不能中断谁.

武鸣县15533403577: 51单片机同时用两个定时器控制蜂鸣器发声,定时器0控制频率,定时器1控制同个频率持续的时间 -
焦治银杏: 输出1,10,50,100,200,400,800,1kHZ ----低于 20Hz,人,就听不见了.帮你改了改,可听见许多不同的声音了. 但是,输出的,不是你要求的频率.所谓的专业回答,并不能解决你的问题,是瞎忽悠而已. 电脑网络分类达人 董辉,明显是被忽悠瘸了.

武鸣县15533403577: 怎么同时使用2个定时器,相互不影响. -
焦治银杏: 定时器到要报时点时,发出一个标志位.主程序检测到标志位时,开动定时器1 ,输出一个PWM方波, 并控制方波的时间长度.完成任务后,再关掉定时器1 开始下轮cycle.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网