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

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

  [复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-2-16 20:19 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您登录!

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

x
本帖最后由 ArthurGXH 于 2012-2-20 21:39 编辑
: o' M. _6 m& l: L, F+ i
3 P9 d$ C: E) L% z首先我要声明的是,此帖不是做广告,不是宣传某种单片机。我仅用这个公司的单片机做过一个产品和一个工具。他们的资料非常好,比一般的书籍好。

STC89C51RC-RD 系列用户手册.pdf

4.65 MB, 下载次数: 26149, 下载积分: 威望 -5

该用户从未签到

推荐
发表于 2015-9-7 08:51 | 只看该作者
这个资料下载来看看

该用户从未签到

39#
发表于 2012-11-27 10:26 | 只看该作者
路过,看看

该用户从未签到

38#
发表于 2012-9-29 11:30 | 只看该作者
多谢分享

该用户从未签到

37#
发表于 2012-9-28 14:22 | 只看该作者
多谢这位兄弟,我也在学习阶段。

该用户从未签到

36#
发表于 2012-9-26 09:13 | 只看该作者
谢谢分享,现在正在学习单片机,希望有帮助。

该用户从未签到

35#
发表于 2012-9-21 23:53 | 只看该作者
没玩过单片机,只画过原理图。。

该用户从未签到

34#
 楼主| 发表于 2012-7-27 22:29 | 只看该作者
zhuxiaoxing 发表于 2012-7-27 09:55 1 K1 J+ N' _0 R; U. y0 R$ {/ r( u
谢谢  已经找到答案了  定时器0中断写错了  应该是interrupt 1

. I# h# h" k% V1 J3 w2 W% _( ]: ^不用客气,找到问题就好。

该用户从未签到

33#
发表于 2012-7-27 09:55 | 只看该作者
ArthurGXH 发表于 2012-7-26 21:44
0 w9 S$ Z! m) Y( Z( v# `/ W9 R以后请附上原理图,否则别人也只能猜测2 M3 c( X/ v! E: _4 Y  T7 `( @
调试方法:   
: t* t9 s  y" l+ N4 v. G, Q    1.  猜测display函数有问题,dula、weila ...
' ]2 Q6 C2 [9 x. w
谢谢  已经找到答案了  定时器0中断写错了  应该是interrupt 1

该用户从未签到

32#
 楼主| 发表于 2012-7-26 21:44 | 只看该作者
本帖最后由 ArthurGXH 于 2012-7-26 21:51 编辑
7 d% g: `& t, J) R+ I0 H
zhuxiaoxing 发表于 2012-7-26 09:57 2 C" {" h& \- S- A( \; ^; H
谢谢楼主.顺便请教个程序.我想用定时器中段实现两个数码管显示00--59;结果数码管一直显示00;不知道问题出在 ...

# t0 d  k. ^6 l9 E6 p3 W  w! D$ o) `/ U9 |$ f9 K- D
以后请附上原理图,否则别人也只能猜测
, M$ _1 y) n2 Y0 w调试方法:   
0 j& O' G! F7 Z9 F    1.  猜测display函数有问题,dula、weila是公共端,P0是a~g段对吗?  P0=table[shi]; P0=table[ge]; 应该是要显示的数据,显示了并没有延时,而是再一次又一次的赋值,再延时,这样查表显示的内容根本看不到,而是看到后面的定值(当然有锁存器的例外)。
" b0 A2 L. e$ U7 v! }* B/ f* C    2. 验证一下中断是否正常工作。若没有仿真器,可以在程序的每秒处亮灭LED 或通过串口发送一些数据到电脑。  V* X  R% ^8 D
    3. 充分发挥想像力,一点一点的缩小范围。) C+ u8 |- y/ W; _0 ]  f  \* s

该用户从未签到

31#
 楼主| 发表于 2012-7-26 20:59 | 只看该作者
