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



毕庆民

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



215

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:72
  • 注册:2005年5月19日
发表于:2005-08-26 08:49:00
61楼
我也想学习单片机,不过我是一点也不怎么懂的,望各位老师指点指点,初学看什么书好啊,推荐一下,谢谢!

顾军

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 6回
  • 年度积分:0
  • 历史总积分:56
  • 注册:2005年8月26日
发表于:2005-08-26 17:43:00
62楼
我也是个单片机处学者,现在就是对这方面的了解不是很多,所以学起来有点困难,有时候觉得很迷茫不知道怎么去学习了,很希望大家多多指教.

周公

  • 精华:10帖
  • 求助:0帖
  • 帖子:119帖 | 5549回
  • 年度积分:0
  • 历史总积分:6446
  • 注册:2002年11月26日
发表于:2005-08-27 03:37:00
63楼
江南举人: 去看这里:http://21icbbs.com/club/bbs/ShowAnnounce.asp?v=&ID=1200692

毕庆民

  • 精华:21帖
  • 求助:5帖
  • 帖子:584帖 | 5227回
  • 年度积分:0
  • 历史总积分:10489
  • 注册:2005年6月13日
发表于:2005-08-27 19:29:00
64楼
如果时间有限的话.还是慢慢学吧.这不是一个人轻松做的事.楼上有位朋友说的有道理.谁有这个能力的话.一生不会挨饿.在这里的朋友好象没有能作到的.我们努力吧.恐怕我们大部分人连最小的单片机电子表的程序也做不出来.谢谢各位.有什么想法请说出来.经验是理论所取代不了得.

m_amati

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 20回
  • 年度积分:0
  • 历史总积分:42
  • 注册:2006年9月17日
发表于:2005-08-31 14:51:00
65楼
plc是否是一种标准化了的单片机模式呢? 原来我什么都不懂,也没上太多的学,高中吧,现只是玩过各种plc,潜意识里很想学单片机技术,觉得成就自己的机会是不是更多啊

周公

  • 精华:10帖
  • 求助:0帖
  • 帖子:119帖 | 5549回
  • 年度积分:0
  • 历史总积分:6446
  • 注册:2002年11月26日
发表于:2005-09-01 00:18:00
66楼
基本上,PLC = 单片机 + 梯形图语言

S27

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 14回
  • 年度积分:0
  • 历史总积分:85
  • 注册:2004年4月18日
发表于:2005-09-01 10:31:00
67楼
国产的好像还没有可以应用的,不过台湾有,凌阳的片子就很不错,这两年在高校内推广的也很卖力,比51系列容易上手。建议楼主看看AVR系列的,指令简单,比51容易上手的多!

吃菜的老虎

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 15回
  • 年度积分:0
  • 历史总积分:26
  • 注册:2005年8月25日
发表于:2005-09-02 16:19:00
68楼
我个人也想学单片机,现在也在学习,有一些经验与大家讨论一下。我个人认为学习单片机,首先要搞明白单片机的硬件结构,包括cpu的具体工作原理,寄存器的调用等等,然后再学习汇编语言,当然了高级语言非常好学,但是如果将汇编掌握的非常好,更能很好的理解高级语言编译,在实际中,单片机的开发,其硬件结构更为重要,如果不了解你的单片机结构,你的软件开发就没办法开始,单片机是很笨的,要告诉他怎么工作,包括去哪里取指令,去哪个地址取数据,你要非常清楚。不然怎么编软件啊。所以我个人认为先硬件,后软件

周公

  • 精华:10帖
  • 求助:0帖
  • 帖子:119帖 | 5549回
  • 年度积分:0
  • 历史总积分:6446
  • 注册:2002年11月26日
发表于:2005-09-02 17:30:00
69楼
其他都对。 ‘去哪里取指令,去哪个地址取数据,你要非常清楚。不然怎么编软件啊’——采用高级语言可以不了解那么具体。

吃菜的老虎

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 15回
  • 年度积分:0
  • 历史总积分:26
  • 注册:2005年8月25日
发表于:2005-09-06 11:05:00
70楼
对于上面的的确有一部分不正确话 谢谢指正

网络人生

  • 精华:0帖
  • 求助:0帖
  • 帖子:26帖 | 125回
  • 年度积分:0
  • 历史总积分:222
  • 注册:2003年7月08日
发表于:2005-09-06 11:16:00
71楼
http://icmcn.home.sunbo.net/,相互交流!

tigermu

  • 精华:6帖
  • 求助:0帖
  • 帖子:175帖 | 5410回
  • 年度积分:0
  • 历史总积分:19807
  • 注册:2003年1月19日
