尽管现在16位32位的单片机越来越多,但51单片机依然是8位单片机中的经典之作。这是对一切兼容Intel 8031指令体系的单片机的总称,该系列的鼻祖是Intel的8004单片机,后来跟着Flash rom技术的开展,8004单片机取得了长足的发展,成为运用最广泛的8位单片机之一。
在这里给我们共享一下学习51单片机心得体会:
1、我从不说51是根底,假如我这么说,也请把这句话了解为微机原理是根底。
2、对51单片机的操作本质上便是对寄存器的操作,对其他单片机也是如此。库仅仅一个接口,便利运用者运用罢了。
3、汇编言语在作业中很少用到,了解就好。
4、51单片机的P0口很特别。
5、C言语便是C言语,51单片机便是51单片机,算法便是算法,外围电路便是外围电路,传感器便是传感器,通讯器材便是通讯器材,电路图便是电路图,PCB图便是PCB图,仿真便是仿真。
当你今后再也不运用51了,C言语的常识还在,算法的常识还在,建立单片机的最小体系的技术还在,传感器和通讯器材的运用办法还在,还会画电路图和PCB图,当然也会仿真。
6、51单片机是这个:
7、当程序调试不如人意的时分,静下心来好好查材料,51单片机最大的优点便是网上材料十分多,你遇到的问题他人必定也遇到过。作为学习者,问人或许更便利点,但一向这样是培育不出处理问题的才干的。
8、有些单片机初学者觉得看例程欠好,觉得就等于看答案相同有罪反感。其实对初学者来说,看例程了解例程再看例程的注解是最好的学习途径。做实验做课程设计做参赛著作的时分也是能够移植程序的,不需要自己从头完结。(当然教师安置的作业仍是独立完结好)
可是,要清楚,移植程序不等于学习单片机,最重要的是知道例程是怎样的结构及完结办法。初始化了哪些寄存器,做了哪些引脚装备,调用了哪些函数,那些函数又是怎样完结的,设置了哪些中止,用到了哪些片上资源(UART、ADC等),查询了哪些状况,假如状况改变(触发事情)又会做些什么等等。由此整理出一个流程图并知道其完结方法,基本上这个例程就学习得差不多了。
总结51单片机之上拉电阻
(1) 用于为OC和OD门电路,供给驱动才干。
以OC(集电极开路)电路为例:
例如,达林顿管(其实便是复合三级管)集成块ULN2003. 内部一路的电路如图,便是一个集电极开路电路。
假如不加上拉电阻是无法高电平驱动其他器材的。因为当三极管到市没有电流流转的途径,更谈不上驱动了。这个跟单片机P0口加上拉电阻的原理相同。
(2)进步高电平电位:
单片机P1口外接4&TImes;4矩阵键盘。别的复用P1.0~P1.3外接ULN2003操控驱动步进电机。
实验中遇到的问题:当接入ULN2003时键盘无法作业,去掉ULN2003后键盘作业正常。ULN2003作业正常。(注,两个部分不一起作业)
问题剖析:因为键盘的结构,无非便是两个金属片的接通或断开。可是接入ULN2003 后无法正常作业,阐明是接入ULN2003影响到了P1口电平的改变。用万用表测的电压,当单片机输出高电平时,P1.0~P1.3电压1V左右,P1.4~P1.7电压4.3V左右,所以测AT89s52凹凸电平的判定电位,在1.3V左右。这样P1.0~P1.3始终是低电平,键盘底子无法完结扫描功用。
处理办法,只需举高P1口高电平时的电位,就能够正常作业,
1. 在P1口到ULN2003上串接电阻,起到分压的效果,就能够举高电平。
2.给P1口接上拉电阻,跟P1口内部电阻并联,减小上拉电阻阻值,减小分得的电压,然后举高P0口高电平电位。
选用第二种计划能够举高电平到2.5V左右。键盘作业正常。
别的:我在做液晶显现实验的时分,数据线用的P0口,无法正常作业,不显现字符。可是乱动一下数据线就能够完结显现,可是显现现象并不正常,字符不是一次写入,而是乱动几回才干写完悉数内容,正常应该一次悉数显现 。原因是因为,我的P0口中有六个端口都外接并联三个发光二极管。,因为从材料上查到,P0口每一个端口最大能够吸收10MA电流,总电流不能超过26MA电流。这样算我的总电流现已到了40MA,呵呵。见笑了。所以怀疑是驱动的问题。所以去掉了几个二极管。显现一切正常。好像问题现已处理,但总觉得仍是有点问题,所以又通过几回实验,发现只有当P0.7端口的并联二极管去掉一个,再在其他端口接上一个发光二极管。此刻也能够正常显现。可是这样P0口吸收电流在38MA,也超过了26MA不少。所以不是吸收电流太大的问题。仔细剖析当端口并联外接三个二极管的时分等效于加了一个700欧左右的电阻,所以把二极管去掉换成一个1k电阻,液晶也无法显现。
通过仔细剖析,我以为,因为P0.7是液晶忙信号的回来线路当这个端口回来高电平时阐明,液晶正在处理数据,无法接纳新的数据,回来0时阐明闲暇,能够接纳新数据。
这样当上拉电阻太小了,液晶回来低电平时就有或许高过1.3V(AT89s52凹凸电平的判定电位),单片机接纳到后,不会当作低电平,当然也就无法显现了。(程序设计的时检测到忙信号,持续检测)
总结:上拉电阻挑选也有要求,既不是越高越好也不是越低越好。根据需要挑选。