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

单片机寄存器赋值问题

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
#include<STC15F2K60S2.h>- l1 e% l0 N( h% T% Q: J( E; y1 [, y
#include<config.h>) Z( R) |1 k3 |( |+ Y
//×ó3ìDòμ÷óÃéùÃ÷
, z3 j6 }8 y' \) b( Q( s( Gextern void delay_time(unsigned int n );
% l, L# e) ?$ l2 U+ s% H//¶¨òå1|Äü½Å+ ]  }: G- H+ w5 U5 O! e0 E
//sbit D1=P0;
; a- f3 @  D$ {0 Y" D
* e9 K$ L5 A! H5 Z+ }! W+ m//¶¨òå×Ö·ûòaò壬àyèçAÎaÕûDíμÄààDí! |7 {( L! r+ H) C* p
//unsigned int a;6 ~6 Y/ }# Y& _' [( _8 n! J9 t
: }! |) D1 C4 H+ x+ w7 ?
//Ö÷oˉêy£»
& q2 U8 K' H2 f. W1 J$ n# R8 Vvoid main()2 A2 g' A' |3 G0 u* D  ?
{               
: T, D& w7 R. u. }4 b, [        P3 = 0x00;        1 A& J3 E. @3 Z4 q: @! n1 L: M5 ?
        delay_time(1);& v# c+ Z8 O8 l% v  v7 ~- P7 \# c
        P3M0 |= 0x0C;   //sfr P3M0=0xB2;  /0000,0000 ¶Ë¿ú3ģ꽼Ä′æÆ÷0% |) q* A6 N) B
        while(1)
" K7 ?. }0 @; m        {  
  T  r' D2 w- O+ h1 q1 a                pos = 1;) s# \- W6 i& N$ e, f
                delay_time(10);) w2 w7 |: J( x+ Z
                pos = 0;
, |4 V0 F9 ?- \1 T                delay_time(1);
7 N& O2 i& M: R; E                neg = 1;
# K' T- e" P1 ~                delay_time(10);) p9 p: A3 v' G! t" d3 O1 z
                neg = 0;
7 c1 ~& T4 q; b# S' i, l7 _                delay_time(1);
' i! A$ F3 u0 ^, H. P- ~; r9 ^1 c        }# h: O+ O/ e2 g! a) |5 Q
}
9 x; O9 J7 t, b1 f( o//′ËdelayoˉêyÖDμÄnÎaê±¼äμÄÃëêy£¬¼′n=5ê±£¬±íê¾Ñóê±5s£¬ÆäÖDn2»′óóú65535£»
" H7 h' f& A9 O. Q2 _9 hvoid delay_time(unsigned int n )          4 [  M; f8 j' ~& ^2 m8 W
{
# ]* e* }4 p: A- f. T5 J0 K        unsigned int x;
4 d& A! ?* l) y        unsigned int y;2 ]8 [. c& C$ g% t2 \" n" n. d# j
        unsigned int z;
5 V7 ^: p4 k6 ?- h        for(x=n;x>0;x--); ^, V- z  t5 [) Q% ?* r( v  |
                {4 C8 T( j& D/ i. \
                        for(y=2;y>0;y--)        //′ËÎa1s£¬ê±ÖóÆμÂêÎa11.0592MHZ
1 ]1 J9 o& u" d( e$ T3 N! v/ i                                for(z=57600;z>0;z--);
  m0 \6 `4 A  Y2 U+ g; q  ^5 s                }2 l+ g9 F! a1 r' x9 f
}
8 X& @, I8 I& I  {以上是可以在硬件内出现想要的结果" p* m& H# u% h2 d" j
#include<STC15F10x.h>
9 e" f) y! L# B+ q9 b5 z& k+ y //×ó3ìDòμ÷óÃéùÃ÷6 s) d& j) S! M+ y% X
void delay_time(unsigned int n );' H4 L" B' p  O' j: M. D; r& \; ^+ M
//¶¨òå1|Äü½Å$ X( n# L4 c7 q7 q- i
//sbit D1=P0;
0 S, u" X  A" g  |/ g9 i2 x* h1 d. R' i. @. V$ @
//¶¨òå×Ö·ûòaò壬àyèçAÎaÕûDíμÄààDí
  L$ g& U1 Y9 O" X: Q//unsigned int a;
5 |- z9 _1 O7 ^, u+ q7 z( |0 w7 ^- H- D0 u* ~
//Ö÷oˉêy£»! [" M+ A' |& A, H
void main()
; c/ f& G/ O- s* h& q# ]5 g{        - \" k# U! R7 ]- }
        P3 = 0x00;        4 E8 G& V, e) r, h! ^0 P2 k2 \
        delay_time(1);, d) v' S0 y( K1 @( j; o( G1 I
        P3M0=0x01;  //sfr P3M0        =   0xB2;   /0000,0000 ¶Ë¿ú3ģ꽼Ä′æÆ÷0: h. R  W* ^* y/ t
        while(1)
- O2 n( j5 M, O* t! j/ P0 g: e7 m        {  
) T# f( j6 E, k' w+ t                P3=0x04;/ W* s  e$ e! C8 w* n
                delay_time(10);& f) `' h, l4 z* Y! y8 S
                P3=0x00;
( _/ y4 E2 X/ ]- C* k  L5 E( Y5 A                delay_time(1);6 T! |: K# e/ g+ U. z
                P3=0x08;
1 d8 Y  Z& L; Q* g1 w2 r, [                delay_time(10);
& k/ C; X) P* L4 O$ V                P3=0x00;
# N% w4 @( r7 N2 W3 X' r# `                delay_time(1);: {6 c" V3 t5 @; b9 A/ @+ ~
        }. o  ]4 w0 _+ R9 I& Z
}, N4 n( s4 |% r! O$ O" r
//′ËdelayoˉêyÖDμÄnÎaê±¼äμÄÃëêy£¬¼′n=5ê±£¬±íê¾Ñóê±5s£¬ÆäÖDn2»′óóú65535£»0 R3 D# M  M# r4 j0 J
void delay_time(unsigned int n )          2 G! x% E$ s  _2 K" G
{6 Y0 p" Y' x9 H. m+ N& V
        unsigned int x;) f" k( e0 w% S2 H
        unsigned int y;8 }2 T: r7 p* K: P
        unsigned int z;% D# ^- }3 P1 x% b4 @9 T
        for(x=n;x>0;x--)* |# N6 P( H; g+ Z
                {2 Z; p' Z  O4 w2 j! a  A
                        for(y=1000;y>0;y--)        //′ËÎa1s£¬ê±ÖóÆμÂêÎa12Mhz
6 p0 E7 Z3 Y! }% S4 ^( D                                for(z=1000;z>0;z--);
% `$ {3 o% \4 F0 w9 o! @2 b5 u                }
. B) X- Z( q3 A& ~}3 H  }  W; D: t; M5 M. g
不能出现结果; o, f. ?$ _. z$ X6 c
- h  j" ?( w8 t* \0 n
想说的是  P3M0 |= 0x0C; P3M0=0x01;  两个都是置为推挽模式,有啥不一样,在寄存器的

该用户从未签到

2#
 楼主| 发表于 2020-1-19 09:41 | 只看该作者
这是推挽说明
, W7 g5 p; T' f$ {

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

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-17 18:04 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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