发表于:2005-09-06 20:03:00
72楼
大家有兴趣可以试试新华龙的单片机,指令全部兼容51。 另外个人觉得还是C51好学点,不用知道那么多硬件结构。

亦云人云

  • 精华:5帖
  • 求助:0帖
  • 帖子:102帖 | 2351回
  • 年度积分:0
  • 历史总积分:3114
  • 注册:2004年11月10日
发表于:2005-09-08 08:50:00
73楼
以下几种 51 系列的单片机,都具有较快的速度,可供大家选用。 SIlICON LABS C8051F 新华龙电子代理,网址:http://www.xhl.com.cn/ STC89 宏晶科技代理,网址:http://www.mcu-memory.com/ ATMEL AT89LP 系列,网址:http://www.atmel.com/products/8051/at89lp.asp

aa88

  • 精华:1帖
  • 求助:0帖
  • 帖子:42帖 | 544回
  • 年度积分:0
  • 历史总积分:928
  • 注册:2005年7月14日
发表于:2005-09-09 00:21:00
74楼
实践--理论--实践

毕庆民

  • 精华:21帖
  • 求助:5帖
  • 帖子:584帖 | 5227回
  • 年度积分:0
  • 历史总积分:10489
  • 注册:2005年6月13日
发表于:2005-09-10 19:28:00
75楼
单片机的优势就是.制作成本低.开发成本高.如果在这方面有造诣的话.吃穿不愁.要成为高手很难.要付出很大努力.

建锋电子

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 10回
  • 年度积分:0
  • 历史总积分:13
  • 注册:2005年9月12日
发表于:2005-09-14 00:06:00
76楼
大家好,我看在这里讨论的都是plc工控高手,想学习单片机,我推荐大家学习pic的,可以选择汇编或者picc,我是学pic单片机的,现在还想学学plc工控方面的知识,请大家以后不吝赐教,以后我们多多交流,有兴趣的朋友可以加入我建的pic单片机,plc工控技术交流群互相交流,这群内有很多pic单片机工程师,也有一部分plc工控工程师,希望大家能在这里有一个良好的开端!!

建锋电子

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 10回
  • 年度积分:0
  • 历史总积分:13
  • 注册:2005年9月12日
