微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 与初学者分享51单片机

与初学者分享51单片机

时间:10-02 整理:3721RD 点击:

与初学者分享51单片机

作者:张欢庆   扬州工业职业技术学院   江苏 扬州 225127

摘要:单片机的种类有很多,随着跟新换代其内部集成程度更高,程序控制能力越强。但是,在各个高校里面还是采用80c51作为教学的模板。其实学习单片机的方法都是大同小异的。关键在对于初学者来说不要产生敌对心理。每位老师讲解的方法甚似不同,归根结底还是咱们同学自己不停地去学习和揣摩。网上资料更是很多,比如:《郭天祥的十天学会单片机视屏》等。问题是咱们大学生尤其是初学的同学来说更多的是抱怨,而不是积极的去找解决的途径,上网时根本没有想到去利用现代网络学习新的知识。现在我将自己的一些学习经验跟大家分享下,以便有更好的提升和交流。

关键字:80c51单片机    交流

正文:在刚开《单片机应用设计与制作》这门课之前,就听闻单片是如何的难学啊!老师是如何的难为同学60%的同学就要挂科啊!等一系列的不和谐的声音一浪高过一浪。开始我也沦落了呢,不只是不懂,更是来自心里面那一座越不过去的大山。

就在我真正堕落时,老师给我介绍一家电子公司搞研发的你,让我去面试。我很有信心去参加面试去了,在做简单的了解之后,他们给了我一道题目,说是首先考验一下也是看看我对单片机的实际能力。

题目:                         功能要求:

1.             启动开关:启动测试程序(测试过程按下,中断(中断信号输出I/O口),再次按下重新启动测试程序);

2.             单片机采集3位拨码开关信号,并储存;

3.             电源接到A组,需检测A组输入电流;并与采集到的拨码开关信号对比,如低于设定值,则显示OK(指示灯),并继续测试B组(测试项目同A组一样);如低于设定值,显示OK(指示灯)伴随蜂鸣器一次鸣叫;如超过设定值,则显示NG(指示灯),并伴随蜂鸣器3次鸣叫;

4.             如测试A组,测试信号高于设定值,则直接停止测试程序,显示NG(指示灯)并伴随蜂鸣器3次鸣叫;

5.             测试值通过数码管显示;

这个题目是对我来学习单片的一种动力,虽然失去一次工作的机会,“塞翁失马焉知非福”。下面就分享下我是如何学习单片机的,并且成为一种兴趣的。

首先,我并没有急于去泡图书馆。以前注册的电子论坛里面我与前辈们交流,他们也是不吝的为我们初学者来做知道。其中呢,单片机论坛讲的很多。我加了“51单片机硬件交流群”里面有不同层次的高手,新手。在一起分享下自己的研究成果。

接着我就去图书馆借几本不同层次的书籍,配合自己的教材来揣摩,用自己的电脑下载好相应的软件多做练习即可。更重要的就是与老师同学多多交流。我从以下六点分析我的学习方法,相信大家有不同程度的提高。

一:80c51 ---“知己知彼,百战不殆”

图片展示:

      

          DIP封装                       PLCC封装

1、剖析单片机:

MCS-51单片机是在一块新品中集成了CPU、RAM、ROM、定时器/计数器和多种功能的I/O线等一台计算机所需的基本功能部件。MCS-51单片机包含以下部件。

(1)    一个8位CPU;

(2)    一个片内振荡器及时钟电路;

(3)    4KB的ROM程序存储器;

(4)    256B的RAM数据存储器;

(5)    两个16位的定时器/计数器;

(6)    可寻址64KB外部数据存储器和64KB程序存储器空间的控制电路;

(7)    32条可编程的I/O线(4个8位并行I/O串口);

(8)    一个可编程全双工串行口;

(9)    具有5个中断源、两个优先级嵌套中断结构。

在简单的知道51单片机的构成部分之后,就可以有目的性的针对每一个环节层层突破。更多的是实用环节。

   2、单片机的特点:

高性能、低价格

体积小、可靠性高

低电压、低功耗

我在那个交流群里发现很大的一个现象,普遍对大学生都不思考,而是直接询问:“兄弟,我要做XXX毕业设计了,他的程序怎么写的,跪求高手,不甚感谢!”,不过还好,有的人会给他发。好的同学呢则是将自己编写的程序,自己实在改不了了,复制过来让别人帮忙调下。比如:下面这位同学的跑马灯程序

#include<reg52.h>

sbit DS1302 =P2^7;

void delay(unsigned int t);

void main()

{

unsigned char i;  //0~255

P1=0xfe;

  while(1)

{

  for (i=0;i<8;i++)

  {

   delay(50000);

   P1<<=1;

   P1=P1|0x01;//0000 0001

  }

}

}

void delay(unsigned int t)

{

while(--t);//0~65535

}

这是一个在自己电脑上运行始终错误的程序,经过大家讨论之后呢,只是他的keil的问题运行不了。简单的问题关键咱们有没有去动脑子而已,尤其是在下面编辑查错的时候更应该谨慎,马虎不得(在下面有详细的分析)。

3、单片机的应用:

单片机只需在外界加少许的元器件,就可以实现多种功能的控制。单片机接上键盘可进行信号的输入;接上喇叭可以发出声响;可以用于广告灯,电动机运转和机器人的活动。所以,在工业控制、国防设备、智能仪器等领域应用十分广泛。因此,大学生有必要要认真学习,尽量在研发领域做出贡献。而不是一毕业了就在抱怨我的大学白上了,跟没上过高等学校的人一样的工作。现在,只要还没离开学校,甚至还没有开这门课程的同学应该好好的努力,并为自己的将来交一份完美的答卷。

二:单片机的开发环境---“磨刀不误砍柴工”


好教材  谢谢你的无私贡献 学习个。

同感同感啊

怎么没有下文了   期待啊 我会继续支持你的 小编

顶一下

同感同感啊

小编怎么断线了。没下文了

蛮好,学习了

很好,我是单片机初学者,正在学习的,感谢小编

好教程 谢谢小编

同感

学习了

小编继续啊!

初学单片机,望小编多多指教。

自己刚上大三,马上就要学了,正在预习,看到书之后,有忐忑有不安,不过看到你这篇文章之后有了信心了。

怎么没 了  

谢谢。,。,

感谢,小编好人,有学到东西了!

看看

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top