4699|11

69

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

单片机个人心得 [复制链接]

单片机个人心得-00简介
在eeworld上下载说我积分太少。于是想办法弄。写点东西换点分。写这个的目的不是为了教谁什么东西,只是把自己的理解写出来,让那些选择了单片机而且想学的人看看,能有用处最好。有不对的地方大家多多指教。

单片机个人心得-01概念
啥是单片机?
单片机就是一个小的芯片有长条的有方的,可以对它编程序,然后它就按照编写的程序运行。
内部集成了好多乱七八槽的东西比如ROM,RAM,A/D,UART.......不同的单片机内部集成的东西也不一样。

单片机能干啥?
如果只是一个单片机,那么它啥也干部了。就算里边有再NB的程序,如果没有其他器件和它结合,它还是啥也干不了。

既然啥也干不了,为啥还那么多人用它呢?
因为所有的单片机应用,都需要有其它外围器件,而单片机里的程序就是控制外围器件或者和这些外围器件通信,然后这些外围器件动作了,然后才有用了。举例说明,
比如单片机接个LCD显示器,那么单片机就可以控制LCD显示器让它显示字。
比如接个键盘,那么但么你按下键的时候,单片机就知道(如果检测)你按了哪个键,然后根据键的定义去做定义好的事

学习单片机需要啥基础?
只要有C语言基础就可以了,而且这个基础不需要太深(知道顺序,条件,循环就够了),如果有汇编语言基础更好。

单片机咋学?
从简单的学,引脚越少的就越简单。当然也可以从目前你手头有的任何一款单片机开始学,最终所有的单片机你发现都一样。

学习完单片机能干啥?
啥也干不了。因为单片机本身也啥也干不了,所以如果想干点啥,还得学和它连接起来的器件(有些不用学)。

单片机为啥能运行程序?
具体不知道,只知道人家做好的,你把程序放进去,他就按照你做的程序运行了。

单片机能执行(听懂)几种语言?
一种,是啥单片机,它就只能听懂它自己的语言,我们通常说这叫“机器码”

单片机程序能用几种语言编写?
理论上是目前有几种语言,就能用几种语言编写。但是通常的都是汇编和C语言。

用C语言好还是汇编语言好?
都行,C语言编写的速度快,汇编语言执行的速度快,而且C语言编写的程序不一定就比汇编语言慢。

上学时学的TURBO C有用吗?
有用。而且用处很大。

TURBO C编译的exe文件能在单片机上正常运行吗?
答,不能。因为单片机只能听懂它自己的“机器码”。请记住,单片机只能听懂一种语言,就是它自己能听懂的机器码,所以无论C或汇编程序源代码,都要经过这个单片机所对应的编译器,编译以后,生成的文件,才有可能是这个单片机所能听懂的语言。

单片机“程序文件”通常有哪些扩展名?这些文件有啥区别?
.hex .mot .bin 不知道具体区别(网上能查到),就是有的能有记事本打开,有的打开是乱码,当然不管啥文件,最终下到单片机里也都是机器码。

用C做个最简单的单片机程序吧?
main(){
    while(1);
}
用任何单片机编译器编译都能通过,有的会有警告,但是就是在main前加不同的返回类型。

啥叫地址总线?(内部总线暂时不考虑)
就是一大堆固定数目的线,连接到一大堆外围器件(假定外围器件里有很多个单元)上的线,主要是确定要访问的外围器件的哪个单元。有点像地址,这些线在单片机上要有通常用A0-Ann/AD0-ADnn表示

啥叫数据总线?
就是一大堆固定数目的线,连接到一大堆外围器件(假定外围器件里有很多个单元)上的线,主要是确定要访问的外围器件的中某个单元中的内容。这些线在单片机上要有通常用D0-Dnn/AD0-ADnn表示

啥叫8位单片机,16位单片机...?
数据总线是几根的就是几位单片机,但是不一定16位单片机就一定工作在16位方式上。

16位单片机和8位单片机在编程上有啥区别?
答,没有啥区别,至少在编程上你感觉不到。以前在网络上看到有人瞧不起只会8位单片机的,可是目前我没体会到有啥不一样。所以如果有知道的请赐教。

现写这么多,就是想弄点分。顺便检讨下自己。这能不能弄到分啊?顺便问下,我怎么找不到用论坛分换下载分的地方啊??还有怎么能让分多多??具体点,本人比较笨,找不到地方。

最新回复

测试,还能不能写  详情 回复 发表于 2009-7-6 08:35
点赞 关注

回复
举报

68

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
支持~~~
不过你这是散分
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
GOOD GOOD
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

4
 
只有回帖才能得到可用分,拿可用分去换下载分,或者上传资源别人下载你的资源也会得到下载分。
:-)
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

