|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我是利用定时器来进行仿真的 下面是我的程序 我打算输出1US的方波但是结果却是40us9 x0 T2 Y6 J. j# I
#include<reg51.h>2 L- ~2 d4 B% M7 n- Y2 N: Z9 a
#define uint unsigned int
0 |- E' P6 B2 C) K( A, M#define uchar unsigned char% ^$ N: }$ i# S3 R: ]
sbit out=P1^3;8 F" M& ^; S* |% u
uint num,N;% o7 m1 I. l$ v; t" P
uchar FT;
6 ]% v9 j5 K& |% wvoid main(viod)
$ Y) F8 {# L- U) u) t1 d. f, I{ / ?6 s# d% c5 h/ P' i
EA=1;//全开 ; G |9 U3 q" ~* n& [( S7 {- C
ET1=1;* a4 \7 O6 K5 J/ \! z) A
TMOD=0x01;
/ _4 z# Y; h" l9 u( p+ O/ {1 F TH1=(65536-1)/256;- f8 `# Z, r! l, [2 X# U
TL1=(65536-1)%256;
5 ?* Y0 n7 D9 `, _, e //EX0=1;
: V7 B& J' U7 U //IT0=1; / F l [9 i6 T, u" O- ?6 m" X
// ET0=1;0 p# l) A/ n, |. j& Q
/ z" }4 u# @8 V1 o7 ?
// TR0=1;
; W {7 Q+ |' B TR1=1;7 n5 e1 q9 |& s1 I
while(1);
$ t! U6 v y5 h+ g/ Y5 `4 x% ?5 z) [6 M/ N: y! d
6 ^5 ?5 A. f& }" v
}' j- c* f0 T4 _ l" F
3 R: V1 Z* ]! H2 p j- X+ m( a
void T1_timer() interrupt 3/ q4 U+ x% k3 z. s- T3 j9 M, i
{ ' H% @# P" d* h8 w+ W
TH1=(65536-1)/256;
; E2 d0 e+ }$ r, m TL1=(65536-1)%256;
5 p6 V* W2 D9 S; P% ^* c3 b! ? out=~out;
& G3 r5 n6 G( u( N9 _ // delay(1);
5 P+ h+ B- r/ K+ ^: ] // TR1=0;
6 ?' u, r0 h" _& W9 [}
9 J4 r" q }4 Z5 `: E: E# f8 h
3 l' O) Q# O* `0 X9 W" L. n
|
|