看高手谈谈对单片机编程的理解

发布者:PeacefulWarrior最新更新时间:2013-01-09 来源: 21ic 关键字:单片机编程  处理程序  编程模式 手机看文章 扫描二维码
随时随地手机看文章

不知道您有没有误解,反正我想让你们把上面二十这个数字的单位理解成年。如果您没有误解,那么我听到会有一点点失望,如果您误解了,我觉得很抱歉,真的。好像有个人说过大概这样一句话,人生有两件痛苦的事情,一是他的欲望没被满足,另一件是他的欲望被满足了。嘿嘿,您争使我陷入这两个痛苦之一。其实,我参加工作才一年半,也就是二十个月左右,离开学校之前我基本没编写过程序,c语言,仅知道有这么一个名词。所以我还不具备能力对我下面所说的话负责——在编程上我未成年——那我为什么要撒谎呢?因为我想吸引你们过来,我想从你们那里得到下面这份资料:

实用单片机系统(McuSystem)的最新版,MS3,(如果您有,EMAIL给我,谢谢您!我的邮箱fuchilin@163.com)。我在论坛里找到了,可是没有积分,有没有热心的朋友帮我下载个?

哦,还有个问题,农民讲习所当年就留下一个pdf文件(建立通用处理程序)吗?有谁知道的,能否解答下我的疑问。谢谢

我先把正事摆在前面,不过水灌了太多了,我也不能太无良,人太无良,必有灾殃啊。下面且听我撒几句。“少儿”当心,甄吾言,再显式强调前面那句话,“在编程上我未成年”。

既然是说对编程的理解,那么,先胡乱下个定义。编程,我认为,是一个解决某个具体问题的思维过程,只不过解决这个问题的工具跟生活中普遍所提到的工具稍有不同,它是某种编程语言(嘿嘿。这句话貌似有个嵌套,倘若你认同这个观点,或者不是很反感,接着往下看) 。好,既然它是一个思维过程,那么重要的是什么——思维方法,所以你在解决问题的时候,对你来说重要的不应该是什么工具。思维方法有那些,我觉得您应该抽空了解一下。有些东西没有土生土长的,舶来也不错。哈哈。说到这边我决定快点打住,原因有二:中午没休息(我平时有午休的习惯),天冷,加班,人少,更冷,结果头很晕,怕说错太多话。二我想很多人都不喜欢“灌水”的。我如果在继续这段的说话方式,而且不加解释的话,我想我玩玩了。这边我再解释下,这段我绝无继续灌水之意,您回忆一下,你在看编程书籍的时候,有没有这种经历:您第一次看的时候,觉得某些地方作者泛泛而谈,您心里在想,奶奶的尽讲些大道理,这不灌水吗,实在的(代码)不来点。过了段时间,也许你会在编程遇到困难的时候,突然想起了跟当前问题有关联的大道理,你豁然开朗了。其实,人家在讲空话的时候,殊不知脑海里闪过多少“乌云”,说不定就有正盖在你头上的那朵。想想,有些东西确实不是很好表达,要是拿个例子来讲,万一水平不好,或者哪里疏忽了,岂不统统暴露。面子就像女人的贴身衣物,能不丢就别丢,嘿嘿。另外,倘若我灌水了,我不是有意的,那是我的水平问题了,而不是态度问题,我也用心去写了,请理解我一下,拍砖的时候轻一点,下手别太狠。

来点稍微具体的,然后结束。

一 抽象

我对抽象的理解是这样的。第一种意思,按照人脑的思维,抽出问题的几个大方面,或者步骤。然后123。。。我强调人脑,方面,步骤。为何强调人脑。首先,解决问题的是人,当然应该是人脑,我暂时认为当最初解决问题的时候,不应该被工具束缚,不应该让它的任何肢体进入您的脑海。其次,程序员都是人,便于沟通,也就是可读性的问题。第二种意思:把现实世界中的事物,用数据结构把它描述出来。建议您可以去看看unix,linux操作系统里的东东。

二 分层

分层就是把一个大的问题分解成有层次的小的问题。这个方法符合大脑的“国情”,你首先要承认,人脑是有局限的,当问题复杂到一定的程度的时候,你的大脑将疲于奔命,在复杂一点就“死机”了。分层也服务于抽象,你想,高度抽象的层次,不会处理下层琐碎的事情。而这些琐碎的事情就会被抛到别的层。分层的好处多多。我不想再在这个方面吐口水。

三 法

