C51单片机 Keil上面正常形成的hex文件,通过ISP下载后,无法显示出流水灯,有哪些原因?

单片机小系统板安装实习报告

单片机小系统板安装实习

《单片机原理与应用》是电子信息工程专业的一门重要专业课,对应用能力和动手能力要求很高。通过单片机小系统板安装实习,巩固所学理论知识、培养系统设计的思想、提高自身的动手能力,学到电子产品的工艺设计知识,了解电子产品制造过程、熟悉电子产品工艺,掌握制作电子产品的操作技能,为进一步学习和应用奠定基础。

1、熟悉电路结构,分析电路原理图。 (1) 实验板的特性

SXY-MCU单片机实验开发板的CPU可与51系列(DIP40)单片机兼容,其功能强大,充分利用单片机自身的资源构成最小系统。主要由I2C ROM模块、RS232模块、485接口、数码管显示模块、指示灯模块、继电器模块、键盘显示模块、温度传感模块、红外线接收器模块等八个模块组成。通过一系列实验,实现单片机I/O控制、中断控制、数码管显示、键盘扫描输入、数据通信、温度采集、红外线遥控、继电器控制、音响控制和I2C总线功能,实现各个模块的功能。

(2) 各个功能模块的连接情况

I2C ROM模块:本模块采用了AT24C02串行ROM,此器件使用了I2C总线接口模式,如原理图所示,单片机的.com)。

本文介绍的PC/AT键盘具有结构简单、设计灵活、安全可靠的特点,可用于标准PC和嵌入式PC。本键盘可以在标准的键盘基础上进行改造,只需换掉原来的控制芯片即可,可节省设计成本。

单片机C51编程几个有用的模块(1)

KeilC51常用功能模块使用说明

本文档包括单片机系统中常用到的时钟中断、通讯及键盘扫描等模块(见所附源程序)的说明。这些模块使用前后台系统模型。为达到最大的灵活性,需要在用户工程中定义.com)。

本文介绍的PC/AT键盘具有结构简单、设计灵活、安全可靠的特点,可用于标准PC和嵌入式PC。本键盘可以在标准的键盘基础上进行改造,只需换掉原来的控制芯片即可,可节省设计成本。单片机C51编程几个有用的模块(1)KeilC51常用功能模块使用说明

本文档包括单片机系统中常用到的时钟中断、通讯及键盘扫描等模块(见所附源程序)的说明。这些模块使用前后台系统模型。为达到最大的灵活性,需要在用户工程中定义,欢迎阅读单片机原理与应用考试大纲。

《单片机原理与应用》实验课程计划 方案一:电子实习方式

以电子产品生产为背景,通过电子实习使学生学到电子产品的工艺设计知识、电子产品制作过程,掌握制作电子产品的操作技能。

具体划分为几下几个步骤:

1、 焊接练习(大一上学期已经完成)

2、 常用元器件和仪器仪表介绍及检测方法(大一上学期已经完成)

3、 硬件原理图设计(8学时)

4、 PCB设计及焊接(4学时)

5、 测试记录及分析(4学时)

6、 单片机软件程序设计(8学时)

7、 实习文档总结(4学时)

实现难点:原理图设计是重点及难点,学时紧张 方案二:购买PCB印制板方式

购买成品的PCB印制板,要求各模块满足单片机应用的基本功能,学生练习焊接、测试、软件程序设计等操作技能。

具体划分为几下几个步骤:

1、 PCB焊接(4学时)

2、 测试记录及分析(8学时)

3、单片机软件程序设计(12学时)

4、实习文档总结(4学时)

实现难点:购买到价格合适功能齐全的印制板 方案三:购买李群芳老师的实验单板

购买成熟的DEMO板,学生练习实验和在线编程,学习开发环境和单片机的在线编程、仿真调试等技能。

具体划分为以下几个步骤:

1、 实验程序设计、仿真调试技术

2、 实现接口输入/输出、中断、定时/计数器、实施程序设计。

实现难点:李老师是否愿意技术转让的问题。其中和电信系刘玉老师聊天的时候说Dian团队卖51单板,学生立刻发了邮件给我,也存在技术转让的问题。

