当前位置:文档之家› 写给单片机初学者

写给单片机初学者

写给单片机初学者
写给单片机初学者

本文由林翌蕁贡献

doc1。

今晚又是写程序 睡不着 写点东西吧 也算是自己的一个总结 首先是两个字 “喜欢” ! ! 一个东西 光有 10 分钟的热度是不够的 从事单片机 就意味着你以后是和枯燥的程序 调试 乱码 未知的软硬件错误 熬夜 脸上的豆豆 什么 什么的联系在一起(有点夸张 哈哈) 如果你选择了这种生活 并且确定你有一种精神能指引你一路走到底 至于什么精神 只有你自己知道 是满屏幕的 0101 还是 一串串胡乱的 ABCD 还是 成功后的成就感 还是天生俱来的对电子类东西的 痴迷 欢独坐电脑面前 攻克技术的颠峰 不需要理由 世界上就有这样一种人 不需要理由 那么确定了上面的之后 让我们开始吧 单片机 也叫做单板机 单片微型计算机 麻雀虽小 五脏俱全 那么如果你学过计算机组成原理 我相信你应该能更好的理解 单片机的内部结构 如果没有学过 也不要紧 那就拿小麻雀开刀 再一层层 自下而上的 到我们所用的 PC 刚开始学单片机的时候 看到厚厚的一本书 不要一咬牙 要一下子把书全部看完 看得仔仔细细 明明 白白 先看看目录 无非就是 介绍单片机的历史 然后它内部的组成原理 然后是指令 然后就是接口 先说 历史 知道 51 单片机是现在资料最丰富 最适合上手拿来开刀的就是了 不要觉得书上的 知识老 这都 N 多 年前的了 现在是不是都不一样了 兼容这个词 比如你用 ATC51 写的程序 拿到 ATS51 52 STC 都 还是喜欢别人在外面花天酒地 却喜

能用 只是 后续的片子 在一些地方更加完善 功能更强大 比如 在书上来掉牙的 2051 上的 MOV A,#00H 到其他 51 系列的 上也是一样的 你看它的片子的 介绍上 写了一句 “完全兼容 51 系列单片机” 那么 OK 别管那么多 只管用就是了 我发觉我废话多了 这不知道写到那去了。 。抽跟烟 继续。。 。

上面的意思是说 面前是一坐山 很高 然后我就一咬牙 吗的 慢慢爬吧 我不信我爬不上去了 或许爬到 一半就退缩了 退而再攻之

我拿个测量仪来 噢 原来这山总共 7000 米 半山腰有个亭子 到那是 3500 米 刚开始那 1000 米 坡度 很小 2000 米的时候有个 茅房(^_^) 6000 米的时候有个美女正在洗澡 山顶有个和尚庙 底 上! ! 刚开始的时候初学一定要用汇编 可能大家也看到了 关与 C 和汇编的讨论 各有各的说法 我个人觉得 初学者 完全没有必要去追求什么飘逸的风格 就用笨拙的汇编 虽然它像一头大苯熊一样 但是 当你能和大笨熊 亲切的交流 屈驾自如的时候 再去 和 漂亮的兔子 MM 鸳鸯戏水 会更加的得心应手 行 心中有了

汇编刚开始你会觉得很烦 就是 在那 MOV 过去 MOV 过来 JB JC JNB JNC DJNZ 很难记 不 像 C 一个 IF 一个 DO WHILE 就搞定的事 但是 用汇编你能更加了解 一条指令在 CPU 内存 的执行过程 能更加亲切的和 P0 P1 P2 P3 的每一个 口线 交流 不需要 C 的屏蔽底层 而是直接的就和底层 亲密接触 这里有人要说我了 什么什 么的 还是那句话 个人意见 仅供参考 在写延时程序的时候 DJNZ 是双周期指令 比如 12M 的 那么 一 条指令是 1US 那么你要精确的知道自己这段延时 能延时多少 US 多少 MS 那么你对 51 单片机内部的 指令 周期 对以后写有严格时序操作的程序 就更加得心应手 比如 看到一个片子的 PDF 数据总线 要拉 低多少 MS 地址总线 要拉高多少 US 等待周期要等待多少 US/MS 那么 不要怀疑 自己写 指令 搞定 它 成功以后 你会发现你从 最底层的了解了 一个片子是怎么传送数据 怎么通信 这样的经历 对你以后 再接触其他 片子的时候是莫大的帮助 像关于书上的内容 指令不用记得那么死 或者说完全不需要记 需要的时候 马上查 在查的过程中 会

更加加深你的印象(说点丢人的话 JC JB JNB JB 这些 指令我到现在都从来不记 我又不应付考试 我 书随时就在旁边 用的时候去翻就是了 ) 这也就提到了练习 程序 和指令 不要只看不用 实践是检验真理的唯一标准 实践出真知 这都是老话了 不过用在单片机的 学习上是太贴切了 单片机 本来就是实践性很强的 像我在学校的时候 每次实验课 都认真的做 抓住每次上机的机会 板子很贵 自己买不现实 而上机的 时候能接触到的每一次都很宝贵 LED 流水灯 十字口 交通灯 这些程序很基础 在一次 一次的小程序成功的过程中 你会更加喜欢上 单片机 并且坚定继续为之不离不弃的决心 熟能生巧 我还记得我刚开始的时候 经常是 把指令写错 把 跳转的标号写错 经常用系统 的关键 字 变量未定一存储空间就用 等等等等。 但是 一次 又一次

错误 下来 得到的是程序的正确性的大大的 。 提高 在这里我建议 刚开始先多读别人的程序 而且是完整的 备注多的 编程风格 而不是随意的乱添乱加 胡乱的复制粘贴 看懂 别人程序里的每一句代码的意思 为什么要加这条 这条指令的作用是什么 如果不清楚 马上翻书 去查 在查的过程中 更加加深对这条指令 或者这段子程序的用法的深刻的记忆 下次自己用的时候 才 格式规范的 从最开始就养成良好的

能像自己一样的拿来 得心应手 这也是为什么要选择 51 系列的单片机 应该它的示例代码 网上铺天盖地 而且高手也不会吝啬的把 初学要用的代码 还设置成什么自动回复 才能看才能下载 得到这些 代码的途 径是很方面的 得到的有用的信息也是最多的 像 1302 1602 DS18B20 LED 串口 DA AD 常用的接口

与 51 的驱动程序 这些网上都有很多 汇编版本 的 C 版本的 不要觉得都是几年前的东西 都是人转来转 去 老掉牙的东西 先都拿来消化掉 再为自己所用 大家也许也发现了 在 BAIDU 里找一些程序的时候看到一版的汇编 代码 但是没有一点注释 2 个字 痛 苦 所以 为了方便大家 也位了以后你能方便别人 刚开始写程序就要习惯 给程序写备注 为了别人能看懂 像一个大的工程 都是团队合作 你几千的代码 没有备注 别人几千的代码也没备注 那好吧 先花个 1 天的时间把程序看懂了 再干其他的吧 程序中像子程序的说名 入口参数 出口参数 内存的分配 关键语句的 单条备注 标号的顶格 代码的 缩进 等等 良好的编程风格绝对会让你在以后的工作和学习过程中事半功倍 ;;****子程序 ;

next: mov a,th0 swap a mov r1,a anl tl0,#0f0h ;//读取计数值 TH0 ;//高 4 位与低 4 位对换 ;//保存到 R1 ;//取 TL0 高 4 位,低 4 位忽略不计

