设8051单片机的f OSC=12MHz,要求用T0定时150ms,分别采用定时方式1和方式2时的定时
1 可以按定时时间的计算公式, 计算出定时器的时间常数X:
定时时间T=(2的N次方-X)12/单片机晶振频率
2 N为定时器的工作方式:
方式0时,N=13
方式1时,N=16
方式2时,N=8
3 根据定时时间和工作方式,计算出时间常数X
方式0:定时时间T=(2的13次方-X)12/8MHZ=150 解出 X=8092= 1F9C
同样,方式1:x=FF9C ,方式2:x=9C
网上也有51定时器计算的小软件的,你可以下载一个。
2ms大概是周期。
那么按照要求,是输出高电平500微秒、输出低电平1500微秒。
令T0定时500微秒,在中断程序里面,控制输出。
;下列程序,经过编译、仿真,符合要求。
;-------------------------------------
ORG 0000H
SJMP START
ORG 000BH
SJMP T0_INT
;-------------------------------------
START:
MOV TMOD, #01H
MOV TH0, #(65536-500)/256
MOV TL0, #(65536-500) MOD 256 ;500us@12MHz
SETB TR0
SETB ET0
SETB EA
CLR P1.0
MOV R2, #3 ;输出3个500us的低电平
SJMP $
;-------------------------------------
T0_INT:
MOV TH0, #(65536-500)/256
MOV TL0, #(65536-500) MOD 256 ;500us@12MHz
CLR P1.0
DJNZ R2, T0_END
SETB P1.0
MOV R2, #4
T0_END:
RETI
;-------------------------------------
END
ORG 1000H
MOV R2,#03H
MOV TMOD ,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
SETB IE ,#82H
SETB R0,#03H
SJMP $
ORG 000BH
AJMP BRT0
ORG 0080H
BRTO:DJNZ R2,NEXT
(此处加上定时时间到时采取的操作)
MOV TH0,#3CH
MOV TL0,#0B0H
RETI
END
对于采取方式2,由于其最大定时间才有0.2ms,要想实现要负责些,采用内外同时定时,如果想要可以再联系我,在给你弄
12MHZ时钟T0是不能直接产生150MS的定时的~定时方式1,和方式2,都是看你怎么设置的问题了,定时器的最基本应用!
单片机: _nop_和delay(1)延时时间是多久?和晶振频率的关系是什么?
_nop_的延时时间是一个机器周期,与晶振的关系是:osc\/12\/1000000微秒 比如12M晶振,=12*1000000\/12\/1000000=1us delay(1)则不知道是多少延时时间了,这与你的子程序本身有关。比如:delay(unsigned char a){ unsigned char i,j;for(i=0;i<a;i++)for(j=0;j<120;j++);} 那么delay(1)...
单片机 时序OSC是什么意思
单片机的OSC接口功能是外接石英晶体组成振荡器,供给单片机时钟信号。osc为oscillator的缩写,意为振荡器,晶振。是一种能量转换装置——将直流电能转换为具有一定频率的交流电能。其构成的电路叫振荡电路.
定时器工作原理是什么?
原理:只要在定时的时间段内(即1分钟)定时器一直得电,则常开触电就会闭合,只要定时器不断电常开触电就会一直闭合。定时器断电则常开触电断开。定时器插座是一个使用芯片控制的可以设置在特定的时间段开关闭电源的插座产品。时间设定范围:每星期或每日按设定的程序循环工作,1分-168小时。接通延时型定时...
MCS-51单片机的片内部集成了哪些功能部件,各个功能部件的最主要功能是...
中央处理器(CPU)作为单片机的核心,负责执行程序指令,由运算器和控制器构成。运算器执行算术运算和逻辑运算,而控制器则通过程序计数器PC、指令寄存器IR、指令译码器ID、定时控制逻辑和振荡器OSC等电路来控制操作流程。程序存储器(ROM)用于存放程序代码、常数和表格等静态数据,确保程序运行时的数据完整性...
stm32晶振8m是什么意思
stm32晶振8m,就是指晶振频率8MHZ,但其主频(CPU核心)是经过倍频的,可达72MHZ 在8位单片机上晶振是多少M,,主频也是多少M,甚至还要分频很多倍,如51单片机,主频是晶振频率的12分之一或6分之一
80c51单片机和c8051单片机有什么区别呢?
但不能将8051的程序直接应用于C8051F单片机中,因为这两种系列的单片机内部资源存在较大的差异,因此,完全照搬、移植是行不通的,必须经过“改良”(主要是初始化控制字的改写)才能正确运行。本文以C8051Fxxx系列单片机中资源最丰富、功能最多、运算速度最快(达到100MIPS)的C8051F12X系列为例,介绍其与80C51的主要不同之...
单片机程序中 #define OSC_FREQ 11059200L 这个定义中数字后面那个L是...
便是OSC_FREQ为长整数类型,也就是双字4个字节的常量。
单片机里面的OP_OSC是什么啊。在程序里面怎么去改动。
这个应该是类似其它MCU的熔丝位(fuse), 不是在程序代码里面的, 而是在烧写程序的时候设置的一些选项. 你看看你的烧写(下载)程序的界面里面有没有相关的内容让你设定.
单片机 内部 有 OSC (振荡器) 为什么还可以 接 晶振?
单片机内部的震荡器是不完整的,没有选频正反馈,外部晶振就是选频正反馈回路。其实晶振就相当与一个LC串联的反馈回路,由于晶振Q值很高(也就是可通过的频带非常窄)所以可以得到非常精确的频率。晶体振荡器是指从一块石英晶体上按一定方位角切下薄片(简称为晶片),石英晶体谐振器,简称为石英晶体或晶体...
74HC595控制LED灯
OSCICL=0xa3; \/\/ 0x83 OSCICN=0xc3; \/\/二分频 CLKSEL=0x00; }void PIO_Init(void) \/\/ 端口...yfm=((*(P_song+i))>>0x04)&0x0f;\/\/简谱值 if(yfm) \/\/简谱为1,取计数值 { yfm --;