法,应该有效仿的意思。如果我没用错,这边就取这个意思。这一点很玄乎,是我整个人生积累下来的经验,本人认为这个原则放诸四海皆准。不信你试试!法什么呢?法自然,法硬件,法别人的软件等等,关于软件可以效仿硬件,我是这么想的,微处理器的产生有一个方面就是为了简化电路的设计,而被微处理器代替的电路逻辑都要由微处理器借助软件来实现,从这点出发,它们是相通的,法是很自然的东东了。有时候,你法下硬件,问题就解决了,而且借助硬件的分析方法,可靠性也大大提高了。法自然,嘿嘿,软件也是生命体,自己想吧,爱怎么想怎么想,天马行空的想最惬意。我们一起想吧。法别人的软件,你要提高自己的编程技巧,要经常读高手的好代码,端杯茶,像读小说一样去读它。最好还能自己去实现它,只有亲自去尝试之后,你才会发现乌云掩面的天空。很多从事自然语言写作的人,在成为高手之前,都是通过模仿别人的作品来提高自己的写作水平,这种方法我们也可以法。编程还有编程元素,编程模式,这些概念的提出也是法别的领域提出来的。可见,法的威力无穷。

在我现在的认识水平,我暂时认为,大的方面只要抓住前两点就行了。不过记得两手都要抓,两手都要硬。第三点就要看个人的造化了。小的方面技巧太多了,不是三言两语就能说清楚的。当我到了觉得不怕揭开遮羞布时候,我会结合这两个原则去实现系统的东西,然后拿出来和大家一起分享。不过这个时间估计还要很长,因为我真的还很菜很菜。。。

末了,前面两点都是老生常谈的东东了。不过,同样一个东东,你明白了它,切不一定能用好它。就像武侠小说里说的那样,高手即使出的一招普普通通的入门把式,威力跟刚入门的弟子比起来就是不同。我们明白了这些东东,就要身体力行的去实践它。我们的技艺才会有进步。还有,上面说的话未参考或者引用任何资料,完全是一家之言,贻笑大方了!不要对一些名词的定义太较真,不过欢迎拍砖!

关键字:单片机编程  处理程序  编程模式 引用地址:看高手谈谈对单片机编程的理解

上一篇:高手谈单片机裸奔的程序框架
下一篇:基于NEC单片机UPD78F0503遥控器解决方案

推荐阅读最新更新时间:2024-03-16 13:15

