想学单片机开发,愿和大家探讨 点击:4847 | 回复:91



毕庆民

    
  • 精华:21帖
  • 求助:5帖
  • 帖子:584帖 | 5227回
  • 年度积分:0
  • 历史总积分:10489
  • 注册:2005年6月13日
发表于:2005-08-08 20:54:00
楼主
单片机发展至今.已经无处不在.单片机就是一片IC.把他变成产品.需要外围元件和语言程序.现在硬件和软件是分家的.学校是这么学的.我认为两者应该一起学.才有利掌握. 我是初学.希望大家指教. 学知识没有忌讳.请大家有观点尽管讲.谢谢.



啊啊阿

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 77回
  • 年度积分:0
  • 历史总积分:205
  • 注册:2004年10月01日
发表于:2005-08-20 14:35:00
41楼
毕庆民: 我单片机程序都不懂.何谈开发.标题是为了提高点击率而这么写的.请各位体谅. 这样做太不地道了,为了提高点击率,有种被欺骗的感觉。

毕庆民

  • 精华:21帖
  • 求助:5帖
  • 帖子:584帖 | 5227回
  • 年度积分:0
  • 历史总积分:10489
  • 注册:2005年6月13日
发表于:2005-08-20 16:19:00
42楼
学什么语言好.我认为要看个人.上学是学的BASIC.那时是高级语言.现在好象已经淘汰了.汇编和单片机关系近.但汇编语言在别的地方好象用处不大.也有淘汰的趋势.现在的高级语言很接近人的语言.如果英语基础好的话.我认为不难学.容易和不容易是要看个人.在一个专业.只要精通了.就容易.我有体会. 我不懂单片机程序.不等于别人不懂.我看周公在这方面比较专业.有问题可以向他请教.我看周公也是热心人. 想学知识就别怕被骗.如果这也算骗的话.那你也太脆弱了. 我也不知这个帖子为什么置顶.我是来学知识的.我不懂单片机程序.有问题不要问我.这不是我的专业.我懂继电控制.

亦云人云

  • 精华:5帖
  • 求助:0帖
  • 帖子:102帖 | 2351回
  • 年度积分:0
  • 历史总积分:3114
  • 注册:2004年11月10日
发表于:2005-08-20 20:44:00
43楼
to 毕庆民: 标题是你写的:"想学单片机开发的请进(请提供单片机开发技术)" 你看如何解释?括号中的副标是我怕误会,才后加的;你认为标题应怎么改,我可帮你改. 单片机的开发,是很多人已经经历过,或即将经历的事情,容易引起共同关注,所以把它顶起来. 其实更欢迎能"提供单片机开发技术"的个人和厂商提供知识,经验,资料和产品. 我想,每隔一段时间,顶起某一个大家容易感兴趣的题目,集中大家注意力发帖,不知是否受欢迎.

毕庆民

  • 精华:21帖
  • 求助:5帖
  • 帖子:584帖 | 5227回
  • 年度积分:0
  • 历史总积分:10489
  • 注册:2005年6月13日
发表于:2005-08-20 21:37:00
44楼
亦云人云:先谢谢你的信任.我真的是不懂软件.这有点赶鸭子上架的意思. 题目是我写的.我是想找个答案.周公已经回答了.给大家带来的误会.抱歉.题目能不能改为(想学习单片机技术的朋友请进.大家相互学习探讨.).你认为不合适可以改别的.谢谢. 来这里的都是来学知识的.不懂才问.不会才学吗.回答错了也不要紧.可以增强记忆吗.没有什么忌讳.

yjb

  • 精华:0帖
  • 求助:0帖
  • 帖子:14帖 | 193回
  • 年度积分:0
  • 历史总积分:353
  • 注册:2005年7月03日
发表于:2005-08-21 13:30:00
45楼
单片机和PC的串行MAX232接口原理图1

龚贺

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 10回
  • 年度积分:0
  • 历史总积分:16
  • 注册:2004年3月01日
