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

单片机寄存器赋值问题

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
#include<STC15F2K60S2.h>
' Y- Y% n( u2 V5 w$ G  `* ~! Z. K9 B#include<config.h>$ P+ E, a9 E, i
//×ó3ìDòμ÷óÃéùÃ÷$ x  i1 H8 }$ }% ?. Y5 h; @- b9 G* ]
extern void delay_time(unsigned int n );0 U/ \5 v7 k/ E) [
//¶¨òå1|Äü½Å
3 D" c8 E) X9 a6 |6 D% [3 `//sbit D1=P0;$ ]" U: W2 B8 e5 P" o
6 P% Q1 @, ^- c/ y' N) S3 A
//¶¨òå×Ö·ûòaò壬àyèçAÎaÕûDíμÄààDí
; i# L- K5 u, w4 h4 k//unsigned int a;' ?, b5 d2 ?/ R2 j/ [; w9 c

" T9 u2 F& R, m6 [$ @//Ö÷oˉêy£»
( a9 P2 m( g1 p4 f- Y6 bvoid main()
$ d6 i. }% }+ G0 d4 H{               
7 H/ i" a/ w/ [! H) d' U# u/ K9 h        P3 = 0x00;       
, S" D  u0 P9 i6 A# X        delay_time(1);
9 P: A: ^2 n4 ^% n( M* f        P3M0 |= 0x0C;   //sfr P3M0=0xB2;  /0000,0000 ¶Ë¿ú3ģ꽼Ä′æÆ÷0
2 H$ J2 L* n1 s* w( x' A- `2 P        while(1)) O4 O0 ]  ~( k* {8 M5 d* F7 y
        {  
6 G9 Z3 @! h+ E- X1 E/ a. C) Y                pos = 1;
7 v. S2 _; K% C; W                delay_time(10);
* w0 L6 ?9 |9 m/ s, ^  p! E# d                pos = 0;
) L2 G! P8 a5 O5 U& f; c# q                delay_time(1);
" |+ }4 N% |9 Y3 r( V8 F& p( \, T9 X                neg = 1;
' M9 L8 [8 ~+ ^9 u0 n! I( c                delay_time(10);( m2 |, y/ S3 y, Z8 @+ I' W
                neg = 0;
3 Y& p/ c' _& `& Q0 v                delay_time(1);
. _/ K0 @! J2 _. A. z, }: ?        }' k' o8 |! @/ R6 _6 M
}
9 M* k' Y. W! m; T$ o8 g" O5 {//′ËdelayoˉêyÖDμÄnÎaê±¼äμÄÃëêy£¬¼′n=5ê±£¬±íê¾Ñóê±5s£¬ÆäÖDn2»′óóú65535£»
) |7 v2 N3 y) D+ j# H  B+ O# v, lvoid delay_time(unsigned int n )          
4 P$ U7 c" _. F9 E{& M6 J7 X% D" E1 h$ L! S
        unsigned int x;
5 W. N/ s, S' @8 j! E        unsigned int y;6 R5 c) }; @2 o8 W
        unsigned int z;% v* l# w, {9 H7 }, s
        for(x=n;x>0;x--)
/ N; U/ I$ a  L) A                {: M1 N7 J% D+ R' e% c3 E
                        for(y=2;y>0;y--)        //′ËÎa1s£¬ê±ÖóÆμÂêÎa11.0592MHZ0 A$ V4 w) x) e) _- Q
                                for(z=57600;z>0;z--); / A/ g3 S- j" L+ f5 t5 u
                }7 o8 I& q1 e0 w  U1 G
}
# U8 ?7 x0 T. s以上是可以在硬件内出现想要的结果
9 D' D4 ^+ U5 F5 c+ R! Z#include<STC15F10x.h>& A2 I) u- |- X" m( d
//×ó3ìDòμ÷óÃéùÃ÷
% ?" P2 s" h, ?' f( h/ L void delay_time(unsigned int n );
( K+ _& b5 n# b; t* c0 X! y- S; J7 d//¶¨òå1|Äü½Å
& s5 K2 Q+ u; Y' m, U//sbit D1=P0;
) V/ f" k0 X5 @/ U- e) Z. b: f# m1 e7 F
//¶¨òå×Ö·ûòaò壬àyèçAÎaÕûDíμÄààDí0 U3 a+ R9 x! a( ~  f6 O! U
//unsigned int a;$ I1 a# ~$ x, e4 {2 H# o' n+ ^

- o! {1 R( i6 V  m4 c7 O//Ö÷oˉêy£»1 ^9 P& Z7 p. m) [9 `* T2 l$ n
void main()' F4 {& ~* H% s; A8 a
{       
. h7 y9 u  m7 C: P) T5 h/ m, a        P3 = 0x00;        , h' z# o- i7 P9 U( J( X( i
        delay_time(1);
7 C' D! ]" q# n8 x* a        P3M0=0x01;  //sfr P3M0        =   0xB2;   /0000,0000 ¶Ë¿ú3ģ꽼Ä′æÆ÷0
! F( k+ f9 [9 e9 I2 i4 n        while(1)! e6 L& F) R% M% z% O4 r+ h
        {  8 k6 y$ q$ U# p2 X9 k8 u! f
                P3=0x04;+ m1 V+ Z  e' v& U( X
                delay_time(10);$ ^5 A8 d; h7 {4 }$ f% {: h
                P3=0x00;7 y* `/ u- F+ @8 [( F9 `$ Y9 \
                delay_time(1);1 j& b% D9 c# `& k. }
                P3=0x08;
3 Q. Q# H9 T6 A3 o1 p                delay_time(10);! T/ n' ~( x3 |$ f4 h- s
                P3=0x00;
( [  n( x1 M3 h. a2 ?  a  x                delay_time(1);
# ]: J( k# h, @! D: @* @        }
; \+ S8 e2 G5 I4 G$ a4 {0 A}% _! B) v' D- v8 I1 w
//′ËdelayoˉêyÖDμÄnÎaê±¼äμÄÃëêy£¬¼′n=5ê±£¬±íê¾Ñóê±5s£¬ÆäÖDn2»′óóú65535£»
+ b0 Y3 T& u# z9 R7 Z, [void delay_time(unsigned int n )          1 r4 Y$ Q1 s6 g) p
{$ ^+ f4 j8 c- ~: T& @4 w0 E
        unsigned int x;; y1 J) }; J; Y3 w" Y4 _
        unsigned int y;3 b* a- p  ~4 h( v
        unsigned int z;/ S3 R. E  L( B3 X: @
        for(x=n;x>0;x--)
$ [# r# @/ ]- N. s                {
3 L: m; B- b% {1 \! m                        for(y=1000;y>0;y--)        //′ËÎa1s£¬ê±ÖóÆμÂêÎa12Mhz1 ?4 Q# |9 T  S) L
                                for(z=1000;z>0;z--); , ?2 }+ f% ^, x3 |) U+ R" Y% m; o) X
                }
9 b. v. T8 U8 ^% e) s}* _! v/ N  i+ F5 c9 [& b  c5 C
不能出现结果! p* V4 Z  s& \0 @6 b

, I( F9 k) @" q  A5 Y- Y3 l8 m想说的是  P3M0 |= 0x0C; P3M0=0x01;  两个都是置为推挽模式,有啥不一样,在寄存器的

该用户从未签到

2#
 楼主| 发表于 2020-1-19 09:41 | 只看该作者
这是推挽说明
0 C1 C  }) T9 _1 g/ Y  g

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

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-4 20:53 , Processed in 0.125000 second(s), 27 queries , Gzip On.

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

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

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