找回密码
 注册
关于网站域名变更的通知
查看: 650|回复: 1
打印 上一主题 下一主题

单片机寄存器赋值问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-1-19 09:37 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
#include<STC15F2K60S2.h>( w- ?$ ^1 {6 M" X& N  M
#include<config.h>" l! U8 G. \2 V
//×ó3ìDòμ÷óÃéùÃ÷
3 ^4 {% r! ~$ |extern void delay_time(unsigned int n );
# `3 e) }; [0 b1 e0 V* _//¶¨òå1|Äü½Å& B7 b6 Q0 `. O5 H* P& |
//sbit D1=P0;
* H) P1 A7 S" N! U1 R+ ~8 M4 p4 C' D! P& R! f0 v6 I6 h; O# n' ]
//¶¨òå×Ö·ûòaò壬àyèçAÎaÕûDíμÄààDí( y  ?  y% O! m! V  A4 n
//unsigned int a;
  i$ z8 `1 Y/ s5 |  l: I' H
7 {! G( H: d8 B& n5 o* }( O7 [//Ö÷oˉêy£»
3 D8 r2 R9 G  g% Evoid main()
  H3 {0 n7 R: X: s  Y{                1 i4 {" L% W, C- @; X
        P3 = 0x00;        ' a) J) ^& l0 n& G  q" p6 O# S
        delay_time(1);" {# Q+ {/ d. }/ W5 h4 T  v
        P3M0 |= 0x0C;   //sfr P3M0=0xB2;  /0000,0000 ¶Ë¿ú3ģ꽼Ä′æÆ÷0- t6 l1 u1 n2 \4 L$ C
        while(1)2 X* y) z* I2 l% |- i5 o
        {  6 K( ^( Q6 _5 Q1 F0 y& g
                pos = 1;, S4 D$ Y) A& p& B8 F" C
                delay_time(10);
3 b- D4 w, F4 t1 b                pos = 0;$ n1 T2 ^9 r2 O2 Q' i5 g  d/ s* H  @
                delay_time(1);
) Y. Z2 [4 @9 k/ S" x9 Y2 j                neg = 1;4 k, t4 q+ t5 f) z& _2 p, i8 x3 G
                delay_time(10);
/ o1 Q  ?( o$ r/ \  T# y+ i                neg = 0;
9 W, J( ?! B4 t                delay_time(1);1 C* B2 x8 u. t5 K. b2 T
        }. E/ d& z+ E5 d6 @
}
  C. \( u2 _/ J4 X2 \. @//′ËdelayoˉêyÖDμÄnÎaê±¼äμÄÃëêy£¬¼′n=5ê±£¬±íê¾Ñóê±5s£¬ÆäÖDn2»′óóú65535£», S. z. s2 L  o! \9 n8 o
void delay_time(unsigned int n )          & u7 O4 m: a# c
{! E/ i4 @. h* D: b
        unsigned int x;- i5 z3 @1 K6 c1 b7 L  H: _
        unsigned int y;
; u: i, u8 H0 i        unsigned int z;
+ x% k; l7 `0 h- R0 q        for(x=n;x>0;x--)$ S9 ]3 c6 J8 d8 h) ?) d" }
                {
/ A( s/ E7 p2 k7 u4 ]4 l) ^                        for(y=2;y>0;y--)        //′ËÎa1s£¬ê±ÖóÆμÂêÎa11.0592MHZ- M( P" G) k% p' e
                                for(z=57600;z>0;z--); 2 r9 Z) D/ F, F2 Z8 E3 |
                }
