找回密码
 注册
关于网站域名变更的通知
楼主: 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
( G0 O& I5 J' `% D刚买了开发板,正准备学,多谢

0 B% o: E2 \, o- S0 {0 ?不用客气,尽量把pdf中的程序都调试一遍。遇到问题,可以直接问我。

该用户从未签到

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

该用户从未签到

20#
 楼主| 发表于 2012-7-14 23:48 | 只看该作者
刘芸 发表于 2012-7-14 23:22
# k6 }1 e/ s! E% X1 [, ]4 R真的非常感谢楼主!1我回认真学好的,

0 ^) o: ~6 H% ?: [+ A" t& k8 \( S不用客气,只要用心学,你会发现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基础的如何去学,是不是还要去买开发板之类的是吧
$ U5 |' Z7 w2 R% R% K* j  r& ?* `" B& n& |, Z) N! V% b
  关键是如何去学,先入门

该用户从未签到

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

该用户从未签到

26#
发表于 2012-7-25 16:38 | 只看该作者
我晕,这个不就是STC官网的资料嘛  拿到这来干嘛$ m" R: @" b* a" x6 H, ~! W

+ o/ p: {1 y1 q学单片机不看手册是瞎学,手册看懂了单片机也就会了

点评

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

该用户从未签到

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

该用户从未签到

28#
发表于 2012-7-26 09:57 | 只看该作者
谢谢楼主.顺便请教个程序.我想用定时器中段实现两个数码管显示00--59;结果数码管一直显示00;不知道问题出在哪,5 D* O( @, G7 m, c* O
程序如下:2 B( V; O7 c$ i3 W% Q
#include<reg52.h>
% h8 z/ m* N: g6 v#define uchar unsigned char         //定义uchar uint
/ R; t* g# E, l4 A, y#define uint unsigned int- G( U0 K4 U( P; v+ N/ y
sbit dula=P2^2;                         //定义数码管段显示5 e; L  C+ m( p  F7 \2 v
sbit weila=P2^3;                //定义数码管位显示- Y7 p3 Z1 b- c
uchar code table[]={                //定义数码管显示从0--9
8 @: Q9 ?8 h- f0x3f,0x06,0x5b,: {6 |9 Y  M# E5 W: z3 P& @" o
0x4f,0x66,0x6d,
/ v9 l+ z  `( R1 c4 Q: o0x7d,0x07,0x7f,0x6f};
: }  {; d! N. E5 F3 h' @
% ]2 q" V5 X. t0 O; u. g0 wvoid display(uchar,uchar);        //声明数码管显示函数/ P7 J+ _, I( ~2 \3 a% R
void delay(uint);                //申明延时函数
( N9 ~: A, C2 x- E% ruchar num,num1,shi,ge;
# i7 w# j( b; d& o4 ovoid main()                        //主函数. b  n. C- p$ n* X
{' v5 u( F8 ?: A9 v
  TMOD=0X01;                        //定时方式选择( {/ C- K9 w8 n7 A' R. O/ j
  TH0=(65536-45872)/256;        //写定时初值
9 g# X7 g6 g8 W. d, R  TL0=(65536-45872)%256;) X/ Z- H6 H, Z/ z. B+ V. F0 K
  EA=1;        //开启总中断* Y( l6 |. f7 m0 {
  ET0=1;        //开定时器0中断' j  j$ ?: ]" u1 M+ y* Y6 t/ l4 @( J
  TR0=1;        //启动定时器0/ B% ^0 n) c! \; |2 U6 v8 T  j
  while(1)3 ^. U/ {, W. Y# T
  {5 h8 v. `9 A  {  U
    display(shi,ge);                //数码管显示函数; ~+ i$ }3 q+ V2 f* E( `
  }
, x6 W9 }! w8 |4 H" d}* v" W% ~2 X- G' F" {4 F) I8 Q8 m

5 L& a' x6 d: j4 E/ V1 Lvoid display(uchar shi,uchar ge)        //显示函数# g, q. S5 x( a$ ?) r: R
{6 D7 _$ a3 h8 s8 ^/ e! q4 Q9 l/ w
   dula=1;                        //打开段选% e- q) {5 n. x+ m5 i: @; Y/ R
   P0=table[shi];
/ u9 \/ V) u8 g0 n/ o) W3 M  g   dula=0;
4 V) ~  v: o. \   P0=0xff;                        //重置P0 防止数码管乱码
' P+ v3 t' j( f. r# d* g   weila=1;) n. h7 x* N  b0 D9 |& I5 A, Y3 y( G
   P0=0xfe;& o1 c* A& Y4 r0 S9 X2 d' ^5 G. K
   weila=0;- r2 X4 \6 l# j5 H4 W& o
   delay(5);, Y7 E( M7 F2 `* s
  
6 c, u! w+ p& O- c, {. l3 n   dula=1;
" t- k: f) |, Z   P0=table[ge];2 N0 v# e( {* Y) u* z9 Q1 g
   dula=0;- e  H; k5 M/ |
   P0=0xff;" e# g$ p8 A9 ?$ }  b
   weila=1;/ G. \& C: p1 ~7 {" t4 a0 Y
   P0=0xfd;
" `' v8 V9 Q( N   weila=0;( `: Y  \/ Z7 ^5 {& @/ ^
   delay(5);
: b9 ?& B5 m+ u, C: u2 |- k. C}
* c1 b4 ?) h2 q5 x4 `# W
: E1 T/ [# Z6 M8 W! g; Z4 q) R2 Q- Kvoid delay(uint xms)    //延时函数 延时xms ms( X1 }8 _  V3 D" w7 E3 g2 G
{
6 g7 U; V5 t8 l& U% [3 Y3 W$ ?* u* M   uint i,j;  ?5 l3 K5 F  S. b' i
   for(i=xms;i>0;i--)" m/ {6 s, \0 P& f- I  a& ~
    for(j=110;j>0;j--);
- [% @: P; z( U  r1 t0 b6 ]  A }5 u* F& N, E) V

0 \$ o# d; H; \void T0_Time() interrupt 3   //定时器0中断 定时方式15 J/ c& v8 @; |9 J
{3 t; I3 D/ j+ l  M$ y
TH0=(65536-45872)/256;* Z6 G% s7 P* n. y9 q
TL0=(65536-45872)%256;+ p' Y, D3 ]* I. z+ }' {
num1++;
7 a3 c& S7 V4 M if(num1==20)      //检测到1s了没有 1 B5 P5 k2 H) J
   {
; O# P5 `/ U2 U1 z, X0 S9 E    num1=0;
7 H( t& z; t0 q, H4 K. C    num++;- O/ ^# F' ~3 u0 B+ L" q& e, O+ }
    if(num==60)   //实现两个数码管从00--59
  |# t- O6 N; N+ N$ P- P3 r    num=0;
5 D( U- z! L" ?9 w) N    shi=num/10;" Z, L8 x* i& ^0 g# B. n
    ge=num%10;
) [+ ~/ c6 J) }' n4 w# V    }4 c  q  |6 G# x) l9 n
}

该用户从未签到

29#
发表于 2012-7-26 09:59 | 只看该作者
黑驴蹄子 发表于 2012-7-26 08:24
% c: d/ y( y& D7 I手册当然是好资料,不是说我是不是老手的问题,单片机老手编程照样需要对应的手册,毕竟单片机编程是基于硬 ...
" g$ y% H2 s& B5 L8 D4 @- p6 d
呵呵  有道理  有空来帮我看看下面那个问题啊
  • 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-11-23 17:07 , Processed in 0.171875 second(s), 23 queries , Gzip On.

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

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

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