找回密码
 注册
关于网站域名变更的通知
楼主: 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
- M0 ^2 K4 ~2 X刚买了开发板,正准备学,多谢
5 {, F+ h$ r" I6 {/ v
不用客气,尽量把pdf中的程序都调试一遍。遇到问题,可以直接问我。

该用户从未签到

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

该用户从未签到

20#
 楼主| 发表于 2012-7-14 23:48 | 只看该作者
刘芸 发表于 2012-7-14 23:22
3 _  j) E8 m. x" G. O真的非常感谢楼主!1我回认真学好的,
  S. p( ^$ v3 c  ?; `
不用客气,只要用心学,你会发现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 w0 c6 k) D# N
' W# j7 E5 L! B, H8 f7 N8 Z  关键是如何去学,先入门

该用户从未签到

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

该用户从未签到

26#
发表于 2012-7-25 16:38 | 只看该作者
我晕,这个不就是STC官网的资料嘛  拿到这来干嘛% {" t5 z( i4 [2 q) y5 C6 W7 e

7 S4 `$ Y( D4 c3 v# j' l学单片机不看手册是瞎学,手册看懂了单片机也就会了

点评

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

该用户从未签到

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

该用户从未签到

28#
发表于 2012-7-26 09:57 | 只看该作者
谢谢楼主.顺便请教个程序.我想用定时器中段实现两个数码管显示00--59;结果数码管一直显示00;不知道问题出在哪,0 `6 y- D2 B) o4 U) I+ e
程序如下:; S/ d: Y. C- m
#include<reg52.h># o) ~6 j) |% w2 I, d- D% H& N! ^
#define uchar unsigned char         //定义uchar uint. k) k  u9 F7 x% M7 ]: k( G
#define uint unsigned int. L% L, n" j6 M
sbit dula=P2^2;                         //定义数码管段显示) U2 s! {2 |$ a! X' |" ?8 \9 M* I/ `
sbit weila=P2^3;                //定义数码管位显示
5 j" J- g. v' g; Xuchar code table[]={                //定义数码管显示从0--9
  k  |; c! k% _2 A) a4 Z6 N( ?0x3f,0x06,0x5b,
1 a2 c1 {0 b2 k, q  K0 Z9 x0x4f,0x66,0x6d,
3 W4 W' V5 E, y4 q0x7d,0x07,0x7f,0x6f};  p7 z: h6 g# f# j9 O

& ~+ `8 ?- p! o9 F' p& Z0 Rvoid display(uchar,uchar);        //声明数码管显示函数' Q+ N2 u  i- E+ J
void delay(uint);                //申明延时函数
+ R! r: q! e$ I9 U+ F4 i* wuchar num,num1,shi,ge;
$ p, u& w& W% \' c; o1 Ivoid main()                        //主函数% h6 x; z; ~" e3 o$ l/ `* p
{
7 x& {4 _$ v+ d( u$ R% X4 W  TMOD=0X01;                        //定时方式选择
- w0 f4 X, {! P9 K) e( A$ |8 x5 i  TH0=(65536-45872)/256;        //写定时初值
: F1 R: ~& u+ `3 S' H, K  TL0=(65536-45872)%256;
/ c3 {  p% u7 R# g  EA=1;        //开启总中断( e& i5 L, A- E! X
  ET0=1;        //开定时器0中断* I. r) S$ R- q6 D& A( X( L5 A
  TR0=1;        //启动定时器0$ P2 }. O; K+ D( k& v/ y
  while(1)
+ r3 a+ C# w+ }" {  Q  {# W# U& @/ t) I( `, s& E
    display(shi,ge);                //数码管显示函数$ b* m3 q; o" L7 @5 D. }! V' M
  }
6 c/ N2 c7 i) n7 U2 d}2 [3 e; N2 X" p7 l8 ]2 e

# U! n" C" r9 \# u) m/ `void display(uchar shi,uchar ge)        //显示函数
& `, y+ V$ g1 G# f- p{) W* G: X! A  a0 `3 I' C/ r
   dula=1;                        //打开段选1 m. r8 e0 v- x
   P0=table[shi];
6 f) ^, l( E" x   dula=0;, g- e% C0 Y2 D/ U% t7 m; w  }
   P0=0xff;                        //重置P0 防止数码管乱码
" }6 E% f1 b3 Q: i3 [* P8 M8 Z   weila=1;2 p9 _: e  z8 E0 u+ z1 U
   P0=0xfe;# |" r, X$ s/ s; w
   weila=0;3 m# t8 B8 W/ [4 Z6 c( `- |% D
   delay(5);
: G* r0 _4 p) q3 l; W% v3 l  5 `8 Y$ u) j% |) l+ ?/ a5 |
   dula=1;
  I+ F  R% i4 i# K1 ]% u9 l4 _   P0=table[ge];
; l7 A/ W! R! ]% \; W   dula=0;
, i' L) u4 ^, {% X2 Z   P0=0xff;
! f2 t5 p! d" s+ }$ w8 I$ Z( O   weila=1;
2 K; q! {) y0 F+ C' \& q   P0=0xfd;$ Y( ]& A# Q8 c) y. t" C$ y
   weila=0;8 l, J: z- M! E2 Y# \5 `$ n' r) j" U
   delay(5);
& y  v2 n/ B4 E/ c, W* S}
' ^/ |3 R$ ]. W. B$ u6 P
; X% I* ?  e: ]0 n1 Zvoid delay(uint xms)    //延时函数 延时xms ms$ K2 R: T$ y7 W- ?
{
6 E+ T/ P$ d( e" D+ D   uint i,j;+ b* i( l- T" t; Z
   for(i=xms;i>0;i--). r( L. Q6 r6 V) V7 M3 M
    for(j=110;j>0;j--);
, E4 B7 k8 ~0 x% G }. g, X: K" T1 C9 z
* _- x" \* I! T# t) D5 z# T
void T0_Time() interrupt 3   //定时器0中断 定时方式1
5 i) u3 \' V; L+ g& H) H6 p{7 u8 b6 H4 v; M
TH0=(65536-45872)/256;. B' i) G2 t* ^2 L0 P
TL0=(65536-45872)%256;4 ^; M7 T! b* M9 G' j" d: h' S
num1++;
9 K- j* t4 I$ ~3 G8 e) ^ if(num1==20)      //检测到1s了没有 9 A, {( t0 b0 ~0 G
   {
2 `2 h( g& k) y( h5 t    num1=0;
2 X5 m+ x$ }8 e/ n2 X6 H5 K: u3 s    num++;- k2 e+ L! q7 Y1 N, `; f9 T' i
    if(num==60)   //实现两个数码管从00--59
( B4 ^" b' s2 n, T) q: P  [# t    num=0;
) v* O" R+ z& Q% z/ V. e( _    shi=num/10;
: B4 u7 @& q: x- e  J    ge=num%10;! j+ w3 B7 n& n+ w/ ~
    }
, x  n0 ~5 T+ E* x" c}

该用户从未签到

29#
发表于 2012-7-26 09:59 | 只看该作者
黑驴蹄子 发表于 2012-7-26 08:24 9 }+ v* Z( y8 k+ P
手册当然是好资料,不是说我是不是老手的问题,单片机老手编程照样需要对应的手册,毕竟单片机编程是基于硬 ...
, Y% D6 v) o, H3 X: H! D5 }0 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-6-18 19:49 , Processed in 0.078125 second(s), 20 queries , Gzip On.

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

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

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