首页 > 算法 > 图像识别 > 51单片机查表数据多少时间,51单片机 定时时间

51单片机查表数据多少时间,51单片机 定时时间

来源:整理 时间:2023-04-01 06:47:57 编辑:亚灵电子网 手机版

本文目录一览

1,51单片机 定时时间

65535*2=131070微秒,每个周期为2微秒*65535个周期。你算算就对了,我是记住的12M时周期为1微秒,6M就为2微秒,24M为0.5微秒

51单片机 定时时间

2,51单片机执行一条指令所需时间

自己查51单片机指令集手册,每条指令的周期数。

51单片机执行一条指令所需时间

3,51单片机如何计算定时时间

定时时间=(2^N-初值)*机器周期;N=定时器位数,如果把初值换成当前计数值,也可以知道后面定时还剩多少时间。不过要取出当前计数值不太容易,而且误差很大。

51单片机如何计算定时时间

4,51单片机执行一条指令需多久

具体时间跟时钟频率、指令类型、有关,指令有1、2、3个机器周期的,标准51一个机器周期都是12个时钟周期的,有些增强51只需要6或4或1个时钟周期,比如标准51,时钟频率为12MHz,那一条单机器周期的指令就需要1微妙

5,请问用51单片机如何查表

ADD A, #1 ; 入口地址在 A 中MOVC A, @A+PC ; 本条指令后有几个字节 A+几RET ; 如 RET 一字节 A+1TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6

6,c51单片机中每条c语言需要的时间是多少

应该是指令周期,根据指令的不同,一般一个指令需要1-4个机器周期来完成(比如乘法或除法就需要48个时钟周期来完成),一般的51单片机都是12分频,也就是说1个机器周期分为12个时钟周期。请你好好理解时钟周期--机器周期--指令周期三者之间的关系。 目前STC有不少型号的单片机有单时钟周期指令,一个时钟周期即为一个机器周期,不进行12分频,就是在1个时钟周期内可以执行一条指令,但只是部分指令可以单时钟周期执行,大多指令需要1-6个时钟周期来完成,相比较而言,已经比普通的12分频单片机速度快多了。51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是52系列的单片机一般不具备自编程能力。

7,51单片机查表问题

不能用A当做变量,改用R2。;MOV A,#00H mov r2, #0MAIN: mov a, r2 MOVC A,@A+DPTR MOV P2,A ACALL DEL;INC A inc r2 cjne r2, #8, main mov r2, #0 AJMP MAIN有字数限制,不能写了
程序有多处错误请改为第二行的AJMP MAIN删除它标号MAIN:移上一行指令INC A改为INC DPTR循环里应加上判定DPTR的值,让它读取一定的数值后退出循环(就是换花样)
程序有几处错误,1、第二句的跳转应改到第四句2、不能用A计数,执行MOVC后A被清除,换成R2,相应的该为INC R2,再加一句R2计数8次的判断。3、TAB行中0E0H和0C0H误将0写为英文字符O了
mov dptr,#tab把tab表的首地(存0c0h的单元地址,下一个地址就存0f9h)址放进指针dptrmovc a,@a+dptr累加器a的值加dptr作为一个数并看成地址将这个地址中的数赋值给累加器a如果执行这句前累加器内容为0那么运行后a中就会存这个表格的第一个值;为2同样会变成第三个值@间接寻址的说明,后面的a+dptr的结果作为地址进行查找就能找到你的表格
TABLE: DW 0FA15H,0FA67H,0FB04H,0FB90H(16进制)……DW伪指令,把一个字:FA 15,分别存放在两个字节单元中,其它的字,也都是分别存放的。……MOV DPTR,#TABLE1MOVC A,@A+DPTR -- 从一个字中,读出一个字节……INC TEMP --加一MOV A,TEMPMOVC A,@A+DPTR -- 从同一个字中,读出另一个字节…… ------------------------------------------------DW伪指令,是存放两个字节的。从TABLE:开始,第0、1字节,存放了15 FA;第2、3字节,存放了67 FA;第4、5字节,存放了04 FB;第6、7字节,存放了90 FB;……。从中找第N个字,就要从N*2的地址去找,所以前面有个(要×2呢?)。MOV A,BUFF,假设BUFF=1×2后,存放到TEMP,再用MOVC A,@A+DPTR,即可从一个字中,读出一个字节,即67H;INC TEMP --加一后,再用MOVC A,@A+DPTR,即可从一个字中,读出另一个字节,即FAH。另外,站长团上有产品团购,便宜有保证

