找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7278|回复: 53
打印 上一主题 下一主题
收起左侧

求问如何学习c51

  [复制链接]
跳转到指定楼层
楼主
学习了c语言基础之后,如何进行下一步,比方说就是是不是要去学习一些工程实例然后去熟练掌握这些语言基础?

评分

参与人数 1黑币 +5 收起 理由
shuike1 + 5 回帖助人的奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:164602 发表于 2017-11-27 09:34 | 只看该作者
计算机语言与其它语言学习都有一个共同点:用!
你学习了C语言,怎么知道它的用处呢?
练习一些实例是必须的。用开发板编程,完成一些任务,可以锻炼自己的编程能力。当你觉得编程不过如此时,再加入到创新设计,自己搞个小制作什么的,锻炼你的高级能力。如此,C语言就有用处了,你也进步提高了。
回复

使用道具 举报

板凳
ID:254212 发表于 2017-11-27 15:57 | 只看该作者
先学习C 不用太深入 但要掌握基础语句 之后就是软件和固件结合 多看看源码例程和相关视频
回复

使用道具 举报

地板
ID:254241 发表于 2017-11-27 16:37 | 只看该作者
边学习工程实例 同时学习语言
回复

使用道具 举报

5#
ID:60379 发表于 2017-11-27 22:00 | 只看该作者
看一遍下面这本以实际产品设计为核心的书,你就知道你还欠缺哪些知识以及怎么学的问题。




第2章  单片机开发必须掌握的C语言基础
2.1  简单数据类型与运算符
2.1.1  原码、反码、补码、BCD码、格雷码
    2.1.2  常量      
    2.1.3 变量的数据类型(bit、char、int、long、float)
2.1.4  变量存储空间(code、data 、bdata 、idata、xdata)
2.1.5  变量存储类型(auto、static、extern)
2.1.6  变量作用域
2.1.7  运算符   
2.1.8  运算符的优先级与结合性
2.2  C51构造数据类型
2.2.1  数组:将相同类型数据组合在一起就构成数组(如数码管显示缓冲区)
2.2.2  结构体:将不同类型数据组合在一起就构成结构体(如年月日2014-12-31)
2.2.3  共用体:不同变量占用相同内存地址就是共用体
2.2.4  指针:用于直接读取或修改内存值
2.2.5  #define与typedef的差别
2.3  流程与控制
  2.3.1 分支结构
  2.3.2  循环结构
  2.3.3  跳转结构
2.4   函数
    2.4.1 函数定义
2.4.2  调用格式
2.4.3  传值调用与传地址调用2种方式对比
2.4.4  数组作为函数参数
2.4.5  使用指针变量作函数形式参数
2.4.6  使用结构体变量指针作为函数参数
2.4.7  函数作用域
2.4.8  库函数
2.5   模块化编程
    2.5.1  头文件的编写
    2.5.2  条件编译
2.5.3  多文件程序(模块化编程)

回复

使用道具 举报

6#
ID:254417 发表于 2017-11-27 22:08 | 只看该作者
不做实例很难搞懂各种单片机功能的
回复

使用道具 举报

7#
ID:155507 发表于 2017-11-28 06:46 | 只看该作者
你也许会碰到这样一个情况:为什么我写个一个全板测试测序为什么在C51上下载不进去呢?因为你的程序大小已经超过了4K了,呵呵。。。。因为不同单片机的内部资源是有所不同的,但是都是大同小异,所以当你拿到一个开发板时,首先就要看他的数据手册,看看它的内部资源是哪些,心中要有个数。。。。由单片机再加上外围设备(简称外设)就可以叫:单板机了,也就是人们常说的单片机开发板。

外设是很活的东西,因为外设的添加不是那么固定,这要根据开发单片机板子的工程师怎样设计了。。。但是现在基于C51内核的单片机开发板,其添加的外设都是差不多的,例如用于时钟的DS1302,温度传感器18b20,数码管,显示器1602和12864以及TFT彩屏,还有大多数基于IIC总线的PCF8591、EEPROM,键盘(独立和矩阵)等等。。


这时候,你可以不用着急忙于学外设,你主要的任务是掌握单片机的运作过程,当实现一个小功能的程序时,你可以想想这个程序涉及到哪些硬件资源,这个资源怎样工作的?

