找回密码
 注册
关于网站域名变更的通知
楼主: ArthurGXH
打印 上一主题 下一主题

针对初学51单片机的资料,想少走弯路就看看 , 有问有答啊

  [复制链接]

该用户从未签到

16#
发表于 2012-6-23 19:21 | 只看该作者
谢谢分享

该用户从未签到

17#
发表于 2012-6-26 19:27 | 只看该作者
刚买了开发板,正准备学,多谢

该用户从未签到

18#
 楼主| 发表于 2012-6-27 21:28 | 只看该作者
hxs_ui 发表于 2012-6-26 19:27
! p; o, D# \1 ]0 b. c; G4 g: `刚买了开发板,正准备学,多谢
% G" h5 \  e8 ?! G5 R
不用客气,尽量把pdf中的程序都调试一遍。遇到问题,可以直接问我。

该用户从未签到

19#
发表于 2012-7-14 23:22 | 只看该作者
真的非常感谢楼主!1我回认真学好的,

该用户从未签到

20#
 楼主| 发表于 2012-7-14 23:48 | 只看该作者
刘芸 发表于 2012-7-14 23:22 * R+ m* A& n5 x% }5 C$ i
真的非常感谢楼主!1我回认真学好的,
% M+ V5 b- j& x( x! ?$ y) H
不用客气,只要用心学,你会发现51并不难。不懂就问啊。

该用户从未签到

21#
发表于 2012-7-16 14:13 | 只看该作者
太棒了 谢谢楼主  

该用户从未签到

22#
发表于 2012-7-17 16:04 | 只看该作者
谢谢分享

该用户从未签到

23#
发表于 2012-7-21 23:07 | 只看该作者

该用户从未签到

24#
发表于 2012-7-23 15:41 | 只看该作者
楼主,没有C基础的如何去学,是不是还要去买开发板之类的是吧
* V0 Y2 ~! O! p- Y' y- k/ {6 G
7 T8 @) e  E: y+ V1 t2 b2 ^& B  关键是如何去学,先入门

该用户从未签到

25#
发表于 2012-7-25 14:14 | 只看该作者
下来看看

该用户从未签到

26#
发表于 2012-7-25 16:38 | 只看该作者
我晕,这个不就是STC官网的资料嘛  拿到这来干嘛' ?4 |# @2 s& A: h8 @% v
1 a  u) G, N8 Y+ ^3 M
学单片机不看手册是瞎学,手册看懂了单片机也就会了

点评

我认为这个资料还不错,就拿出来给新手看看,再者说并不是每个新手都能找到合适的资料的。如果你是老手,请绕一绕。  发表于 2012-7-25 22:06

该用户从未签到

27#
发表于 2012-7-26 08:24 | 只看该作者
手册当然是好资料,不是说我是不是老手的问题,单片机老手编程照样需要对应的手册,毕竟单片机编程是基于硬件的

该用户从未签到

