有人认为现在已经是java和.net时代了,谁还需要C和汇编呢? 谁知道,Java和.net是建立在软件之上的,它们是为了垄断市场而建立的系统。 就像挖了一个金墙坑,让你跳下去一样。 你仍然认为自己站在巨人的肩膀上。 ,其实成了坑里的青蛙。 要成为真正的程序员,要成为高手程序员,必须从机器开始,从CPU到操作系统,再到软件系统。 师父的境界就是悟道之后的明镜。 如果软件设计很棒,那么我就是程序。 程序就是我。
围观的李斯说:这个人傻啊! 我用鼠标拖拽几个控件,就变成了一个xxx管理系统。 你可能一年都写不出C语言! 好吧,我不得不承认说这话的人已经是mS的奴隶了。 我不知道别的事。 MFC本身是一个封闭的架构。 如果从MFC开始学习,只会形成封闭的思维模式,因为MS希望很多人只学表面的东西,而不成为高手,所以强烈推荐所谓的可视化程序开发工具。 确实有很多人愿意被它愚弄,最后迷失方向。 假设他无法处理该程序。 他可以做到,但是如果程序比较复杂,出了问题,他就搞不清楚问题出在哪里了。 反正也不清楚!
大佬梁兆新说:“我就是不明白,怎么用鼠标写程序?在我公司,专家的键盘一直响,鼠标偶尔响,新手的鼠标一直响。”键盘偶尔响一下,他们的工资相差不超过一倍!”
C语言是所有主要操作系统的基础。 Unix、Linux及其内核都是用C语言开发的(有些地方还混合了汇编语言)。 没看到都是C语言函数的接口吗? 绝大多数Unix/Linux应用程序都是用C语言开发的; 纯API开发的应用程序并不多,大部分都是依赖某种技术,比如所谓的VC++,其实就是指VCIDE+C++语言+MFC(现在重点已经转移到ATL、WTL了),但底层软件如服务、网络、驱动等仍然采用C语言开发。 各种语言的编译器,包括Java虚拟机,都是用C语言开发的。 各种嵌入式设备,如手机、PDA等也是用C语言开发的。
以下是一些个人建议:
由于C语言灵活且功能强大,对于初学者来说要完全掌握它是非常困难的。 因此,在学习C语言的过程中,应该多阅读教材和代码。 如果课本上没有找到,可以上网搜索。 首先,你必须精通变量、常量、基本数据类型、库函数及其特点和应用、运算符、表达式和语句以及C语言编写的基本格式。 再次,需要掌握C语言的流程控制语句、数组、函数、指针等基础知识。 一旦熟练掌握了上述知识,就可以学习链表、队列、树、图等知识。 最后,要熟练掌握每个知识点的应用,可以将学习重点放在函数设计框架、参数设计、返回值设计等关键问题上。
在学习C语言的过程中,一般有大量的算法和数据结构需要理解(大一的同学在大二的时候就会接触到这些知识,如果有同学想提前了解的话,可以点击下面的链接查看:),很多算术运算、逻辑运算、关系运算、循环结构等都可以利用数学知识来完成。 同样,许多算法被设计来完成数学领域的计算。 编写程序的目的是让计算机代替人类来操作计算过程,从而减少人力。 可见数学在计算机学习中占有重要的地位。 有了数学知识,你会发现数据结构和算法也很简单。 同样的,在学习C语言的过程中,我们会用到大量的英语知识。 对于编程来说,英语的作用体现在阅读英文文档和适应国际编程环境。 我们一定要记住C语言中一些常用的词汇,也就是很多关键字。
计算机专业的大部分课程都是通过实践来检验学习成果的。 更重要的是,所学的理论知识必须更好地运用到实践中。 编程是一项实践工作,光说不练是不行的。 刚开始学习时,可以多练习书中的练习。 对于不懂的东西,最好的办法就是写一个小程序去实验一下,这样可以给自己留下深刻的印象。 在自己动手的过程中,要不断纠正自己不好的编程习惯和认识误区。 C语言也是一门实践性很强的课程。 它不仅需要掌握概念,还需要动手编程、调试和在计算机上运行。 养成上机前先分析问题、编译程序源代码的好习惯。 编程时要注意程序格式、标点符号等,同时调试程序时要有耐心。 有时一个程序可能需要多次修改,甚至可能要花费很多钱。 经过一番努力,仍然没有结果。 必须不断向老师或同学请教、查阅资料。 所以,当编程遇到困难的时候一定不要放弃。 这个时候就是提升自己水平的关键了。 你一定要坚持到最后。 大家一定要对自己有信心,对学好C语言课程有信心,这样才能有一个好的学习状态,改正bug。 程序调试成功后,应该总结分析自己在编写程序时遇到的不足,以及在以后解决问题过程中应该注意的问题。 在计算机上调试成功程序后,必须完成实验报告,逐步积累调试程序的经验。 培养自己良好的编程习惯。
(1) 比较复杂的代码后面应该有注释。 如果有一堆代码,别人就无法理解你的代码,也不利于发现错误。 除非你老是给自己编造一些东西。 代码中能解释清楚的,一定要在代码中体现出来。 例如,在命名变量和函数时,尽量解释它们的用途。
(2)注意语句的嵌套不要太长,main函数尽量短。 我经常看到别人的代码只有几行main函数和几个函数调用,但是所有的定义都在main函数之外。 这首先减少了主函数内的嵌套,其次使其更简单、更易于阅读。
(3)注意语句的选择。 这并不是说你对分支语句或 while 和 for 使用 if 循环。 语句也可以在适当的情况下使用。 在某些时候,该语句比 if 语句更简洁、清晰,并且比 while 少一个循环。
那么如何学好单片机C语言呢?
很多想学单片机的人第一个问题问我如何学好单片机? 关于这个问题,今天我就给大家讲讲我是如何开始学习单片机的,如何入门,以及如何精通这个过程。
先说单片机。 一般我们现在用的比较多的MCS-51单片机,资料比较多,用的人很多,市场也很大。 根据我个人的经验,怎样才能更快的学习单片机课程呢? 单片机课程是一门非常注重动手实践的学科。 你不能总是看书,但你必须先看书来学习它,因为从书中你需要对单片机的各种功能寄存器有一个大概的了解。 为了解释清楚,我们使用单片机通过软件来控制单片机的各个功能寄存器。 说得更清楚一点,就是控制单片机的引脚电平什么时候输出高电平,什么时候输出低电平。 这些高低级别的变化控制你的系统板来实现我们需要的各种功能。 至于阅读,你只需要大致了解一下单片机每个引脚的作用就可以了? 可以实现哪些功能? 第一次、第二次你可能不明白,但是没关系,因为你仍然缺乏实际的感官理解。 所以我总是说学习如何使用微控制器阅读两三天就足够了。 看小说的时候,一天可以看五六本小说。 读单片机的时候,两三天就可以读两三次。 你不需要仔细阅读它们。 我推荐一本书,这本就够了。 书名是《新型MCS-51单片机应用设计》,哈尔滨工业大学出版社出版。 作者是张一刚。 对书上的内容有个大概的了解然后去实践是非常重要的。 如果不练习单片机,是不可能学会的。 您可以选择两种方法进行练习。 一种方法是用自己的钱购买。 一块单片机学习板不必有太多的功能。 对于初学者来说,应该买一块功能丰富的板子。 上面有很多你一生中永远不需要的东西。 我推荐一个流水灯、一个数码管、一个独立键盘。 、矩阵键盘、AD或DA(原理是一样的)、LCD、蜂鸣器,就这些了。 如果你能熟练应用我上面提到的这些东西,就可以说你已经开始接触单片机的硬件了。 剩下的就是自己练习设计电路,不断积累经验。 只要过了第一关,后面的路就会好很多。 大家可能都听说过,万事开头难。 方法二:如果你身边有单片机方面的专家,向他寻求帮助,请他帮你搭建一个简单的最小系统板。 对于专家来说,制作一个单片机最小的系统板只需要一分钟,但对于初学者来说就困难得多,因为只有了解硬件才能熟练使用。 而如果你身边没有这样的高手,又找不到可以帮助你的人,那么我建议你自己去买一个。 毕竟自己有一个方便多了,以后还可以在单片机上做一些小实验。 它派上用场,省去麻烦。
有了单片机学习板之后,还需要多加练习。 最好拥有一台自己的电脑。 每天少看电影、少玩游戏。 将学习板连接到电脑,打开调试软件,坐在电脑前。 首先了解如何使用调试。 软件,然后开始最简单的流水灯实验。 当你能让八盏流水灯按照你的意愿自由流动时,你就已经开始了。 你会发现微控制器是多么令人着迷的东西。 太有趣了。 这不是学知识,而是玩。 当你写的程序如你所愿实现时,你比什么都幸福。 你会上瘾的,真的。 从事电子行业的人真的很上瘾。 然后让数码管亮起来。 遇到这两项之后,你就再也不能自拔了。 你已经开始考虑这一生想要从事什么职业。 就这样练习吧。 在写程序的时候,肯定会遇到很多问题。 这个时候你可以去书本上找,或者向别人请教。 当你得到答案时,你会铭记一生。 所学知识必须运用到现实生活中。 只有解决实际问题才能发挥作用。 你自己想想吧。 上了大学这么多年,每天上课,你在课堂上学到了什么? 你正忙着准备期末考试吗? 考试后我得了90分,哈哈哈,太高兴了。 当我下学期回到学校时,我已经忘记了一切,对吗? 你学到了什么? 但我告诉你,一旦你学会了单片机,你就永远不会忘记它。 另外,我说一下汇编和C语言编程的问题。 很多同学大一、大二就开始选C语言课程,我也选了。 我知道那时候每天都是数字乘数字,数字加数字,求阶乘。 学了有什么用? 如果让你用C语言来编写单片机,你是傻子吗? 我们必须能够使用书本上的内容。 单片机编程可以使用C语言或汇编语言,但我建议使用C语言更好。 如果有C语言基础的话,学习一下会更好。 如果不会的话,你也可以在学习单片机的同时学习C语言。 C语言也很简单。 它只是一个工具。 我建议你学习一下。 您将来肯定会需要它。 不然以后就得学了。 不会一点汇编没关系,但如果你不会一点C语言,那以后就可以用了。 会受苦。 用汇编语言编写程序代码效率很高,但相对困难且冗长。 尤其是遇到算法问题的时候,更是麻烦至极。 现在单片机的主频不断提高,我们根本不需要这么做。 高效率的代码,由于时钟频率高,单片机的ROM也在不断完善,足以容纳你用C语言编写的任何代码。 C语言的资料很多,很容易找到,以后可移植性会很好。 ,只需要换一个IO口,写一个温度传感器程序就可以在任何地方使用,所以我建议大家都用C语言。
综上所述,只要你有信心,能坚持做事到底,有不成功不罢休的坚强意志,学好单片机是非常容易的。
步:
1、找本书对单片机结构有个大概的了解,有一个大概的了解就够了。 你不必什么都懂,我也不会让你出书。 (三天)
2.找一个学习板练习编程。 学习微控制器意味着练习编程。 遇到不懂的事,请教人,或者查书。 (二十天)
3、网上找一些小电路的资料,练习设计外围电路。 焊接完毕后自行调试,熟悉工艺。 (十天)
4、完全具有自己个人风格的电路和产品设计。 。 。 你已经是大师了。 。 。 。 。
看见? 努力一个多月就可以成为高手了。 我就说了这么多。 能不能学好并努力就看你自己了。
我学习单片机的经历
很多人说学习单片机最好先学汇编语言。 以我的经验告诉你,这是完全没有必要的。 初学者可以从头开始直接使用C语言对单片机进行编程。 这节省了时间,易于学习,并且提高速度更快。 很快。 当您第一次开始学习微控制器时,不要浪费时间尝试了解微控制器的内部结构。 这只会伤害你的信心。 当你学习编程时,你自然会一步步掌握它的内部结构。
单片机的学习与实践。
单片机的改进重在实践。 想要学好单片机,软件编程是必不可少的。 但熟悉硬件对于学好单片机也非常重要。 如何学好硬件,动手实践必不可少。 我们可以自己制作自己的电子制作,通过完成它,可以提高我们对一些芯片的了解和使用的熟练程度。 这样我们就可以更多地了解芯片的结构。 相信当你完成自己的一个电子制作后,你的单片机水平将会得到质的提升。
这是我学习单片机的经历。 希望对单片机爱好者学好单片机有所帮助。
使用单片机意味着了解单片机的硬件结构和内部资源的应用,学习汇编或C语言的各种函数的初始化设置,以及编程实现各种功能。
第一步:使用数字 I/O
通过按钮输入信号和LED显示输出电平,您可以了解引脚的数字I/O功能。 按下某个按钮后,某个 LED 会亮起。 这就是数字电路中组合逻辑的功能,虽然很简单。 很简单,但是可以学习通用的MCU编程思想。 例如,必须设置许多寄存器来初始化引脚,以便引脚能够具有数字输入和输出功能。 每次使用单片机的某个功能时,都必须设置控制该功能的寄存器。 这就是单片机编程的特点。 不要害怕麻烦。 所有的微控制器都是这样。
第二步:定时器的使用
一旦学习了如何使用定时器,您就可以使用微控制器来实现时序电路。 时序电路的功能强大,在工业和家用电器的控制中有很多应用。 例如,您可以使用微控制器来实现带有按钮的走廊灯开关。 按一次按钮后,3分钟后灯会自动关闭。 当按下按钮两次时,灯将保持亮起。 当按下按钮超过 2 秒时,灯将关闭。 数字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时序电路,可编程控制器(PLC)也可以实现时序电路。 然而,只有微控制器是最简单、实施成本最低的。 定时器的使用非常重要。 逻辑加时间控制是单片机使用的基础。
第三步:中断
单片机的特点是程序会被重复执行。 程序中每条指令的执行都需要一定的执行时间。 如果程序不执行一条指令,那么该指令的动作就不会发生,这就会延迟很多很快发生的事情。 例如,按下按钮时出现下降沿。 为了让单片机在程序正常运行过程中能够响应快速动作,必须使用单片机的中断功能。 该功能是在快速动作发生后,单片机中断正常运行的程序,处理快速动作。 处理完成后,再返回执行正常程序。 使用中断功能的难点在于,需要准确地知道什么时候不允许发生中断(屏蔽中断),什么时候允许中断发生(使能中断),以及需要设置哪些寄存器才能使某些中断工作。 当中断开始时,程序应该做什么,中断完成后程序应该做什么等等,学会了如何中断之后,就可以编译出结构更复杂的程序了。 这样的程序可以做一件事,监控一件事。 一旦被监控的事情发生,它就会打断你正在做的事情,并处理被监控的事情。 当然也可以监控多个东西,形象的比喻,中断功能让单片机具备了吃碗里看锅里的功能。
学习以上三步,就相当于降龙十八掌武功。 掌握了三掌之后,就勉强可以自保了。
第四步:与PC机RS232通讯
微控制器都具有USART接口,特别是该系列中的许多型号具有两个USART接口。 USART接口不能直接连接PC机的RS232接口。 它们之间的逻辑电平不同,需要芯片进行电平转换。
USART接口的使用非常重要。 通过该接口,微控制器和PC之间可以交换信息。 虽然RS232通讯并不高级,但是学习该接口还是非常重要的。 正确使用USART接口需要学习通信协议、PC RS232接口编程等。试想一下,单片机实验板上的数据显示在PC显示器上,PC键盘信号可以显示在单片机上实验板。 那将是多么有趣啊!
第5步:学习A/D转换
该微控制器具有多通道12位A/D转换器。 通过这些A/D转换器,微控制器可以对模拟量进行运算,显示和检测电压、电流等信号。 学习时要注意模拟地和数字地、参考电压、采样时间、转换速率、转换误差等概念。使用A/D转换功能的一个简单例子就是设计一个电压表。
第6步:学习PCI、I2C接口和LCD接口
使用这些接口可以使微控制器更容易地连接外部设备,对于扩展微控制器的功能非常重要。
第 7 步:学习比较、捕获和 PWM 功能
这些功能使单片机能够控制电机、检测速度信号,实现电机调速等控制功能。 如果你把以上七个步骤都学会了,你就可以设计一个通用的应用系统,相当于学会了十招降龙十八掌,就可以攻击了。
第8步:学习USB接口、TCP/IP接口、各种工业总线的软硬件设计
学习USB接口、TCP/IP接口以及各种工业总线的软硬件设计非常重要,因为这是目前产品开发的发展方向。
到目前为止,相当于学会了十五招和降龙十八掌,但还没有达到击败天下无敌的程度。 即便如此,它仍然是单片机大虾!