基于单片机的交通灯设计

通过本实验使学生建立应用电子产品系统开发思想,掌握可编程主控芯片产品、系统开发的开发原理、开发方法和开发过程。

1、 建立基于单片机控制的交通灯模型,并划分软、硬件功能;

2、 以DVCC598JH++仿真器为基础,设计硬件电路;

4、 软、硬件仿真与调试。

把红、绿、蓝3个发光二极管作为一组,分别用4组发光二极管模拟十字路口交通灯。正常情况下,各道口通、断50s,通、断之间等待10s;特殊情况各道口分别可以一直通断,直到特殊情况解除。

2、软、硬件功能划分:

发光二极管亮、灭显示由硬件电路完成;亮、灭的时间由软件控制。

3、交通灯硬件电路设计:

5、软、硬件仿真与调试:

《单片机原理与应用》实验教案

共8个实验,要求8次上机完成。这8个实验分别为: 实验一 利用软件仿真器调试算术运算程序 实验二 INT0中断实验

实验三 定时器/计数器定时实验 实验四 定时器/计数器计数实验

实验五 定时器/计数器T0扩展外部中断源实验 实验六 串行口扩展实验 实验七 DAC0832数模转换实验 实验八 8155接口芯片使用实验

其中前六个实验为验证性实验,第七个实验为设计性实验。 最后一个为综合性实验。每个实验3学时。

1、实验前认真阅读实验要求,明确实验目的和实验任务。

2、拟订实验步骤,编好上机程序。

共八个实验,每个实验完成后交实验报告,写在实验报

告纸上,报告中应包含以下内容:

1、 实验名称、实验人姓名、学号、班级

2、 实验目的、任务(内容);

(2)要求写出已调试通过的实验程序清单(加适量注 释)

第三章 实验项目及内容

实验一 利用软件仿真器调试算术运算程序 1.目的要求

(1) 熟悉WAVE调试软件的使用。 (2) 熟悉算术运算程序编程和调试的方法。 2.实验内容

(1)有6个数据分别放在片内RAM区50H~55H单元中,试求和,并将结果放在片内RAM区03H(高位),04H(低位)单元中。

(2) 编程将内部RAM70H~7FH中的16个数据按从小到 大的顺序重新排序。