即使不太懂也不用着急,毕竟这个时期主要是掌握单片机内部原理,具体的思路你可以结合“模拟电路”,“数字电路”“计算机组成原理”“汇编语言”的知识获得,学习单片机我认为是一件很幸福的事,为什么这样说,它本身就可以看做是一个早期的“电脑”,你可以知道各个指令的运行实质(结合计算机组成原理中的“指令执行过程”),这样当你在写代码的时候,心里不会感觉那么“虚”。。。。。
回复

使用道具 举报

8#
ID:155507 发表于 2017-11-28 06:59 | 只看该作者
说说汇编吧,我认为学习汇编目的也就是为了更好地了解单片机里面的内部资源:寄存器。因为C语言里面涉及到寄存器编程的很少,但是汇编就不同了,它对寄存器和物理地址都要掌握才能够编程,这点对于单片机的学习还是很有好处的,因为你可以对“控制”这个概念有个很好的感性认识。。。

说到现在,就是要告诉你,掌握单片机原理。但是难点还是有的,例如中断响应部分,各个I/O口结构的特点,这方面在编程时会涉及到,有时候你忽视它,可能会造成不是自己想要的结果。当然了,在这个阶段,你不光要掌握单片机原理,还要把数字电路和C语言回顾一下。。。。。。
回复

使用道具 举报

9#
ID:254411 发表于 2017-11-28 07:39 | 只看该作者
下载一些电子书,网上很多,然后再下开Keil C51 软件。
先上网买块51单片机实验板200元,买本51汇编语言书,然后把书啃完,结合实验板实践。看你能不能坚持住了,单片机很枯燥的。同时用proteus模拟这样可以起到事半功倍的效果。
回复

使用道具 举报

10#
ID:254494 发表于 2017-11-28 08:53 | 只看该作者
做个简单的小项目,边做边学
回复

使用道具 举报

11#
ID:254496 发表于 2017-11-28 09:15 | 只看该作者
学习51很简单,首先你安装一个单片机仿真软件,程序都可以在上面模仿,第二你买一块开发板,练习实物。当然,基础的逻辑要会哦!!!
回复

使用道具 举报

12#
ID:254501 发表于 2017-11-28 09:18 | 只看该作者
原理图啊,c语言啊,还有一些其他的计算机语言都了解一下比较好
回复

使用道具 举报

13#
ID:254515 发表于 2017-11-28 09:27 | 只看该作者
看下视频教程么,以前看小甲鱼的c,郭老师的C51
回复

使用道具 举报

14#
ID:254095 发表于 2017-11-28 10:27 | 只看该作者
学习之后肯定要根据一些目标进行编程
回复

使用道具 举报

15#
ID:253330 发表于 2017-11-28 13:39 | 只看该作者
看书,看视频,找百度,找论坛,找师兄,最重要的是‘练’
回复

使用道具 举报

16#
ID:254648 发表于 2017-11-28 14:08 | 只看该作者
开发板,跑实例。在实例的基础上修改自己想要的花样。
想想生活上自己想要什么功能的玩意,想到就干,不懂就多参考别人的例子。
多看源码,看看库的源码。这些现在都有很多。只要肯花时间,什么都能学懂。
不建议玩51,这玩意太多特殊性,stm32会是很好的学习平台。
回复

使用道具 举报

17#
ID:254650 发表于 2017-11-28 14:12 | 只看该作者
主要要感兴趣
回复

使用道具 举报

18#
ID:73898 发表于 2017-11-28 14:31 | 只看该作者
买一个开发板 按照实例自己弄几个环境 一步步学习
回复

使用道具 举报

19#
ID:155261 发表于 2017-11-28 15:00 | 只看该作者
边做项目边学
回复

使用道具 举报

20#
ID:253149 发表于 2017-11-28 15:28 | 只看该作者
个人感觉结合proteus仿真边学边实践。学的比较快。
回复

使用道具 举报

21#
ID:254715 发表于 2017-11-28 15:49 | 只看该作者
个人觉得,既然有C语言基础,那可以买个单片机开发板,51的就可以,毕竟是最基础经典的,再扩展到stm32高级点的。最好边做边学,手边准备本单片机的书,结合例子,做实例,容易上手。
回复