发表于:2005-08-21 16:24:00
46楼
TO毕庆民:我认为学单片机应该从汇编语言学起,从汇编中你能了解到单片机的寄存器,内存,总线之间的关系,很直观,对初学的很有好处的。学会汇编之后再学C语言相对来说容易许多了。现在C能作的汇编也能作啊。不用担心以后用不到。一家之言,请借鉴!!!

重头再来

  • 精华:0帖
  • 求助:0帖
  • 帖子:15帖 | 169回
  • 年度积分:0
  • 历史总积分:390
  • 注册:2004年9月09日
发表于:2005-08-21 18:32:00
47楼
TO龚贺: 首先感谢你的指点,我也是个初学者。能不能简绍几本这方面的书或是资料。

aa88

  • 精华:1帖
  • 求助:0帖
  • 帖子:42帖 | 544回
  • 年度积分:0
  • 历史总积分:928
  • 注册:2005年7月14日
发表于:2005-08-21 22:37:00
48楼
建议你从小孩玩具开始吧,责任小,市场大,积累经验,搞大的

乐少

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 49回
  • 年度积分:0
  • 历史总积分:134
  • 注册:2004年1月05日
发表于:2005-08-22 10:45:00
49楼
就我个人而言,我以为学习单片机应该找一个突破口,比如,做一个小小的设计开发,在做的过程中可以用到什么学习什么,这样或许能学的快,兴趣也高,针对性强!!

毕庆民

  • 精华:21帖
  • 求助:5帖
  • 帖子:584帖 | 5227回
  • 年度积分:0
  • 历史总积分:10489
  • 注册:2005年6月13日
发表于:2005-08-23 19:20:00
50楼
有没有国产的单片机.

重头再来

  • 精华:0帖
  • 求助:0帖
  • 帖子:15帖 | 169回
  • 年度积分:0
  • 历史总积分:390
  • 注册:2004年9月09日
发表于:2005-08-23 19:28:00
51楼
毕老师: 你现在学到什么程度了,我也是想学,但无从下手,能不能教我一点。你是学的C语言吗?

week888

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:7
  • 注册:2005年8月19日
发表于:2005-08-23 22:59:00
52楼
周公: 我是单片机的初学者,最近挺苦恼的:51单片机的书看得差不多了,对单片机的内部结构及外围电路都能看懂,但对当中的程序和编程思想理解起来有些吃力,有些看不下去了,想听听您的这方面的经验,另外帮我解释下面的两个延时子程序.在谢谢!很急的.程序如下:(晶振频率为12M) 程序1 DELAY:MOV R6,#00H DL1:MOV R7,#80H DL2:NOP DJNZ R7,DL2 DJNZ R6,DL1 RET 程序2 DELAY:MOV R5,#08H DL1:MOV R6,#00H DL2:MOV R7,#80H DJNZ R7, $ DJNZ R6,DL2 DJNZ R5,DL1 RET 问题1:两个程序的延时时间是多少?计算过程或公式是怎样的,每一个指令执行的机械周期及次数是多少?编程思想即流程是怎样的? 问题2:程序中的"$"是代表什么含义,R6,R7能用R2或R3等代替吗?

阿聪

  • 精华:1帖
  • 求助:0帖
  • 帖子:58帖 | 177回
  • 年度积分:0
  • 历史总积分:536
  • 注册:2005年8月09日
发表于:2005-08-23 23:30:00
53楼
学单片机,要是刚开始学的话,用汇编语言来较好,我在学校学的就是用汇编语言的,

周公

  • 精华:10帖
  • 求助:0帖
  • 帖子:119帖 | 5549回
  • 年度积分:0
  • 历史总积分:6446
  • 注册:2002年11月26日
发表于:2005-08-23 23:52:00
54楼
宋祖维: 1. 延时程序用到一个很重要的概念:指令周期和机器周期。不同的机器、不同的主频是不相同的。对于 8051 系列的机器、12MHz 主频,每个机器指令是 1 微秒,一个指令周期有 1~3 个机器周期(具体和指令有关,指令表中有指令的执行时间)。你知道了指令周期、机器周期,自己就可以算了。 2. 程序中的"$"是代表本条指令的地址,上例2中是 R7 一直减到 0。 3. R6、R7能用R2、R3 或者 R5、R4代替。 程序流程是:先给一个寄存器赋值,然后减;内圈结束到外圈、再到内圈,循环减到 0 为止。这个例子很典型,许多书上都引用它,再翻书看看。