发表于:2005-09-14 00:11:00
77楼
发一段程序大家看看,是可执行的,我已经标注每句程序的作用了,望有兴趣的朋友互相探讨. ;建锋电子技术服务部 HTTP://JFDZMCU.COM ; JFDZ16888@163.COM ;4位0-9999LED的数码管计数显示学习程序 ;由于84a的资源较少,采用了扩展芯片74ls47n,动态扫描显示 ;********************************************************* LIST P=PIC16F84A ;列表选芯片型号 #INCLUDE P16F84A.INC __CONFIG B'11111111110001';_CP_OFF&_WDT_OFF&_PWRITE_ON&_XT_OSC ;没有代码保护 ;看门狗关 ;上电廷时器开 ;XT振荡模式 ;******************************************************* RTCC EQU 01H ;定义各寄存器 PC EQU 02H STATUS EQU 03H C EQU 0 RP0 EQU 5 ;---------------------- PORTA EQU 05H TRISA EQU 85H PORTB EQU 06H TRISB EQU 86H LONE EQU 1FH ;对LED数码管的6位,选定位选 CONE EQU 1EH ;和各位的送数寄存器地址 COUNT1 EQU 1DH LTWO EQU 1CH CTWO EQU 1BH COUNT2 EQU 1AH ;为了人眼视觉观察,选定延时寄存器 COUNT3 EQU 19H ;地址 COUNT4 EQU 18H COUNT5 EQU 17H COUNT6 EQU 16H COUNT7 EQU 28H COUNT8 EQU 28H LTHREE EQU 27H CTHREE EQU 26H LFOR EQU 25H CFOR EQU 24H ;******************************************************** ORG 0000H ;复位矢量 GOTO START ORG D'20' ;从地址D'20'开始存放程序 START BSF STATUS,RP0 ;选储存体BANK1 MOVLW B'00010000' MOVWF TRISA ;设A口第4位为输入 MOVLW B'00000000' MOVWF TRISB ;设B口为输出 BCF STATUS,RP0 ;恢复数据寄存器体0 ;************************************************************ MOVLW 0 MOVWF PORTB LOOP BTFSC PORTA,4 ;人工启动计数 GOTO LOOP DISP0 CLRF LONE ;对1-4位的位选和1-4位的计数位 CLRF CONE ;清零 CLRF COUNT1 CLRF LTWO CLRF CTWO CLRF LTHREE CLRF CTHREE CLRF LFOR CLRF CFOR CLRF COUNT6 CALL DISPLY ;调用显示子程序 GOTO SCAN ;跳到SCAN执行 SCAN BTFSS PORTA,4 ;判断A口第4位, GOTO INCK ;为1,没按下,继续判断, INCK INCF LONE,0 ;LONE+1存入W ANDLW B'00001111' ;W内容清高4位,保护低4位,存入W XORLW B'00001010' ;LONE+1与常数10比较 BTFSS STATUS,Z ;LONE+1为9吗?(到9时,Z变为1) GOTO NOCY01 ;否,跳转到LED的第一位继续计数 GOTO LOP2 ;是,跳转到第2位的位选 NOCY01 INCF LONE,1 ;LONE继续加一,存到本身 MOVF LONE,0 ;把LONE+1后的数据送W ANDLW B'00001111' ;W内容清高4位,保护低4位,再存入W MOVWF CONE ;再把W的数据送CONE寄存器 CALL DISPLY ;调用显示程序 GOTO SCAN ;跳转到标号处继续判断 ;********************************************* LOP2 CLRW ;0送W INCF LTWO,0 ;LTWO+1存入W ANDLW B'00001111' ;W内容清高4位,保护低4位,存入W XORLW B'00001010' ;LTWO+1与常数10比较 BTFSS STATUS,Z ;LTWO+1为9吗?(到9时,Z变为1) GOTO NOCY02 ;否,跳转到LED的第2位继续计数 GOTO LOP3 ;是,跳转到第3位的位选 NOCY02 INCF LTWO,1 ;LTWO继续加一,存到本身 MOVF LTWO,0 ;把LTWO+1后的数据送W ANDLW B'00001111' ;W内容清高4位,保护低4位,再存入W MOVWF CTWO ;再把W的数据CTWO送寄存器 CLRF LONE ;清零第一位的位选寄存器 CLRF CONE ;和第一位寄存器的数据 CALL DISPLY ;调用显示程序 GOTO SCAN ;跳转到标号处继续判断 LOP3 CLRW ;0送W INCF LTHREE,0 ;LTHREE+1存入W ANDLW B'00001111' ;W内容清高4位,保护低4位,存入W XORLW B'00001010' ;LTHREE+1与常数10比较 BTFSS STATUS,Z ;LTHREE+1为9吗?(到9时,Z变为1) GOTO NOCY03 ;否,跳转到LED的第3位继续计数 GOTO LOP4 ;是,跳转到第4位的位选 NOCY03 INCF LTHREE,1 ;LTHREE继续加一,存到本身 MOVF LTHREE,0 ;把LTHREE+1后的数据送W ANDLW B'00001111' ;W内容清高4位,保护低4位,再存入W MOVWF CTHREE ;再把W的数据送CTHREE寄存器 CLRF LONE ;清零第1,2位的位选寄存器 CLRF CONE ;和第1,2位寄存器的数 CLRF LTWO CLRF CTWO CALL DISPLY ;调用显示程序 GOTO SCAN ;跳转到标号处继续判断 LOP4 CLRW ;0送W INCF LFOR,0 ;LFOR+1存入W ANDLW B'00001111' ;W内容清高4位,保护低4位,存入W XORLW B'00001010' ;LFOR+1与常数10比较 BTFSS STATUS,Z ;;LFOR+1为9吗?(到9时,Z变为1) GOTO NOCY04 ;否,跳转到LED的第4位继续计数 GOTO DISP0 ;是,跳转到起始位. NOCY04 INCF LFOR,1 ;LFOR继续加一,存到本身 MOVF LFOR,0 ;把LFOR+1后的数据送W ANDLW B'00001111' ;W内容清高4位,保护低4位,再存入W MOVWF CFOR ;再把W的数据送CFOR寄存器 CLRF LONE ;清零第1,2,3位的位选寄存器 CLRF CONE ;和第1,2,3位寄存器的数 CLRF LTWO CLRF CTWO CLRF LTHREE CLRF CTHREE CALL DISPLY ;调用显示程序 GOTO SCAN ;跳转到标号处继续判断 ;********************************************* DISPLY MOVLW D'34' ;计数显示34次同一值 MOVWF COUNT2 LOOP5 BSF PORTA,0 ;关第1位LED BSF PORTA,1 ;关第2位LED BSF PORTA,2 ;关第3位LED BSF PORTA,3 ;关第4位LED CALL A7MS ;调用关闭延时 q SWAPF PORTB,0 ;取B口数据半字节交换后存入W ANDLW B'11110000' ;高4位不变,低4位清零存入W ADDWF CONE,0 ;W内的数据与CONE内的数据相加存入W MOVWF COUNT1 ;把W内的数据存入COUNT1 SWAPF COUNT1,0 ;COUNT1内的数据半字节交换后存入W MOVWF PORTB ;第一位数送B口显示 BCF PORTA,3 ;第一位数的位显打开 CALL B5MS ;延时观察 BSF PORTA,3 ;关闭第一位 CALL A7MS ;延时 q2 SWAPF PORTB,0 ;取B口数据半字节交换后存入W ANDLW B'11110000' ;高4位不变,低4位清零存入W ADDWF CTWO,0 ;W内的数据与CTWO内的数据相加存入W MOVWF COUNT1 ;把W内的数据存入COUNT1 SWAPF COUNT1,0 ;COUNT1内的数据半字节交换后存入W MOVWF PORTB ;第2位数送B口显示 BCF PORTA,2 ;第2位数的位显打开 CALL B5MS ;延时观察 BSF PORTA,2 ;关闭第2位 CALL A7MS ;延时 q3 SWAPF PORTB,0 ;取B口数据半字节交换后存入W ANDLW B'11110000' ;高4位不变,低4位清零存入W ADDWF CTHREE,0 ;W内的数据与CTHREE内的数据相加存入W MOVWF COUNT1 ;把W内的数据存入COUNT1 SWAPF COUNT1,0 ;COUNT1内的数据半字节交换后存入W MOVWF PORTB ;第3位数送B口显示 BCF PORTA,1 ;第3位数的位显打开位 CALL B5MS ;延时观察 BSF PORTA,1 ;关闭第3位 CALL A7MS ;延时 q4 SWAPF PORTB,0 ;取B口数据半字节交换后存入W ANDLW B'11110000' ;高4位不变,低4位清零存入W ADDWF CFOR,0 ;W内的数据与CFOR内的数据相加存入W MOVWF COUNT1 ;把W内的数据存入COUNT1 SWAPF COUNT1,0 ;COUNT1内的数据半字节交换后存入W MOVWF PORTB ;第4位数送B口显示 BCF PORTA,0 ;第4位数的位显打开位 CALL B5MS ;延时观察 BSF PORTA,0 ;关闭第4位 CALL A7MS ;延时 DECFSZ COUNT2,1 ;同一值重复显示34次结束 GOTO LOOP5 ;跳到标号LOOP5处 MOVLW B'00011111' MOVWF PORTA RETURN ;返回到调用程序下一条 A7MS MOVLW H'13' ;延时程序 MOVWF COUNT3 DECFSZ COUNT3,1 GOTO $-1 RETURN ;调用返回 B5MS MOVLW D'10' ;延时程序以便观察LED的显示 MOVWF COUNT4 DDY1 MOVLW D'10' MOVWF COUNT5 DDY2 DECFSZ COUNT5,1 GOTO DDY2 DECFSZ COUNT4,1 GOTO DDY1 RETURN ;调用返回 DELAY1 DECFSZ COUNT7,1 GOTO DELAY1 DECFSZ COUNT8,1 GOTO DELAY1 RETURN ;*************************************************** END ;结束

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2005-09-15 17:09:00
78楼
你们有讨论单片机的群吗?我也是新手一个懂一点点!大家多多指教!

liweihong

  • 精华:1帖
  • 求助:0帖
  • 帖子:7帖 | 63回
  • 年度积分:0
  • 历史总积分:114
  • 注册:2004年11月08日
发表于:2005-11-20 12:05:00
79楼
好地方!请大家继续讨论。

亦云人云

  • 精华:5帖
  • 求助:0帖
  • 帖子:102帖 | 2351回
  • 年度积分:0
  • 历史总积分:3114
  • 注册:2004年11月10日
发表于:2005-11-20 12:45:00
80楼
台湾有几家,出品单片机,例如:
MDT 台湾麦肯
http://www.mdtic.com.tw/
EMC    台湾义隆
http://www.emc.com.tw
HOLTEK  台湾盛群半导体 
http://www.holtek.com.cn/
http://www.holtek.com.tw
SONIX 台湾松翰
http://www.sonix.com.tw/
凌阳科技(世界第12大芯片设计公司)
http://www.sunplusmcu.com/

热门招聘
相关主题

官方公众号

智造工程师