实验二 INT0中断实验 (验证性实验

(1)掌握MCS-51单片机中断原理以及编程使用方法。 (2)理解下降沿中断和低电平中断的区别。

(1)编写主程序,读取开关SW1的状态,当其闭合时初始化为下降沿中断,反之,初始化为低电平中断,且发光管灭;编写中断服务程序,使发光管闪烁5次,间隔250ms,即中断服务程序的执行时间为2.5秒。退出中断程序时,使发光管灭。 (2) 用万用表测量C点的电平,按下TR31秒钟,然后松 开,观察C点电平的变化。

实验板一块、直流稳压电源、编程器一台、万用表一块

实验三 定时器/计数器定时实验 (验证性实验

(1) 掌握MCS-51单片机定时器/计数器定时功能的使用方法。

(2) 了解定时和计数的本质区别和联系。

编写程序,初始化定时器/计数器T0工作在定时方式1,使P1.2输出周期为10秒的方波,即使发光管亮3秒,灭7秒。

实验板一块、直流稳压电源、编程器一台、万用表一块

(1)掌握MCS-51单片机定时器/计数器计数功能的使用方法。

(2)了解定时和计数的本质区别和联系。

编写程序,通过8个发光二极管来显示所计脉冲个数。

实验板一块、直流稳压电源、编程器一台、万用表一块

实验五 定时器/计数器T0扩展外部中断源实验

掌握利用定时器/计数器扩展外部中断源使用的方法。

编写主程序,使发光管灭;编写中断服务程序,当执行中断服务程序时,发光管闪烁5次,间隔500ms,主程序运行后通过按TR3按钮触发中断。

实验板一块、直流稳压电源、编程器一台、万用表一块

实验六 串行口扩展实验 (验证性实验

(1)掌握MCS-51单片机串行口方式0的工作原理。 (2)了解方式0的应用,即通过串行口扩展输出口,进行静态显示的方法。

(3) 掌握串行移位寄存器芯片74LS164的工作原理。

编制程序使数码管循环依次显示00到99,每秒加1。

实验板一块、直流稳压电源、编程器一台、万用表一块

实验七 DAC0832数模转换实验 (设计性实验

(1)掌握DAC0832与MCS51单片机的接口方法。 (2)掌握D/A转换程序的设计方法。

认真复习所学习的DAC0832的工作方式,利用单缓冲

方式使0832输出锯齿波和三角波。并设计使运放LM741输出0-5V和0--5V的波形。如果不用示波器,如何测试你所设计的电路和所编写的程序是否正确。

实验板一块、直流稳压电源、编程器一台、万用表一块 、

D/A转换器的输入为数字量,经转换后输出为模拟量。

DAC0832为一个8位D/A转换器,单电源供电,在+5~+15V范围内均可正常工作。MCS-51单片机与DAC0832的接口有3种连接方式,即直通方式、单缓冲方式及双缓冲方式。所谓单缓冲方式就是使DAC0832的两个输入寄存器中有一个处于直通方式,而另一个处于受控的锁存方式,当然也可使两个寄存器同时选通及锁存。本实验中采用该方式。要求WR1和WR2连接在一起接在89C51的WR端,CS和XFER连接在一起接在片选端,ILE接+5V。

0832可以产生很多波形,如:三角波、锯齿波、梯形波等。 5.设计内容

编制程序使运放LM741输出锯齿波和三角波,具体步骤:断开开关SW1,输出锯齿波;闭和开关SW1,输出三角波。

实验8 8155接口芯片使用实验 (综合性实验

(!)掌握MCS-51单片机系统I/O扩展方法。

(2)掌握并行接口芯片8155的性能以及编程使用方法。 (3)掌握单片机系统动态LED显示和键盘输入程序的设计方法。

编写程序实现下列功能:程序运行后数码显示管显示HHMMSS(000000),即时分秒,按键调整其为正确的时间并继续运行。

该实验综合性较强,建议学生分两步走:第一步完成显示,可以参考实验六;第二步完成键盘扫描。

实验板一块、直流稳压电源、编程器一台、万用表一块

每个实验:预习10%、实验操作60%、实验报告30%。 最后成绩以每次实验课程成绩累加被实验项目个数相除的办法计算。

1、《单片机接口技术开发实验指导书》

北京科技大学C31实验室

2、《8051实验指导书》

第1章概述 1.1设计目的及意义 木设计的主要n的是实现单片机的数据釆集及显示功能,为实现该功能,进 行了有关的硬件电路设计与软件编程设计。硬件电路设计屮,运用protel99,在 己给实验板和实验板原理图的基础上,选择实验板上所爪于本设计的器件,并进 行了设计硬件原理图的设计以及实验的硬件连接。软件编程设计屮,运用keil3 编程环境,对设计要实现的功能进行编程,整体程序可分成一个主程序和多个子 程序,子程序W基于ADC0832的A/D转换程序、基于AT89C52的标度转换程序和基 于74LS164的静态显示程序。通过自己完成设计,让我们对数据釆集有了清晰的 认识,对单片机数据采集及处理数据的原理也有了更深的了解,达到学习与实践 相结合,学以致用的FI的。 1.2设计内容 木设计运用单片机STC89C52进行数据釆集的设计,让电压模拟量(0-5V) 通过模拟量/数字量转换芯片(ADC0832),送入申?片机,进行数据处理之后,通 过移位寄存器(74LS164),静态显示在LED显示数码管上。实验的模拟量数据是 通过一个可调电位器输出0-5V的模拟量,显示是0-100摄氏度的静态显示。 第2章总体方案设计 2.1数据采集系统功能 数据采集系统是结合基于计算机的测量软硬件产品来实现灵活的、用户 自定义的测量系统。数据采集系统通过采集传感器输出的模拟信号并转换成数 字信号,并进行分析、处理、传输、显示、存储和显示。它起始于20卅纪屮期, 在过去的几十年里,随着信息领域各种技术的发展,在数据采集方而的技术也取 得了长足的进步,采集数据的信息化是n前社会的发展主流方A。各种领域都用 到了数据釆集,在石油勘探、科学实验、飞机飞行、地震数据釆集领域已经得到 应用。 数据采集技术是对传感器信号的测量与处理,以微型计算机等高技术为基 础时形成的一门综合应用技术。数据采集也是从一个或多个信号获取对象信息的 过程。随着微型计算机技术的飞速发展和普及,数据采集监测已成为口益重要的 检测技术,广泛应用于工农业等需要同时监控温度、湿度和压力等场合。数据釆 集是工业控制等系统屮的重要环节,通常采用一些功能相对独立的单片机系统来 实现,作为测控系统不可缺少的部分,数据采集的性能特点直接影响到整个系统。 尽管现在以微机为核心的可编程数据采集与处理技术作为数据采集技术的 发展方句得到了迅速的发展,并且适于通用微机使用的板卡级数据采集产品也已 大量出现,组成一个数据釆集系统简单到只需要一块数据采集卡,把它插在微机 的扩展槽内,并辅以应用软件,就能实现数据釆集功能,但这并不会对基于单片机 为核心的数据采集系统产生影响,因为单片机功能强大、抗干扰能力强、可靠性 高、灵活性好、开发容易等优点,使得基于单片机为核心的数据采集系统在许多 领域得到了广泛的应用。 本系统釆用A/D转换器送入模拟信号,而单片机负责处理接受过来的数字量 的处理及显示,主机和板卡之间用RS-232进行通信。这样就可以在计算机上编程 序,然后下载到单片机内进行处理。系统框图如图2. 1所示: 图2. 1系统框图 2.2方案论证 2.2.1单片机的选择 单片机是一种面向大规模的集成电路芯片,是微型计算机中的一 ?个重要的分 支。此系统是由CPU、随即存取数据存储器、只读程序存储器、输入输出电路 (I/O 口),还包括中行通信口、显示驱动电路(LED驱动电路)、脉宽调制电路、 模拟多路转换器及A/D转换器等电路集成到一个单块芯片上,构成了一个最小 但完善的计算机任务。单片机要使用特定的组译和编译软件编译程序,再用 keiluvision2把程序下载到单片机内。 丨flj本设计选爪的是STC89C52。 A/D模数转换器选择 A/D转换器是将模拟量转换为数字量的器件。A/D转换器的种类很多,就位 数来说,可以分为8位、10位、12位和16位等。位数越高其分辨率就越高,价 格也就越贵。A/D转换器型号很多,而其转换时间和转换误差也各不和同。 逐渐逼近式A/D转换器:它是-?种速度快、精度较高、成本较低的直接 式转换器,艽转换吋叫在几微秒到几百微秒之叫。 双积分A/D转换器:它是一种间接式的A/D转换器,优点是抗千扰能力 LED显示器 键盘 MAX232 单片机 采集信号 强,精度比较高,缺点是数度很慢,适用于对转换数度要求不高的系统。 并行式A/D转换器:它乂被称为flash (快速)型,它的转换数度很高, 但她采用了很多个比较器,而II位的转换就需要2n-l个比较器,因此电路规模 也极大,价格也很贵,只适用于视频A/D转换器等数度特别高的领域。 木设计选用的是逐渐逼近式A/D转换器——ADC0832。 2.2.3串行□选择 该申行口选爪了标准RS-232C接口,它是电平与TTL电平转换驱动电路。

  单片机是计算机发展的一个重要分支领域,那单片机实验心得体会怎么写呢?下面小编就和大家分享单片机实验心得体会,来欣赏一下吧。

  单片机实验心得体会(一)

  通过今次单片机实训,使我对单片机的认识有了更深刻的理解。

  系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。

  由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。

  例如:不能实现只用两个按键来控制时钟时间,还不能实现闹钟等扩展功能。

  踉踉跄跄地忙碌了两周,我的时钟程序终于编译成功。

  当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。

  我相信其中的酸甜苦辣最终都会化为甜美的甘泉。

  但在这次实训中同时使我对汇编语言有了更深的认识。

  当我第一次接触汇编语言就感觉很难,特别是今次实训要用到汇编语言,尽管困难重重,可我们还是克服了。

  这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作能力,使我们认识到了团队合作精神的重要性。

  这次实训的经历也会使我终身受益,我感受到这次实训是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。

  希望这次的经历能让我在以后学习中激励我继续进步。

  单片机实验心得体会(二)

  经常在群、论坛里看到有人问:怎么学单片机?也常看到有人说学了好几个月可就是没有什么进展。

  当然,受限于每个人受到的教育水平不同和个人理解能力的差异,学习起来会有快慢之分,但我感觉最重的就是学习方法。

  一个好的学习方法,能让你事半功倍,这里说说我学习单片机的经历和方法。

  05年的时候,因为制作FM发射电路采用了BH1415的芯片,需要用到单片机控制,所以开始接触使用单片机,虽然以前读书时作为一门功课学过,不过也快丢荒了10年了,基本上都忘光了,也算是从头学起了吧。

  我当时是买了一块实验板,很简单的功能,比论坛实验板还要少功能,还有一个仿真器,也是比较简单的,SST芯片的。

  然后开始从大家都知道的流水灯写起,万事开头难,第一个程序基本上就抄人家的,翻查了一份快速入门的学习资料,写下第一个程序。

  然后,在仿真机是单步的看运行结果,从每一步执行,都硬件上反应出来的效果,很快,对单片机的运作有了一个非常感性的认识,这跟只看书然后自己想象运行是完全两码事。

  然后,是进一步的其它程序学习,一个月时间,基本上已经熟悉了51的各种硬件资源。

  把流水灯,数码管动态扫描,中断等等的学习了,然后就是写综合性的程序,也就是我发在论坛里的时钟。

  通过这个程序的编写,使自己的编程水平有了很大的飞跃。

  之后,就是逐步学习编写更多的程序,各种外围器件的控制等等,通过编写程序使自己不断的提高。

  在学过汇编之后,我又转到了C语言学习,因为以前没有学习过C语言,一切都很陌生,所以自己沿用了学习汇编的方法,大约花了3天功夫基本就对C语言有了初步的了解,然后就是尝试写上面所说的时钟,以汇编程序的思路作为参考,以C语言来编写,花了几天功夫完成了这一程序,也实现了从汇编编程为主到C编程为主的转变。

  然后,就是以C语言编写外围器件的控制程序,以此来熟悉C的编程风格,一直到现在,基本上就是C语言编程,汇编已经是作为调试程序的辅助。

  下面我概括了几点我的学习经验和心得体会:

  1、万事开头难、要勇敢迈出第一步。

  开始的时候,不要老是给自己找借口,说KEIL不会建项目啦、没有实验板啦之类的。

  遇到困难要一件件攻克,不会建项目,就先学它,这方面网上教程很多,随便找找看一下,做几次就懂了。

  然后可以参考别的人程序,抄过来也无所谓,写一个最简单的,让它运行起来,先培养一下自己的感觉,知道写程序是怎么一回事,无论写大程序还是小程序,要做的工序不会差多少,总得建个项目,再配置一下项目,然后建个程序,加入项目中,再写代码、编译、生成HEX,刷进单片机中、运行。

  必须熟悉这一套工序。

  个人认为,一块学习板还是必要的,写好程序在上面运行一下看结果,学习效果会好很多,仿真器就看个人需要了。

  单片机是注重理论和实践的,光看书不动手,是学不会的。

  2、知识点用到才学,不用的暂时丢一边。

  厚厚的一本书,看着人头都晕了,学了后面的,前面的估计也快忘光了,所以,最好结合实际程序,用到的时候才去看,不必说非要把书从第一页看起,看完它才来写程序。

  比如你写流水灯,完全就没必要看中断的知识,专心把流水灯学好就是了,这是把整本书化整为零,一小点一小点的啃。

  3、程序不要光看不写,一定要自己写一次。

  最开始的时候,啥都不懂,可以抄人家的程序过来,看看每一句是干什么用的,达到什么目的,运行后有什么后果,看明白了之后,就要自己写一次,你会发现,原来看明白别人的程序很容易,但到自己写的时候却一句也写不出来,这就是差距。

  当你自己能写出来的时候,说明你就真的懂了。

  4、必须学会掌握调试程序的方法。

  不少人写程序,把代码写好了,然后一运行,不是自己想要的结果,就晕了,然后跑到论坛上发个帖子,把程序一贴,问:为什么我的程序不能正常运行?然后就等别人来给自己分析。

  这是一种很不好的行为,应该自己学会发现问题和学会如何解决问题。

  这就需要学习调试程序的方法,比如KEIL里,可以下断点啦,查看寄存器内容等等,这些都是调试程序的手段,当你发现你写的程序运行结果和你想象中不一样的时候,你可以单步,也可以下断点,然后跟踪,查看各相关寄存器内容,看看程序运行过中是不是有什么偏差,找出影响结果的地方,改正过来。

  这一个过程非常重要,通过程序的排错,你可以学到的知识是书上得不到的。

  5、找到解决问题思路比找到代码更重要。

  我们用单片机来控制周边器件,达到我们想到的目的,这是一个题目,而如何写出一个程序,来控制器件按你想要的结果去运作,这个就是解题的思路。

  要写程序,就得先找到解决问题的思路,你学会找出这个解题思路,比你找到代码更为重要。

  不少人很喜欢找人家的代码,有的人甚至有了代码就直接复制到自己的程序中,可以说,这不是一种学习的态度,无助于你编程水平的提高。

  我几乎不怎么看人家的代码,多数时候是看别人的思路,有方框图最好,没有的话文字说明也可以,要从代码中看出别人处理问题的思路,是相当困难的,特别是大型的程序,看起来是非常的累人,所以现在我也明白了,以前读书时说的程序流程图很重要,现在算是知道了。

  当你知道一个问题怎么去解决了,那么剩下的只是你安排代码去完成,这就已经不是什么问题了。

  举个例子:数码管动态扫描,没写过的初学者可能搞不清是怎么回事,其实,就是分时让每一时间段时只控制一只数码管显示数字,几只数码管轮流显示,由于速度很快,人眼的看起来是全部数码管都亮的。

  明白是这么一回事,事情就好办了,剩下的事情,无非是你安排让一只只数码管轮流显示出相应的数值。

  显示数字,然后延时一下,再下一只显示数字,延时,知道是这样,我们实际程序上只要做到这样就可以:往段口送段码,然后打开位选显示一只,延时一下,再关闭位选,再送出段码,再打开另一只位选..仅此而已。

  有了解决问题的思路,我们就能问题拆分开来,然后逐一的解决,如果动态扫描的原理都没懂,不知道如何做,那么这个程序是怎么也写不出来的。

  6、开动脑筋,运用多种方法,不断优化自己的程序。

  想想用各种不同方法来实现同一功能。

  这是一个练习和提高的过程,一个问题,你解决了,那么你再想想,能不能换种写法,也可以实现同一功能,或者说,你写出来的代码,能不能再精简一点,让程序执行效率更高,这个过程,就是一个进步的过程。

  很多知识和经验的获得,并不是直接写在书让你看就可以得到的,需要自己去实践,开动脑筋,经验才能得到积累,编程水平才能有所提高。

  7、看别人的代码,学习人家的思路。

  这个在学习初期是很有用,通过看别人的代码,特别是有多年编程经验的人写出的具有一定水平的代码,可以使自己编程水平得到迅速的提高,同时,也可以结合别人的编程手法,与自己的想法融合在一起,写出更高水平的代码,从中得到进步。

  但要注意,切忌将学习变成抄袭,更不是抄袭完了就认为自己学会了,这样做只会使你退步。

  8、尝试编写一下综合应用的程序。

  从流水灯学起,到动态扫描,再到中断,那么,你可以试试写一下时钟这种综合性应用的程序,不要小看时钟,要写好它不是一件容易的事情,它包括了单片机大部分的知识,比如有按键(IO读取)、动态扫描(IO输出)、中断等,如何协调好各功能模块正常工作,才是编程者需要学习的地方,当你单独写一个功能的时候,比如按键读取,你可能感觉很容易,因为你的程序啥也不做,只是读按键。

  但把它和其它功能混合在一起,如何在整个程序运行中使每一部分都正常工作,这就不是写一个按键读取这么容易的事情,功能模块之间有可能会互相影响,比如你需要让数码管既能显示,又要去处理按键读取,怎么使这两部分都正常工作,这就是一个协调过程。

  当你有了这个处理协调能力,你就算是入门了。

  9、着重于培养解决问题的能力,而不是具体看自己编写了多少代码或者做过什么。

  “学单片机重点在于学习解决问题的思路,而不是局限于具体的芯片类型和语言”这一直是我的座右铭,是我学单片机多年来感悟出来的。

  经常看到有人说“你会驱动XX芯片,真牛啊”“你搞过XX项目,真厉害”之类的话,其实这是非常片面的,搞过XX芯片,搞过XX项目,只能说明你做过这一项目,它只是你的业绩,并不是代表能力就一定高。

  真正的能力应该是:“遇到没有解决过的问题或器件,能利用自己已学的知识,迅速找到解决问题的方法。”

  写程序的过程就是一个创造的过程,几乎没有完全一样的项目,每次你遇上的几乎都不相同,所以你拥有的必须是你面对新项目时的创造能力,而不是标榜着你以往做过多少项目。

  当然,业绩也能从另一侧面反映你的经验和水平。

  10、如果有可能,多学习计算机专业的知识,比如数据结构等。

  这些是你解决问题的基础知识,你把这些知识应用得越好,就会发现越容易找到解决问题的方法,这就是为什么一个学计算机专业的人编的程序和一个非计算机专业的人编的程序有差异的原因。

  也是一个菜鸟进军到高手所要配备的知识。

  如果我们把编程分为宏观编程和微观编程,那么微观编程就是写具体的代码,比如控制某某器件的语句;而宏观编程就是如何对整个程序进行布局、安排,使功能模块以你想要的方式去运行,得出你想要的结果。

  如前所说“会控制XX器件”这些只能算是微观编程,能做到这一步还只能算是菜鸟级别,如果面对一个新的器件,你心里没底,没把握去写这个控制程序,那说明你还是一个初级的菜鸟。

  当你有了一定的编程经验,控制过相当数量的器件之后,你就会发现,控制器件这些工作都是相似的、重复的工作,体现不出编程的水平,最多也是写得好与不好的差别,只能算是一些小技巧的应用。

  而对整个程序进行布局、安排这些才是最头痛的事情,能达到宏观编程和微观编程都做好才是真正的高手。

  对于规模越大的程序,越能体现出这一点。

  11、面对一个新项目时,多自己开动脑筋,不要急于找别人的程序。

  有不少人面对一个新项目时,第一步想到的就是网上找别人写过的代码,然后抄一段,自己再写几句,凑在一起就完成任务,这虽然可能是省时间,但绝对不利你的学习。

  当你接到一个新项目时,应该先自己构思一下整个程序的架构,想想如何来完成,有可能的话,画一个流程图,简单的可以画在脑子里,对程序中用到的数据、变量有一个初步的安排,然后自己动手去写,遇到实在没办法解决的地方,再去请教别人,或看别人是怎么处理的,这样首先起码你自己动过脑想过,自己有自己的思路,如果你一开始就看别人的程序,你的思维就会受限在别人的思维里,自己想再创新就更难了,这样你自己永远也没办法提高,因为你是走在别人的影子里。

  12、多利用网络的搜索,学会提问题。

  一般来说,学习过程中,你遇上的问题,前人们多数也有遇上的,所以如果有什么不懂,在自己解决不了的时候,最好先到网上搜索一下,看能不能找到答案,找不到再到论坛里发问,发问也要有目的性,尽量简单明了的描述问题,让帮助你的人可以用最少的时间就看懂你说什么,毕竟人家帮助你是免费的,时间也是有限的。

  以上就是我学习单片机的经历和心得体会,希望对大家会有帮助,说得有不好或不对的地方欢迎大家批评指正。

  单片机实验心得体会(三)

  时间过得真快,不经意间,一个学期就到了尾声,进入到如火如荼的期末考试阶段。

  在学习单片机这门课程之前,就早早的听各种任课老师和学长学姐们说过这门课程的重要性和学好这门课程的关键~~多做单片机实验。

  这个学期,我们除了在课堂上学习理论知识,还在实验室做了7次实验。将所学知识运用到实践中,在实践中发现问题,强化理论知识。

  现在,单片机课程已经结束,即将开始考试了,需要来好好的反思和回顾总结下了。

  第一次是借点亮LED灯来熟悉keil软件的使用和试验箱上器材。第一次实验体现了一个人对新事物的接受能力和敏感度。虽然之前做过许多种实验。但依旧发现自己存在一个很大的问题,对已懂的东西没耐心听下去,容易开小差;在听老师讲解软件使用时,思路容易停滞,然后就跟不上老师的步骤了,结果需要别人再次指导;对软件的功能没有太大的热情去研究探索,把一个个图标点开,进去看看。所以第一次试验相对失败。鉴于此,我自己在宿舍下载了软件,然后去熟悉它的各个功能,使自己熟练掌握。

  在做实验中,第二个问题应该是准备不充分吧。一开始,由于没有课前准备的意识,每每都是到了实验室才开始编程,完成作业,导致每次时间都有些仓促。后来在老师的批评下,认识到这是个很大的问题:老师提前把任务告诉我们,就是希望我们私下把程序编好。于是我便在上机之前把程序编好,拷到U盘,这样上机时只需调试,解决出现的问题。这样就会节约出时间和同学讨论,换种思路,换种方法,把问题给吃透。发现、提出、分析、解决问题和实践能力是作为我们这个专业的基本素质。

  三是我的依赖性很大,刚开始编程序时喜欢套用书上的语句,却对语句的理解不够。于是当程序出现问题时,不知道如何修改,眼前的程序都是一块一块的被拼凑整合起来的,没法知道哪里错了。但是编程是一件很严肃的事情,容不得半点错误。于是便只能狠下决心,坚持自己编写,即使套用时,也把每条语句弄懂。这也能激发了学习的兴趣。

  还有一次实验是调出电脑里的程序,让它在试验箱上实现其功,让我们去体会别人编程的技巧和程序逻辑美感。看了之后,不得不说我目前的水平简直太小儿科了。还有连线也是个问题,对试验箱内部结构功能的不懂,以至于不知道如何连线让程序实现其功能。这让我意识到单片机是软件和硬件的结合,两者是一个整体。所以必须把硬件方面加强。

  五是基础知识的薄弱,也是最基础的问题吧!在用C语言编程时,才发现自己C语言真的太差劲了,虽然这门课程早就学过,但是就目前所掌握的C语言知识,对于单片机编程远远不够。C语言也是我们以后学各种语言的基础,必须要花大量的时间温习强化。通过这个学期的单片机实验,我发现了自己很多问题,也从中学到了很多。它不是物理实验时,只需要记住老师说的步骤,顺次做完就可以了;并不是matlab实验,只需要你知道一些语句表达,然后在不违背语法的情况下,组合好就可以了;它不是EDA实验,把一节课混下去就行了,反正大家都不知道,都是混,都跟不上老师的节奏思路。他需要我们在掌握硬件的基础上,用单片机语言在keil软件上写出一定的程序,然后利用stcisp烧到试验箱上,实现其特定的功能。而在编程时需要逻辑力,创新力,知识组合力,知识搜索。单片机在电子技术应用领域中,单片机的应用愈来愈多地应用到各行各业。要开发单片机的应用,不但要掌握单片机硬件和软件方面的知识,而且还要深入了解各应用系统的专业知识,融会贯通和有机结合,才能设计出优良的应用系统。并且需要与时俱进,不断了解各公司最新芯片的结构和应用,在实际应用中找到最好的性能价格比。培养自己接受新知识的自学能力,掌握芯片发展动态。培养自己的创新精神,在原有的基础上进行改进,使之功能不断完善。当然,最重要到还是态度,无论做什么事情,足够认真,足够坚强,足够毅力,足够决心,足够勇气,就一定能办到。


单片机实验心得体会范文相关文章:

我要回帖

更多关于 keil集成开发环境的使用实验报告 的文章

 

随机推荐