8,51单片机50ms定时

12MHz 的晶振,那么一个周期就是 1 us,所以需要计数 50ms / 1us = 50000,可以选择定时器工作方式 1。由上述计算:TH1 = (65536 - 50000) / 256;TL1 = (65536 - 50000) % 256;方式一,所以:TMOD = 0x10;运行 TR1 = 1,所以:TCON = 0x40;允许中断 ET1 = 1,EA = 1,所以:IE = 0x88;综合可以编写如下程序(汇编我不会,不知道你要的是汇编还是C):#include <reg52.h>void timer1_int() interrupt 3 TH1 = (65536 - 50000) / 256; TL1 = (65536 - 50000) % 256;}void timer1_init() TH1 = (65536 - 50000) / 256; TL1 = (65536 - 50000) % 256; TMOD = 0x10; IE = 0x88; TCON = 0x40;}void main() timer1_init(); while(1);}
要精确定时就不要用查询的方法。。真要用查询的话,当检测到TF0为1时,重装并运行定时器,清除TF0 PP+1就收工
ORG 0100HMAIN:MOV TMOD,#01HCLR TF0SETB TR0LOOP:MOV TL0,#XXH;初值就不算了啦,你应该也会,fosc都不知道,MOV TH0,#XXHJNB TF0,$;查询TF0,看是否溢出.INC PPSJMP LOOPEND其实在中断一样的,只不过,不用中断程序,而用查询TF0是否为1.(中断也是用它来判定的)来执行程序的..
//t0tmod=0x01; th1=0x9eh;tl1=0x58h; tcon&=1<<6; while(1) if(tcon&(1<<5)) th1=0x9eh; tl1=0x58h; //your code; }}
//==================unsigned int pp1 //定义全局变量unsigned int count=50000; //计数值,50MS#define TH_M1 (65536-count)/256;//赋值#define TL_M1 (65536-count)%256;//===============mian() ET0=1; //开T0中断 TMOD=0x01; //工作方式1 TH0=TH_M1; //赋值 TL0=TL_M1; TR0=1; //启动T0 while(TF0==1); //等待中断 TF0=0; //中断后,清除TF0,关闭T0 pp1++; //使全局变量加1}

9,MSC51单片机指令中的查表问题

我的分析不一定对,仅供参考。 基本思路是从R2R3处取偏移量,乘以2(每个数据为2个字节)通过A加给DPTR,R2加给DPL,r3加给DPH,再从DPTR处取数,交给A,再给R2R3.MOV DPTR,#TAB 表的首地址给DPTRMOV A,R3 r3的值给A CLR C C置零RLC A A乘2(左移一位后补零)XCH A,R2 A和r2交换数值RLC A A左移一位,即乘2XCH A,R2 A和r2交换。至此,相当于R3乘2后给了R2,r2里存的是r3.乘2后的数,A里是r2乘2后的数。ADD A,DPL DPL的值加给AMOV DPL,A;调整DPL,DPH 相当于把原r2里的数乘2当做偏移地址加给DPLMOV A,DPH ADDC A,R2 MOV DPH,A 相当于把原r3里的数乘2当做偏移地址加给DPHCLR AMOVC A,@A+DPTR;查表MOV R2,A;第一字节CLR AINC DPTRMOVC A,@A+DPTR;查第二字节MOV R3,ARETTAB: DW XXXXH;共1024个数据项DW XXXXH......DW XXXXH 因为查表的数字是双字节,所以低位给r2,高位给r3.
流水灯(利用取表方式) 1. 实验任务 利用取表的方法,使端口p1做单一灯的变化:左移2次,右移2次,闪烁2次(延时的时间0.2秒)。 2. 电路原理图 图4.5.1 3. 系统板上硬件连线   把“单片机系统”区域中的p1.0-p1.7用8芯排线连接到“八路发光二极管指示模块”区域中的l1-l8端口上,要求:p1.0对应着l1,p1.1对应着l2,……,p1.7对应着l8。 4. 程序设计内容 在用表格进行程序设计的时候,要用以下的指令来完成 (1). 利用mov dptr,#data16的指令来使数据指针寄存器指到表的开头。 (2). 利用movc a,@a+dptr的指令,根据累加器的值再加上dptr的值,就可以使程序计数器pc指到表格内所要取出的数据。 因此,只要把控制码建成一个表,而利用movc a,@a+dptr做取码的操作,就可方便地处理一些复杂的控制动作,取表过程如下图所示: 5. 程序框图 图4.5.2 6. 汇编源程序org 0start: mov dptr,#tableloop: clr amovc a,@a+dptrcjne a,#01h,loop1jmp startloop1: mov p1,amov r3,#20lcall delayinc dptrjmp loopdelay: mov r4,#20d1: mov r5,#248djnz r5,$djnz r4,d1djnz r3,delayrettable: db 0feh,0fdh,0fbh,0f7hdb 0efh,0dfh,0bfh,07fhdb 0feh,0fdh,0fbh,0f7hdb 0efh,0dfh,0bfh,07fhdb 07fh,0bfh,0dfh,0efhdb 0f7h,0fbh,0fdh,0fehdb 07fh,0bfh,0dfh,0efhdb 0f7h,0fbh,0fdh,0fehdb 00h, 0ffh,00h, 0ffhdb 01hend7. c语言源程序#include <at89x51.h>unsigned char code table[]=0xef,0xdf,0xbf,0x7f,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0x00,0xff,0x00,0xff,0x01};unsigned char i;void delay(void)unsigned char m,n,s;for(m=20;m>0;m--)for(n=20;n>0;n--)for(s=248;s>0;s--);}void main(void)while(1)if(table[i]!=0x01)p1=table[i];i++;delay();}elsei=0;}}}

