找回密码
 注册
关于网站域名变更的通知
楼主: 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 + K9 N0 K# v+ k
刚买了开发板,正准备学,多谢
1 j5 A/ o) ~8 g4 o2 V; [  D
不用客气,尽量把pdf中的程序都调试一遍。遇到问题,可以直接问我。

该用户从未签到

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

该用户从未签到

20#
 楼主| 发表于 2012-7-14 23:48 | 只看该作者
刘芸 发表于 2012-7-14 23:22
9 r4 ~/ C( y0 r2 n. s' p$ V9 [真的非常感谢楼主!1我回认真学好的,

3 [7 w% _3 n+ _- V0 b2 a不用客气,只要用心学,你会发现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基础的如何去学,是不是还要去买开发板之类的是吧2 ]; w: i4 W' h+ b9 E7 c
* f2 p$ ]+ T. M1 p1 _& O
  关键是如何去学,先入门

该用户从未签到

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

该用户从未签到

26#
发表于 2012-7-25 16:38 | 只看该作者
我晕,这个不就是STC官网的资料嘛  拿到这来干嘛
* j* O  X& }6 H1 w$ v! r
6 ^+ l3 h" ~4 Q5 w学单片机不看手册是瞎学,手册看懂了单片机也就会了

点评

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

该用户从未签到

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

该用户从未签到

28#
发表于 2012-7-26 09:57 | 只看该作者
谢谢楼主.顺便请教个程序.我想用定时器中段实现两个数码管显示00--59;结果数码管一直显示00;不知道问题出在哪,
6 A0 ?+ }6 a2 o( ?程序如下:: A. H$ I. S5 {, H
#include<reg52.h>) f& Q( Q7 \' r5 m8 e7 G' y
#define uchar unsigned char         //定义uchar uint
- g* l3 J: p! G" _# ?, q#define uint unsigned int
  f  [1 a2 d6 D+ L( u1 U/ h  P8 esbit dula=P2^2;                         //定义数码管段显示8 d' k+ I- H4 _" ]8 _& u
sbit weila=P2^3;                //定义数码管位显示
) M4 b" _7 k. e) Buchar code table[]={                //定义数码管显示从0--9
. P3 K7 P$ b! y; G0x3f,0x06,0x5b,
' I+ j+ b5 c7 W6 ]- H+ ?- D, f0x4f,0x66,0x6d,
6 M0 H: @% y: ]; ~/ F1 ~0x7d,0x07,0x7f,0x6f};
. |- T2 Y/ K! I7 W  T- L7 Z( d6 T) L; t9 j. r5 V
void display(uchar,uchar);        //声明数码管显示函数4 i8 \  @& K9 U& z  X# X
void delay(uint);                //申明延时函数
0 B; e) D. d! A: k. ]uchar num,num1,shi,ge;
6 a* {+ H8 C- p' G+ g: ^) mvoid main()                        //主函数# E# f+ y7 z: k& k2 Z- f5 `
{
3 ^9 _0 B8 q, F8 ^# G- w6 @  TMOD=0X01;                        //定时方式选择
3 I$ x# h% t! E  TH0=(65536-45872)/256;        //写定时初值5 M4 l3 e# Y' B, f/ S! Q
  TL0=(65536-45872)%256;1 I+ }& \  b7 |
  EA=1;        //开启总中断- ]% ~* z6 S# h2 B' h) B
  ET0=1;        //开定时器0中断
% G8 |. y4 m1 A6 N  TR0=1;        //启动定时器0( H" ?2 {' t  B: {; j
  while(1)
  r( C/ {& Z0 _6 L; t  {  n. u; [4 N1 ]0 M3 G
    display(shi,ge);                //数码管显示函数
# b' Q  W; f2 \. u8 P# P  }( P( t4 U) X. `! a6 Z0 o# t
}
! L# F8 H5 b, i" T9 R& K6 `$ t$ l- F  P" @- z
void display(uchar shi,uchar ge)        //显示函数  l5 Z! M% @% P$ g( C8 @. W6 {
{
  J8 f  N  c2 M/ m   dula=1;                        //打开段选. r; Q- }3 P( g$ Y& Y$ {
   P0=table[shi];
' g& W8 Q, C4 T+ b6 u   dula=0;% a3 I0 C9 D- [% y5 z
   P0=0xff;                        //重置P0 防止数码管乱码+ e7 r" y! E0 O; {
   weila=1;
6 X6 X& H  M, h4 _! U   P0=0xfe;  C% b6 E- P0 k! L9 [1 J
   weila=0;: I4 T7 u1 T( j) a1 o* _/ d# ^
   delay(5);5 b4 U/ A% Q8 |8 Q
    d, v4 N: e6 Y, i% R
   dula=1;
' _! \: \* p/ O   P0=table[ge];; L" x: I5 N6 k- J* M9 h* x2 W. c
   dula=0;1 k4 V/ G! {$ S7 P, G, S+ {9 J, a
   P0=0xff;7 a" Q, n* N+ y, v0 K
   weila=1;, x' }' q* v: X9 L. @
   P0=0xfd;
9 `: b2 f" W8 Y5 b) m$ c   weila=0;/ i% ^* L8 u5 O. Z) f. ?3 A
   delay(5);3 R1 r8 x- o7 ~
}1 u' W! R" P, P

2 F) Y4 u9 t  D2 a. a# Nvoid delay(uint xms)    //延时函数 延时xms ms
3 @8 k; c4 g  Q5 i{, {! w+ _) h  e5 p. [9 r
   uint i,j;; i$ D- E; p3 I5 _8 Q$ ]
   for(i=xms;i>0;i--)  T: d1 |2 A1 p3 X2 p. U
    for(j=110;j>0;j--);
  l9 N( b* o/ H7 {) I, D8 Y }
; P4 F9 U, l& r" S8 ]* H# V: ]& E6 n( t* t
void T0_Time() interrupt 3   //定时器0中断 定时方式1
3 B% S9 ^& Y, e{( c  E8 _2 V4 i( j
TH0=(65536-45872)/256;* T- C8 P$ w: d
TL0=(65536-45872)%256;
5 l0 ~4 N: {7 b; s& v5 V num1++;
: I$ w& t. ^1 T! i if(num1==20)      //检测到1s了没有
0 J( R+ d0 [; ?, @! @) N   {
( z9 k1 O% I% U9 d4 S# Q: b2 C    num1=0;7 `1 I* t' P+ {8 f$ r8 S' `
    num++;
& ?7 S5 R; x4 b9 l" p  \    if(num==60)   //实现两个数码管从00--59
+ n' R" f7 ~8 }    num=0;+ M6 V0 l1 R: R8 I& m5 n
    shi=num/10;( V3 ~3 O6 W1 h
    ge=num%10;
! \  ?  H; Y2 t0 E    }+ q/ k6 _! o8 `+ h% L2 I
}

该用户从未签到

29#
发表于 2012-7-26 09:59 | 只看该作者
黑驴蹄子 发表于 2012-7-26 08:24 4 A1 x6 F/ T$ b9 i' G  u8 r+ J
手册当然是好资料,不是说我是不是老手的问题,单片机老手编程照样需要对应的手册,毕竟单片机编程是基于硬 ...
% S) p- r1 _0 i1 Q$ ~+ q. e5 g
呵呵  有道理  有空来帮我看看下面那个问题啊
  • 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-9-11 02:32 , Processed in 0.109375 second(s), 20 queries , Gzip On.

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

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

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