28#
发表于 2012-7-26 09:57 | 只看该作者
谢谢楼主.顺便请教个程序.我想用定时器中段实现两个数码管显示00--59;结果数码管一直显示00;不知道问题出在哪,, d' I8 n# C1 b0 s1 @, O
程序如下:/ ]6 T+ ~& u+ n' [0 J
#include<reg52.h>
% B9 D9 o2 ~) \6 ~#define uchar unsigned char         //定义uchar uint
/ J: n* K! x  p#define uint unsigned int
1 h: _9 ~) I' t) m6 Lsbit dula=P2^2;                         //定义数码管段显示
% v  v8 \$ e& x7 e4 x6 Vsbit weila=P2^3;                //定义数码管位显示$ J; M( o, Q1 U* r
uchar code table[]={                //定义数码管显示从0--9
* N6 k. v( A( j2 a* E, s& R5 @0x3f,0x06,0x5b,
/ o7 E1 F0 U6 H5 V$ y5 V0x4f,0x66,0x6d,% I2 v. B: c( M$ f
0x7d,0x07,0x7f,0x6f};, R, W0 V2 r5 [3 n' k2 f6 a
% ~* Z0 U1 S$ C
void display(uchar,uchar);        //声明数码管显示函数  L3 J: W( E: f4 M0 }, w
void delay(uint);                //申明延时函数
  r; Y: N  S( S- b+ C) Fuchar num,num1,shi,ge;
0 K/ N7 d& H1 _) e7 h3 ivoid main()                        //主函数
% z% J+ O2 L; Y$ C$ F" l' F{. E( O+ k9 c7 N
  TMOD=0X01;                        //定时方式选择
$ k; y9 F5 a5 B9 f4 m0 t  TH0=(65536-45872)/256;        //写定时初值2 B8 R6 G7 y& v0 b/ O2 Z
  TL0=(65536-45872)%256;& P  z3 X; W, G1 C/ b
  EA=1;        //开启总中断( N# d* h/ K' e4 L; ~
  ET0=1;        //开定时器0中断
& |1 Q# ~. I- s( c/ @  TR0=1;        //启动定时器0
9 D% r& p) g  F7 i  while(1)& g- F) R2 z/ [( A
  {
$ A% S0 p  M5 i8 F4 v    display(shi,ge);                //数码管显示函数
" C" n+ }$ J1 c8 o* x( R2 j  }; u8 @2 B4 r: G9 |
}
- e% _/ \% x: p7 n' J) b3 e8 {: l" p
2 A2 s% w, o* s. p; w  I) cvoid display(uchar shi,uchar ge)        //显示函数- [  x' y0 k8 n1 }
{
. k3 \( v" t- K# r7 e7 M   dula=1;                        //打开段选
* `$ `+ Z6 i; g# `, e1 e   P0=table[shi];/ @6 y9 G; j6 E7 y. d
   dula=0;
/ g6 S, e; Y/ w   P0=0xff;                        //重置P0 防止数码管乱码+ N* c% t1 V+ _* w, k/ I
   weila=1;- r# \& ?  I0 b9 \/ ^: e3 _
   P0=0xfe;
: C# r5 Y( ^& z& Q! M& P   weila=0;( y" \9 R: H) T
   delay(5);# B9 P, t( O$ f7 w+ O7 i( F
  * W: b) h8 ?. t5 c+ ?
   dula=1;
5 y6 D; l0 V3 C$ t  C& m   P0=table[ge];0 M; p, f8 d' X3 N
   dula=0;9 B9 o! @8 o' a! O9 }8 s
   P0=0xff;/ f8 x. j8 V; f: g+ t5 H
   weila=1;
+ g; }8 J( `) G' Z- f   P0=0xfd;1 u0 d  s6 U, S8 R0 q1 c
   weila=0;
  h5 a; I* \  D  h9 q6 E- P   delay(5);
' a3 L9 k0 v# }2 t}
4 x) _: E  J/ h6 F  X- l4 ?$ q
8 j& ?; k* S8 W5 tvoid delay(uint xms)    //延时函数 延时xms ms0 O( y# {& j% F  u
{+ o7 z% ~0 M+ Q9 x
   uint i,j;
8 {. \  u) |5 k' }; b9 s6 }& X   for(i=xms;i>0;i--)+ e! G2 j8 s; g5 \! S# x
    for(j=110;j>0;j--);, W! C. ?2 y" o% G( Y, T
}
4 }% @2 F5 l0 W4 q4 {% F( [8 h& l+ Y1 _  L6 m; K
void T0_Time() interrupt 3   //定时器0中断 定时方式1
' C" Z! n% Y9 @+ ?  @{5 N& \) i$ g# B' i3 r& z
TH0=(65536-45872)/256;( A- n; w4 |: {" H3 f' k
TL0=(65536-45872)%256;
8 z8 X  y+ U4 |0 P num1++;
" ~) f  T' W6 X: v* n" Z  `- Q5 d' ` if(num1==20)      //检测到1s了没有 + f, |& \/ d: o9 d- D6 z) w
   {
' F% ?* @( z( M" q% z  }, E    num1=0;/ m2 A+ I6 m% E' O5 i$ n
    num++;4 [0 X$ K* _$ P9 y
    if(num==60)   //实现两个数码管从00--59$ I( T2 }8 G! t5 Z  _3 c
    num=0;
8 t! w1 ]3 p4 \, z8 a  j    shi=num/10;
* v, \) D4 u+ e5 x! D  e- s) R    ge=num%10;4 N' f2 e% H3 A
    }; q8 y7 h8 ?. r8 Q: C
}

该用户从未签到

29#
发表于 2012-7-26 09:59 | 只看该作者
黑驴蹄子 发表于 2012-7-26 08:24
" ]; J  R( S& M7 T& X9 ~) W5 _% O2 s手册当然是好资料,不是说我是不是老手的问题,单片机老手编程照样需要对应的手册,毕竟单片机编程是基于硬 ...

2 V. \- M- \  a6 L, c" e呵呵  有道理  有空来帮我看看下面那个问题啊
  • TA的每日心情
    开心
    2020-5-24 15:59
  • 签到天数: 1 天

    [LV.1]初来乍到

    30#
    发表于 2012-7-26 15:54 | 只看该作者
    说实在的,如果工作中用STC的,还是要慎重,谁用过谁知道,学习之用还行!
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-10-11 05:01 , Processed in 0.125000 second(s), 24 queries , Gzip On.

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

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

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