找回密码
 注册
关于网站域名变更的通知
楼主: 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
# H; Q8 j0 T: q刚买了开发板,正准备学,多谢
6 s3 e' U% e& D& J7 c
不用客气,尽量把pdf中的程序都调试一遍。遇到问题,可以直接问我。

该用户从未签到

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

该用户从未签到

20#
 楼主| 发表于 2012-7-14 23:48 | 只看该作者
刘芸 发表于 2012-7-14 23:22 , o  I/ [4 q1 X5 [+ M9 a+ j, [
真的非常感谢楼主!1我回认真学好的,

" R, v. q. b: M不用客气,只要用心学,你会发现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基础的如何去学,是不是还要去买开发板之类的是吧
) ?$ v9 ^' C2 ?. h$ n1 E, }3 W6 O$ \- ]8 w; i& j
  关键是如何去学,先入门

该用户从未签到

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

该用户从未签到

26#
发表于 2012-7-25 16:38 | 只看该作者
我晕,这个不就是STC官网的资料嘛  拿到这来干嘛6 p$ j2 L1 z9 A9 _1 j4 k
" X" q+ v/ f/ U; N$ S
学单片机不看手册是瞎学,手册看懂了单片机也就会了

点评

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

该用户从未签到

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

该用户从未签到

28#
发表于 2012-7-26 09:57 | 只看该作者
谢谢楼主.顺便请教个程序.我想用定时器中段实现两个数码管显示00--59;结果数码管一直显示00;不知道问题出在哪,
9 P5 F. s* O9 o程序如下:5 `# H' z& ~" t4 @8 r
#include<reg52.h>
- k! `% i8 ~" b3 K. c; U#define uchar unsigned char         //定义uchar uint# k8 n! ?) L* `( n0 q
#define uint unsigned int. ~. }3 ]7 e" W( u3 ^
sbit dula=P2^2;                         //定义数码管段显示( }6 w. g5 N, f! h9 i# }
sbit weila=P2^3;                //定义数码管位显示
4 \7 n; Z; I5 e/ A9 b8 Xuchar code table[]={                //定义数码管显示从0--9
! N8 i9 O! }1 @0 D  E  B4 t0x3f,0x06,0x5b,5 e# n5 Q1 d5 {' ^. w
0x4f,0x66,0x6d,* F2 I' e; o+ L
0x7d,0x07,0x7f,0x6f};
% N2 W& P" _8 \8 f4 @5 h' T% Z( ~2 [8 E2 w  S2 I8 g
void display(uchar,uchar);        //声明数码管显示函数' t* v7 ]$ {; l/ C/ f
void delay(uint);                //申明延时函数4 e5 Q3 i; x+ R! O3 X
uchar num,num1,shi,ge;1 X1 R- F$ J( k6 z4 C
void main()                        //主函数
' E9 d1 {% u, q3 N/ B) n2 g{+ `1 M6 o7 V3 Z9 P' H% B: i
  TMOD=0X01;                        //定时方式选择
5 W- O% i5 T) I7 s6 s8 ^  TH0=(65536-45872)/256;        //写定时初值
1 b4 w) f( A1 x3 R+ U4 k  TL0=(65536-45872)%256;4 s+ ~1 O  @1 _- t
  EA=1;        //开启总中断
4 N9 X5 O9 _9 K/ Q  ET0=1;        //开定时器0中断
( U. S1 J- B- j0 U. `+ {  TR0=1;        //启动定时器05 E# G5 H: R) v5 _
  while(1)
( ?+ A/ l) ]/ [+ p5 k$ u  {
3 k! D/ J0 s" m3 D+ Z: j    display(shi,ge);                //数码管显示函数
# Q) V. T9 L( b  r0 i$ Y& Y  }
4 c: S( G/ U( i' T' x0 |( u}
( @0 b; p* m* v
/ H9 I5 k. B/ ^void display(uchar shi,uchar ge)        //显示函数
% g. `  E; M' V0 `% B0 \{0 X8 E: o1 M. @
   dula=1;                        //打开段选9 S8 T) l1 i: d! F
   P0=table[shi];
) b2 f( b' X9 J- b- n   dula=0;7 ]$ Q5 C5 |0 L& e3 ~
   P0=0xff;                        //重置P0 防止数码管乱码
2 ?# F% \7 e$ ~9 x" I4 `   weila=1;& B" {% L; s7 U3 Z5 O8 u, o
   P0=0xfe;9 H; h" D* Z1 \
   weila=0;6 d: [0 c: @! b+ n
   delay(5);
8 c# r0 R6 n& d$ ]  J% g9 c2 v% A  
& V6 v; I, r3 S   dula=1;
4 ~2 u# Q# A! ]   P0=table[ge];& W% b% n8 T2 g) i% W
   dula=0;* B. B5 w9 n7 g. P
   P0=0xff;
$ ]! v- P: h0 @   weila=1;
2 I# [8 ?8 g, v& r1 L4 L$ |   P0=0xfd;7 N) n) l7 x) X1 b
   weila=0;
0 n. I2 @# c8 w1 ?& N$ c  C   delay(5);1 E# b0 g8 }; O, W$ e6 @$ r
}
8 O3 O6 j  U# |4 S& I
" @8 F9 f( W6 g9 Y, hvoid delay(uint xms)    //延时函数 延时xms ms
5 X4 {, q( Y+ L{
! G7 ]: R; g' w" z8 o   uint i,j;4 _7 Q2 ^! e( P  U) @3 x
   for(i=xms;i>0;i--)2 ]( ^* Y- h' m; r
    for(j=110;j>0;j--);! j/ H& a+ c/ A0 y4 U
}' \. x  Z% d6 n4 x  y

4 E) }7 u, ]6 ?3 ~void T0_Time() interrupt 3   //定时器0中断 定时方式1
5 O* g2 o. n1 f. i2 B5 D{! Z. V) d7 b! i( o: b1 h, Y0 d
TH0=(65536-45872)/256;
' [' T! A( h) f3 {9 { TL0=(65536-45872)%256;
) {5 O  k* @9 G4 S: x num1++;. P5 ~% y! w9 V
if(num1==20)      //检测到1s了没有 9 b/ t: j5 V7 f" I, o
   {
, ]: ~0 S. |) P3 W8 P) u+ o    num1=0;
* G4 j- C4 w( r: m  X' s    num++;
3 G+ |: s" I2 M9 X3 D" u    if(num==60)   //实现两个数码管从00--59- o. F1 `& J, \; w
    num=0;( p, p1 P$ v4 ^$ c
    shi=num/10;
! N" K3 a+ T: P    ge=num%10;
0 F9 W& H( L2 B5 c6 H, m3 P5 a    }4 ^0 }9 a: x# f" F/ P# W
}

该用户从未签到

29#
发表于 2012-7-26 09:59 | 只看该作者
黑驴蹄子 发表于 2012-7-26 08:24   H3 e5 u* x" q& m+ Y( x$ u
手册当然是好资料,不是说我是不是老手的问题,单片机老手编程照样需要对应的手册,毕竟单片机编程是基于硬 ...

# D) T1 y" t4 W% \$ U, V: d. D+ j呵呵  有道理  有空来帮我看看下面那个问题啊
  • 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-8-21 09:29 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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