|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我是利用定时器来进行仿真的 下面是我的程序 我打算输出1US的方波但是结果却是40us
5 L% r. `4 n. |1 W% O4 E4 q#include<reg51.h>
, l( T1 o& e% ^9 l9 O#define uint unsigned int
/ ~6 j) |: Y3 k6 {! H. H% r1 ?#define uchar unsigned char
/ K: o5 |3 q# e& B/ m& A2 S0 ?sbit out=P1^3;8 H0 n+ @! i% u( m
uint num,N;
# ]' H* [4 o: B. p' |7 H) U6 fuchar FT;
, {# @8 S8 u% {& G+ s+ y G. u! Yvoid main(viod); p9 G1 C- @3 t, W
{
. T3 t' @ B! o8 k7 e EA=1;//全开
8 E. W( _8 N& @) w$ d# L7 } ET1=1;2 {# d4 R( X! d7 V b
TMOD=0x01;: i: Z5 t* d6 l- U1 w
TH1=(65536-1)/256;6 S d) t2 _( g' `
TL1=(65536-1)%256;
/ x! l* z1 P* m7 z //EX0=1;
5 G. G. v: V9 a2 P, z3 v( Z //IT0=1;
2 l7 v3 n5 e. ^+ G8 y// ET0=1;% V" U% L7 M' Z: O V
4 O2 _/ e2 m* d- J// TR0=1;; }2 {8 H2 [+ n% m, r$ H6 _
TR1=1;" H# V1 Z: A5 z$ A6 h9 t' `
while(1);) A/ M( j2 G6 s c0 l
, w3 o- L7 N3 r, @& L J
7 B5 r0 M& T: b6 ?) u q. ~! ]}
3 y( G" M- l- E9 i4 ] O! _5 g
# n6 V: q. X {) N, \" T* Uvoid T1_timer() interrupt 30 I- m3 e$ c* S+ c1 n
{ & g4 l4 O' u& p
TH1=(65536-1)/256;/ x' O# r( ^- e* w9 `
TL1=(65536-1)%256;* Z# A* D$ Z/ l/ C
out=~out;
+ n$ S1 G' {6 y( c* ^ // delay(1);
: j# j# W, Y' l- ^& j$ u // TR1=0;
: |) {) S# {. [" Q$ n}
# ?! V* i* h, q7 R1 F, e2 z
) Z# O7 K: ^2 R$ E$ r* ? |
|