5
 
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(中级)

6
 
个人认为,所谓8位,16位单片机,主要是看ALU的位宽和内部寄存器的位宽。
也就是说用来送进ALU的基本的运算单元是多少位的。

做过4位的Tenx 87XX系列,8位的8051系列,16位的Microchip PIC系列,以及32位的ARM。
基本来看来4位机是我做过得最有难度的单片机,自身不带乘除法器,曾经用它做过无数的数据处理,多片通讯等。那段时间真是头疼。觉得越低级的单片机开发越高级的东西最体现难度。
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

7
 
单片机个人心得-01概念续

啥是主函数/程序?
主函数就是你main()函数。而且可以理解为程序的开始就是从这里开始的。

啥是中断?
中断是把你的当前的函数打断。当前函数停止,谁打断的谁负责继续执行。当执行完后再回到你的原来的函数。

啥是中断函数?
就是当中断产生时,当前函数停止了,但CPU并没有停止,它换到另一个函数里执行,这个函数就是中断函数。

中断有哪些类型?
按照内外分为内部中断和外部中断,内部中断其实就是单片机已经集成好的,比如定时器中断,UART系列中断,外部中断其实就是CPU的某些个

引脚作为中断输入。
按照功能分,那就多了,其实主要看单片机集成了那些功能,比如定时器,I2C,EEPROM,SPI...这个主要看单片机提供了多少功能。而且每一个

功能都可能有有多个不同的中断。

中断如何产生的?
首先要对使用的中断的各个寄存器做好设置,并且允许中断,而且要开中断,当满足了设定的条件时,中断程序就产生了,然后去执行中断函

数。

中断函数和普通函数有什么不同?
函数内部没啥不同,中断函数定义有点不同比如
C51程序中用
void SI_Interrupt() interrupt 0 {}方式定义中断函数

AVRSTUDIO用
ISR (USART0_RX_vect)
void USART0_RX_vect (){}

ICCAVR用
#pragma interrupt_handler USART0_RX_vect:iv_USART0_RX
void USART0_RX_vect (){}

HEW3用
__interrupt(vect=16) void INT_IRQ0(void) {irq0();}
...................
根据不同的编译器,定义方式也不一样,这个到时候需要去查一下。

啥是定时器?
目前大部分单片机内部都有定时器,说白了,就是你对它设置好了定时的时间,到时间以后它就能产生中断。
通常定时器也能计数用,不过我没用过不敢胡说。估计就是外部输入,然后计数,满足条件产生中断。

资料上引脚写的字是啥意思?
通常单片机都有多个引脚,多个端口,端口大部分是8位的,有的不是。而且基本上每个端口都可以做通用的I/O(输入/输出)功能,通常个端

口用P0,P1,P2.... PA,PB,PC....表示。
但是大部分引脚还有其他功能,比如第二,第三功能.....
例如,PC0 (A8) 或PC0/A8 说明这个引脚即可以作为地址线的A8使用,也可以作为C端口的第0位(I/O)。
P13/TIOCD0/TCLKB/A23  说明这个引脚可以有4个功能。这需要仔细的看芯片资料,才能设置正确,让它工作在某个方式上。

啥是UART?
英文单词不解释了,就是我们用的异步串行通信,就用这个。理论上来说,没有这个能不能做串行通信,肯定能,但是这个位的时序,需要我

们自己去编写,简单说,1起始位,8数据位,1停止位。如果用CPU的引脚I/O方式控制的话,我个人觉得是很复杂的事(做到连续跑1年1位都不

差)。于是大部分单片机都集成了这个功能。我们只需要设置相关的寄存器,其他的就不用了。
其实包括其他的任何总线,比如i2c SPI CAN....用CPU的I/O方式理论上都是可以做出来的,但是如果做到好用则很困难,所以单片机上通常集

成了一些常用的总线控制器,只需要做设置其他的由硬件来完成。

关于概念可以结束了,因为太多的概念了,而且有好多我也不懂,只能现用现查。顺便说下,关于单片机的数据手册,我用过的最多的900多页

,但是我基本没看过太多,因为好多功能在实际工作中用不上,只能是用哪查哪和字典是一样的。

以后有时间可以写点硬件和软件结合部分。还是老话,写点东西换点分。写这个的目的不是为了教谁什么东西,只是把自己的理解写出来,让

那些选择了单片机而且想学的人看看,能有用处最好,顺便检讨下自己。有不对的地方大家多多指教。

另感谢前边回复的朋友,我也长了见识。

 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

8
 
学习过,长见识了!
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

9
 
言简意赅啊,呵呵
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

10
 
顶下!!!
楼主很具有奉献精神!!!
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

11
 
散分就散分!

我职业接分!
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

12
 
测试,还能不能写
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表