找回密码
 注册
关于网站域名变更的通知
楼主: 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 6 q2 q8 E. s( ~! l) l( ]8 _
刚买了开发板,正准备学,多谢
& n9 u; l2 Z) l3 b1 W
不用客气,尽量把pdf中的程序都调试一遍。遇到问题,可以直接问我。

该用户从未签到

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

该用户从未签到

20#
 楼主| 发表于 2012-7-14 23:48 | 只看该作者
刘芸 发表于 2012-7-14 23:22
; T5 T& ~# d( v5 q' O真的非常感谢楼主!1我回认真学好的,

) m# ^1 n" a* n' X# z3 h0 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基础的如何去学,是不是还要去买开发板之类的是吧
* X9 _  o  K4 n+ B$ j3 u6 W) u. f. i* e; \9 n3 @
  关键是如何去学,先入门

该用户从未签到

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

该用户从未签到

26#
发表于 2012-7-25 16:38 | 只看该作者
我晕,这个不就是STC官网的资料嘛  拿到这来干嘛
( K* Q9 R1 Z: ~9 T* m: H
8 K( w7 t2 v8 ]. a7 B学单片机不看手册是瞎学,手册看懂了单片机也就会了

点评

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

该用户从未签到

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

该用户从未签到

28#
发表于 2012-7-26 09:57 | 只看该作者
谢谢楼主.顺便请教个程序.我想用定时器中段实现两个数码管显示00--59;结果数码管一直显示00;不知道问题出在哪,  s2 Z" W8 c+ M5 v9 z4 G
程序如下:
0 ?) A; r' L9 d4 ]/ V& x#include<reg52.h>0 I8 C$ `' A, d8 J1 c. p
#define uchar unsigned char         //定义uchar uint
* Q" n! {* m) [9 S#define uint unsigned int2 V. G6 p  s; G% u7 f1 z
sbit dula=P2^2;                         //定义数码管段显示
! r" @* l0 o! c8 e- Ysbit weila=P2^3;                //定义数码管位显示  U$ r; m3 S4 H* q) O- ^
uchar code table[]={                //定义数码管显示从0--9; u$ i! t/ V+ P' C0 U
0x3f,0x06,0x5b,, R# x1 E7 r2 k% [( T
0x4f,0x66,0x6d,' M3 T6 M% G' g0 ^
0x7d,0x07,0x7f,0x6f};
, M5 z' s8 I! P$ q/ i7 u' e  p  }- V" e
void display(uchar,uchar);        //声明数码管显示函数7 \2 k) P, \; J4 N7 ?7 y
void delay(uint);                //申明延时函数) G) D4 O& A# X
uchar num,num1,shi,ge;& x7 c8 Z& x: H' Y/ z7 O- T( C8 t
void main()                        //主函数) Q: B" k- C% \# P1 C* G
{
7 K+ S6 P, ^$ [% {% o1 |7 A  TMOD=0X01;                        //定时方式选择
7 ]' K* y7 x9 F  TH0=(65536-45872)/256;        //写定时初值2 b: C0 [2 ?) o( ?. U
  TL0=(65536-45872)%256;2 \' {# _/ O& T( M
  EA=1;        //开启总中断4 Q' Y0 t; j. }3 L* a
  ET0=1;        //开定时器0中断
4 b" K+ L( ~* L# ~8 N9 T9 ]/ e  TR0=1;        //启动定时器0
) W& v! {* @, P% N. k  while(1)
" W( g5 F! c  l- K* t. c  {
5 r3 t; s8 w2 b0 Y    display(shi,ge);                //数码管显示函数
/ \& G* ~7 m: Z2 d- r' T  }: ~. S; ], d* Q0 o5 F
}, r" \$ [! W' z$ [- Q8 v( v" b

, {0 r0 K! C7 u2 f4 kvoid display(uchar shi,uchar ge)        //显示函数
0 T' q; ]7 f- c{3 F; Y1 |# }+ _, {7 \
   dula=1;                        //打开段选
9 i- Y# S. M; F/ h   P0=table[shi];  i( B' d2 t0 l2 _, U
   dula=0;
9 s9 z8 d( `- C: `. _( t: k   P0=0xff;                        //重置P0 防止数码管乱码
0 Y5 G. f' A) h: N   weila=1;
& c- g8 ~9 @' p+ `' f0 \! h% i   P0=0xfe;
/ V9 j( }# W. W# p/ C/ ?& n# w   weila=0;" y9 l( Y. v8 `7 g# G( z
   delay(5);7 ~+ x/ a) B* l* P* s8 L
  
4 z) Z2 _1 Q# H7 T; s7 V. v: d   dula=1;
$ a5 D/ j& \3 K2 q, O; A   P0=table[ge];# @/ V4 M4 y4 O  n7 e
   dula=0;
0 c$ I6 L, `0 ]% @" }) S   P0=0xff;* a" P3 q3 j. X8 Q
   weila=1;
6 z  D8 x; e+ o8 s' v# [   P0=0xfd;
' m2 p, Y  L; Y* C   weila=0;" }- q. E; N( j7 [/ o1 }; @
   delay(5);
6 P( M9 r: @- C" B, F5 A  g}
/ J/ r; s7 y2 [7 d
! K' Z( u4 F( _* d( j$ Dvoid delay(uint xms)    //延时函数 延时xms ms
- ^% c# p, Z8 z& f{' T6 Y; w) i3 r& Y) n
   uint i,j;( F8 H1 W1 e  X6 J6 d& q
   for(i=xms;i>0;i--)4 f: t/ Y  T/ x1 ?; p
    for(j=110;j>0;j--);
, ?8 b: k' V$ I! p$ W! f) F4 } }
( e) C( H; U* |8 S- Y1 P: S# f# v3 m8 C
void T0_Time() interrupt 3   //定时器0中断 定时方式1
- ]  B; e; u& _5 B/ L{
9 U, {) Q# ^, p! \  i TH0=(65536-45872)/256;1 F. s' H' Y4 S$ ~5 p
TL0=(65536-45872)%256;
; N, F: g# V7 S+ ?0 J5 c) S num1++;
8 B/ S! u; x) R4 M( W9 P if(num1==20)      //检测到1s了没有 # D# K. _1 f' L" W( {1 m
   {4 ?! K* k+ O) u2 W5 |4 Q5 G
    num1=0;% D- e6 L+ q/ W0 j
    num++;
, K, C) X! `8 n6 ?    if(num==60)   //实现两个数码管从00--59
( D8 ]2 ^/ n0 n    num=0;
8 w2 c, I- Y1 O, A    shi=num/10;
$ `" C) F, Q! w% `5 f    ge=num%10;& d9 g4 ^: B& r- Z8 C' w; Z( W5 |
    }
2 u" x# s1 p4 Q+ }}

该用户从未签到

29#
发表于 2012-7-26 09:59 | 只看该作者
黑驴蹄子 发表于 2012-7-26 08:24 $ }8 N" k+ |6 L1 ]
手册当然是好资料,不是说我是不是老手的问题,单片机老手编程照样需要对应的手册,毕竟单片机编程是基于硬 ...

- V7 t$ o  f" [呵呵  有道理  有空来帮我看看下面那个问题啊
  • 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-7-29 14:16 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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