10,有关51单片机的问题

如果还有 P2 可用,那么:在 P2 每个引脚,分别连接八个 LED 的负极。每个 LED 的正极,分别串联 510~1000 欧姆的电阻,连接到电源+5V。P2 输出低电平时,LED 发光。流水灯程序如下:#include<reg52.h>#include<intrins.h> //加上一个库uchar led = 0x7F; //加上一个变量//……省略//-----------------------------void Te_0() interrupt 1 static uint t; static uint t_l; //加上一个变量 TH0=(65536-2000)/256; //2ms TL0=(65536-2000)%256; t++; if(t==500) if(s==60) if(m==60) if(h==24) h=0; } } }//---------------------加上下面这些 t_l++; if(t_l == 500) t_l = 0; led = _cror_ (led, 1);//移位 P2 = led; //输出 }}省略的部分,可以看以前的回答。http://zhidao.baidu.com/question/872674912401293692.html
(1)call delay 完成什么功能? 实现时间控制,隔一段时间执行某段代码。(2)计算信号灯点亮多长时间(ms)?粗略计算:100 * 100 * 2us = 20 000us = 20ms。(3)若点亮100ms, r6, r7如何设置?给出误差分析。delay: mov r7, #100---改成 200delayloop: mov r6,#100--改成 250误差:???(4)本程序能停止吗?为什么?不能。若要停止程序运行,程序如何改进?你先说:在何处停止?
1、8位二进制补码表示十六位进制的范围是多少?是-80H~7FH么是。----2、“8051单片机的外部拓展EEPROM程序存储器进行适当的连接可以作为数据存储器使用,而8051单片机的外部拓展数据存储器也可以作为程序存储器进行程序调试”前一句懂,后一句为什么是对的呢?如果外部数据存储器没有连接方式的话,MOVC这种查表指令该怎么办呢?数据存储和程序存储器的指令不是不同吗?还有我们编写KEILC程序时,指令是存在单片机哪里的?是外部程序存储器还是内部程序存存储器里?(可能存在外部数据存储器么)这些话,是否正确,要看硬件电路。如果把 PSEN 和 RD 相与,外部拓展数据存储器,也可以作为程序存储器。前一句:外部拓展EEPROM程序存储器进行适当的连接可以作为数据存储器使用,这里已经说了,需要适当的连接。就是说,电路进行了改动,什么事情,都是可能发生的。不要再提出疑问。----3、“能够用于寄存器寻址的寄存器有:Rn、Ri、DPTR、A、B、CY",DPTR为毛也行啊,有MOV A,DPTR这种指令吗?徐汉斌单片机教材上就DPTR有关的指令只有4个,MOVX A,@DPTR;MOVX @DPTR,A;MOV DPTR,#addr16;MOVC A,@DPTR+A你复习考试,要选定一本教材,不同的作者,说法不一。----4、“MSC 51单片机定时\计数器对外部脉冲进行计数时,要求输入的计数脉冲的高电平或低电平的持续时间不少于一个机器周期”,这句话哪里有错,实在没看出来有错吗?----5、两数相减用补码运算时,是不是CY等于0表示第一个数小于第二个数,CY等于1表示第一个数大于第二个数单片机的计算,是按照无符号数进行的,Cy,可以反应出无符号数的大小。想像成补码,并不这么简单,补码是有正负的。----6、单片机怎样区别BCD码与16进制数?比如说计算BCD码的补码时,其模9AH与16进制相同,单片机怎么区分这是BCD码的100?单片机不区别这个,需要编程人,编写程序来解决 BCD 码的问题。----
很好办,你需要加点东东,改点东东前面加点申明sbit led=P1^0;//你可以改成其他引脚修改一下定时器中断服务程序void Te_0() interrupt 1static uint t;TH0=(65536-1000)/256; //2msTL0=(65536-1000)%256;display(0,8);t++;if(t<80)led=0; //led亮0.8秒else led=1; //灭0.2秒if(t==100)t=0;s++;if(s==60)s=0;m++;if(m==60)m=0;h++;if(h==24)h=0;}}}}
文章TAG:51单片机查表数据多少时间单片机查表数据

