大学生单片机
A. 我是一个本三的大学生,大三了专业电气工程及其自动化 ,我想学单片机 问题
本人自动化专业毕业
说下我对51的认识
1: 51 单片机是比较老的单片机,PIC,ARM 等是比较新而且更先进的东西了。
2: 现今社会,IT 电子产品信息量大,51单片机是落伍的东西了。但学习下51还是有必要的,51 是最底层的东西。就像现在玩编程,很少人用汇编语言了。 都是高级语言。但汇编确是最底层,最能让你理会软硬相通的语言。51可学,但必须以此做跳板,学更好的ARM开发。
3: 如果想出来后从事自动控制方面,可学PLC,PLC 实际是单片机+外围扩展。
4: 如果想从事IT方面开发,比如平板电脑,手机等开发,可学ARM等。语言得学JAVA,C++。
学习单片机,不仅仅是学点理论。不仅仅是写下程序。重要的是要实践。要懂软件,硬件。不能交互硬件的软件是无用的。
如学单片机,多实践,没实践条件可自己买开发板,开发板不贵。
B. 我是在校大学生,在学校里想要学习单片机,不知道从什么地方学起,求大侠们指点,推荐入门的方法。
我也是在校大学生,今年刚开始学单片机,你们学校有实验室吗?有的话想办法进实验室,毕竟一个好的学习氛围很重要,实验室很多东西自己也没有。我去实验室时实验室也不收人,我还是死缠烂打进去的,别管怎么样想办法进去就行。
刚开始推荐你看郭天祥的视频---十天征服单片机,这个视频是大多数人刚学单片机时看的视频,讲的很详细。刚开始推荐自己买个单片机跟着学,如果知识看的话 很容易忘,,
买书的话 ,推荐买两本书,一本是人民邮电出版社出版的《80C51系列单片机C程序设计完全手册》这里面讲了很多应用实例,对于以后编程也有很大作用。
还有一本是 哈工大出版的 51单片机原理书,,这两本大概就够了。
等你把视频看完,如果都能懂的话,就差不多了。。
如果有什么不明白的可以问我,毕竟我也是刚学没多久,
最后还想说点。。。分。。分。。。
C. 大学生都学51单片机,哪么问题来了,全国这么多大学生得需要多少单片机
51单片机学完了?
不会是在开发板上编完了几个示例程序吧?
那只是个开始。
首先,1,你能不能把你的开发板所有的资源都用上,编一个复杂的液晶时钟,带温度显示,汉字液晶菜单驱动,24c02存储闹钟,矩阵键盘输入控制,温度报警。并且有良好的人机界面,设置菜单。
还有,2,我问你,你能不能完全自主的设计一个复杂的电路,比如说多粮库多点温度湿度监控报警系统,每个仓库一个单片机,控制多个传感器,采集温湿度信号通过485数据线通过一定的协议,或者通过无线传输芯片和天线,传送到主机,由主机的汉字液晶屏来控制,由多组数码管组成的显示墙显示各点的温度,并且有良好的用户界面,方便的设置设置各种参数,监控各个粮库。而且必须从选用零件,到设计,到编程,绘制电路板,调试,焊接样机,组装测试,都是你一个人完成。或者大部分你一个人完成,其他的由你来指挥完成。
以上两点,我保证,由51单片机配合各种芯片就都能完成,
能做到第一点,说明你编程还可以,能看懂电路图,懂得各种模块的协同工作(这是编程的关键)
能做到第二点,说明你学会了51。再学其他的单片机,信手拈来。
连第一条都做不到,那就别考虑在学别的。
单片机是个软硬结合的东西,硬件为主,软件为辅。
主要还是要会电路。
D. 大学生应该学习单片机什么知识
当然是学习单片机的基础知识,熟练掌握后能够灵活应用其基础知识来应用到具体的控制之中。
E. 大学生创新项目选什么单片机好呢
建议你选STC"S"系列单片机。这款单片机是51内核的单片。外面出的资料相当多了,有相当多的实例和经验可以采用。
它们的编译环境可以直接使用Keil C51来编译。如果你对Keil C比较熟悉的话。编译这块也没有问题了。
至于你说笔记本电脑不能下载程序。主要是笔记本没有并口的关系。这个问题不是最大。你可以买带USB接口的下载线下载程序。STC"S"系列单片机可以支持ISP(在线烧录芯片)。所以你可以购买一个廉价的下载线来下载程序。不必购买昂贵的编程器来烧录芯片了。记住买个带USB接口的下载线就行了。(当然也有带USB接口的编程器)。
你的采集传感器过来的信号的话,要找带模数转换的A/D的单片机。这样可以省电外部的A/D转换芯片。节约成本。
而且STC单片机还有一个好处就是它的I/O口驱动能力比较强。可以直接驱动某些东西。而无需外部驱动电路。另外就是它有内部RC振荡功能。可以省掉外接晶振的麻烦。(如果你系统时序要求不是很高的话,建议你使用内部RC振荡。如果时序要求很高的话,只能使用外部的石英晶振了。)
你打算用Atmega128??个人建议你考虑一下成本的等关系。因为Mega128是TQFP64封装的芯片。你到时侯开发系统的话画块板子吗?这个芯片的I/O口很多。我不知道你的系统是不是也要求有这么强大的功能。再说了,就算你用AVR单片机。我个人建议你采用Atmega16的比较好。用DIP40封装的芯片。做实验方便多了。而且AVR单片机资料最多的是Atmega16.市场上的书比较多。而且这款芯片比较容易买到。你不是没有USB接口下载线吗?个人建议你不要买什么最小系统板了。你去买几个芯片(Atmega16芯片零买的话大概10几块钱一个)买几个洞洞板。在买一个USB接口的下载线就能做实验了。这样总成本不超过200块钱。先做实验熟悉它的结构再说。如果非要用Mega128的话。也请先搞懂AVR的指令系统和结构再说。AVR单片机是一款增强性的RISC结构的单片机,指令比较多。尽管一般来说AVR单片机都是用C语言写程序的。但是基本的指令系统还是要了解的。如果你对AVR有兴趣的话,可以加一下我的QQ我们详谈。qq:373884636
F. 我是个大学生.我也学习单片机的...我想跟你了解多一点单片机的东西.例如keil是什么....
kell是一个编译软件,它可以生成HAX文件,在烧到单片机里,因为单片机必须写入软件它才知道自己要干什么,烧入就可以了,以后ARM就不用这个了,这是个倒计时程序,给你我自己刚写的程序,你看看吧
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit wela=p2^7;
sbit la=p2^6;
uchar code table[]=
{0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void display(uchar shi,uchar ge);
uchar shi,ge,num1,num2;
void main()
{
TOMD=0X11;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
EA=1;
ET0=1;
ET1=1;
while(1)
{display(shi,ge);
}
void display(uchar shi,uchar ge)
{
la=1;
p0=table[shi];
la=0;
wula=1;
p0=0xfe;
wula=0;
deley(5);
la=1;
p0=table[ge];
la=0;
wela=1;
p0=0xfd;
wela=0;
deley(5);
}
void deley(uint z)
{
uint i,j;
for(i=z,i>0;i--)
for(j=110,j>0j--)
}
void timet0 interrupt 2
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
num1++;
if(num1==4)
{
num1=0;
}
}
void timer1 interrupt 3
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
num2++;
if(num2==20)
{
num2=0;
if(num==60);
num=0;
shi=num%10;
ge=num/10;
}
}
}
G. 我是一名在校大学生 想学习单片机
书可以先不看,那些理论也不用去管它,
学单片机最主要的是动手,
只要你揭破了单片机神密的面纱,其实很简单,一个月就可以学会了,
至于多媒体的教学材料我想也没有多大作用.
自己先用万能板或者热转印弄个最简单的电路,就点亮一个灯,然后熄灭就行了.你就能感觉到原来这就是单片机.
记住:动手,看人家的程序,再动手!
有一个周传功(好像是这个名字)的<<手把手教你学单片机>>系列教程挺不错的,找找看.
H. 如何学好单片机
1、熟悉单片机的原理,结构;
2、学好数电,模电,为设计电路打好基础;
3、熟练使用C语言,多学习别人的程序;
4、对操作系统原理有一定的了解;
5、Protel至少要有点基础;
6、要实际动手调试电路的能力。
学习单片机的步骤
当前的单片机种类很多,但是 51 是最基础的,因此单片机的学习最好也是从 51 开始,不仅容易上手,而且相当实用。然而 51 单片机毕竟过于基础,后来的很多单片机在功能上都有很大的扩展,因此按照我们实验室多数人的路线接下来大多数人会学习 AVR 单片机, AVR 单片机在功能上较 51 有很大提升,集成了 A/D 、快速 PWM 等很多实用的功能,而且和很多大型的单片机在功能上有很多类似之处,因此如果以后还想掌握其他单片机 AVR 无疑是一个很好的跳板。
学习的过程
学习单片机最终要的是当然是练,我所说的学习跟课堂上的单片机学习不同,我以前也看过一些单片机教材,有些教材讲的是单片机的工作原理和内部结构,这些东西对于我们暂时并不需要,等以后开课的时候在学习好了。现在要学习的是暂时抛开内部结构原理不谈,如何能用单片机写一些简单的小程序,是从实用性的角度出发,网上有一种说法称之为先实践后理论的学习方法。
因此我的观点如下,单片机的硬件结构首先要有一个基本的了解,最起码要知道各引脚的功能、区别,能自己动手搭一个单片机的最小系统,然后就可以直接从程序入手,程序最好还是用 C 语言编程,从简单的跑马灯做起,逐渐深入,陆续可以做一些数码管、液晶、 DS1302 、 DS18B20 等电子元器件的应用,在深入就可以结合一些具体实例扩展一些中断、串口通讯等功能。还有一点要声明的是单片机里用到的 C 语言其实很有限,课堂上学习 C++ 的很大一部分内容在初期单片机编程中都用不到,因此没必要因为觉的自己的 C 语言基础不是很好而对单片机望而止步!
学习的工具
软件方面方面, 51 单片机用的是 KEIL 软件,这个软件在学校图书馆软件下载和其他网站上都有,具体用法自己查找相关资料, AVR 的软件就比较多了,我用的是 CVAVR ,另外还有 ICCAVR 等多款编译软件,这要看个人喜好了,建议有了一定的 51 基础再学。另外就是烧写软件,烧写软件的作用就是将编译器生成的 HEX 文件烧写至单片机里,这要配合下载线实用,如果有并口的话最好用并口下载线,软件最好用广州双龙的 SLISP 软件,如果是笔记本没有并口的话则要自己买一个下载器了,名称为 USBASP ,网上电子市场有卖 20 块钱左右,软件会随光盘自带。
硬件方面,首先是要有单片机,对于单片机有一点要注意, 51 单片机最好买 89S51 、 89S52 这两种型号,上面我所说的烧写程序是 ISP 方式,这两种单片机支持 ISP 下载,所以如果买其他型号的烧写程序可能会不太方便, AVR 单片机常用的就是 ATmega16L 其它型号的区别也不是很大,甚至有些兼容。至于单片机开发板,目前的价格都很贵,从一百到几百不等,不过像上次学校里广告的那个六十多块钱的最好还是免了,没什么作用。能买一块当然好,没有的话也不要紧,自己动手买个电路板搭一下也很方便,引出 ISP 接口,烧写程序十分容易,然后将 I/O 口引出扩展也很方便。
学习单片机的其它几个注意点:
1 .理论与实践并重
对一个初学单片机的人来说,如果按教科书式的学法,上来就是一大堆指令、名词,学了半天还搞不清这些指令起什么作用,也许用不了几天就会觉得枯燥乏味以致半途而废。所以学习与实践结合是一个好方法,边学习、边演练,循序渐进,这样用不了几次就能将所用到的指令理解、吃透、扎根于脑海,甚至 “ 根深蒂固 ” 。也就是说,当你学习完几条指令后 ( 一次数量不求多,只求懂 ) ,接下去就该做实验了,通过实验,使你感受到刚才的指令产生的控制效果,眼睛看得见 ( 灯光 ) 、耳朵听得到 ( 声音 ) ,更能深刻理解指令是怎样转化成信号去实现控制的,通过实验看到自己所学的成果不仅有一种成就感也能提升你对单片机的兴趣。说句实在话,单片机与其说是学出来的,还不如说是做实验练出来的,何况做实验本身也是一种学习过程。因此边学边练的学习方法,效果特别好。
2 .合理安排时间持之以恒
学习单片机不能 “ 三天打鱼、两天晒网 ” ,要有持之以恒的毅力与决 4 心。学习完几条指令后,就应及时做实验,融汇贯通,而不要等几天或几个星期之后再做实验,这样效果不好甚至前学后忘。另外要有打 “ 持久战 ” 的心理准备,不要兴趣来时学上几天,无兴趣时凉上几星期。学习单片机很重要的一点就是持之以恒。
3 .遇到问题耐心检查
单片机有软硬件两方面的内容,有时一个程序怎么调都不出效果,然而从理论分析却又是对的,这是就要仔细找原因了,学习单片机经常碰到很多问题,有时一两天都不能解决,这是就要有耐心,从底层找起,相信每找出一个错误都会有一个新的收获。切不可轻言放弃!!!
4 .对只短暂学过一遍的知识,充其量只比浮光掠影稍好。因此,较好的方法是过一段时间后 (1-2 个月 ) 再重新学一遍,学过的知识要经常运用,这样反复循环几次就能彻底弄懂消化,永不忘却。
5 .要进行适当投资购买实验器材及书籍资料
单片机技术含金量高,一旦学会后,给你带来的效益当然也高,无论是应聘求职还是自起炉灶开厂办公司,其前景都光明无限。因此在学习时要舍得适当投资购买必要的学习、实验器材。另外还要经常去科技图书店看看,购买一些适合自己学习、提高的书籍。一本好的书籍真的很重要,可以随时翻阅,随时补充不懂或遗忘的知识。
学习使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。
第一步:数字I/O的使用
使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕麻烦,所有的单片机都是这样。
第二步:定时器的使用 学会定时器的使用,就可以用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设备的控制中有很多应用,例如,可以用单片机实现一个具有一个按钮的楼道灯开关,该开关在按钮按下一次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。数字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时序电路,可编程控制器(PLC)也可以实现时序电路,但是只有单片机实现起来最简单,成本最低。
定时器的使用是非常重要的,逻辑加时间控制是单片机使用的基础。
第三步:中断
单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的下降沿。要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行正常的程序。中断功能使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断),需要设置哪些寄存器才能使某种中断起作用,中断开始时,程序应该干什么,中断完成后,程序应该干什么等等。
中断学会后,就可以编制更复杂结构的程序,这样的程序可以干着一件事,监视着一件事,一旦监视的事情发生,就中断正在干的事情,处理监视的事情,当然也可以监视多个事情,形象的比喻,中断功能使单片机具有吃着碗里的,看着锅里的功能。
以上三步学会,就相当于降龙十八掌武功,会了三掌了,可以勉强护身。
第四步:与PC机进行RS232通信
单片机都有USART接口,特别是MSP430系列中很多型号,都具有两个USART接口。USART接口不能直接与PC机的RS232接口连接,它们之间的逻辑电平不同,需要使用一个MAX3232芯片进行电平转换。
USART接口的使用是非常重要的,通过该接口,可以使单片机与PC机之间交换信息,虽然RS232通信并不先进,但是对于接口的学习是非常重要的。正确使用USART接口,需要学习通信协议,PC机的RS232接口编程等等知识。试想,单片机实验板上的数据显示在PC机监视器上,而PC机的键盘信号可以在单片机实验板上得到显示,将是多么有意思的事情啊!
第五步:学会A/D转换
MAP430单片机带有多通道12位A/D转换器,通过这些A/D转换器可以使单片机操作模拟量,显示和检测电压、电流等信号。学习时注意模拟地与数字地、参考电压、采样时间,转换速率,转换误差等概念。
使用A/D转换功能的简单的例子是设计一个电压表。
第六步:学会PCI、I2C接口和液晶显示器接口
这些接口的使用可以使单片机更容易连接外部设备,在扩展单片机功能方面非常重要。
第七步:学会比较、捕捉、PWM功能
这些功能可以使单片机能够控制电机,检测转速信号,实现电机调速器等控制起功能。
如果以上七步都学会,就可以设计一般的应用系统,相当于学会十招降龙十八掌,可以出手攻击了。
第八步:学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计是非常重要的,因为这是当前产品开发的发展方向。
到此为止,相当于学会15招降龙十八掌,但还不到打遍天下无敌手的境界。即使如此,也算是单片机大虾了
I. 本人是一在校大学生极想学好单片机,却不知从何入手..望业内高手指点迷津...
说说单片机,一般我们现在用的比较多的的MCS-51的单片机,它的资料比较多,用的人也很多,市场也很大。就我个人的体会怎么样才能更快的学会单片机这门课。单片机这门课是一项非常重视动手实践的科目,不能总是看书,但是学习它首先必须得看书,因为从书中你需要大概了解一下,单片机的各个功能寄存器,而说明白点,我们使用单片机就是用软件去控制单片机的各个功能寄存器,再说明白点,就是控制单片机那些管脚的电平什么时候输出高,什么时候输出低。由这些高低电平的变化来控制你的系统板,实现我们需要的各个功能。至于看书,只需大概了解单片机各管脚都是干什么的?能实现什么样的功能?第一次,第二次你可能看不明白,但这不要紧,因为还缺少实际的感观认识。所以我总是说,学单片机看书看两三天的就够了,看小说你一天能看五六本,看单片机你两三天看两三遍就够了,可以不用仔细的看。推荐一本书,就这一本就足够,书名是《新编MCS-51单片机应用设计》,是哈尔滨工业大学出版社出的的,作者是张毅刚。大概了解一下书上的内容,然后实践,这是非常关键的,如果说学单片机你不实践那是不可能学会的,关于实践有两种方法你可以选择,一种方法:你自己花钱买一块单片机的学习板,不要求功能太全的,对于初学者来说你买功能非常多的那种板子,上面有很多东西你这辈子都用不着,我建议有流水灯、数码管、独立键盘、矩阵键盘、AD或DA(原理一样)、液晶、蜂鸣器,这就差不多了。如果上面我提到的这些,你能熟练应用,那可以说对于单片机方面的硬件你已经入门了,剩下的就是自己练习设计电路,不断的积累经验。只要过了第一关,后面的路就好走多了,万事开头难,大家可能都听过。方法二:你身边如果有单片机方面的高手,向他求助,让他帮你搭个简单的最小系统板。对于高手来说,做个单片机的最小系统板只需要一分钟的时间,而对于初学者可就难多了,因为只有对硬件了解了,才能熟练运用。而如果你身边没有这样的高手,又找不到可以帮助你的人,那我劝你最好是自己买上一块,毕竟自己有一块要方便的多,以后做单片机类的小实验时都能用得上,还省事。
有了单片机学习板之后你就要多练习,最好是自己有台电脑,一天少看电影,少打游戏,把学习板和电脑连好,打开调试软件坐在电脑前,先学会怎么用调试软件,然后从最简单的流水灯实验做起,等你能让那八个流水灯按照你的意愿随意流动时你已经入门了,你会发现单片机是多么迷人的东西啊,太好玩了,这不是在学习知识,而是在玩,当你编写的程序按你的意愿实现时你比做什么事都开心,你会上瘾的,真的。做电子类的人真的会上瘾。然后让数码管亮起来,这两项会了后,你已经不能自拔了,你已经开始考虑你这辈子要走哪一行了。就是要这样练习,在写程序的时候你肯定会遇到很多问题,而这时你再去翻书找,或是问别人,当得到解答后你会记住一辈子的,知识必须用于现实生活中,解决实际问题,这样才能发挥它的作用,你自己好好想想,上了这么多年大学,天天上课,你在课堂上学到了什么?是不是为了期末考试而忙碌呢?考完得了90分,哈哈哈好高兴啊,下学期开学回来忘的一干二净,是不是?你学到什么了?但是我告诉你单片机一旦学会,永远不会忘了。另外我再说说用汇编和C语言编程的问题。很多同学大一二就开设了C语言的课,我也上过,我知道那时天天就是几乘几,几加几啊,求个阶乘啊。学完了有什么用?让你用C语言编单片机的程序你是不是就傻了?书上的东西我们必须要会运用。单片机编程用C语言或汇编语言都可以,但是我建议用C语言比较好,如果原来有C语言的基础那学起来会更好,如果没有,也可以边学单片机边学C语言,C语言也挺简单,只是一门工具而已,我劝你最好学会,将来肯定用得着,要不你以后也得学,你一点汇编都不会根本无所谓,但你一点C语言都不会那你将来会吃苦头。汇编写程序代码效率高,但相对难度较大,而且很罗嗦,尤其是遇到算法方面的问题时,根本是麻烦的不得了,现在单片机的主频在不断的提高,我们完全不需要那么高效率的代码,因为有高频率的时钟,单片机的ROM也在不断的提高,足够装得下你用C语言写的任何代码,C语言的资料又多又好找,将来可移植性非常好,只需要变一个IO口写个温度传感器的程序在哪里都能用,所以我劝大家用C语言。
总结上面,只要你有信心,做事能坚持到底,有不成功不放弃的强烈意志,那学个单片机来说就是件非常容易的事。
步骤:1.找本书大概了解一下单片机结构,大概了解就行。不用都看懂,又不让你出书的。郭天祥的《新概念51单片机教程》很好。
2.找学习板练习编写程序,学单片机就是练编程序,遇到不会的再问人或查书。也用过天祥的吧。 网上收下都有。
3.自己网上找些小电路类的资料练习设计外围电路。焊好后自己调试,熟悉过程。多看下别人的程序,建立自己的程序风格。
4.自己完全设计具有个人风格的电路, 试着去做一些小东西 如电子秤 数字钟
这样你已是个高手了。
J. 单片机大学生
引脚没什么难的,重点在于内部特殊功能寄存器的作用和使用,初始化。最后归结到编写程序上。只掌握引脚没用,有点本末倒置了。