( Q6 g, o6 f, a) x6 S. V# `* ]- P}3 y/ c( u+ M* s3 z6 ~8 m5 x
以上是可以在硬件内出现想要的结果
& B+ B+ T% u0 q5 ~8 }/ H6 e#include<STC15F10x.h>' ?4 O: i6 }* Z
//×ó3ìDòμ÷óÃéùÃ÷
) Y5 Z% e; R/ t% k, B% x  m void delay_time(unsigned int n );) s* W& z9 j9 a, c$ C
//¶¨òå1|Äü½Å4 U: p: l+ w* i, a% i; o/ x; t
//sbit D1=P0;
4 E  A% n  ]$ h9 o2 Q' ~0 p- b
- _+ V& k( h1 U  \% Z& w0 r; L2 ?//¶¨òå×Ö·ûòaò壬àyèçAÎaÕûDíμÄààDí
5 r' p; P, ]4 h# u; d( a//unsigned int a;
* V0 g0 M! A( g1 U( e* k$ ?) m+ q
) c4 O5 ?$ ?) ]# T" I. a/ b( t6 ~//Ö÷oˉêy£»0 \1 }- J, \5 b8 K' N* c
void main()
  I% m2 |# F- D8 {$ U& N{       
* t- F, z6 [1 S        P3 = 0x00;        : t& D1 H* y5 \
        delay_time(1);
* T1 O8 V, f0 d* q( x        P3M0=0x01;  //sfr P3M0        =   0xB2;   /0000,0000 ¶Ë¿ú3ģ꽼Ä′æÆ÷0  R. y, Y$ H' ~) m
        while(1)
4 J7 X+ f/ M$ c' f* L/ B        {  
+ l" V0 I1 Q! x4 h1 ~                P3=0x04;% r1 t' W3 y3 P' |1 H5 V  m+ {4 R
                delay_time(10);
) V  g5 f- I2 L$ |                P3=0x00;+ Z7 n1 v: Q) M2 {" [0 p
                delay_time(1);
7 ^# R5 J5 `: y6 b" j: j                P3=0x08;, Q7 m5 W3 u" C- K7 O
                delay_time(10);& w: C2 l& M" h9 @( S
                P3=0x00;
/ j+ i. _, q. u/ V& O0 {# N, }, K                delay_time(1);% i0 b& i- G# |" c4 \" _$ G
        }; h3 E6 a9 k2 [; D$ Z
}
5 [+ S7 J' q0 O- M' i$ ~& X//′ËdelayoˉêyÖDμÄnÎaê±¼äμÄÃëêy£¬¼′n=5ê±£¬±íê¾Ñóê±5s£¬ÆäÖDn2»′óóú65535£»
* M( {% q0 Q3 H, U9 h& w! Hvoid delay_time(unsigned int n )          
( [6 c* Q/ y9 f* C) d1 u; n{' k* {7 o5 s: W' }% Z; G) R
        unsigned int x;
8 Y/ ~# ^/ M6 D* Z: R' |0 d4 O        unsigned int y;
' t! j! t7 V% T5 `        unsigned int z;
. |* @) i- ~" C5 s( e        for(x=n;x>0;x--)0 p; q8 I2 {% O5 `' @) a
                {
/ T" V: V! D+ w1 t8 k7 P1 O                        for(y=1000;y>0;y--)        //′ËÎa1s£¬ê±ÖóÆμÂêÎa12Mhz6 u. j7 X4 z4 F+ U! V" ~+ H4 i
                                for(z=1000;z>0;z--); ! R6 K- ]* v" ^( @9 J- Y
                }! u9 D( F; w& M: q! V) y- z7 U
}) w! c' v4 X( p) ~) W8 u: y
不能出现结果
! c. `( a4 ?" F) C# J4 M- ]; K7 |! y
想说的是  P3M0 |= 0x0C; P3M0=0x01;  两个都是置为推挽模式,有啥不一样,在寄存器的

该用户从未签到

2#
 楼主| 发表于 2020-1-19 09:41 | 只看该作者
这是推挽说明
3 F, E# o; v, t1 Y' ]3 R

123.png (233.39 KB, 下载次数: 5)

123.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-20 06:07 , Processed in 0.109375 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表