|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我是利用定时器来进行仿真的 下面是我的程序 我打算输出1US的方波但是结果却是40us
( ]( C% P# i" \$ {0 u9 b#include<reg51.h>. C7 o6 A8 [7 F3 j6 H
#define uint unsigned int# v# u+ {: x* c! f
#define uchar unsigned char
& V; y, J* c( E* I) msbit out=P1^3;
6 w V! B: `9 W$ Wuint num,N;( h! |2 |8 m: l" m
uchar FT;
. j8 H7 x# a: H3 xvoid main(viod)) ?4 H( b/ z' V% d) m
{
0 C% j6 a- p" E- B' f& o EA=1;//全开 ?. r( v" Y/ s; ]: S2 [, L2 K* J) @
ET1=1;! J4 L/ O/ n7 U: ~4 G
TMOD=0x01;
* O1 s& N( X/ l* i5 G: ? TH1=(65536-1)/256;
, Z9 e( Y; d% z3 C. |9 W! Z TL1=(65536-1)%256;, m4 R, x) z! D8 j/ F7 W
//EX0=1;
- J0 F) Z/ Y: O: i& Q! v //IT0=1; 3 Z5 S& z4 o' Y9 O* [* F' u3 f
// ET0=1;1 Y9 b; o& A3 W$ G- L: w4 @
7 L# ]$ W+ X0 a2 s- W8 ?( [
// TR0=1;* u# D4 s6 y6 \" v/ E
TR1=1;
* b' }7 t8 |9 O while(1);
9 L, Y8 }- ~8 z5 @8 Q- ^0 z7 e7 b( w
; Y, h# D! i ^0 n7 Q0 h% p1 u: D( ?: }0 x
}+ a: H' _( ?' x9 ^
! K: L) B, l4 Q( C) i1 p
void T1_timer() interrupt 3
1 n8 N! e+ V7 W( Y7 K* B8 \{ , ?# F- k" Q9 R% L' A* ]
TH1=(65536-1)/256;' o5 i; J% i* \: o3 m' s) D
TL1=(65536-1)%256;
: S+ }- Z) ]5 @1 c; G3 P out=~out;
( g2 G6 o7 p4 `4 e6 ^8 ?1 ~: B5 W // delay(1);% B, S4 r) w' u# A0 @; }( z& s
// TR1=0;4 f, Q" d; F7 w2 X
}
7 ^7 O [; [/ N1 i* i9 L% A8 m! c3 ^0 c
|
|