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

单片机寄存器赋值问题

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
#include<STC15F2K60S2.h>
7 D. }. Z! \( h. M0 d#include<config.h>
3 }' Q- J! T: O/ e& s //×ó3ìDòμ÷óÃéùÃ÷0 {0 k4 U6 C1 R& y
extern void delay_time(unsigned int n );
9 g9 Z' B% [6 C/ F- r  s//¶¨òå1|Äü½Å
1 P+ e- Q' `8 H* x* F//sbit D1=P0;
& z5 q! C  o4 j$ m: k7 C# ^+ n& D' j2 p! M5 c# p' o
//¶¨òå×Ö·ûòaò壬àyèçAÎaÕûDíμÄààDí8 V0 T" E* N( F' X3 j
//unsigned int a;- t/ j* X( V  s1 s4 y  ^3 k% f

2 D' g' h* m7 Y  l( Z7 w, Z) z//Ö÷oˉêy£»+ F5 U1 N$ \$ ]* T% W3 I/ n
void main()
4 T/ N% W5 y: W" }4 v. N{               
+ ^( P4 N* A8 y! b        P3 = 0x00;        / e: w/ f0 p5 N( ?: D. I
        delay_time(1);
+ i  |8 Z+ ~% j; ]& S3 L        P3M0 |= 0x0C;   //sfr P3M0=0xB2;  /0000,0000 ¶Ë¿ú3ģ꽼Ä′æÆ÷0
/ q: X7 V- {5 w4 v# B        while(1)
& Z2 Y- Z+ Q2 {* _3 v  l        {  
8 u) T* ~+ g* D  y, X( g( N; s                pos = 1;1 q' D& ]- Z; ]4 ]  Q1 V' V  J: h% E
                delay_time(10);+ }/ G  a9 G4 A9 @& l0 q
                pos = 0;2 Z0 }4 U4 f, W& q" u! ?3 b' p" p
                delay_time(1);
( x! f6 _  e/ Q4 \                neg = 1;& f4 A  q5 ?, S9 M
                delay_time(10);7 A  y$ Y1 C& n/ ?% I' {  h: e: }. t$ D* M
                neg = 0;% j2 m& H2 ~  ^  y4 b
                delay_time(1);) i& `" l+ S" B9 K( k
        }+ z/ v: W2 h( X+ B# y0 ]
}
$ A- @' z. c0 v! Y//′ËdelayoˉêyÖDμÄnÎaê±¼äμÄÃëêy£¬¼′n=5ê±£¬±íê¾Ñóê±5s£¬ÆäÖDn2»′óóú65535£»
$ p! T! Y/ L: E" Uvoid delay_time(unsigned int n )          
4 M: C- A1 F5 v/ R. N' h- a{
: X" g1 p0 d7 I( A; X        unsigned int x;& B7 {; S$ P4 X( {" S# F
        unsigned int y;
1 U# f3 m1 O* G* T1 i        unsigned int z;
; k/ R, M0 A1 f8 r; J        for(x=n;x>0;x--)
/ ]& _8 O8 ]; `& [7 e: g, K2 j                {
' Y# y% p2 U  f  t                        for(y=2;y>0;y--)        //′ËÎa1s£¬ê±ÖóÆμÂêÎa11.0592MHZ
3 @, k. I8 ~; b                                for(z=57600;z>0;z--); ' @# K- n& m" u; I: u8 }0 g/ K
                }1 m- R6 I  g" @( d5 i8 h
}1 G( b- J% Z1 J$ a* W3 E
以上是可以在硬件内出现想要的结果7 K, D3 f5 {3 }% H9 e$ z
#include<STC15F10x.h>
, n/ R" K: }$ V- V! x //×ó3ìDòμ÷óÃéùÃ÷0 |  _# u  i0 I' d* X& t
void delay_time(unsigned int n );( B( e- P) F7 f  J6 H
//¶¨òå1|Äü½Å
1 Q& ~4 t$ Y% }) O" o//sbit D1=P0;( B- ]0 u5 a; d
# ]; W4 n/ G, n$ s1 d
//¶¨òå×Ö·ûòaò壬àyèçAÎaÕûDíμÄààDí) x# Q7 U, X- a4 o) @+ h
//unsigned int a;
/ V% C) `6 _& t. @% q- o$ L  W) H/ x; W
//Ö÷oˉêy£»/ C) e) Z- [" V: E! y" o! Q4 W6 e
void main()
$ e6 S) i) e! R+ Z! ?+ m{        2 @( T; p# [5 m& H
        P3 = 0x00;       
2 O+ ^1 a6 j9 E        delay_time(1);7 H& U9 `$ i; r* \3 f
        P3M0=0x01;  //sfr P3M0        =   0xB2;   /0000,0000 ¶Ë¿ú3ģ꽼Ä′æÆ÷0
& @3 i9 R% @0 _0 x# ]+ D        while(1)& }5 Z1 o2 o$ ~' Z) O3 q  |; N* d
        {  , k  L) r! l$ j- g  H
                P3=0x04;
9 r( B2 b7 e, `# {5 [( L                delay_time(10);! F3 t* @, w$ B9 T6 }6 d$ ~/ h
                P3=0x00;; B- q6 H% @- z6 J
                delay_time(1);3 Y  G- O7 o. j) \
                P3=0x08;
, L* M' `' x2 ~; e2 c; o                delay_time(10);7 f2 B3 I; t, {
                P3=0x00;3 G# Y, x# W) `" `3 ~* d
                delay_time(1);
" v( \' `8 S3 S        }
1 A$ B# A4 U( `( v! h: W}+ b+ X' r' t$ k! K5 G% K
//′ËdelayoˉêyÖDμÄnÎaê±¼äμÄÃëêy£¬¼′n=5ê±£¬±íê¾Ñóê±5s£¬ÆäÖDn2»′óóú65535£»
: r3 O7 O! t9 u+ xvoid delay_time(unsigned int n )          
- o7 ~; ^! G' [2 @{
- {' @- v5 a4 i! l4 d8 s        unsigned int x;" ^- h5 c/ J+ a8 ]; }
        unsigned int y;6 w1 L. k5 w6 Q. L1 f
        unsigned int z;6 w6 v: T1 H) t! L1 K* E) |5 ]$ D
        for(x=n;x>0;x--)
8 G, M& L5 I( p. n; s7 C! w1 N4 E2 }                {* t# ]8 K0 a2 |2 \4 R
                        for(y=1000;y>0;y--)        //′ËÎa1s£¬ê±ÖóÆμÂêÎa12Mhz
/ S4 C5 b2 {' ~2 A" Y                                for(z=1000;z>0;z--); 7 v4 ~7 H+ b: @* B
                }, N. Q8 z) J( W, n# c) R
}
2 G( x* d% F6 K# V: W0 E3 m不能出现结果
5 \4 Z  \3 A) n+ p1 S8 d0 X: Z4 K/ c2 G, A7 r5 B7 W0 L1 n, n( U0 b' `: C
想说的是  P3M0 |= 0x0C; P3M0=0x01;  两个都是置为推挽模式,有啥不一样,在寄存器的

该用户从未签到

2#
 楼主| 发表于 2020-1-19 09:41 | 只看该作者
这是推挽说明
" m) e# s3 c' Y$ g& X. l; S

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

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-4 23:56 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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