写了一些小程序之后 那么 就是做完整的小实验 参照别人的程序比如写一个接口芯片的驱动 不再是点 亮一个灯 又点另外一个灯 这种的完整的验证型的实验非常重要 不要希望上课的时候老师给你的程序能让你突飞猛进 只有自己 不断的做实验 写程序 才能让自己学得更快 像买到的板子 都有完整的代码 这对于学习是很好的资料 因为它能所见即所得 不再是书上 的纸上 谈兵 那么程序是正确的 看懂了以后 自己可有试着改以下里面的某 个地方 你能找到它的核心的那几条 或一段代码 那么说明你对这段程序的理解已经更上一层楼了 初学者买板子很重要 而板子上的示例代码 和 技术支持 更重要 通过这个板子你能接触到一个平台 供你学习 那么这个板子就是值的 如果板子买来了就闭门造车 那么 板子再好 不是件好事 功能旋目的板子 强大大可以怎么样怎么样的板子 没有必要去买 当你强大到 要用到它上面的什么 激光 设想头的时候 我想你也已经不会再用那块板子开发东西了 基本的 液晶 数码 管 (是个很强大的东西 像我不喜欢什么软件仿真 在有问题的地方 设置个断点 程序执行到这一步 把值读

出来 显示到 LED 上 简单方便 )常用的 51 的接口有就够了 说到自己做实验板 买来的板子都有完整的 电路图 对于电子基本共不扎实的朋友 买来后看懂原理图 再慢慢的 自己做板子好一点 买了同一种板子的 能有个交流区 是最好的 各个问题和程序 拿出来大家交流 能起到很大的作用 也会 少走很多弯路 目前这个正在筹划当中 我会尽快和站长联系 开个专区 供大家交流和学习用 上面提到了 基本功 这才记起。(不好意思^_^) 像搞单片机 分几种 上层的 和底层的 上下通吃 的 。 不过刚开始的 都不是很复杂 我建议大家上下通吃 还是那句话 有不懂的 马上查资料 电容 3 级管 2 级 管 放大 整流 稳压 滤波 上拉 /限流电阻 还有 Protel 99 SE 自己画电路图 等等 这些基本功 随着学习 的深入 都要一点一点的累积起来 不懂不要紧 问题是不能让一个问题一直捆饶着你 要有一种精神 不搞懂 它 我就不罢休的精神 那么我相信任何困难都不会成为阻止你成功的绊脚石。 又说到那来了 夜深了 瞌睡来了 ** 单片机 要天天碰 调程序就到板子上结合着硬件环境调 像 DA AD 我刚开始学的时候那一章的内容根本 都没看 直到后来要做个东西 需要 AD 转换 去翻了下 TLC1543D 的 PDF 然后看了下 它的时序 去网上找 了下 示例代码 然后写的程序 像书上的 ADC0809 DAC0832 我是在用了其他转换片子后 回过头去看的 时候 发现这片子缺陷确实太多 然后再去看它的程序和使用方法 很简单 这里的意思并不是说 书上的 AD C0809 DAC0832 不重要 而是说大家学一个东西的时候 如果能结合板子学的话 或者说能马上用到 那 么是最好 成效也是最快的 实践的力量确实是不能小窥的 而现在普遍的大学生的高分低能 学软件工程的 让用 VB 写个小程序 不会写 单片机 90 多分的 写

个 LED 连单片机是具体的单片机的什么样子都没见 过 找工作的时候一大堆的奖 一大堆的废话。拿出自己做的成品 随意的和招聘的人聊各个单片机的优缺

点 正确的说出每种常用的片子的用途 用法 证明自己的实际的动手能里 找工作是难 但是分人。我相信 在大学实验室里呆 2 年 的人 和在大学里 谈 2 年恋爱的人 打 2 年网游 看 2 年小说 聊 2 年 QQ 打 2 年 C S 的人的结果绝对是不一样的 乱 78 糟的写了 很多 大家能看完不甚感激 如果有什么地方不对的 还请大 家多多指正 我也是个学习者 深切的感到刚学单片机的时候的困惑 希望写下的东西 对大家能有少许的帮助 写的不好 请大家见晾了 在最后这里引用下 <周立功写给年轻人的一封信>我觉得写的很好 是一种鼓励 和激励 人才在那里 人才 就是有一种精神为之从不放弃的人 .就是将来的你.大家加油!!!!

周立功写给年轻人的一封信

作为过来人思前想后,我感到完全有责任将发自心底的感受传递给年轻一代,“一个企业家心灵深处渴望优 秀人才的卓越追求和深层次的叹息、痛苦和感受”。您们千万不要等到毕业求职时才觉得自己能力太差,世