本帖最后由 ArthurGXH 于 2012-7-26 21:50 编辑 , V  d6 o. s/ s5 W6 g  g
tony_wuy 发表于 2012-7-26 15:54 ; Y, u& E% {! v# U% E) |
说实在的,如果工作中用STC的,还是要慎重,谁用过谁知道,学习之用还行!

) \- [, r+ l, r6 r
& Y! J0 a/ C/ O5 m0 c很多人对我说最好别用STC的芯片,包括PIC的技术支持、实习的研究生等,但是我做了一个产品,什么问题也没有。想当年,用台湾民用级的芯片也一样做出稳定的产品,何况是STC的工业级芯片。所以只要有人对我说他用STC芯片出了什么问题,我都会说是你的设计有问题。 不过现在我很少用51,改用功能更强的PIC、ARM。
  • TA的每日心情
    开心
    2020-5-24 15:59
  • 签到天数: 1 天

    [LV.1]初来乍到

    30#
    发表于 2012-7-26 15:54 | 只看该作者
    说实在的,如果工作中用STC的,还是要慎重,谁用过谁知道,学习之用还行!

    该用户从未签到

    29#
    发表于 2012-7-26 09:59 | 只看该作者
    黑驴蹄子 发表于 2012-7-26 08:24 0 p' _# A: R9 v5 I5 u1 |3 Z
    手册当然是好资料,不是说我是不是老手的问题,单片机老手编程照样需要对应的手册,毕竟单片机编程是基于硬 ...
    4 d" l! z" c* R- Y
    呵呵  有道理  有空来帮我看看下面那个问题啊

    该用户从未签到

    28#
    发表于 2012-7-26 09:57 | 只看该作者
    谢谢楼主.顺便请教个程序.我想用定时器中段实现两个数码管显示00--59;结果数码管一直显示00;不知道问题出在哪,
    & W+ _/ R, N+ ~* W, \/ R& g程序如下:
    0 r1 G0 k" x0 q: k- @5 K; [3 u5 _) B#include<reg52.h>- `* R) f; k/ K3 x2 Q$ F& _- l8 r0 ^
    #define uchar unsigned char         //定义uchar uint
    + @. b9 X6 A" i" O#define uint unsigned int6 u8 _' b; a* R6 M  l
    sbit dula=P2^2;                         //定义数码管段显示" ]5 n, M, j$ F' N: k
    sbit weila=P2^3;                //定义数码管位显示: B0 U- A& @/ \# i
    uchar code table[]={                //定义数码管显示从0--9
    / J  A/ A' E- M* ?6 R. L2 o4 t' l0x3f,0x06,0x5b,
    : |- d1 e+ e3 {# B0x4f,0x66,0x6d,8 D' M% S/ s! p5 D' o# P: m
    0x7d,0x07,0x7f,0x6f};2 r( e3 Z, K: |; w: |8 l
    3 V& x" ?( w6 \# u
    void display(uchar,uchar);        //声明数码管显示函数
    ; Q/ K, A/ |6 Q' fvoid delay(uint);                //申明延时函数
    $ }# _3 H) y- r6 }5 nuchar num,num1,shi,ge;7 L# K! C9 I. V4 ~
    void main()                        //主函数0 e, ]8 e0 ^: p; i
    {' B; q) J# h9 C9 B
      TMOD=0X01;                        //定时方式选择
    " }2 }8 |4 v9 I: Q! C  TH0=(65536-45872)/256;        //写定时初值8 D8 j: Y% Z3 b% ?1 e3 @
      TL0=(65536-45872)%256;
    ; L! [* v. q0 v  EA=1;        //开启总中断" H: W" k( ]3 {6 W9 u
      ET0=1;        //开定时器0中断
    ; r& @( A. l6 e* T' i$ u/ J# V  TR0=1;        //启动定时器01 {" l3 H* p+ s# {4 b
      while(1)! U& ]3 ?) p4 s3 p* U0 [
      {
    5 }) m! T1 a& }6 J. h    display(shi,ge);                //数码管显示函数9 i. m: T4 A2 B- j- Q/ _" w
      }: P. n& z2 B, o
    }9 q0 b8 J" Y( q  U
    1 \7 K7 ]% H  e, I6 j- j
    void display(uchar shi,uchar ge)        //显示函数: ~* y2 b1 D0 U% U3 {
    {' _6 d7 S% T" r0 g
       dula=1;                        //打开段选/ w1 R' u  ?6 b' k5 i0 y6 a! `
       P0=table[shi];
    . d* q- J+ |: N6 N$ i; L& v- h   dula=0;7 ]) X0 O6 _1 A) h& M( q3 }$ I9 n
       P0=0xff;                        //重置P0 防止数码管乱码
    5 h% P' Y( L; \# M" @. U" {9 V   weila=1;4 F& o; p, }/ S+ G
       P0=0xfe;
    2 B9 u5 W, b* P. t0 I( u   weila=0;
    0 @/ X  O9 V! `# @* d# _   delay(5);
    7 ?  h4 {- ]& G, M! O  
    % _  B. S: g! Y/ K   dula=1;
    ( @, {& \! }; {. b, ?5 K   P0=table[ge];
    ' H$ `4 T- J4 A8 J6 g* h! m   dula=0;
    0 |1 o1 |* v& i) y. H4 ^   P0=0xff;5 y5 J# d8 w: U  e" x5 v
       weila=1;
    + B7 e  Q' X, p- d2 [( O   P0=0xfd;+ b. d( q* V4 g8 I+ `9 S1 p+ Q8 j  Q
       weila=0;
    9 ^6 I( S6 E, {  F$ V) O   delay(5);
    % B% X$ Z5 P2 o0 I" t}2 Q1 a- U6 g- M7 F! D3 M1 S

    4 Q$ G1 F1 W( C- d/ Wvoid delay(uint xms)    //延时函数 延时xms ms/ c0 x' N& S4 q4 W& N1 `+ b
    {
    * l4 x# }, s( a) w) `; _   uint i,j;
    7 B2 o4 [4 B( |) s2 M" e+ C5 o   for(i=xms;i>0;i--)# Y1 W5 j/ [; K( v
        for(j=110;j>0;j--);& v7 I- y& g  D, U) ^( J% c) a
    }
    0 h6 |5 H1 a$ X- v1 q* D0 n5 D$ @: l# p) G
    void T0_Time() interrupt 3   //定时器0中断 定时方式1
    / `2 ^" |# q( R1 L{
    ( ?' R9 t( ^0 [# u, s/ L TH0=(65536-45872)/256;
    ' \  A, d. x+ z1 x4 i5 Q1 p: G TL0=(65536-45872)%256;& F) a' l* b) z9 O
    num1++;
    ! I7 U" u& g& u" B" r if(num1==20)      //检测到1s了没有
    % N0 U  S2 i! {* W" Y6 P   {, k6 j+ [  d5 W3 e9 C  [
        num1=0;2 t) @0 F4 N- q' Y% H; K
        num++;
    ! V( w9 t; m2 ]2 j) L9 _7 ~, Y+ I    if(num==60)   //实现两个数码管从00--59/ H- _+ h; j& \; t+ `
        num=0;
    0 P1 R' h3 V( r2 P0 T; X0 ^; F    shi=num/10;: U7 E) ^& z9 U4 f1 d# v: s& h+ Q+ H- ^
        ge=num%10;
    ' s6 I5 Q' @& {) l% R5 `    }
    + w' z! u! D' ]}
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-23 22:37 , Processed in 0.187500 second(s), 29 queries , Gzip On.

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

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

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