tag 标签: 程序

相关帖子
相关博文
  • 热度 8
    2020-2-13 15:24
    2649 次阅读|
    1 个评论
    工作之后用的最多的51单片机AT89C2051 (2)
    最近的工作主要内容是写文件,准确的说是修改文件,真的很。。。 单位文件挺乱的,关键是制度流程乱,没啥可操作性,也没培训。。。全靠个人水平编。。。 再来一个没看出有啥水平的老巫婆河东狮吼。。。 我就奇怪了,领导们就没一个实实在在能解决问题吗?还是都坏掉了? ---------------------------------------------------------------------------------------------- 说正题,AT89C2051的比较器,官网手册里,特性 On-chip Analog Comparator,片上模拟比较器 然后有框图 输入连的是P1.0、P1.1,输出连的是P3.6 然后有具体描述 P1.0、P1.1要外部上拉电阻,要写1 英文自己看哈。。。不要懒 程序挺简单的 P3.7是一个工作指示灯 P1.7也是一个指示灯,用来指示比较结果 ~~~~~~~~~~~~~~~ 没有试过比较器的精度,个人觉得,做个简单的电量指示还是可以的 AT89C2051手册的页数挺少的,也许可以参考C51的看看 ~~~~~~~~~~~~~~~ DIP-20的AT89C2051,是用下载器离线下载程序的的,用着很麻烦,而且连底座一起高度太高了 虽然,今天再看手册,发现还有个SOIC的矮很多,但是,个人觉得下载程序用的引脚太多,留插座也很占地方,还得做转接线 所以,准备换掉 看上了AT89LP4052,但是一年了一直没有时间买来试,还得先打听好买不,会不会断货等等,好多麻烦事。。。 朋友们,有其他型号推荐吗?
  • 热度 2
    2019-10-3 10:40
    436 次阅读|
    0 个评论
    1-谭浩强 C语言程序设计 2-C语言开发入门及项目实战 3-新概念51单片机C语言教程 4-单片机的C语言应用程序设计 5-手把手教你学51单片机 6-C专家编程 7-编程之美 8-C Primer Plus 9-C和指针 10-C陷阱与缺陷 11-C语言核心技术 12-C语言编程之道 13-C语言程序设计现代方法 14-C语言嵌入式系统编程修炼之道 15-C语言深度解剖 16-C语言编程技巧 17-天狼星51单片机C语言 下载链接:https://pan.baidu.com/s/15Xjvy5M4-zJ5HUTuXmdmPA 提取码:v2m8 如果失效,评论区留言 ​
  • 热度 6
    2016-4-11 14:30
    624 次阅读|
    5 个评论
    一、前言 很多单片机初学者与我交流时总说的一句话是我现在是单片机初学者,我怎样才能更快的学好 单片机,我该从哪方便入手。对于这个问题,现在就我自己如何学单片机,如何入门,如何熟练谈 谈想法。 先说单片机,现在用的比较多的以  51  为内核的  8  位单片机(考虑到成本及引脚资源在实际开 发中用的  51  单片机型号不一),它的学习资料非常多,且学习成本非 常低,可能有些初学者会说 企业里用的不是  51  单片机,更多的是松翰、义隆什么,但是我想说的是那些单片机的辅助开发工 具你有吗。 51  单片机对于智能电子技 术的入门学习是非常有优势,成本低,开发简单,一线下载 程序, ARM 太神秘, PLC 太高贵,想来想去还是  51 ,曾经有过 AVR 和 PIC ,但是现在  51  也不 赖。 那怎样才能更快更好的学好单片机呢? 单片机作为集电子技术与计算机编程技术为一体是一项非常重视动手实践的科目,如果你是单 片机高手,那么说明你也是计算机编程和电子技术高手。 二、学习单片机一定要看书 不能总是看书,但是学习它首先必须得看书,那这不很矛盾?因为从书中你需要了解单片机各 个功能寄存器(比如引脚控制寄存器、定时、中断、串口相关寄存 器),控制单片机的核心是用 程序去控制单片机的各个功能寄存器,给寄存器赋值二进制数据  0  或者  1 ,对于像中断、定时器、 串口、 AD 转换等内部资源寄存器, 单片机也可以通过二进制数据  0  和  1  进行设置和使用。比如单 片机引脚寄存器 P1 ,语句 P1=0xfe ;( MOV P1 , #0FEH )指控制单片机 P1  口的第 一个引脚输出 低电平, 其他引脚输出高电平, 外设电路根据高低电平工作。 比如中断允许寄存器 IE , 语句 IE=0x81;  ( MOV IE , #81H ) 则说明 控制中断打开总开关和外部中断  0  的子开关。当然了,单片机的寄存 器还可以接受位控制,这样编程更方便。 至于看书,只需大概了解单片机各管脚、各个功能寄存器是干什么的能实现什么功能就够了? 这个非常重要,这也许是看单片机参考书最主要目的之一。 第一次,第二次你可能看不明白,但这不要紧,因为还缺少实际的感观认识。通过接下来的实 验就可以非常感观的认识,在这个过程一定要花时间,学习程序不能硬背,但是学习寄存器一定要 下功夫,理解他的功能所在,适当的时候当单词背下来。 推荐一本书,就这一本就足够了,书名是《列说  8051 》,有汇编语言和 C 语言两种版本,现在 已经是第三版本了。非常强悍的一本书,没有广告,没有局限,不 像培训手册,更不像教科书, 完全是一本非常好的参考书。我用一个五一假期的时间看完了这本书,真的当时看完后,觉得自己     已经是单片机高手了,很多曾经抽象 的知识不在抽象。书中图文并茂,内容安排紧张有序,并非 市面上很多说教的技术文档式的书,什么学完概念,学指令,学完指令学接口,学完接口才知道, 原来学 习单片机像在学天书,因为前面的章节已经使你头昏脑胀了,自己看还好,一讲更有问题。 那如何看书呢?第一步先根据书本的安排循序渐进的看完前两章,在你脑子开始发热,觉得自 己已经是工程师的时候,接下来一定是实践,一定是实践啊,这是非常 非常关键的,当然了实践 并非一定是左手电烙铁右手万能板的那种,也可以是仿真软件  Proteus ,或者是自己自己电路原理 路的简单单片机实验板(千万不要 用那种有贴片器件很多,看半天看不清电路连接的那种)。三 国期间,诸葛亮挥泪斩马谡的重典告诉我们纸上谈兵害人害己,学习单片机也一样,很多相关专业 的研 究生甚至博士生直到毕业都不清楚单片机的  IO  口的分布,不知分布谈何开发。 只要过了第一关,后面的路就好走,万事起步难啊。 第二:你身边如果有单片机入门者,动手能力比较强,请他帮忙,搭个简单的单片机最小电路, 哪怕是控制一个 LED 闪烁的电路。只要在你眼皮底下经过电路设 计、程序编写、程序下载都通过 了,那你就要感谢他一辈子,因为你已经在入门了。对于他们来说,做个单片机的最小系统板是轻 而易举,而对于初学者可就难多, 中间的一层窗户纸破了什么都简单了。因为在这个过程中,你 学会了如何下载程序到单片机内部,如何识别单片机,如何设计单片机最小电路。为什么有很多电 子和 计算机专业的学生不好找工作,因为他们中很多同学在将自己简历设计的眉飞色舞的时候, 他还没有见过单片机单片机。 因为只有对硬件了解,才能熟练运用。只有知道程序是如何被下载的,才会清楚为什么要写单 片机控制程序,这个动力来自于哪里,来至于心里有底。 单片机编程就是与单片机对话,如果不知道对方谁,有没有再听,你还会有说话的冲动吗。当 然了如果没有这样的人,还是那句话,在网上多找几个最小电路电路原 理图,在面包板上焊接就 可以了。当然了这个也不会的,那建议你一定要买一块功能简单的实验板,以后单片机的学习实验 及项目测试验都用的上。 四、如何迈入单片机开发世界 有了单片机实验板你就要多练习,最好是自己有台电脑,少下载几部电影,少网络游戏,把实 验板和电脑连好,安装上必备的软件 ( Keil Proteus STCisp ),下载参考程序,并修改参考程序, 从最简单的交通灯实验开始,等你发现你能控制交通灯,并了解交通的软硬设计 的时其实你已经 入门了,你会发现单片机是多么迷人的东西啊,这不是在学习知识,而是在提升自身的价值。 用途那么广的交通设计都不在话下,你还会为自己身无绝技而烦扰吗?还会觉得自己什么都不 会吗?计算机编程、电子技术的专业知识都用上了啊。 当你编写的程序按你的意愿实现时,比做什么事都开心,那种学习的收获感和成就感还有充实 感是非常难得的。然后让数码管亮起来显示你所需要的数字,都到这一步,你已经不能自拔了,你 已经开始考虑你这辈子要走哪一行了。     入门入门,什么才叫入门,要对得起自己啊。 我的要求很简单,单片机是否入门只有三点:  1 、独立掌握  Keil+Proteus 两大软件的使用方法并设计出仿真版的交通灯。  2 、独立在面包板上搭接单片机最小电路,并通过下载器将控制一个  LED 闪烁的  HEX  文件下 载进去看到效果。  3 、清楚自己单片机学的动力所在,并为自己的学习做一个规划。 但是在写程序的时候你肯定会遇到很多问题,而这时你再去翻书找,这其中你会找你之前学过 的编程的书,还有数电模电的书,你会发现原来之前学的知识还是有用 的。遇到不懂再去找以前 学过的书本查阅,这才是 “温故而知新,可以为师矣”的大道理啊。知识必须用于现实生活中,解决 实际问题,用单片机设计个简易的家 电定时器、红外遥控器什么,这样才能发挥它的作用,好好 想想,上了这么多年大学,探索了那么久,犹豫徘徊,天天上课,在课堂上学到了什么?、 是不是为了期末 60  分的考试而忙碌,侥幸靠了  90  分,很高兴啊,在别人面前吹自己专业知识 如何如何学习的好,殊不知,大学考试不像高中考试啊,拿到奖学金 又怎么样。下学期开学回来 一想,所学的知识已经忘得一干二净。学到什么了?为什么要推荐学习单片机,因为单片机是工科 生学的,集合计算机编程电子技术及多 门控制语言为一体的学科,与其说是在学习单片机,不如 说是在学习一个大学科。 五、学习单片机是汇编编程还是  C  语言编程 关于用汇编和  C  语言编程的问题。 这个问题困恼很多人, 但是我觉得学习汇编语言和  C  语言就像一个人进入社会要学习方言和普 通话一样。都要掌握,孰重孰轻自己把握。可能主要是学校教学和部分 教材引导,大一开了  C  语 言编程,没等学生知道到底  C  语言有什么实际用途,马上其他的语言一下子过来了。即使开设了专 门单片机课程,但是课程的内容与技术文 档很相识,程序虽然很多,但完整的不多,所以学完了 也不知道,到底为什么要学习编程。 很多同学大一就开设了  C  语言的课,我也上过,但是那时就是天天几乘几,几加几啊,求个阶 乘啊,  C  语言去解决小学数学问题, 用 每周两次上机, 对着书本不停的敲打, 完全在练习打字速度。 下课了也不知道自己到底掌握了什么,掌握了这个有什么用途。学完了有什么用? 如果在面试的时候,老板问,你学过编程吗,你脑子里马上是什么“ C  语言, VC  什么  VB 。很 多,什么  C  语言是基础是面向工程的,什么  VC  是高级面向对象 的”,但是老板又问,你能将你所 学习的  C  语言应用到实际开发中,比如设计一个定时报警器的  C  语言。这下傻了,老师没教过啊。 单片机编程用 C 语言或汇编语言都可以,但是我建议用 C 语言比较好,模块化管理编程方便, 移植性强,适合编写大程序。如果原来有 C 语言的基础那学起来会更 好,如果没有,也可以边学单 片机边学 C 语言。虽然很多人是从汇编语言开始接触单片机的,但是写小程序汇编语言还是简单的, 如果要实现一些算法,那汇编语言 就不简单了。虽说 C 语言编译以后代码量明显比汇编长,而且执 行效率也没有汇编语言高,但是在以前单片机开发中芯片工艺的限制,及单片机主频的限制,很多 单 片机内部存储器小的可伶,主频也小得可伶。但是现在不一样了,芯片内部的存储器根不不在 乎这点差别。主频也越来越高。 那汇编语言是不是不学了呢?不是的,一定要学习,有两方面首先入门单片机的时候要用汇编 语言,它的语法简单。第二如果你要做单片机的程序的高级设计师,那 汇编语言是非掌握不可的, 很多像高级单片机  ARM  都是汇编语言作为引导代码的,还有就是很多新出品的单片机起先也是先 有汇编语言编译器之后才有  C  语言编译 器。所以,我觉得对于单片机学习汇编语言入门, C  语言 精通,汇编语言再精通。 有句话很有道理“单片机  C  语言高手绝对是汇编语言高手,但是汇编语言高手不一定是  C  语言 高手” 最后,对于单片机的学习,入门为先,入门了以后就要去关注市场,关注企业,企业需要什么 样的人才,我想有了基础以后在面试之前了解下企业所需要的单片机类型,很快就上手了,毕竟学 习是相同的。
  • 热度 1
    2016-2-16 16:19
    241 次阅读|
    0 个评论
    从7月10号开始到8月21号共计30天的培训结束了,感觉收获颇丰!   这30天分为三个阶段:   第一阶段 :师兄们主要给我们熟悉各种独立模块的使用,还有基本的单片机功能的使用,如: 阮联波师兄的 :结构体的理解与使用;函数指针的理解与使用;矩阵键盘的反转扫描法。 农华艺师兄的 :msOS的基本结构;串口的介绍与使用;矩阵键盘的模块化;1602液晶的模块化。 吴世景师兄的 :根据天祥单片机看懂串口程序; 王思师兄的 :根据文档与时序图自己编写串口程序;如何看懂DS18B20的文档与时序图;DS18B20的模块化等。每一次的模块,每一次课都要求把独立程序挂上系统。这样,加深了我们对系统的理解,让我们能愈发熟练的使用MS3微系统,很有收获! 第二阶段 :第二阶段主要内容是多模块的使用及与系统的链接,如: 阮联波师兄的 :MS3界面的切换理解(先显示界面“当前界面”,当有按键消息时跳转到指定界面); 吴世景师兄的 :5V电压转3.3V与NRF905无线模块的发送与接收。 农华艺师兄的 :LCD1602、超声波、DHT11温湿度传感器;LCD1602的界面切换;超声波、DHT11温湿度传感器通过LCD1602切换显示;超声波、DHT11温湿度传感器、LCD1602挂上系统通过按键切换显示。 王思师兄的 :DS18B20挂上系统;STC12C5A60S2单片机的使用;MS3软件定时器的理解与运用;DS18B20+软件定时器使用,EEPROM(掉电保存数据)。这个阶段让我学会了如何看器件、芯片数据手册,如何看它们的时序图,如何在那看懂二者的基础上学会如何编写程序。特别在农华艺师兄的界面切换超声波与温湿度传感器的学习中,对MS3系统又有了更深的理解。我对系统的理解与熟练程度在第二阶段的培训过程中又上了一个新台阶,加油! 第三阶段 :这个阶段我们要自己焊接阮联波师兄画的15单片机开发板,在焊接的过程中我们不够认真严谨,焊接技术不强,因此开发板上的一些元器件焊得不是很美观,今后一定要加强焊工! 这个阶段主要围绕着这新开发板学习的,以便熟练这块新板的使用。 阮联波师兄 :给我们讲解这块新板的功能;使用方法,使用注意事项;还有交通灯的使用。真心觉得师兄挺厉害的,独自一人完成这板的设计,所以作为师弟,应向他学习,好好努力,在学习这板的过程中,我们都很认真! 接着王思师兄 :让我们自己看着文档和时序图写出红外发送程序;紧接着就挂上系统;最后用红外发送DS18B20收集到的温度值发送到接收板并用串口显示。 紧接着农华艺师兄 :TFT屏幕的显示原理;用TFT屏幕显示点、线、面、汉字、图片;TFT屏幕挂上系统完成界面切换。 最后是吴世景师兄 :SDcard的复位、初始化、写扇区、读扇区,理解SD卡的SPI模式;用SPI模式测试micoSD卡,SD卡在初始化中判断卡种类;一次for循环写入多个数据循环4次写满。第三次培训除了SD卡测试程序难理解外,使用TFT屏的计算量较大,程序不难理解,其他的都好理解程序和使用模块。总的来说,第三阶段的培训是最难的,但是,我有了前面的一些基础,理解起来也不是很困难。   三次培训小结 : 1、培训虽然暂时告一段,但是,学到的东西自己以后要多用才行,比如第一阶段培训的东西到第二阶段培训的时候师兄们要我们再写出来,我写得,但是有好多错误! 2、看着芯片时序图写驱动程序,方便理解时序,看时序图要学会修改延时,达到芯片要求的等待时间。 3、在培训的过程中,不懂的地方我有及时补充,这就体现了培训的一个好处:让我们用学过的东西做出一些项目,达到学以致用,还有对前面学过的一些东西能及时回顾,对学了却不是很理解的知识通过请教师兄,就更明白了。 4、在看程序的过程中,看到不懂的地方自己先想一想,在自己写程序时,出错的时候也自己多想,不要一看到不懂或出错的地方就马上问师兄或者是问同学,有时就一个分号没打,有时可能是弄错变量的类型,要细心要仔细才能写好程序,这样的方法虽然老掉牙了,但是很有用,而且会让自己收获更多!   个人对msOS嵌入式微系统的小理解: 1、      系统在运作的过程中,底层设备只有通过发送消息到大循环中,到达应用层,让这系统的最高层——应用层,判断这个消息应在什么时候处理,如何处理。底层设备只能等待应用层的处理消息发送过来才能处理需要处理的函数。 2、      底层设备不能直接到达应用层来处理函数,我们如果把要处理的函数地址直接放到APP.c的main函数中,这样添进去的底层设备就不算是与系统有联系。如果每一个添进去的底层设备都不经过消息队列到达应用层,就会发生很多冲突,你想处理你的函数,我又想处理我的函数,系统就很容易崩溃了。 3、      总之:系统运作,实现功能的过程中,就应该是底层设备发出处理函数请求消息,通过一个个上级,最终到达应用层,应用层再通过一个个下级推送处理消息,直到处理消息到达这个发送处理函数消息的底层设备要求处理的函数,完成功能的实现。   培训完之后自己应该做的事 : 1、      整理好一些程序模块:如串口调试模块、超声波模块、DHT11温湿度模块、DS18B20温度测量模块、NRF905无线接收与发送模块、EEPROM(数据掉电保存)、红外通信(收、发)等 2、      将模块挂上系统,实现多模块的连用,实现更多的功能。这也可以更加熟练的使用msOS微系统,加深理解,方便灵活运用!   最后,特别感谢老师能给我这个培训的机会,这个暑假可以说是上学以来过的最充实的一个暑假,真的学到了不少东西;更要感谢师兄们, 师兄们都是尽其所能地给我们培训,他们很认真负责,只是这个暑假的时间还是少的,不然我们是可以从师兄那学到更多东西,真心的感谢他们!以后,我给下一届的师弟们培训的时候,也应像师兄们那样尽责,将这种精神传承下去!而更重要的是自己要有较厚的知识贮备!
  • 热度 2
    2014-9-28 13:17
    428 次阅读|
    0 个评论
      在上次的文章里,我们提到了DSP编程中程序优化最常使用到的选项问题,主要提到的几个选项包括-O1、-O2、-O3、-O4等等。虽然我们是以DSP为例进行说明的,但是对于其它的处理器,例如ARM、CPU、一些高级的单片机如MSP430、PIC等等和一些编译环境,例如Keil、XilinxSDK等,它们使用的一般的优化选项和基本内容也是大同小异的,即同样的优化级别,优化的目的都是基本一致的。   这些都是基本的操作,如果我们的目的仅仅是优化代码性能或者尺寸的话。如果我们想了解优化过程中产生和使用的更多信息的话,对于DSP本身而言,它的一些其它特性对于程序的运行性能也是非常关键的,此时在基本的优化选项基础上,我们又要注意一下高级的优化选项的影响。例如,某些汇编指令在做诸如FFT变化的时候能够成倍的提高效率,所以开启高级优化选项使得编译器有针对性地生成相关的指令就非常重要。下面我们看一下编译器的高级优化选项有哪些。因为要考虑到指令集等因素,这里以C28x系列为例进行分析。   表1编译器的高级优化选项         大家可以关注一下我们集芯城的微信公众号,微信号是:icjxc520 微信二维码:                                 来源:EEChina
相关资源
广告