刘庚

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 3回
  • 年度积分:0
  • 历史总积分:12
  • 注册:2005年8月23日
发表于:2005-08-24 09:39:00
55楼
单片机是一种工具,内容很简单,如果采用C语言编程,不需要很高的编程能力。静下心来学也就是用不到一个月的时间。

毕庆民

  • 精华:21帖
  • 求助:5帖
  • 帖子:584帖 | 5227回
  • 年度积分:0
  • 历史总积分:10489
  • 注册:2005年6月13日
发表于:2005-08-24 19:24:00
56楼
一生无悔:对不起.我没有看见帖子分页了. 人和人不一样.我对C一点进展没有.时间太少.人的能力有限.我是半路还没出家.如果电脑语言象人的语言一样就好了.谁让电脑不是国人发明的那.我认为英语是基础.语言再高级.用的也是英语.这是现实.

week888

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:7
  • 注册:2005年8月19日
发表于:2005-08-25 09:03:00
57楼
周公: 我翻书看查看了,发现他们的计算方法都不一样,如程序1书上的时间是通过计算每一指令的机器周期和执行的次数得出的。机器周期好理解,分别是1,1,1,2,2,2。但执行次数不知如何算出,书上的分别是1,256,256X128,256X128,256,1。时间由各条指令的机器周期与执行次数的值相加得出,算式为:延时时间=(1X1)+(256X1)+(256X128X1)+(256X128X2)+(256X2)+(1X2)X1us=0.099075s=0.1s.这里有几个问题:1:第一条语句R6的赋值是#00H,递减后的不就成负值了吗?2:NOP指令在这里起什么作用,是必须的吗?每个语句的执行次数是如何得来的?是否还有其他的方法计算出延时时间?

周公

  • 精华:10帖
  • 求助:0帖
  • 帖子:119帖 | 5549回
  • 年度积分:0
  • 历史总积分:6446
  • 注册:2002年11月26日
发表于:2005-08-25 09:46:00
58楼
其实你已经基本明白了:‘时间是通过计算每一指令的机器周期和执行的次数得出的’、‘由各条指令的机器周期与执行次数的值相加得出’,没错。再明确一下‘指令周期’和‘机器周期’,一个指令周期有一个或者多个机器周期一般称几周期指令,如三周期指令。 几个问题: 1:第一条语句R6的赋值是#00H,递减后的不就成负值了吗?——在汇编中不能定义负数,00H - 1 后为 0FFH = 255D ; 2:NOP指令在这里起什么作用,是必须的吗?——该指令为空指令,为了加长每个循环的时间长度,没有也可以、多放也可以,只要时间能凑够; 3. 每个语句的执行次数是如何得来的?——由需要延时的时间算的,你可以改变它,只要凑够时间就可以了; 4. 是否还有其他的方法计算出延时时间?——应该都可以,可以发挥你的想象和创造能力。

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2005-08-25 10:45:00
59楼
看了大家的发言。我深有体会。刚学不知从和下手?感谢以上老师的提醒。

江南举人

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 11回
  • 年度积分:0
  • 历史总积分:12
  • 注册:2005年5月09日
发表于:2005-08-25 12:34:00
60楼
单片机芯片的种类很多,但大同小异.十元以下的很多.学习单片机主要是逻辑思维过的去就性行.你努力吧. 单片机在工业控制上是不如PLC,因为设计的理念不同吗.PLC 就是为工业控制设计,你也不要去想用单片机控制工业设备.如果你在学校实验室还可以,可以设计一套单片机系统,一套PLC系统,一套纯继电器系统,他们是相同的功能,分别控制工业设备.为了实验教学很好.

热门招聘
相关主题

官方公众号

智造工程师