界上从来就没有后悔药。当然,如果您现在看了我写的这篇文章可能还不算晚,因为您还有机会在以后的 岁月里奋起直追——“亡羊补牢,尤未为晚”。对于现在刚进入大学的学生,您应该更加珍惜这美好的求学 机会,因为眨眼之间几年就过去了,您很快就会感到来自全社会生存竞争的压力,您面临的对手再也不仅 仅是您身边的同学,今天您在班上的成绩的确是前几名,但一走到社会上去才感到是多么地脆弱而又多么 地不堪一击。 在面试大多数本科生时,我仅仅是询问了一些有关 MCS-51 系列单片机的基本原理,但却几乎很少有人能 够完全答对,简直是五花八门。很多作为一个即将毕业的自动化专业本科生,至今还不知道单片机是这个 专业的核心基础,难道不可悲吗?您的水平不高我完全心中有底,其实我只要求这些学生能够掌握单片机 应用开发的基本技能,用汇编和 C51 写过一些基本的程序,真正动手做过一些简单的项目,然后将自己做 过的项目写成比较规范的文档。我想,这种形式的“自我介绍”肯定要比让别人看您那写的千遍一律的“八股 文”简历不知要强多少倍,古人言:“一叶知秋”其实讲的就是这个道理。平心而论只有具备这样基础的学生 才配得上企业花钱对您进行二次“开发” 事实上,很多学生根本就不管老师平时是多么地劝导都听不进去, 我认为您只要平时善于做一个有心人,主动一些多找老师请教,然后从大三开始帮老师打打下手干一些活。 还有一个途径就是自己花钱购买一些学习开发实验板,加强动手能力的训练。但也有很多学生说没有钱, 可事实上并非如此,现在的学生购买手机成风,我不知道手机对您们现在来说到底有多大的用途?事实上, 现在的学生家庭条件普遍都不太好,可这些孩子们的攀比心里却十分地严重和可怕。到今天即将毕业之际 才感到找工作太难。父母一个子儿地攒下一些辛苦钱给您购买电脑容易吗?“望子成龙――可怜天下父母 心”!他们是希望您能够学到一些真本事,而您可能很多时间都在玩游戏,上网聊天,实际上对于您来说仅 仅是举手之劳,只要花几百元买一块实验板,辛苦一个暑假的时间强化实践,可能您就会与众不同。与此 同时,可能您的信心大增,前途一片光明。俗话说得好:仓库有粮,心中不慌!如果您平时没有准备,那 么临时匆匆忙忙地上阵面试肯定是要败下来的。从 2003 年开始是全国第一次扩招之后毕业人数最多的第 一年,以后的毕业生还会更多,同时还有更多的研究生与本科生抢饭碗,面对就业的困境压力不能说不大, 痛苦在其中。 还有就是我每天都要面临那些看不完的自我介绍简历,很可惜几乎都是清一色的“八股文”令人讨厌。其实 只要您的成绩不是太差,分数不是应聘成功的关键,重要的是做人要踏实,不要有水分,实际上,只要将 您平时做过的小制作写成一篇心得,再带上您的作品,“事实胜于雄辩”这样更能打动人。 {O2\n.Wy,_?0 还有很多经历了四年本科又三年研究生阶段学习行将毕业的硕士生,不仅不知道嵌入式操作 系统是什么东西,而且连 C++都不能熟练掌握,驱动程序开发的能力就更不容提了,仅仅做了一个单片机 的应用设计就拿到硕士文凭了,术业缺乏专攻泛泛而谈,说句实在话,怎么样也教人无法接受啊!对于我 来说,如果您没有特别的才能,我宁愿用三年时间培养一个好的本科生给更高的待遇,他肯定不比一般的 硕士生差。所以,考上了研究生之后,您要时刻明白加强动手能力的培养和前沿科学技术的学习至关重要 的,这是您将来面试的“杀手涧”,因为您毕业之后要求的工资待遇起码是一般本科生的两倍,但是这个钱 不是

那么好拿。的顶多 3-5 年的时间,大家肯定能够看到一个现实,那就是如果您还不能熟练地掌握嵌入 式操作系应用开发技术的话, 您只能拿 2000 元的月薪。 即便您是研究生或是博士, 那又有什么稀奇的呢? 邓伯伯有句名言,不管白猫还是黑猫,抓住老鼠就是好猫!我们知道企业家是要赚钱的,否则这个企业就 留不住人才,无情的市场竞争机制将会毫不犹豫地将这个老板淘汰出局。一个可持续发展的企业,如果离 开了富有聪明才智的优秀人才,那是不可想象的。光有几个还不行,而是要有一个卓越的军团。 其实就业的问题,对于一个努力的人来说是何等地简单,我面试了 300 多本科生,我只对其中几个成绩中 等的本科生感兴趣,他们主要是参加过 2001 年全国电子大赛,有的是平时业余时间,暑假及其寒假都在 跟老师干活的学生,与他们聊天真是一种莫大的享受和欣慰,对于我来说真的是如获至宝。于是,我就立 即劝他们,您的成绩中等确实难以考上好的学校和导师还不如不考研究生以免浪费时间,同时也充满自信 告诉他们,“我就是伯乐!我愿意给您机会和花钱培养您”。事实上,即便您考上研究生,如果没有遇上具 有超前眼光和经费充足的导师,您读了也白读,更何况现在的研究生扩招的这么多?一个导师带那么多研 究生,有那么多课题吗?即便有的话,他应付得过来吗?可能残酷的现实将会让您看到,毕业之后回头一

看还远远不如当年同您一道毕业的同班同学。确实也是,人家的机会比您好得多,关键是人家对待机会比 您把握得好,可以说:恰到火候。难道非要读研究生理论水平才高吗?这是何等地荒谬啊!我们知道电子 与计算机技术的发展日新月异。 大学的更新速度一定就要快吗?回答是否定的, 比如说推广 PHILIPS 的最 新单片机和 USB 技术吧!他们的更新速度肯定比一个可持续发展的企业要慢得多,难道说我们的人才水 平不够高吗?我们公司就有一批这样在各个领域里出类拔萃的“年轻专家”从 2003 年开始,我们将会有一 系列的专著在北京航空航天大学出版社出版,大多数的著作都来自于我们长期的基础研究和应用开发,可 以毫不夸张地说这些都是我们这个年轻团队合作的结晶。他们是优秀和卓越的人才,他们没有就业的压力, 他们不怕炒鱿鱼,相反我倒时刻要想尽办法加强公司的管理,从工资,奖金,福利,生活和事业成就感等 各个方面绞尽脑际善待人才和留住人才,这么努力的人才根本就不需要过多地为工作和生活发愁,对于这 个问题当然是仁者见仁智者见智,也就是下面我要讲到的问题,一个人如何根据自己的特点、条件和机遇 对自己如何定位的问题,也是至关重要的。 比如说,如果您对单片机的理解仅仅是入门水平的话,那么您首先就应该低调一些,因为您主要的任务是 为了寻找一个可以学习的机会,说句实在话,此刻此刻您一定要清醒地意识到:寻找伯乐比眼前的利益更 加重要!因为您现在确实还没有可以骄傲的资本,您一定要想尽办法取得第一次正式踏入社会的入场卷, 这对您来说是何等地重要啊!俗话说得好,“万丈高楼从地起”您一定要寻找机会通过业绩表现出您的能力, 您确实与众不同之处。这样您就可能在一个公司里树立您的“信用”,有了信用之后随之而来的机会将会越 来越多,到那时您根本就不用不愁自己的待遇和地位问题了。所以对于一个刚刚步入社会的年轻人来说, 您能够做到以“诚信” 打天下,您将来的前途肯定是无限光明。千万不要感到自己在班上的成绩是前几名或 者相对来说自己的动手能力相比之下比同学强多少、多少,或者自己在读书期间贷了多少款,或者家里是 多么地缺钱,因为当您加入整个社会的竞争之后,这些都不是您要求高薪的理由,这个时候您的心态将可 能会决定您的命运,因此对自己要有充分的认识和正确的估价,经常是很多学生用这些理由向我开出高价, 我无话可说只好“摇头和叹息”。 如果您的水平还不够,我认为也不要自卑,要知道机会是时刻属于有准 备的年轻人,但也不可掉以轻心,此时此刻,您应该振作起来,立即拿起书本努力学习和加强实战的训练, 待到羽翼丰满之时大胆地走出去闯荡,让社会来对您做一个恰当的评价,然后再根据现实的情况不断地调 整自己,继续学习和实践,由于电子和计算机科学的高速发展呈现日新月异的变化局势,您一定要明白: 您距离失败永远只有 6 个月!

STC15W系列单片机初学者教程

目录 因为网站限制原因,其他链接都不予显示,还有联系方式都不予显示,带来不便非常抱歉 1.开始学习了 2.15W4K32S4单片机简介资料 3.单片机可以用来做什么呢? 4.单片机示例!写一个串口通讯程序,您也可以直接先从这 步开始学习 5.相关资料链接(数据手册,其他进阶例子,开拓眼界) 6.售后持续支持 7.所有下载链接汇总 一. 开始学习了 这个宝贝包含的硬件,也就是给您发货的内容包含以下东西:

1.15W4K32S4最小系统板 1块 2.转串口下载器一个2303转串口 1块用来下载程序和串口 通讯 3.白色面包板一个 1块适合搭建各种电路 4.一个霍尔传感器,制作一个霍尔电路做一个磁控开关 5.若干杜邦针;连接电路 6.彩灯3 颗若干电阻学习彩色灯控制彩色灯 7.三极管若干个电位计 1个灯亮度控制 8.提供上面所有元器件手把手教程手把手教程

这篇教程能够让您学会什么呢? 1.怎么使用 4软件编写的程序,并且使用下载程序到单片机 上面; 2.串口通讯程序,另外在电脑端使用软件进行图形化显示 程序; 如果您有兴趣的话,希望下面对您学习工作有帮助,资料有点多,但是还是值得花一些时间实际操作演示,只有自己动手了,才能体会到更多的内容。

二. 15W4K32S4单片机简介 15W4K32S4单片机是一款非常优秀的51系列单片机,很适合用来作为初学者入门单片机世界。当然单片机的世界没有最强大,只有最适合的单片机。如果你有了解过什么是51单片机和一点C语言。就可以尝试进入这款单片机。边玩边搭建更多的电路,在玩中学习。 继续往下看,将会一步一步演示给您看具体怎么是使用这款单片机。请有耐心的看下去哦,不过如果一次看不完的话,可以分多几天来操作,关键是要坚持! 那么单片机可以用来做什么呢? 目前单片机渗透到我们生活的各个领域,小到电话,玩具,手机,刷卡机,电脑键盘,彩电,冰箱,空调,电磁炉,大到汽车,工业自动控制,机器人,导弹导航装置,甚至是美国的火星车,这些设备里面都含有一个或者多个单片机。单片机的数量不仅远超过机,甚至比人类的数量还要多。可见数量之庞大,用途之广泛啊。 三. 我们掌握单片机有什么用呢?

51单片机基础知识试题题库(含答案)

第二章习题参考答案 一、填空题: 1、当MCS-51引脚ALE有效时,表示从P0口稳定地送出了低8位地址。 2、MCS-51的堆栈是软件填写堆栈指针临时在片内数据存储器内开辟的区域。 3、当使用8751且EA=1,程序存储器地址小于1000H 时,访问的是片内ROM。 4、MCS-51系统中,当PSEN信号有效时,表示CPU要从外部程序存储器读取信息。 5、MCS-51有4组工作寄存器,它们的地址范围是 00H~1FH 。 6、MCS-51片内20H~2FH范围内的数据存储器,既可以字节寻址又可以位寻址。 7、PSW中RS1 RS0=10时,R2的地址为 12H 。 8、PSW中RS1 RS0=11时,R2的地址为 1AH 。 9、单片机系统复位后,(PSW)=00H,因此片内RAM寄存区的当前寄存器是第 0 组,8个寄存器的单元地址为 00H ~ 07H 。 10、PC复位后为 0000H 。 11、一个机器周期= 12 个振荡周期= 6 个时钟周期。 12、PC的内容为将要执行的的指令地址。 13、在MCS-51单片机中,如果采用6MHz晶振,1个机器周期为 2us 。 14、内部RAM中,位地址为30H的位,该位所在字节的字节地址为 26H 。 15、若A中的内容为63H,那么,P标志位的值为 0 。 16、8051单片机复位后,R4所对应的存储单元的地址为 04H ,因上电时PSW= 00H 。这时当前的工作寄存器区是第 0 工作寄存器区。 17、使用8031芯片时,需将/EA引脚接低电平,因为其片内无程序存储器。 18、片内RAM低128个单元划分为哪3个主要部分:工作寄存器区、位寻址区 和用户RAM区。 19、通过堆栈操作实现子程序调用,首先就要把 PC 的内容入栈,以进行断点保护。调用返回时,再进行出栈保护,把保护的断点送回到 PC 。 20、MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS -51的PC是16位的,因此其寻址的范围为 64 KB。 21、MCS-51单片机片内RAM的寄存器共有 32 个单元,分为 4 组寄存器,每组 8 个单元,以R0~R7作为寄存器名称。 22、但单片机的型号为8031/8032时,其芯片引线EA一定要接低电平。 二、选择题: 1、当MCS-51复位时,下面说法正确的是( A )。 A、 PC=0000H B、 SP=00H C、 SBUF=00H D、 P0=00H 2、PSW=18H时,则当前工作寄存器是( D )。 A、 0组 B、 1组 C、 2组 D、 3组 3、MCS-51上电复位后,SP的内容应是( B )。 A、 00H B、 07H C、 60H D、 70H 4、当ALE信号有效时,表示( B )。 A、从ROM中读取数据 B、从P0口可靠地送出低8位地址 C、从P0口送出数据 D、从RAM中读取数据 5、MCS—51单片机的CPU主要的组成部分为( A )。 A、运算器、控制器 B、加法器、寄存器 C、运算器、加法器 D、运算器、译码器

单片机学习感悟

这个我从别处贴来百度文库的。写的非常的好。我们用学单片机不要停在演示的基础上。只能让单片机完成局部事。这样我们永远不会走出流水灯地狱!!! 学习单片机也已经有几年了,藉此机会和大家聊一下我学习过程中的一些经历和想法吧。也感谢一线工人提供了这个机会。 。“卖弄”也好,“吹嘘”也罢,我只是想认真的写写我这一路走来历经的总总,把其中值得注意,以及经验的地方写出来,权当是我对自己的一个总结吧。而作为看官的你,如果看到了我的错误,还请一定指正,这样对我以及其它读者都有帮助,而至于你如果从中能够收获到些许,那便是我最大的欣慰了。姑妄言之,姑妄听之。 几年前,和众多初学者一样,我接触到了单片机,立刻被其神奇的功能所吸引,从此不能自拔。很多个日夜就这样陪伴着它度过了。期间也遇到过非常多的问题,也一度被这些问题所困惑……等到回过头来,看到自己曾经走过的路,唏嘘不已。经常混迹于论坛里,也看到了很多初学者发的求助帖子,看到他们走在自己曾走过的弯路上,忽然想到了自己的那段日子,心里竟然莫名的冲动,凡此总总,我总是尽自己所能去回帖。很多时候,都想写一点什么东西出来,希望对广大的初学者有一点点帮助。但总是不知从何处写起。今天借一线工人的台,唱一唱我的戏一路学习过来的过程中,帮助最大之一无疑来自于网络了。很多时候,通过网络,我们都可以获取到所需要的学习资料。但是,随着我们学习的深入,我们会慢慢发现,网络提供的东西是有

限度的,好像大部分的资料都差不多,或者说是适合大部分的初学者所需,而当我们想更进一步提高时,却发现能够获取到的资料越来越少,相信各位也会有同感,铺天盖地的单片机资料中大部分不是流水灯就是LED,液晶,而且也只是仅仅作功能性的演示。于是有些人选择了放弃,或者是转移到其他兴趣上面去了,而只有少部分人选择了继续摸索下去,结合市面上的书籍,然后在网络上锲而不舍的搜集资料,再从牛人的只言片语中去体会,不断动手实践,慢慢的,也摸索出来了自己的一条路子。当然这个过程必然是艰辛的,而他学会了之后也不会在网络上轻易分享自己的学习成果。如此恶性循环下去,也就不难理解为什么初级的学习资料满天飞,而深入一点的学习资料却很少的原因了。相较于其他领域,单片机技术的封锁更加容易。尽管已经问世了很多年了,有价值的资料还是相当的欠缺,大部分的资料都是止于入门阶段或者是简单的演示实验。但是在实际工程应用中却是另外一回事。有能力的高手无暇或者是不愿公开自己的学习经验。 很多时候,我也很困惑,看到国外爱好者毫不保留的在网络上发布自己的作品,我忽然感觉到一丝丝的悲哀。也许,我们真的该转变一下思路了,帮助别人,其实也是在帮助自己。啰啰嗦嗦的说了这么多,相信大家能够明白说的是什么意思。在接下来的一段日子里,我将会结合电子工程师之家举办的主题周活动写一点自己的想法。尽可能从实用的角度去讲述。希望能够帮助更多的初学者更上一层楼。而关于这个主题周的最大主题我想了这样的一个名字“从单片机初学者

单片机初学者必看

单片机初学者必看 51、A VR、430、ARM(包括嵌入操作系统)、FPGA当前单片机系统如此丰富,对于新手到底该如何选择呢?我认为最大的误区,在于新手普遍的追时髦心理,急功近利心理,妄想短时间之内学会ARM,学会嵌入操作系统。网上资料、厂家宣传、培训机构广告也对初学者产生误导,使之误认为ARM很容易学。但是没有51单片机知识作为基础,其他一切都是空中楼阁。必不能达到预期效果。51单片机作为入门级产品,现在更多的体现在教学意义上了。虽然大部分的产品,已经淘汰51,使用高级芯片或者增强型51芯片,但是奉劝初学者,还是要从底层、基础、即51开始单片机的学习。学好、学会、精通51单片机再学习其他单片机也能很快入门。 第二个问题,学习单片机,需要有哪些基础,入门都学哪些东西。 很多初学者经常问,我能学单片机吗?难吗?我现在什么也不会啊?这里想说几句,要想学习单片机开发,需要有以下几方面基础,但要求并不是很高,可以在以后的学习过程中慢慢学。 1、电路基础:一些数字电路、模拟电路基础。毕竟以后要自己设计电路,这些知识是很有用的。 2、C语言基础:我个人比较喜欢C语言开发,相比汇编最大的优点就是移植性要好。学习51单片机,C语言编程当然需要有些基础。 3、一些单片机的基础知识:虽然是初学者,但是一些基础理论知识还是应该知道的。 4、一些焊接等动手能力,这个要求就不是那么严格了。呵呵。不过能搭一手漂亮的电路还是挺好的。 怎么样算入门? 1、学会使用编译器软件:就是在编译器下建立一个项目,编写一点点代码,生成一个程序文件。当你熟悉这个流程以后,就变得非常容易了。不过第一次还是很难实现的,最好有一个比较详细点的教程。 2、学会使用下载工具和软件:把程序烧录到单片机里,运行起来,需要动手去操作。 3、学会使用调试工具:如有条件,可以学习硬件仿真调试。 4、以上可以在学习板上实现,不过以后你要学会自己设计并制作电路。所以还要学会PRTEL软件使用。 第三个问题,学过一段51单片机了,入门也会了。以后怎么办啊? 很多初学者,学了一款51学习板,基础东西也都会了,下一步怎么发展却不知道了。下面的一些理论是我的一点不成熟想法,有这样困惑的朋友可以参考参考。 1、单片机的平面发展理论:不断学习同一个层次、不同结构、不同品牌的单片机。 学会了一个系列、一个公司单片机,比如51(AT89S51),了解的它的全部内部资源。下一步学习,仍然可以围绕51进行。可以扩展到其它公司的51单片机,比如stc、pic因为他们有很多增强型51单片机。功能比普通AT89S51强很多。如果可以,接触更多的同系列的51单片机。最终能够在做产品时,选择最正确的单片机,对每一种51单片机的优劣有清晰的判断。 2、单片机的纵向发展理论:不断学习高级别的单片机。 在学会一个系列的单片机,继续学习高级的单片机,比如从51到A VR、到ARM。可以学习到更多的单片机,接触到更多的知识。 3、单片机的外围发展理论:不断学习单片机的外围功能模块。 学会一个系列的单片机以后,转而研究外围电路。不论是输入、输出、通讯、逻辑和计算。单片机外围电路千变万化,其功能模块也千奇百怪。这样的模块学的越多,对你做产品的好处越大。毕竟所有功能模块都是用在单片机上的,不论是51还是ARM都需要有外围电路才能实现功能。

单片机MCU基础知识,初学者必看

单片机MCU基础知识,初学者必看 1.MCU有串口外设的话,在加上电平转换芯片,如MAX232,SP3485就是RS232和RS485接口了。 2.RS485采用差分信号负逻辑,+2~+6V表示0,-6~-2表示1。有两线制和四线制两种接线,四线制是全双工通讯方式,两线制是半双工通讯方式。在RS485一般采用主从通讯方式,即一个主机带多个从机。 3.Modbus是一种协议标准,可以支持多种电气接口,如RS232,RS485,也可以在各种介质上传输,如双绞线,光纤,无线。 4.很多MCU的串口都开始自带FIFO,收发FIFO主要是为了解决串口收发中断过于频繁而导致CPU的效率不高的问题。如果没有FIFO,则没收发一个数据都要中断处理一次,有了FIFO,可以在连续收发若干个数据(根据FIFO的深度而定)后才产生一次中断去处理数据,大大提高效率。 5.有些工程师在调试自己的系统时一出现系统跑飞,就马上引入看门狗来解决问题,而没有思想程序为什么会跑飞?程序跑飞可能是程序本身的bug,也可能是硬件电路的问题(本身就是易受干扰或自己就是干扰源)。通常建议在调试自己的系统时,先不加看门狗,等完全调试稳定了,在补上(危机产品安全,人身安全的除外)。 6.如何区分有源蜂鸣器和无源蜂鸣器? 从外观上看,如将两种蜂鸣器的引脚都朝上放置时,可以看出绿色电路板的一种是源蜂鸣器,没有电路板而用黑胶密封的一种是有源蜂鸣器。 有源蜂鸣器直接接上额定电源就可以连续发声,而无源蜂鸣器则和电磁扬声器一样,需要接在音频输出电路上才能发声。 7.电压比较器的用途主要是波形的产生和变换,模拟电路到数字电路的接口。 8.低功耗唤醒的常用方式:处理器进入低功耗后就停止了很多活动,当出现一个中断时,可以唤醒处理器,使其从低功耗模式返回到正常运行模式。因此在进入低功耗模式之前,必须配置莫个片内外设的中断,并允许其在低功耗模式下继续工作。如果不这样,只有复

从单片机初学者迈向单片机工程师_完整.doc

目录: KEY篇第一章----按键程序编写的基础 KEY篇第二章----基于状态转移的独立按键程序设计 LED篇第三章—模块化编程初识 LED篇第四章----渐明渐暗的灯 LED篇第五章----多任务环境下的数码管编程设计 我们用学单片机不要停在演示的基础上。只能让单片机完成局部事。这样我们永远不会走出流水灯地狱! !! 学习单片机也已经有几年了,藉此机会和大家聊一下我学习过程中的一些经历和想法吧。也感谢一线工人提供了这个机会。希望大家有什么好的想法和建议都直接跟帖说出来。毕竟只有交流才能够碰撞出火花来 几年前,和众多初学者一样,我接触到了单片机,立刻被其神奇的功能所吸引,从此不能自拔。很多个日夜就这样陪伴着它度过了。 期间也遇到过非常多的问题,也一度被这些问题所困惑……等到回过头来, 看到自己曾经走过的路,唏嘘不已。经常混迹于论坛里,也看到了很多初学者发的求助帖子,看到他们走在自己曾走过的弯路上,忽然想到了自己的那段日子,心里竟然莫名的冲动,凡此总总,我总是尽自己所能去回帖。很多时候,都想写一点什么东西出来,希望对广大的初学者有一点点帮助。但总是不知从何处写起。今天借一线工人的台,唱一唱我的戏。卖弄”也好,吹嘘”也罢,我只是想认真的写写我这一路 走来历经的总总,把其中值得注意,以及经验的地方写出来,权当是我对自己的一个总结吧。而作为看官的你,如果看到了我的错误,还请一定指正,这样对我以及其它读者都有帮助,而至于你如果从中能够收获到些许,那便是我最大的欣慰了。姑妄言之,姑妄听之。如果有啥好的想法和建议一定要说出来。 一路学习过来的过程中,帮助最大之一无疑来自于网络了。很多时候,通过网络,我们都可以获取到所需要的学习资料。但是,随着我们学习的深入,我们会慢慢发现,网络提供的东西是有限度的,好像大部分的资料都差不多,或者说是适合大部分的初学者所需,而当我们想更进一步提高时,却发现能够获取到的资料越来越少,相信各位也会有同感,铺天盖地的单片机资料中大部分不是流水灯就是 LED,液晶, 而且也只是仅仅作功能性的演示。于是有些人选择了放弃,或者是转移到其他兴趣上面去了,而只有少部分人选择了继续摸索下去,结合市面上的书籍,然后在网络上锲而不舍的搜集资料,再从牛人的只言片语中去体会,不断动手实践,慢慢的,也摸索出来了自己的一条路子。当然这个过程必然是艰辛的,而他学会了之后也不会在网络上轻易分享自己的学习成果。如此恶性循环下去,也就不难理解为什么初级的学习资料满天飞,而深入一点的学习资料却很少的原因了。相较于其他领域,单片机技术的封锁更加容易。尽管已经问世了很多年了,有价值的资料还是相当的欠缺,大部分的资料都是止于入门阶段或者是简单的演示实验。但是在实际工程应用中却是另外一回事。有能力的高手无暇或者是不愿公开自己的学习经验。 很多时候,我也很困惑,看到国外爱好者毫不保留的在网络上发布自己的作品,我忽然感觉到一丝丝的悲哀。也许,我们真的该转变一下思路了,帮助别人,其实也是在帮助自己。啰啰嗦嗦的说了这么多,相信大家能够明白说的是什么意思。在接下来的一段日子里,我将会结合电子工程师之家举办的主题周活动写一点自己的想法。尽可能从实用的角度去讲述。希望能够帮助更多的初学者更上一层楼。而关于这个主题周的最大主题我想了这样的一个名字从单片机初学者迈向单片机工程师”。名字挺大挺响亮,给我的 压力也挺大的,但我会努力,争取使这样的一系列文章能够带给大家一点帮助,而不是看后大跌眼镜。这样的一系列文章主要的对象是初学者,以及想从初学者更进一步提高的读者。而至于老手,以及那些牛XX 的人,希望能够给我们这些初学者更多的一些指点哈?@_@ 我们首先来看第一章节

51单片机C语言入门教程详细解说

单片机c语言入门 相信很多爱好电子的朋友,对单片机这个词应该都不会陌生了吧。不过有些朋友可能只听说他叫单片机,他的全称是什么也许并不太清楚, 更不用说他的英文全称和简称了。单片机是一块在集成电路芯片上集成了一台有一定规模的微型计算机。简称为:单片微型计算机或单片机 (Single Chip Computer)。单片机的应用到处可见,应用领域广泛,主要应用在智能仪表、实时控制、通信、家电等方面。不过这一切都没 什么关系,因为我(当然也包括任何人)都是从不知道转变成知道的,再转变成精通的。现在我只想把我学习单片机的经历,详细地讲叙给大 家听听,可能有些大虾会笑话我,想:那么简单的东西还在这里卖弄。但是你错了,我只是把我个人学习的经历讲述一遍而已,仅仅对那些想 学习单片机,但又找不到好方法或者途径的朋友,提供一个帮助,使他们在学习过程中,尽量少走些弯路而已! 首先,你必须有学习单片机的热情,不是说今天去图书馆看了一个下午关于单片机的书,而明天玩上半天,后天就不知道那个本书在讲什 么东西了。还是先说说我吧,我从大二的第一个学期期末的时候才开始接触单片机,但在这之前,正如上面所说的:我知道有种芯片叫单片机, 但是具体长成什么样子,却一点也不知道!看到这里很多朋友一定会忍不住发笑。嘿嘿,你可千万别笑,有些大四毕业的人也同样不知道单片 机长成什么样子呢!而我对单片机的痴迷更是常人所不能想象的地步,大二的期末考试,我全放弃了复习,每当室友拿着书在埋头复习的时候, 我却捧着自己从图书馆借的单片机书在那看,虽然有很多不懂,但是我还是坚持了下来,当时我就想过,为了单片机值不值得我这样去付出, 或许这也是在一些三流学校的好处吧,考试挂科后,明年开学交上几十元一门的补考费,应该大部分都能过了。于是,我横下一条心,坚持看 我的单片机书和资料。 当你明白了单片机是这么一回事的时候,显而易见的问题出来了:我要选择那种语言为单片机编写程序呢?这个问题,困扰了我好久。具 体选择C51还是A51呢?汇编在我们大二之前并没有开过课,虽然看着人家的讲解,很容易明白单片机的每一时刻的具体工作情况,但是一合上 书或者资料,自己却什么也不知道了,根本不用说自己写程序了。于是,我最终还是决定学C51,毕竟C51和我们课上讲的C语言,有些类似, 编程的思想可以说是相通的。而且C51还有更大的优点就是编写大程序时的优越性更不言而喻,当然在那时,我并没有想的那么深远,C51的特 点,还是在后来的实践过程中,渐渐体会到的!朋友如果你选择了C51,那么请继续往下看,如果你选择了A51,那么你可以不要看了!因为下面讲 的全是C方面的,完全在浪费你的时间! 呵呵^_^ 第二,既然你想学好单片机,你必须得舍得花钱,如果不买些芯片回来自己动手焊焊拆拆的(但是在后期会介绍给大家一个很好用的硬件 仿真软件,并不需要你用实验板和仿真器了,直接在你的PC上完成,但是软件毕竟是软件,从某个特定的意义上来说是并不能代替硬件的),即使

单片机基础知识

1.一个完整的微机系统由硬件和软件两大部分组成 2.微型计算机的性能指标: 字长、运算速度、存储容量、软件配置、外设扩展能力 字:一组二进制数,字长:该二进制数的位数,字长越大,计算机处理数据越快运算速度:表达方式:cpu主频,越高,运算速度越快 存储容量:内存储容量(cpu直接访问存储器)、外存储容量(硬盘容量) 2.计算机系统:硬件系统(冯.诺依曼结构)(运算器、存储器、控制器、输入输出设备)、软件系统(运行程序和相应文档) 3.CPU主要组成部分:运算器、控制器 ALU运算器核心、累加器A、标志寄存器FR(C进、借位,OF溢出标志)、(不影响标志位CY的指令:INC A) 寄存器组RS、控制器CU(pc程序计算器、ir指令寄存器、id指令译码器) 4.存储器:RAM、ROM,其中RAM 具有易失性,常用于存储临时性数据 存储器的地址范围是0000H~0FFFH,它的容量为4KB(16*16*16=4*1024) 5.总线bus:传递信息的公共通信公道 片总线、内总线、外总线 地址总线(AB)、控制总线(CB)、数据总线(DB) 6.单片机(芯片)包括五部分:运算器、存储器、控制器、输入部分、输出部分8051:8位单片机 8031:复位后,PC和SP为:0000H、07H 7.二进制B、八进制O、十进制D、十六进制H 8.原码、反码、补码、压缩BCD码

9.单片机引脚: P1.0VCC(40引脚)P1.1P0.0 P1.2P0.1 P1.3P0.2 P1.4P0.3 P1.5P0.4 P1.6P0.5 P1.7P0.6 RST P0.7 RXD EA/VPP TXD ALE/PROG ITR0PSDE ITR1P2.7 T0P2.6 T1P2.5 WR P2.4 RD P2.3 XTAL2P2.2 XTAL1P2.1 GND P2.0(21引脚)

单片机初学者必须掌握的几个概念

单片机初学者必须掌握的几个概念 一、总线:我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调所以就需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线上,即相当于各个器件并联起来,但仅这样还不行,如果有两器件同时送出数据,一个为0,一个为1,那么,接收方接收到的究竟是什么呢这种情况是是不允许的,所以要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(可以有多个器件同时接收)。器件的数据线也就被称为数据总线,器件所有的控制线被称控制总线。 在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配地址,才能用,分配地址当也是以电信号的形给出的,由于存储单元比较多,所以,用于地址分的线也较多,这些线被称为地址总线。 二、数据、地址、指令:之所以将这三者放在一起,是因为这三者的本质都是一样的─数字,或者说都是串‘0‘和‘1‘组成的序列。换言之,地址、指令也都是数据。指令由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关,不可以由单片机的开发者更改。地址:是寻找单片机内部、外部的存储单元、输入输出口的依据,内单元的地址值已由芯设计者规定好,不可更改,外部的单元可以由单片机开发者自行决,但有一些地址单元是一定要有的(详见程序的执行过程)。数据:这是由微处理机处理的象,在各种不同的应用电路中各不相同,一般而言,被处理的数据可能有这么几种情况: 1地址(如MOV DPTR,#1000H),即地址1000H送入DPTR。 2方式字或控制字(如MOV TMOD,#3),3即是控制字。 3常数(如MOV TH0,#10H)10H即定时常数。 4实际输出值(如P1口接彩灯,要灯全亮,则执行指令:MOV P1,#0FFH,要灯全暗,则执兄令:MOV P1,#00H)这里0FFH和00H都是实际输出值。又如用于LED的字形码,也是实际出的值。理解了地址、指令的本质,就不难理解程序运行过程中为什么会跑飞,会把数据当成指令来行了。 三、P0口、P2口和P3的第二功能用法初学时往往对P0口、P2口和P3口的第二功能用法迷惑不解,认为第二功能和原功能之间要有个切换的过程,或者说要有一条指令,事实,各端口的第二功能完全是自动,不需要指令来转换。如、分别是WR、RD信号,当微片理机外接RAM或有外部I/O口时,它们挥作第二功能,不能作为通用I/O口使用,只要一微处理机一执行到MOVX指令,就会有相应的信号从 P3. 或送出,不需要事先用指令说明。事实上‘不能作为通用I/O口使用‘也并不是‘不能而是(使用者)‘不会‘将其作为通用I/O口使用。你完全可以在指令中按排一条S ETB 的指令,并且当单片机执行到这条指令时,也会使变为高电平,但使用者不会这么做,因为这通常这会导致系统当溃(即死机)。 四、程序的执行过程单片机在通电复位后8051内的程序计数器(PC)中的值为‘0000,所以程序总是从‘0000‘单元开始执行,也就是说:在系统的ROM中一定要存在‘0000‘个单元,并且在‘0000‘单元中存放的一定是一条指令。

单片机学习心得10篇

《单片机学习心得》 单片机学习心得(一): 单片机学习心得体会 我从大二起,就去实验室去学习。在那里与老师和一些电子设计爱好者的交流中,我学到了更多的专业知识。我从此走上了学习嵌入式的道路。这丰富了我的大学生活,是我在大学的最大收获。 我是从学习单片机开始我的嵌入式学习的。 我接触单片机的方式是在图书馆看书,我看了很多本书,但是大多数书写的大同小异。书里面讲解的单片机的寄存器我看了很多遍也没有看懂。我都不明白改怎样学习它了。慢慢的我悟出了一个道理:电子的学习实践是最重要的,这样,我在大二的时候就买了一块学习板,我一边看视频一边仿照视频的程序,自己编写程序,在很短的时间里,我的单片机有了很大的提高。那些难懂的寄存器透过编写程序,我慢慢的弄懂了它们,此刻回头看去,原先它还是很简单的。 用哪种编程语言最适合我们。 我看过的单片机的书籍,大部分的程序都是汇编写的。它是一种基于机器硬件的低级语言,对于我们这些只学习过C语言的人来说,十分难懂。我认为刚开始学习单片机没有必要必须要从学习汇编编程开始。我学习单片机就是用C语言编程的,我并不会汇编语言,也没有妨碍我把单片机学好。 我的单片机学习心得。 很多人说,学单片机最好先学汇编语言,以我的经验告诉大家,绝对没有这个必要,初学者一开始就直接用C语言为单片机编程,既省时间,学起来又容易,进步速度会很快。在刚开始学单片机的时候,千万不要为了解单片机内部结构而浪费时间,这样只能打击你的信心,当你学会编程后,自然一步步就掌握其内部结构了。 单片机的学习实践。 单片机提高重在实践,想要学好单片机,软件编程必不可少。但是熟悉硬件对于学好单片机的也是十分重要的。如何学习好硬件,动手实践是必不可少的。我们能够透过自己动手做一个自己的电子制作,透过完成它,以提高我的对一些芯片的了解和熟练运用它。这样我们就能够多一些了解芯片的结构。我相信,你完成了一个属于自己的电子制作,你的单片机水平就会有一个质的提高。 这就是我学习单片机的心得体会,期望给单片机的爱好者学好单片机有所帮忙。

单片机程序设计方法

第十六课单片机程序设计方法 程序设计是单片机开发最重要的工作程序设计就是利用单片机的指令系统根据应用系统即 目标产品的要求编写单片机的应用程序其实我们前面已经开始这样做过了这一课我们不是讲如何来设计具体的程序而是教您设计单片机程序的基本方法不过在讲解之前还是有必要先了解一下单片 机的程序设计语言 一程序设计语言 这里的语言与我们通常理解的语言是有区别的它指的是为开发单片机而设计的程序语言如果您没有学过程序设计可能不太明白我给大家简单解释一下您知道微软的VB VC 吗VB VC 就是为某些工程应用而设计的计算机程序语言通俗地讲它是一种设计工具只不过这种工具是用来设计计 算机程序的要想设计单片机的程序当然也要有这样一种工具说设计语言更确切些单片机的设计语言基本上有三类 1 完全面向机器的机器语言 机器语言就是能被单片机直接识别和执行的语言计算机能识别什么以前我们讲过--是数字0 或1所以机器语言就是用一连串的0 或1 来表示的数字比如MOV A 40H 用机器语言来表示就是11100101 0100000 很显然用机器语言来编写单片机的程序不太方便也不好记忆我 们必须想办法用更好的语言来编写单片机的程序于是就有了专门为单片机开发而设计的语言 2 汇编语言 汇编语言也叫符号化语言它使用助记符来代替二进制的0 和1比如刚才的MOV A 40H 就是汇编语言指令显然用汇编语言写成的程序比机器语言好学也好记所以单片机的指令普遍采用汇编指令来编写用汇编语言写成的程序我们就叫它源程序或源代码可是计算机不能识别和执行用汇编语言写成的程序啊怎么办当然有办法我们可以通过翻译把源代码译成机器语言这个过程就叫做汇编汇编工作现在都是由计算机借助汇编程序自动完成的不过在很早以前它是靠手工来做的道听途说我也没经历过呵呵

初学者怎么学习单片机

初学者怎么学习单片机 学习单片机的方法 1)鹦鹉学舌 刚出生的孩子叫“爸爸”“妈妈”的时候,他甚至不知道“爸爸”“妈妈”是什么意思,更不会理解这些声音是什么意思,但是我们带着孩子见到他爸爸就让他喊“爸爸”,见到妈妈就让他喊“妈妈”,见到爷爷就喊“爷爷”……慢慢的你会发现,次数多了,孩子就知道谁是爸爸,谁是妈妈,谁是爷爷,谁是奶奶了。 大家刚开始接触单片机的时候,也属于单片机行业的新生儿。单片机的样子,单片机外围的各种器件,单片机内部的各种结构,单片机使用C语言的编程方法,初学者可能都没有见过,脑子里全无概念。没关系,有些概念和方法你不理解也没有关系,甚至不需要你去理解,你只需要跟着我去鹦鹉学舌式的学习,第一遍学习某一节课的内容时,对于程序,大家就可以完全跟着抄下来,甚至抄两三遍,过一段你会发现,好多东西你也认识了,好多概念你也慢慢的理解清楚了,你也能大概看懂别人的小程序了,切忌觉得自己看会了,而简单复制粘贴。 2)照葫芦画瓢 很多同学学习的时候喜欢看,看我做的视频,看我写的程序,甚至看别人的程序,都能看懂,觉得自己就会了,等到自己写程序的时候,感觉就是老鼠啃天,不知道从哪里下手了,这是初学者很容易犯的“眼高手低”的毛病,所以第二步的内容就非常重要了。 我的要求是,每一位同学,在学完了当前课的内容,把第一步顺利完成以后,然后关掉视频教程,关掉源代码,自己通过看电路图和查找非源代码的其他任何资料,把当节课我写的程序代码重新默写出来,边写边多少理解那么一点点,不是纯粹的背诵,应该说是背诵加理解的结合体。甚至学过几节课以后,可以回头把前边曾经

这样实现过的课程,再按照这种方法做一遍。千万不要认为这一步 没必要,这一步是你能否真正学会单片机的一个关键,在学完本教 程之前,每一课内容都要这样做,如果每一个程序你都能够完美的 完成,那么可以说,当节课的内容,百分之七八十你已经掌握了。 3)他山之石,可以攻玉 单片机技术的最大特点就是可以通过修改程序来实现不同的功能,因此举一反三的能力就必不可少了。每一节课的例程后边,我一般 都会布置几个作业,大家尽量去独立完成这个作业。在完成这个作 业的过程中,都可以参考我的程序思路,在这个基础上通过动脑思 考去构建你自己的程序框架,最终将程序完成。 在我们工程师实际产品研发的时候,很多种情况下也是如此。比如一个产品,我们如果从零起步的话,可能会走很多弯路,遭遇很 多前人已曾遭遇过的挫折,所以我们通常的做法是寻找购买几款同 类产品,然后先研究他们的各自优缺点,学习他们的长处,然后在 同类产品基础上再来设计我们自己的产品,这就是“他山之石,可 以攻玉”。 初学者在学习的时候,往往遇到的问题很多,你应该想到,你遇到的问题,可能前辈们早就遇到过了,所以遇到问题后,不要慌张,首先利用谷歌或者百度这些搜索引擎在网上搜一下,要做什么新东西,先去网上找相关资料了解一下,不管是编程还是硬件设计,多 多参考别人的东西,只要把别人的东西分析明白了,自己用起来了,也就成为自己的知识了。 4)理论实践结合,温故知新 当大家把所有的课程都按照前边三步完成后,这个时候不妨再把书打开,再看看书,经过了自己的实战经历,再看书的时候,对很 多知识点会有一种恍然大悟的感觉。甚至视频教程、书籍都可以反 复看几遍,可能有的知识点当时学习的时候不明白,过了一段时间,回过头来再学习的时候,一下就明白了。 单片机C语言优化技巧

51单片机基础知识及期末复习

51单片机简答题部分(经典) 1、什么叫堆栈? 答:堆栈是在片内RAM中专门开辟出来的一个区域,数据的存取是以"后进先出"的结构方式处理的。实质上,堆栈就是一个按照"后进先出"原则组织的一段内存区域。 2、进位和溢出? 答:两数运算的结果若没有超出字长的表示范围,则由此产生的进位是自然进位;若两数的运算结果超出了字长的表示范围(即结果不合理),则称为溢出。 3、在单片机中,片内ROM的配置有几种形式?各有什么特点? 答:单片机片内程序存储器的配置形式主要有以下几种形式: (1)掩膜(Msak)ROM型单片机:内部具有工厂掩膜编程的ROM,ROM中的程序只能由单片机制造厂家用掩膜工艺固化,用户不能修改ROM中的程序。掩膜ROM单片机适合于大批量生产的产品。用户可委托芯片生产厂家采用掩膜方法将程序制作在芯片的ROM。 (2)EPROM型单片机:内部具有紫外线可擦除电可编程的只读存储器,用户可以自行将程序写入到芯片内部的EPROM中,也可以将EPROM中的信息全部擦除。擦去信息的芯片还可以再次写入新的程序,允许反复改写。 (3)无ROM型单片机:内部没有程序存储器,它必须连接程序存储器才能组成完整的应用系统。 无ROM型单片机价格低廉,用户可根据程序的大小来选择外接程序存储器的容量。这种单片机扩展灵活,但系统结构较复杂。 (4)E2ROM型单片机:内部具有电可擦除叫可编程的程序存储器,使用更为方便。该类型目前比较常用 (5)OTP(One Time Programmable)ROM单片机:内部具有一次可编程的程序存储器,用户可以在编程器上将程序写入片内程序存储器中,程序写入后不能再改写。这种芯片的价格也较低。 4、什么是单片机的机器周期、状态周期、振荡周期和指令周期?它们之间是什么关系? 答:某条指令的执行周期由若干个机器周期(简称M周期)构成,一个机器周期包含6个状态周期(又称时钟周期,简称S周期),而一个状态周期又包含两个振荡周期(P1和P2,简称P周期)。也就是说,指令执行周期有长有短,但一个机器周期恒等于6个状态周期或12个振荡周期,即1M=6S=12P。 5、MCS-51单片机通常内部包含哪些主要逻辑功能部件? 答:51单片机通常由下列部件组成:一个8位CPU、一个片内振荡器及时钟电路、内部Flash Rom 程序存储器、256B的RAM、2个16位的定时/计数器、可寻址64KB片外数据存储器和64KB片外数据存储器和64KB片外程序存储器空间的控制电路、4个8位并行I/O端口及一个可编程全双工串行接口。 6、MCS-51单片机的存储器从物理结构上可划分几个空间? 答:MCS-51系列单片机的存储器配置从物理结构上可分为:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。从逻辑上可分为:片内外统一编址的64KB的程序存储器、片内256B的数据存储器以及片外64KB的数据存储器。

单片机的学习方法

单片机的学习方法 单片机是一门实用技术,我们学习它已经不是为了应付考试了,我给大家总结了单片机的学习方法是:一个要领,四个步骤。 学习单片机的要领就是:在实践中成长,InDoingWeLearn! 学射箭,你得去拉弓,整天只摆造型肯定不行;学游泳,你得下 水扑腾,整天在岸上做模仿活动不行;学开车,你得坐车上去开,坐 沙发上肯定学不会。同样的道理,学单片机,整天盯着单片机书看 肯定不行,你也必须得亲自动手去练。 没有不下水就学会游泳成为游泳健将的,没有不到车上练就能成为赛车手的,这点大家都清楚,可为什么那么多人学单片机的时候,总是只抱着一本书看呢。第一,我们小学中学甚至大学的学习模式 都是如此,学什么东西主要都是靠看书,应付书面考试;第二,很多 人想实践却不太清楚该怎么去实践。 遇到问题查下书比直接看书的效果要好过百倍。不是不让大家看书,而是看了一点以后,要马上去实践验证,然后再回头结合实践 的结果,理解书上的内容。从这个地方,大家要得出一个结论来, 就是在学实际技术的过程中,和应付考试不同,书上的内容不需要 你去硬性记忆,书是用来查的,不是用来背的。 1)鹦鹉学舌 刚出生的孩子叫“爸爸”“妈妈”的时候,他甚至不知道“爸爸”“妈妈”是什么意思,更不会理解这些声音是什么意思,但是 我们带着孩子见到他爸爸就让他喊“爸爸”,见到妈妈就让他喊 “妈妈”,见到爷爷就喊“爷爷”……慢慢的你会发现,次数多了, 孩子就知道谁是爸爸,谁是妈妈,谁是爷爷,谁是奶奶了。 大家刚开始接触单片机的时候,也属于单片机行业的新生儿。单片机的样子,单片机外围的各种器件,单片机内部的各种结构,单 片机使用C语言的编程方法,初学者可能都没有见过,脑子里全无

