|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我是利用定时器来进行仿真的 下面是我的程序 我打算输出1US的方波但是结果却是40us# g" x- f4 Q$ N/ `
#include<reg51.h>
# T7 Q3 k1 [# q4 H2 w#define uint unsigned int5 z+ ?8 x3 B7 ^! G
#define uchar unsigned char7 M& z: l( W4 _. Y5 Y3 Y
sbit out=P1^3;
* A) b+ j# p; K" N: h' K6 vuint num,N;
6 l+ ~5 P0 U Y/ u; Ouchar FT;
- y0 S. @% j% b( A8 Evoid main(viod). f9 r5 Z, p/ ^' d( J
{ + d% P5 z, ~) y
EA=1;//全开 ; O) G' O# j: ]* |8 f; `' ^
ET1=1;9 D3 Q5 g# W( i; P+ L4 v
TMOD=0x01;$ }( b1 D& o8 n7 s) O" I6 @
TH1=(65536-1)/256;
# x2 n Z9 _4 N, m* u TL1=(65536-1)%256;
' Y' Y* X7 U7 A/ Q* ]2 W) B //EX0=1;
) q, M' ~9 V/ j$ x# K //IT0=1;
8 F+ X7 R7 x% _# O4 V. n, w// ET0=1;
1 c# S. u& A: o6 b+ T* k
+ u( ]8 q" b. O" _// TR0=1;6 ^5 D3 m, x: K# u: q z: Q
TR1=1;
3 W @# [0 B4 f$ [6 D% z" p/ w6 @ while(1);" L# P( L! z \
' y/ S% Y7 ^ |! z& n; W- J
Z1 _ `; K, g1 g$ |* D}7 @9 k7 Z' T) N; Z6 t
5 O& f, I" |) U. x- N/ Bvoid T1_timer() interrupt 3; W- ?% O! `! K6 O8 r1 P- r
{
* B; K& |- E5 K8 F TH1=(65536-1)/256;$ m3 G1 X- j/ C# L; c
TL1=(65536-1)%256;
/ T" ^+ C+ S7 G) y/ S out=~out;
7 m4 D5 d' a9 A% N8 \; v; s: T$ i // delay(1);" g: I1 e S8 u
// TR1=0;
+ c& L$ k. R4 C}
, V+ i. d% [$ x1 a, t
) O* W8 A3 v& H, U3 Q, |5 a& q |
|