使用道具 举报

22#
ID:254723 发表于 2017-11-28 16:07 | 只看该作者
有基础后,就多用,先用熟了,下一步才好走,我们现在是用的芯片是51-AVR-ARM这样的路线在走,在学习芯片之后,c语言的使用能力也会逐渐提升,建议配合Proteus一起学习。
回复

使用道具 举报

23#
ID:254738 发表于 2017-11-28 16:12 来自手机 | 只看该作者
买一个开发版,一般都会有配套教学视频,看完后就大概明白了,这时候就可以去学着做一些东西。最后常识做一些东西。
回复

使用道具 举报

24#
ID:254791 发表于 2017-11-28 17:21 | 只看该作者
一直觉得工作中学习是最快的,找一个实例,从头到尾搞定,收获相当大,比看书好一万倍!
回复

使用道具 举报

25#
ID:254798 发表于 2017-11-28 17:32 | 只看该作者
c语言学好再说呀。这是基础
回复

使用道具 举报

26#
ID:254803 发表于 2017-11-28 17:53 | 只看该作者
求问如何学习c51
回复

使用道具 举报

27#
ID:254803 发表于 2017-11-28 17:53 | 只看该作者
于电子类专业的学生,我的意见是尽早学习C语言和单片机。C语言是一种目前非常普遍的嵌入式语言,单片机则是一种微型CPU。
回复

使用道具 举报

28#
ID:252542 发表于 2017-11-28 18:17 | 只看该作者
你可以看看郭天祥的10天学会51单片机,对你的开发很有帮助
回复

使用道具 举报

29#
ID:254816 发表于 2017-11-28 18:33 | 只看该作者
找过 C51的板子学习下,STC的很便宜
回复

使用道具 举报

30#
ID:254816 发表于 2017-11-28 18:33 | 只看该作者
买块C51的板子学习
回复

使用道具 举报

31#
ID:254447 发表于 2017-11-28 19:18 | 只看该作者
手把手教你单片机,我们老师教的
回复

使用道具 举报

32#
ID:189227 发表于 2017-11-28 20:13 | 只看该作者
51主要是实践,多尝试才能学好
回复

使用道具 举报

33#
ID:254873 发表于 2017-11-28 20:16 | 只看该作者
手把手教你学习51单片机,我们上课用的书,感觉里面说的不是很深,还算好理解
回复

使用道具 举报

34#
ID:62514 发表于 2017-11-28 21:00 | 只看该作者
用开发板编程,可以锻炼自己的编程能力。慢慢进步提高。
回复

使用道具 举报

35#
ID:254997 发表于 2017-11-29 06:15 来自手机 | 只看该作者
先学一些基础的c语言,然后在开始看单片机的基础教程,在学习单片机的时候,可以在电脑上面用proteus,keil进行仿真与程序的编写,仿真没毛病了,可以自己焊接板子,做出来!(仿真跟实际其实差距有些大,有条件还是建议自己拿块板子焊接),初学者,可以从各种流水灯开始!
回复

使用道具 举报

36#
ID:255234 发表于 2017-11-29 15:51 | 只看该作者
找本教材,一个一个项目去试做
回复

使用道具 举报

37#
ID:255261 发表于 2017-11-29 17:07 | 只看该作者
在学习单片机,首先你的c语言要学好先,为你以后学习单片机做好基础。还有重要的是学习心态要摆正,我相信你肯定会有所收获的。
回复

使用道具 举报

38#
ID:255295 发表于 2017-11-29 17:46 | 只看该作者
是的,要做实际的例子来加深自己的理解
回复

使用道具 举报

39#
ID:255336 发表于 2017-11-29 18:40 | 只看该作者
推荐郭天祥老师的视频  十天学会单片机,多动手多思考
回复

使用道具 举报

40#
ID:255342 发表于 2017-11-29 19:09 | 只看该作者
如果只是想通过学c语言打基础,利用c语言作为跳板去学其他语言,如c++/java等等, 就可以继续学自己想学的编程语言;如果想往智能硬件/嵌入式方面学习,得开始上手单片机,多实操
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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