创业爱好者 发表于 3 天前

学C51的一些疑问

1.很多人说汇编语言更难,但我怎么觉得C语言更难?

2.看过几次C51教程,一开始说得挺好,C51容易学会,不必学最基础的东西。可是以定时器为例,汇编语言要设置相关选项,C语言也要设置,既然如此,为什么不直接用汇编语言呢?

还有矿坛以前有些基础教程,现在找不到了。

ssffzz1 发表于 前天 08:43

2个都要的。
学会了,就不会有这个疑问了。


有各种各样的疑问的工夫,不如先去学一点。学这个的人都有过类似的疑问,没啥可讨论的。

JuncoJet 发表于 前天 00:05

曾经学Win32汇编时,觉得汇编无敌
然后Win64出现了……
代码需要编译到Linux了……
现在对于这个问题比较直观,如非必要别去使用底层语言开发
比如你写内核,驱动,需要针对性能优化,否则别去碰汇编

JuncoJet 发表于 前天 00:08

总结:汇编再熟悉平台变了等于白学,除非你只搞一个平台

hy47566398 发表于 前天 02:03

汇编需要扎实的CPU底层的功底,用C语言不一定需要知道这些,
C语言代码直观,利于维护,功能算法上的阅读性,移植性扩展性都比汇编强,程序做大了很容易
有了C语言,可为升级C++打下坚实的基础,可以转行学习其它C++类的更高级编程语言

hujj 发表于 前天 08:09

C语言比汇编更抽象些,它将许多常用的操作(如循环、判断等)封装好了,使用者只需要按其格式设定好直接调用就行,不象汇编那样需要自己用伪代码去实现。楼主觉得C语言更难,也许是因为C语言的命令数量比汇编更多些吧。
既然楼主是初学,建议跳过8位机、直接学习32位机的编程,这样也许会更实用些。

lxa000 发表于 前天 12:35

最好 2个都会。
但还是建议你跳过51,
直接学习esp32。

张大壮 发表于 前天 14:43

如果只是做一些定时器控制之类的,汇编语言和C语言差不多.
但是如果程序很复杂,带着数据处理,各种菜单外设 ,几千行的程序,汇编很难写,写了也很难调试,找BUG.

另外,如果从8051转ARM 开发,   C语言几乎直接转换无难度 ,而ARM实际操作中是无法用汇编来编程序的 .

创业爱好者 发表于 前天 16:28

回各位,C语言我学了几次了,没学会,这几天又开始学。

xiaocake1 发表于 前天 20:50

不知道你是怎么学的
玩单片机要实际操作才好,光看书看教程,如果不实践基本很难有进展的,什么东西都是在用的过程中学才会比较快

创业爱好者 发表于 前天 21:28

xiaocake1 发表于 2025-4-23 20:50
不知道你是怎么学的
玩单片机要实际操作才好,光看书看教程,如果不实践基本很难有进展的,什么东西都是在 ...

约15年的时候看过郭天祥的教程,后来又学过几次,没学会。

t3486784401 发表于 昨天 00:57

C的优势在于复杂运算,比如32bit整形四则运算、浮点四则运算、math库涉及的初等函数。

CXFLBH 发表于 昨天 08:17

我当初学习C语言,是通过改了别人的一个程序就学的差不多了。

功率计 发表于 昨天 09:29

自己找个感兴趣的项目,再找一个差不多的例程,修修改改,项目成了,应该差不多学会了。

dukedz 发表于 昨天 11:45

最适合学 c 的系统是 linux

可以先写些电脑跑的命令行程序(譬如我写的 cdnet_tun 开源程序可以把串口数据映射成本地 udp 通讯,这样多个程序可以通过 udp 通讯访问一个串口)
而 windows 上用 c 写程序不会有成就感的,因为 windows 的习惯是一上来就要有图形界面

进阶可以 gtk 写图形界面
然后再搞 mcu 就轻松了
页: [1] 2
查看完整版本: 学C51的一些疑问