自制简单51单片机编程器(烧写器)
AT89C51是一款应用最为广泛的8051单片机,更重要的是他具有反复烧写(FLASH)的特性。一般情况下可重复烧写1000次,这样为初学者试验提供了一个廉价的平台。为了满足广大单片机爱好者动手的需要,本人利用半个月的时间,参考国外资料,实际设计制作成功一款简单的AT89C51/52/55单片机编程器。由于单片机编程时序不同,这一款编程器仅仅支持ATMEL公司的AT89C51, AT89C52, AT89C55芯片,不支持华邦或飞利浦兼容芯片。下面是单片机编程器电路图. 注:元器件清单见附录 工作原理简述: Q2, Q4以及周围的几个元件构成了电平转换电路,这样节省了1片max 232芯片,在要求不高的场合,这个电路在
[单片机]
自制简单51<font color='red'>单片机编程</font>器(烧写器)
PIC单片机编程格式和风格
首先我们来看一段程序: ittle ‘Input.asm’ ;标题 这是一个简单的输入实验 include COUNT EQU 20H ;定义20H寄存器名为COUNT ORG 0 ;程序区将从0000H开始装载 GOTO START ORG 4 ;中断入口 GOTO INTEN ;中断发生时跳转到INTEN ORG 10 ;START将从第10行开始 START …… MAIN …… GOTO MAIN INTSEVER …… RETFIE ;中断返回 END ;程序结束伪指令,不能少! 事实上汇编程序并没有固定的格式,但是它的各部分是有一定的位置安排的,习惯上依次为: ①程序标题:用Tittle伪指令定义,可缺省; ②程序
[单片机]
8052定时器2的可编程时钟输出模式的实例
52单片机里面有一个T2定时器,它比普通的16为定时器功能要强大多了,今天研究了T2定时器的一个应用 可编程时钟输出功能。配置成500KHZ的时钟信号输出后,用示波器测量了时钟输出脚P1^0,发现还真准。 为了把定时器配置成时钟发生器,位C/T2(T2CON.1)必须清0,也就是选择定时模式,位T2OE(T2MOD.1)必须置1,使能定时器2输出。位TR2(T2CON.2)启动、停止定时器。时钟输出频率取决于晶振频率和定时器2捕捉寄存器(RCAP2H,RCAP2L)的重载值,如公式所示: 定时器2的可编程输出模式原理框图如下 图1 定时器2的可编程输出模式 上个测试用的程序 // 文件
[单片机]
8052定时器2的可<font color='red'>编程</font>时钟输出<font color='red'>模式</font>的实例
如何自学单片机编程
目前 单片机 对于工科学生而言就会象电路基础原理一样成为基础课。 其实不是单片机难学,而是不知道怎么入门。请大家记住一句话“单片机不是学出来的,而是玩出来的”。下面结合自己自学单片机的体会,和大家一起来“玩”单片机。准备好了吗?我现在开始教大家如何学习单片机。 第一步:先读通一本教材 唉!?太没创意了吧,还要看书?不错,第一步还是要通读一遍教材,这样我们才能站在巨人的肩膀上。读了一遍什么感觉,一个字晕。着很正常,不然你就看不到这篇文章。很多人在晕了之后就泄气了,或者换教材,接着晕,直至晕倒。不过,现在告诉大家我们要向酒鬼学习,晕了不要紧,嘴上一直说“没醉”,至少有可以多喝半斤。所以信心很重要。 第二:晕着脑袋实践 第一步我
[单片机]
将8051应用程序迁移到ARM Cortex-M处理器上的过程
Cortex-M处理器系列包括广泛使用的Cortex-M3处理器、针对FPGA的Cortex-M1处理器、2009年初推出的Cortex-M0处理器(最小的 ARM 处理器)和2010年初推出的 C o r tex-M4处理器(支持浮点和数字信号处理增强指令)。这些处理器具有先进的功能特点和简单易用的编程模型,对于想从8051微控制器迁移到ARM架构的开发人员来说,极具吸引力。本文是一篇入门指南,目的是帮助8051微控制器的开发人员了解8051和A R M Cor tex-M处理器系列在架构、软件和硬件设计上的主要差异,从而加快迁移过程。 架构概述 对于一些嵌入式程序员(尤其是那些习惯使用汇编语言编程的程序员),首
[单片机]
将8051应用<font color='red'>程序</font>迁移到ARM Cortex-M<font color='red'>处理</font>器上的过程
你不知道的单片机编程器分类
G840联机/脱机烧写编程器 1、40针准全驱动,进口优质锁紧座。满足绝大多数IC烧录的脚位需求,充分提供了未来升级的基础条件。 2、用户享受终身升级支持。纯软件升级,只要从网上下载最新版本软件,就可完成升级。您的编程器将永远是最新的。 3、提供联机操作模式和脱机操作模式,既适用于开发、试验、教学,又适用于小批量量产,无须总是开电脑。 4、触摸键控制,你可以不用点击鼠标,使操作更为方便。触摸键经久耐用,永不损毁。 5、针脚接触检测准确无误。遇接触不良或插放错误,及时中止操作进程。 6、操作结果三重指示:软件界面显示、指示灯显示、可选择的蜂鸣指示。 7、双重电源模式。专用外部稳压电源供电方式,进一步确保稳定工作。有效避免部分电脑
[单片机]
你不知道的<font color='red'>单片机编程</font>器分类
单片机编程:键控定时灯
如图所示的电路,要求开机时灯灭,按一下按钮,灯D1亮,延时10秒后自动熄灭。 若在灯亮期间再按一下按钮,则灯立即熄灭。 试编写实现上述功能的完整程序。 要用汇编的哦,C俺还没学。 ;------------------------------------------------------- 这个题目,共有四人给出了程序,楼主选择的,却是一个最差的程序。 有位网友,已经对做而论道的程序和另一个程序,进行了对比,结果说明做而论道的程序是正确的。 下面把做而论道的程序写在下面,供大家评论。 下列程序,经过仿真,可以满足要求。 ;================================ ORG 0000H START:
[单片机]
<font color='red'>单片机编程</font>:键控定时灯
单片机编程:求8个无符号数的平均值
单片机编程:求8个无符号数的平均值。 有8个无符号数,存放在内部RAM以20H开始的8个单元中,要求将它们的平均值保存在R2中。 ;------------------------------------------------------------------------------ 最佳答案: 做这个题目,要有两个阶段,先求和,再除以8。程序如下: ;8个无符号数存放在内部RAM以20H开始的8个单元中,先求和: ; MOV R0, #20H ;设定数据起始地址 MOV R1, #8 ;共有8字节,将循环相加8次 MOV R2, #0 ;R2 R3清零 MOV R3,
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved