有玩单片机好玩吗的吗

查看: 1324|回复: 25
坛子里有玩单片机的吗?
欢迎一起来交流
我算一个~~~~~~~~~~~~~~
本帖最后由 JY陶石 于
21:11 编辑
我的套件已买来了,试着将示范程序烤进去了。日后有空弄就来和大家交流一下。我识几个英文单词,10年前用SHARP PC-G813计算器编写过BASIC数值计算程序,基本上是零基础。
想学不过觉得很难…
旧爱仍是最美 发表于
想学不过觉得很难…
&&如果用得到应该不是很难的吧。我以前没弄过工矿电器,因外甥办工厂有类似绕弹簧机的要做控制台,有电工用计数器,延时继电器等东西做了一台,我将他的线路简化改进后做了几台,准备留下最后一台用单片机控制,反正网络上可买到半成品,只要学会了编程应该能将它实用。
对于编程我觉得有如看天书一般!可能是我没那份天赋吧!
有啊,但我的话只是玩玩,技术不高,嘿。
俺的境界只在把别人编好的程序写进单片机
我从自学开始, 目前: 专业pic单片机开发
做了N年的单片机程序猿,改做工控了
提示: 作者被禁止或删除 内容自动屏蔽
玩AVR的路过~~
51都没学会的路过,求学习。
低成本学习pic单片机!
pic.jpg (146.08 KB, 下载次数: 0)
20:44 上传
买个开发板,一个月就搞定了,前提要有C语言基础。
微信:caoyin513 E-mail:
Powered by21ic官方微信-->
后使用快捷导航没有帐号?
请完成以下验证码
查看: 4308|回复: 21
单片机有什么好玩的项目么,求
&&已结帖(20)
主题帖子积分
高级技术员, 积分 938, 距离下一级还需 62 积分
高级技术员, 积分 938, 距离下一级还需 62 积分
主题帖子积分
专家等级:结帖率:80%
主题帖子积分
高级技术员, 积分 938, 距离下一级还需 62 积分
高级技术员, 积分 938, 距离下一级还需 62 积分
想玩一下单片机了,没有什么好的主意,求一个好玩的项目,stm32玩的,出于快毕业了,没有项目没什么好说的,不做东西的话懂一些理论感觉没什么用,而且企业都是问你项目的,求项目
主题帖子积分
高级工程师, 积分 5649, 距离下一级还需 2351 积分
高级工程师, 积分 5649, 距离下一级还需 2351 积分
主题帖子积分
专家等级:结帖率:55%打赏:0.00受赏:2.00
主题帖子积分
高级工程师, 积分 5649, 距离下一级还需 2351 积分
高级工程师, 积分 5649, 距离下一级还需 2351 积分
多参与开源项目。
主题帖子积分
实习生, 积分 27, 距离下一级还需 23 积分
实习生, 积分 27, 距离下一级还需 23 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 27, 距离下一级还需 23 积分
实习生, 积分 27, 距离下一级还需 23 积分
aozima开源项目哪里有呢
主题帖子积分
---------------------
主题帖子积分
---------------------
专家等级:结帖率:96%打赏:0.00受赏:58.00
主题帖子积分
---------------------
这里有开源的项目.
让学生新手去参与开源项目, 可能不太合适.
网上多看看, 多想想看, 看看 DIY 等方面的介绍, 自己找感兴趣的东西去玩
欢迎进入 !
主题帖子积分
主题帖子积分
专家等级:结帖率:93%打赏:0.00受赏:193.57
主题帖子积分
主题帖子积分
高级技术员, 积分 938, 距离下一级还需 62 积分
高级技术员, 积分 938, 距离下一级还需 62 积分
主题帖子积分
专家等级:结帖率:80%
主题帖子积分
高级技术员, 积分 938, 距离下一级还需 62 积分
高级技术员, 积分 938, 距离下一级还需 62 积分
你这个高要求了吧,学生的都还没有入门,ucos
主题帖子积分
主题帖子积分
专家等级:结帖率:92%
主题帖子积分
2# aozima开源项目哪里有呢
lab4z 发表于
参加2L的项目就是个不错的选择~
主题帖子积分
高级工程师, 积分 7012, 距离下一级还需 988 积分
高级工程师, 积分 7012, 距离下一级还需 988 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
高级工程师, 积分 7012, 距离下一级还需 988 积分
高级工程师, 积分 7012, 距离下一级还需 988 积分
高校应该与公司结合,让学生去电子公司实习。这样的题目,公司应该有一大把,只是论坛上大家不想说、不方便説而已。
我举个例子:
这个可以有低端(不带液晶,数码管显示,键盘操作)、高端(液晶触摸屏操作,带数据记录)两种
基本要求:
1,工作温度:低温要求零下20度(或零下30度),如用液晶屏,需低温正常显示
2,有差分张力表头(模拟表头或者液晶显示)
3,支持双路深度、双路张力,传感器参数可设置并保存
4,有各种报警设置。张力报警可选择停车。
5,有深度输出、张力0~5V线性输出
6,掉电保存深度数据
7,高端设备接U盘或笔记本,导出设备工作记录曲线(黑匣子)
8,公制/英制单位转换
9,供电有12V/24V、220VAC,不同型号可选其一
10,个别用户的其它变态需求
这是个单片机项目,从51到ARM都可以做,本科生拿着成绩单和这个东西去找工作,总比用嘴巴説、用手比划强多了。
主题帖子积分
实习生, 积分 18, 距离下一级还需 32 积分
实习生, 积分 18, 距离下一级还需 32 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 18, 距离下一级还需 32 积分
实习生, 积分 18, 距离下一级还需 32 积分
好想学啊!!
主题帖子积分
高级技术员, 积分 938, 距离下一级还需 62 积分
高级技术员, 积分 938, 距离下一级还需 62 积分
主题帖子积分
专家等级:结帖率:80%
主题帖子积分
高级技术员, 积分 938, 距离下一级还需 62 积分
高级技术员, 积分 938, 距离下一级还需 62 积分
不错,好像很高级啊
主题帖子积分
高级技术员, 积分 938, 距离下一级还需 62 积分
高级技术员, 积分 938, 距离下一级还需 62 积分
主题帖子积分
专家等级:结帖率:80%
主题帖子积分
高级技术员, 积分 938, 距离下一级还需 62 积分
高级技术员, 积分 938, 距离下一级还需 62 积分
2L的项目,什么来的
主题帖子积分
初级工程师, 积分 2246, 距离下一级还需 754 积分
初级工程师, 积分 2246, 距离下一级还需 754 积分
主题帖子积分
专家等级:结帖率:93%
主题帖子积分
初级工程师, 积分 2246, 距离下一级还需 754 积分
初级工程师, 积分 2246, 距离下一级还需 754 积分
嘿嘿,我也想通过做项目来学习呢
主题帖子积分
实习生, 积分 15, 距离下一级还需 35 积分
实习生, 积分 15, 距离下一级还需 35 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 15, 距离下一级还需 35 积分
实习生, 积分 15, 距离下一级还需 35 积分
你好,我这有一个项目,请看到后回得是否可以做,需要多少钱.
主题帖子积分
实习生, 积分 15, 距离下一级还需 35 积分
实习生, 积分 15, 距离下一级还需 35 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 15, 距离下一级还需 35 积分
实习生, 积分 15, 距离下一级还需 35 积分
你好,我这有一个项目,请看到后回得是否可以做,需要多少银子.
本帖子中包含更多资源
才可以下载或查看,没有帐号?
主题帖子积分
实习生, 积分 3, 距离下一级还需 47 积分
实习生, 积分 3, 距离下一级还需 47 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 3, 距离下一级还需 47 积分
实习生, 积分 3, 距离下一级还需 47 积分
做机器人啊
主题帖子积分
中级工程师, 积分 3302, 距离下一级还需 1698 积分
中级工程师, 积分 3302, 距离下一级还需 1698 积分
主题帖子积分
专家等级:结帖率:95%
主题帖子积分
中级工程师, 积分 3302, 距离下一级还需 1698 积分
中级工程师, 积分 3302, 距离下一级还需 1698 积分
你好,我这有一个项目,请看到后回得是否可以做,需要多少银子.
lovezhou2001 发表于
产线电子看板,我做了四年。你这是一个呼叫系统你让人家在校生来做。。。。
你是代理商还是生产商?你在哪个城市?
微机原理闹危机,随机过程随机过,实变函数学十遍,汇编语言不会编!
主题帖子积分
技术总监, 积分 31244, 距离下一级还需 18756 积分
技术总监, 积分 31244, 距离下一级还需 18756 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
技术总监, 积分 31244, 距离下一级还需 18756 积分
技术总监, 积分 31244, 距离下一级还需 18756 积分
电子公司不愿意要学生实习做项目,那都是给学生花钱练手的。
但是在学生阶段他未必这么认为。。。。。。。。。。。。。。
这里就难免出现矛盾
主题帖子积分
高级技术员, 积分 938, 距离下一级还需 62 积分
高级技术员, 积分 938, 距离下一级还需 62 积分
主题帖子积分
专家等级:结帖率:80%
主题帖子积分
高级技术员, 积分 938, 距离下一级还需 62 积分
高级技术员, 积分 938, 距离下一级还需 62 积分
lovezhou2001
太高级了,我的玩玩还可以,做产品还是免了
主题帖子积分
高级工程师, 积分 5649, 距离下一级还需 2351 积分
高级工程师, 积分 5649, 距离下一级还需 2351 积分
主题帖子积分
专家等级:结帖率:55%打赏:0.00受赏:2.00
主题帖子积分
高级工程师, 积分 5649, 距离下一级还需 2351 积分
高级工程师, 积分 5649, 距离下一级还需 2351 积分
7# 原野之狼&&
2L的项目,什么来的
liguang02 发表于
我参与的项目不是在我的签名里面吗?
很显眼呢 源于本土社区的RTOS,适用于各种主流MCU。 文件系统,以太网,more...
主题帖子积分
高级技术员, 积分 938, 距离下一级还需 62 积分
高级技术员, 积分 938, 距离下一级还需 62 积分
主题帖子积分
专家等级:结帖率:80%
主题帖子积分
高级技术员, 积分 938, 距离下一级还需 62 积分
高级技术员, 积分 938, 距离下一级还需 62 积分
,你是说这个开源的操作系统么,对于学生来说太高级了吧,我的ucos都是基本理解了而已,实际运用都没有做过,更加不要说项目了
时间类勋章
技术高手奖章
人才类勋章
甘甜之泉水
发帖类勋章
突出贡献奖章
等级类勋章
沉静之湖泊
发帖类勋章
时间类勋章
技术导师奖章
人才类勋章
技术新星奖章
人才类勋章
时间类勋章
荣誉元老奖章
等级类勋章
坚毅之洋流
发帖类勋章
技术领袖奖章
人才类勋章
终身成就奖章
等级类勋章
核心会员奖章
等级类勋章
无冕之王奖章
等级类勋章
奔腾之江水
发帖类勋章
技术奇才奖章
人才类勋章
湍急之河流
发帖类勋章
社区建设奖章
等级类勋章
热门推荐 /380后工程师独白:那些年,我们一起玩过的单片机
↑ 点击上方“电子工程专辑”轻松关注
“梦想这东西和经典一样,永远不会因为时间而褪色,反而更显珍贵!
----献给所有有梦想的人
我是一个平凡的工程师,标准的80后,从事单片机及嵌入式相关工作已经有几年有余。每天忙忙碌碌,上班下班,既有做出产品时的开心,也有调试程序时的痛苦。一个平凡的人,做着一些平凡的事,每天过着平凡的生活。
有人说做电子工程师是年轻人的活,过了30还不转管理无论是体力上还是精力上都无法胜任了。这句话有一定的道理,但如果兴趣依旧为何不继续追寻自己的梦想呢?从小我就对机械、电子方面的东西感兴趣。听父母说,每次买回的玩具我都要拆开看看里面的结构,美其名曰:看看为啥能动?为啥能工作。到现在有时回到乡下的老房子里,还能看到不少缺胳膊少腿的玩具呢。
还记得这些吗?当年这些都被我拆得七零八落的。特别是小青蛙,可是研究了好一阵子呢。
真正让我对电子感兴趣的还得从一个著名的玩具开始,它就是经典的任天堂红白机。想当初,把这个东西搬回家时还兴奋了不少时间呢,一个暑假把所有能玩的游戏都玩了遍,接着就在琢磨这东西真神奇,到底里面有啥东西呢?拆开一看发现居然全都是绿绿的板子,上面还有不少黑色的玩意。忽然觉得做这个东西的人好伟大,以后自己也要学会做这个。
80后的经典啊,我也是从这里对电的一类东西感兴趣的
真正开始接触电子、电脑这一块那就到大学了。当时信息太闭塞了,填志愿的时候也不太清楚计算机、电子信息工程、通信专业都有啥区别。只是问了下同乡的几个师兄,都说计算机是今后的发展。既然是这样,那就报呗。于是我把所有能填的地方都填满了计算机专业,功夫不负有心人,最后还真去了个二本的计算机系。
(其实现在想起来我最应该去的就是电子信息工程或机电工程专业,毕竟这两个专业学的才是后来我们所说的嵌入式,不过好在该学校的计算机系既不偏软也不偏硬,属于软件也学硬件也学的那一种,所以大学四年还是学到了不少东西的)
大学4年的时间是短暂的,在这里我还要鄙视下某些所谓的大学老师,记得有一次上微机原理讲到我就问:这个东西现在还在用吗?能不能弄个实物来看看?老师当时回答我说:这个芯片已经不用了,所以也不能找到实物,大家只要记住它就好。当时我就无语,既然淘汰的东西为啥要学???不过后来事实证明这些东西老是老了一点,但现在在很多的地方还是在用的。当然也不是说所有的大学老师都是严重脱离实际的,有些老师还是很厉害的,我就有幸碰到了一个,据说以前是某个公司的技术主管,专弄单片机这块。他让我知道了任天堂红白机里面绿绿的东西叫做PCB。有时他上课会给我们带一些小的玩意,比如说让单片机做流水灯,让蜂鸣器唱歌等等,让我们这些人崇拜的不行了。也正是在他的带领下我开始于单片机结下了不解之缘。
经典的AT89C51单片机,也是我的第一块单片机
51单片机开发板,我们就是从这里开始的。
现在想想当时挺有意思的,在用51单片机做完了所有实验后忽然感觉它真是无所不能,所有东西都琢磨着是不是能用51单片机完成,甚至尝试着用51单片机做个手机啥的玩玩(当然,这是无法实现的J),不过还是做了很多好玩的东西,比如说远距离万能遥控器啦,晚上偷偷的遥控对面楼的电视。51大概玩了1年左右,期间还把PCB给画了一遍,学会了用PROTEL。
在一次偶然的机会听说51过时了,ARM才是现在的老大,于是省吃俭用花了600多大洋弄了块44B0X的板子,拿回来一看傻眼了,比51复杂的多啊,光是引脚就密密麻麻的一排,看都看不清,后来听师兄说居然有人能够徒手焊接,更是佩服得五体投地。
经典的44B0X板子,还记得吗?据说这块板子是某个高手布的线,所有的44B0X都是参考它的,堪称经典。到目前有人学习PCB走线我还要求他好好琢磨这块板子呢。
除了主芯片外,其它外围设备也不简单啊,网卡,硬盘接口,FLASH等等应有尽有,既然买了就硬着头皮学呗,不过好在有51的基础,这块板子裸奔的程序很快就搞定了,也琢磨出个味来:不管芯片多复杂,最终到底无非就是配置下寄存器而已,只要配对了寄存器其它一切都好办。在软件方面就相对复杂多了,为了搞这块板子我还特意去买了好几本LINUX方面的书,现在闲暇下来翻翻这些书还是很有感觉的。不过linux太过于复杂了,花了大半年的时间我才把这些书粗略的看了一遍。
经典的Linux书籍,你看过没有?
很多精髓的东西都没有弄清楚。这时候已经是大三下学期,刚好老师有个小项目看到我弄得还行就派我过去干了,其实东西现在想起来挺简单:有4~5路模拟信号采集到系统中,再通过AD转换变为数字信号用单片机进行运算,再把结果通过RS232发送给上位机软件。但这毕竟是我接的第一个项目,心里的忐忑可想而知,特别怕搞不定丢了老师的脸。于是在拿完需求后,先自己买了点器件用万用表搭了一个电路先试试。项目最终很成功,我也拿到了第一份报酬。
丑陋的自搭电路
大学4年很快就过去了,带着一堆的开发板、书籍和满腹的电子知识我离开了校园。很快我就找到了第一份工作:在一家小公司做技术员,公司主要的产品是为各种电子设备定做测试仪器。由于我学的是计算机专业,所以公司希望招我来做上位机软件。这我可傻眼了,以前所有的时间都花在了电子方面,谈到做上位机软件倒还真的不会。毛主席说过:世上的事最怕“认真”二字。没学过没关系,只要现在开始也不晚。那到底学什么语言和开发工具呢?跑到CSDN晃了一圈,很多人都说C++功能强大,以后发展也好。不过到底是VC还是C++ builder呢?VC难学,但据说学会了以后啥都好办了。既然是这样,那我就弄VC吧。好在公司的任务不紧,有充足的时间看书和学习,再加上有几个前辈指引,学习起来轻松多了。如果有朋友现在还想学习VC和windows程序设计的话,下面几本书可不能错过。这些书都是对应于VC 6.0的,到现在估计应该有对应.net的新版本了吧。
在这个公司的两年里先后完成了许多小的项目,从一开始的帮别人打下手,到后来的自己负责、带徒弟,感觉自己成长了很多。离开这家公司后,我往北边发展。进入了一家做视频相关系统的公司B,公司不大,但各个都是技术强人,这也给我了不小的压力。还记得入职的第一天,项目经理就和我说:我们这任务比较紧,你今天把入职手续办完就进入项目组吧,最近视频点播系统那边活比较多,你先去那边。于是我就误打误撞进入了视频领域,想想自己对这方面什么都不懂还真是胆大,不过这个选择对我今后的方向有重大影响,这个后面再说。
搞过视频的朋友应该都知道,这东西对工程师的综合素质要求还是挺高的,硬件方面所用处理器的都是主频比较高,性能比较好的,很多都是用DSP或FPGA来做;软件方面对算法、数据结构要有较深的理解。不过当时我可不知道这些,总觉得无非就是单片机的升级版本,没什么大不了的。到了项目组后,简单的和项目沟通了下,了解到目前上位机这边有个问题:无法获取当前鼠标所指的位置的文字。当时我立马想到金山词霸不是有个屏幕取词功能么?应该和这个类似。于是立即动手查资料,看到到底是什么原理。等我把相关的资料看完后已经到了下午5点多钟,这是大家都陆陆续续准备下班了,正当我犹豫要不要告诉项目经理时,项目经理走到了我身边于是我顺势就把自己的想法告诉了他,只见他两眼“闪光”,说:那个谁。。。还有那个谁。。。都别走了,留下来加个班,我们一起把这个东西解决了。等到完成基本框架已经到了深夜1点多钟,路上已经基本看不到行人了,晚风吹在脸上,心里充满了作为工程师的自豪,像一个得胜而归的将军。
在这里我特别要感谢项目经理,在B公司的3年时间里是我成长最快的3年,我陆续接触了AT9200,I.MX系列,OMAP,达芬奇系列等各种处理器的开发,特别是达芬奇系列,当时公司里的板子才2块,项目经理居然允许我带一块回家,要知道当时这个板子要好几万呢。当时可把我高兴坏了,像中了500万一样。
可能在一个地方久了就会厌倦,B公司虽然不错,但几年的光阴已经把我的激情磨灭,而我又是个需要激情的人。所以最终我还是从B公司离职了。离职后并没有立即找工作,当然并不是找不到,而是我需要一段时间放松下自己,整理下心情。恰巧这段时间各个半导体公司在不停的开研讨会,像ARM, TI,ST,Xilinx等等。于是乎,我就免费吃了好几顿大餐:)不过最让我印象深刻的是XILINX的研讨会,它们当时在推Spartan系列FPGA。说实话,我对这个FPGA这个东西只有耳闻,但到底是个什么东西还真不知道。在研讨会上看到了它们公司推出的几个案例,其中一个就是视频监控与模式识别的。由于我本身就是做这个的,所以对这块听得尤为仔细。相比于传统的DSP来做算法,FPGA做算法的速度、效率优势更为明显。
于是我很快就有了下一次目标----学习FPGA。不过想法是好的,不过FPGA学起来真是相当的麻烦:开发板很贵,完全硬件编程。这对我们软件出生的人真是不小的挑战。好在当时xilinx开研讨会赠送了一块BASYS开发板,于是我就从它开始踏上了FPGA的不归路。
有人问:一直学习累不累?有的时候想想确实很累。
夜深人静的时候,总是会一个人坐在窗前发呆:为什么我要不停的学习?我到底要什么?其实我并不知道这些东西到底有什么用,或许只是为了实现童年时期的一个梦,就像筷子兄弟说的:梦想这东西和经典一样,永远不会因为时间而褪色,反而更显珍贵!
看完本文有收获?请分享给更多人
关注「电子工程专辑」,做优秀工程师!
回复关键词有干货:电路设计丨电容丨三极管丨PCB丨接地??????
加入“模电数电”“嵌入式”微信群请加微信
长按二维码识别关注
阅读原文可一键关注+历史信息
责任编辑:
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
今日搜狐热点过生日收到一个单片机,该怎么玩? - 知乎134被浏览21609分享邀请回答12320 条评论分享收藏感谢收起174 条评论分享收藏感谢收起查看更多回答2 个回答被折叠()玩单片机有什么出路??_单片机吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:140,494贴子:
玩单片机有什么出路??收藏
我是大一学生,学习汽车运用技术。有两个方向,一个是汽车电子,一个是汽车维修。我现在对单片机有兴趣,买了套200左右的套装。问下单片机有什么出路???
可以搞汽车电子
控制系统 都可以!
另外你可以总结一下单片机的自学方法,这种学习方法的总结 可以使你 很容易接受新的事物。
本人已毕业多年
现在又重新在学汽车维修
这行现在很吃香的
好好学把骚年
单片机8051的CPU由运算器和控制器组成暖春来袭
C语言0元秒杀中技术交流
Q  一、运算器运算器以完成二进制的算术/逻辑运算部件ALU为核心,再加上暂存器TMP、累加器ACC、寄存器B、程序状态标志寄存器PSW及布尔处理器。累加器ACC是一个八位寄存器,它是CPU中工作最频繁的寄存器。在进行算术、逻辑运算时,累加器ACC往往在运算前暂存一个操作数(如被加数),而运算后又保存其结果(如代数和)。寄存器B主要用于乘法和除法操作。标志寄存器PSW也是一个八位寄存器,用来存放运算结果的一些特征,如有无进位、借位等。其每位的具体含意如下所示。PSW CY AC FO RS1 RS0 OV - P对用户来讲,最关心的是以下四位。
1进位标志CY(PSW7)。它表示了运算是否有进位(或借位)。如果操作结果在最高位有进位(加法)或者借位(减法),则该位为1,否则为0。
2辅助进位标志AC。又称半进位标志,它反映了两个八位数运算低四位是否有半进位,即低四位相加(或减)有否进位(或借位),如有则AC为1状态,否则为0。
3溢出标志位OV。MCS-51反映带符号数的运算结果是否有溢出,有溢出时,此位为1,否则为0。
4奇偶标志P。反映累加器ACC内容的奇偶性,如果ACC中的运算结果有偶数个1(如B,其中有4个1),则P为0,否则,P=1。
PSW的其它位,将在以后再介绍。由于PSW存放程序执行中的状态,故又叫程序状态字?运算器中还有一个按位(bit)进行逻辑运算的逻辑处理机(又称布尔处理机)。其功能在介绍位指令时再说明。   二、控制器   控制器是CPU的神经中枢,它包括定时控制逻辑电路、指令寄存器、译码器、地址指针DPTR及程序计数器PC、堆栈指针SP等。这里程序计数器PC是由16位寄存器构成的计数器。要单片机执行一个程序,就必须把该程序按顺序预先装入存储器ROM的某个区域。单片机动作时应按顺序一条条取出指令来加以执行。因此,必须有一个电路能找出指令所在的单元地址,该电路就是程序计数器PC。当单片机开始执行程序时,给PC装入第一条指令所在地址,它每取出一条指令(如为多字节指令,则每取出一个指令字节),PC的内容就自动加1,以指向下一条指令的地址,使指令能顺序执行。只有当程序遇到转移指令、子程序调用指令,或遇到中断时(后面将介绍),PC才转到所需要的地方去。8051 CPU碢C指定的地址,从ROM相应单元中取出指令字节放在指令寄存器中寄存,然后,指令寄存器中的指令代码被译码器译成各种形式的控制信号,这些信号与单片机时钟振荡器产生的时钟脉冲在定时与控制电路中相结合,形成按一定时间节拍变化的电平和时钟,即所谓控制信息,在CPU内部协调寄存器之间的数据传输、运算等操作。
三、存储器
存储器是单片机的又一个重要组成部分,图6给出了一种存储容量为256个单元的存储器结构示意图。其中每个存储单元对应一个地址,256个单元共有256个地址,用两位16进制数表示,即存储器的地址(00H~FFH)。存储器中每个存储单元可存放一个八位二进制信息,通常用两位16进制数来表示,这就是存储器的内容。存储器的存储单元地址和存储单元的内容是不同的两个概念,不能混淆。
一、程序存储器
程序是控制计算机动作的一系列命令,单片机只认识由“0”和“1”代码构成的机器指令。如前述用助记符编写的命令MOV A,#20H,换成机器认识的代码74H、20H:(写成二进制就是B和B)。在单片机处理问题之前必须事先将编好的程序、表格、常数汇编成机器代码后存入单片机的存储器中,该存储器称为程序存储器。程序存储器可以放在片内或片外,亦可片内片外同时设置。由于PC程序计数器为16位,使得程序存储器可用16位二进制地址,因此,内外存储器的地址最大可从0000H到FFFFH。8051内部有4k字节的ROM,就占用了由0000H~0FFFH的最低4k个字节,这时片外扩充的程序存储器地址编号应由1000H开始,如果将8051当做8031使用,不想利用片内4kROM,全用片外存储器,则地址编号仍可由0000H开始。不过,这时应使8051的第{31}脚(即EA脚)保持低电平。当EA为高电平时,用户在0000H至0FFFH范围内使用内部ROM,大于0FFFH后,单片机CPU自动访问外部程序存储器。   二、数据存储器   单片机的数据存储器由读写存储器RAM组成。其最大容量可扩展到64k,用于存储实时输入的数据。8051内部有256个单元的内部数据存储器,其中00H~7FH为内部随机存储器RAM,80H~FFH为专用寄存器区。实际使用时应首先充分利用内部存储器,从使用角度讲,搞清内部数据存储器的结构和地址分配是十分重要的。因为将来在学习指令系统和程序设计时会经常用到它们。8051内部数据存储器地址由00H至FFH共有256个字节的地址空间,该空间被分为两部分,其中内部数据RAM的地址为00H~7FH(即0~127)。而用做特殊功能寄存器的地址为80H~FFH。在此256个字节中,还开辟有一个所谓“位地址”区,该区域内不但可按字节寻址,还可按“位(bit)”寻址。对于那些需要进行位操作的数据,可以存放到这个区域。从00H到1FH安排了四组工作寄存器,每组占用8个RAM字节,记为R0~R7。究竟选用那一组寄存器,由前述标志寄存器中的RS1和RS0来选用。在这两位上放入不同的二进制数,即可选用不同的寄存器组,如附表1所示。   三、特殊功能寄存器   特殊功能寄存器(SFR)的地址范围为80H~FFH。在MCS-51中,除程序计数器PC和四个工作寄存器区外,其余21个特殊功能寄存器都在这SFR块中。其中5个是双字节寄存器,它们共占用了26个字节。各特殊功能寄存器的符号和地址见附表2。其中带*号的可位寻址。特殊功能寄存器反映了8051的状态,实际上是8051的状态字及控制字寄存器。用于CPU PSW便是典型一例。这些特殊功能寄存器大体上分为两类,一类与芯片的引脚有关,另一类作片内功能的控制用。与芯片引脚有关的特殊功能寄存器是P0~P3,它们实际上是4个八位锁存器(每个I/O口一个),每个锁存器附加有相应的输出驱动器和输入缓冲器就构成了一个并行口。MCS-51共有P0~P3四个这样的并行口,可提供32根I/O线,每根线都是双向的,并且大都有第二功能。其余用于芯片控制的寄存器中,累加器A、标志寄存器PSW、数据指针DPTR等的功能前已提及,而另一些寄存器的功能在后面有关部分再作进一步介绍 单片机的指令系统和寻址方式 单片机要正常运作,事先需编制程序,再把程序放入存贮器中,然后由CPU执行该程序。程序是由指令组成的,指令的基本组成是操作码和操作数。单片机的品种很多,设计时怎样表示操作码和操作数,都有各自的规定,再有指令代码也各不相同,因此,必须对所选单片机的全部指令,也就是所谓“指令系统”,有足够的了解。各个系列的单片机虽然有不同的指令系统,但也有其共同性。掌握一种单片机的指令系统,对其它系列单片机可以起到触类旁通的作用。MCS-51单片机应用广泛,派生品种多,具有代表性,所以,这里以MCS-51系列的指令系统为例说明“指令”的组成和应用。   1、MOV A,#20H
这条指令表示把20H这个数送入累加器A中(一个特殊功能寄存器)。
2、ADD A,70H
这条指令表示把累加器A中的内容(在上例中送入的#20H)和存贮器中地址为70H单元中的内容(也是一个数字),通过算术逻辑单元(英文缩写为ALU)相加,并将结果保留在A中。这里MOV、ADD等称为操作码,而A、#20H、70H等均称为操作数。在汇编语言程序中,操作码通常由英文单词缩写而成,这样有助于记忆,所以又称助记符。如MOV就是英文单词MOVE的缩写,含有搬移的意思;而ADD即为英文单词,其意为相加。因此,对于略懂英语的用户,掌握单片机指令的含意是较为方便的。操作数有多种表示法,如以上的#20H称为立即数,即20H就是真正的操作数。而70H是存贮器中某个单元的地址,在该单元中,放着操作数(比如说是3AH),ADD A,70H不是将70H和A中的内容相加,而是从存贮器70H单元中将3AH取出和A中的内容相加。由上可知,要找到实际操作数,有时就要转个弯,甚至转几个弯,这个过程称为寻址,MCS-51共有7种寻址方式,现介绍如下:
一、立即寻址:操作数就写在指令中,和操作码一起放在程序存贮器中。把“#”号放在立即数前面,以表示该寻址方式为立即寻址,如#20H。
二、寄存器寻址:操作数放在寄存器中,在指令中直接以寄存器的名字来表示操作数的地址。例如MOV A,R0就属于寄存器寻址,即将R0寄存器的内容送到累加器A中。
三、直接寻址:操作数放在单片机的内部RAM某单元中,在指令中直接写出该单元的地址。如前例的ADD A,70H中的70H。
四、寄存器间接寻址:操作数放在RAM某个单元中,该单元的地址又放在寄存器R0或R1中。
如果RAM的地址大于256,则该地址存放在16位寄存器DPTR(数据指针)中,此时在寄存器名前加@符号来表示这种间接寻址。如MOV A,@ R0。其它还有变址寻址、相对寻址、位寻址等,待以后再详细介绍。可能有人会问,在指令中直接给出实际操作数,不是简单、明了吗?为什么还要用其它几种寻址方式呢?这是因为在编制程序时很难一下子就给出操作数。如用单片机控制温度时,时时需要将给定的控制温度(如20℃)减去环境温度,而环境温度时时有变化,显然无法在程序指令中给出,只有通过一定方式,将其送入某个输入/输出口,再存放在某个寄存器中,这就必须用到寄存器寻址。又如要进行算术运算,要计算每班学员各科成绩的平均值,如果把每个学员的各科都编一个程序,在程序中直接给出该学员各科成绩,再求平均值,显然太麻烦。这里可以编一个求平均成绩的通用程序,把每位学员的成绩送入存贮器的各个单元中,这时可采取直接寻址,一个程序可供每个学员用,不是更方便吗?所以,寻址方式越多,编制程序就越方便、灵活,适用范围就越广。寻址有如找人,如被找的人有手机、BP机、座机电话等多种联系方式则就容易找到他,单片机也是如此,寻址方式越多,找操作数越方便,单片机的功能就越强。前面介绍51系列单片机的寻址方式时,常遇到单片机内部的一些寄存器、累加器A、通用寄存器R0~R7、数据指针DPTR和存贮器等。在以后介绍指令时,数据就要在这些寄存器、存贮器之间传送,或者进行运算。因此,编制程序就需熟悉单片机的内部结构。
8051单片机的内部总体结构其基本特性如下:
8位CPU、片内振荡器
4k字节ROM、128字节RAM
21个特殊功能寄存器
可寻址的64k字节外部数据、程序存贮空间
2个16位定时器、计数器
中断结构:具有二个优先级、五个中断源
一个全双口串行口
位寻址(即可寻找某位的内容)功能,适于按位进行逻辑运算的位处理器。除128字节RAM、4k字节ROM和中断、串行口及定时器模块外,还有4组I/O口P0~P3,余下的就是CPU的全部组成。把4kROM换为EPROM就是8751的结构,如去掉ROM/EPROM部分即为8031的框图,如果将ROM置换为Flash存贮器或EEPROM,或再省去某些I/O,即可得到51系列的派生品种,如89C51、AT89C2051等单片机的框图。 嵌入式学习网!
技术咨询:杨老师QQ
看你兴趣何在
汽车里的can总线
可以自己独立做项目啊,还可以做工程师啊,如果想成为高级工程师,提升技术,可加Q
从即日起到清明4月6日,凡报名信盈达任何一个课程,单片机,PCB,电子设计,嵌入式开发等,均有丰厚待遇,想了解更多详情,请加Q,电话
登录百度帐号推荐应用

我要回帖

更多关于 单片机好玩吗 的文章

 

随机推荐