c51单片机基础知识选择题

单片机基础知识选择题 1.在MCS-51单片机中,当采用4MHZ晶振频率时,一个机器周期等于()微秒。 A.1 B.2 C.3 D.4 答案:C 2.如果某51单片机系统的定时/计数器0的中断服务程序放在程序存储区的3000H地址开始的一段空间内,此时跳转到定时/计数器0的中断服务程序的指令LJMP 3000H应放在()开始的中断地址区。 A.0003H B.0013H C.0023H D.000BH 答案:D 3.MCS-51单片机的字长是()。 A.2位 B.4位 C.8位 D.16位 答案:C 4.单片机复位时,程序计数器PC的值为()。 A.0000H B.0030H C.4000H D.4100H 答案:A 5.某存储器芯片有12根地址线,8根数据线,该芯片有()个存储单元。 A.1 KB B.2 KB C.3 KB D.4 KB 答案:D 6.MCS-5l单片机的堆栈区是设置在( )中。 A.片内ROM区 B.片外ROM区 C.片内RAM区 D.片外RAM区 答案:C 7.在单片机中,()是数据存储器,()是程序存储器。 A.ROM B.EPROM C.RAM D.EEPROM

答案:C; A、B、D 8.单片机在与外部I/O口进行数据传送时,将使用()线。