最近更新

  • k60芯片是不是arm,KIA6040p是什么芯片?k60芯片是不是arm,KIA6040p是什么芯片?

    芯片采用天玑芯片,由台积电制造,具有良好的声誉和性能。这款芯片在很多机型上都有不错的表现,性能更强,功耗表现也相对稳定,全血版本还是非全血版本?它是台积电科技的骁龙,至尊版由小米公司在.....

    图像识别 日期:2024-04-11

  • 给冰柜打压应该打多少钱,冰箱打压加氟多钱给冰柜打压应该打多少钱,冰箱打压加氟多钱

    冰箱打压加氟多钱2,冰箱冰柜检漏打压是多少3,容声冰箱BCD172AY的制冷压缩机鼓掌要多少钱1,冰箱打压加氟多钱参考价格:¥1299元最低价格:¥1200元超级静音,省电。室温15度,冰箱冷藏室8度,变温室8度,.....

    图像识别 日期:2024-04-10

  • 调谐变压器输出电压视频,变压器调频和调压调谐变压器输出电压视频,变压器调频和调压

    当系统电压不变时,改变变压比就是改变二次侧的输出电压。变压器反馈振荡器的输出电压随振荡频率而变化,根据变压器每匝的高低压相等的原理,开关电源变压器:开关电源变压器是一种带有开关.....

    图像识别 日期:2024-04-10

  • Rc低频补偿电路,低频补偿电路图Rc低频补偿电路,低频补偿电路图

    rc阻容降压电路输出低。检查电源电路,因此,rc阻容降压电路的输出为低,以检查电源电路,RC电路:由两个元件组成的电路:电阻R和电容C..RL电路:由电阻r和电感l两个元件组成的电路,rc振荡电路的.....

    图像识别 日期:2024-04-10

  • 锂电池一般充电电流多少时间,锂电池一般充几个小时锂电池一般充电电流多少时间,锂电池一般充几个小时

    锂电池一般充几个小时锂电池充电时间一般是3-5小时,早期的电池是镍氢,但是锂电池是没有记忆效应不需要这么做,充时间过长会对电池的循环使用寿命产生影响。锂电池是以锂金属或锂合金为阳.....

    图像识别 日期:2024-04-10

  • 105va等多少安,1KVA等于多少安105va等多少安,1KVA等于多少安

    1KVA等于多少安2,变压器上的105VA是什么意思3,彩环电阻105欧等于多少安4,1KVA等于多少安电流5,150V等于多少安倍6,10千伏高压电流表50515a等于底压多少安7,电池容量1瓦时等于多少毫安时1,1KVA.....

    图像识别 日期:2024-04-10

  • 铃木vsf1400多少钱,这个铃木摩托多少钱这车怎么样铃木vsf1400多少钱,这个铃木摩托多少钱这车怎么样

    这个铃木摩托多少钱这车怎么样新车7500元,看样子有2年了.开起来很舒服.2,请问铃木GSX1400摩托车市场价多小还有什么摩车找善烧托车好看些根据年数不同市场价有低有高我觉得大魔神不好看.....

    图像识别 日期:2024-04-10

  • 2362IC供电是多少V,电磁炉 电磁盘的供电电压是多少2362IC供电是多少V,电磁炉 电磁盘的供电电压是多少

    电磁炉电磁盘的供电电压是多少2,ic供电最好取多少伏3,功放管2SA1302集电极供电是多少4,为什么电源IC的供电电压规格书里写的最大是28V但实际上却用312V呢5,电脑usb接口供电量多少V6,3862芯.....

    图像识别 日期:2024-04-10