A.ALE INT0 B.PSEN ALE C.WR RD ALE D.ALE INT1 答案:C 9.下列计算机语言中,CPU能直接识别的是()。 A.自然语言 B.高级语言 C.汇编语言 D.机器语言 答案:D 10.MCS-5l单片机的堆栈区是设置在( )中。 A.片内ROM区 B.片外ROM区 C.片内RAM区 D.片外RAM区 答案:C 11.当MCS-51单片机接有外部存储器,P2口可作为 ( )。 A.数据输入口 B.数据的输出口 C.准双向输入/输出口 D.输出高8位地址 答案:C 12.下列关于栈的描述中错误的是()。 A.栈是先进后出的先性表 B.栈只能顺序存储 C.栈具有记忆作用 D.对栈的插入和删除操作中,不需要改变栈底指针 答案:C 13.调用子程序、中断响应过程及转移指令的共同特点是()。 A.都能返回 B.都通过改变PC实现转移 C.都将返回地址压入堆栈 D.都必须保护现场 答案:B 14.下面哪一个器件是同相OC门电路。() A.74LS04 B.74LS14 C.74LS07 D.74LS06 答案:C 15.14根地址的寻址范围可达()KB。 A.8 B.16

基于51单片机光电对管智能小车从入门到精通全教程分解

电子科技协会--《电子实践制作教程》
目录
第九章、基于 51 单片机的红外循迹小车..................................................................................... 2 1、制作要求............................................................................................................................. 2 2、制作目的............................................................................................................................. 2 3、制作方案(硬件方面) ..................................................................................................... 2 3.1 系统概述.................................................................................................................... 2 3.2 单片机模块................................................................................................................ 3 3.3 指示灯原理图............................................................................................................ 4 3.4 红外对管原理图 ........................................................................................................ 4 3.5 电机驱动模块............................................................................................................ 5 4、制作方案(软件方面) ..................................................................................................... 7 4、 附录................................................................................................................................... 9 5.1 实物和效果展示 ........................................................................................................ 9 5.2 参考程序: ........................................................................................................... 9 5.3 基于 C51 控制红外循迹小车原理图 ................................................................. 17
1 / 18

相关主题
文本预览
相关文档 最新文档