文档视界 最新最全的文档下载
当前位置:文档视界 › 单片机c语言学习心得

单片机c语言学习心得

单片机c语言学习心得
单片机c语言学习心得

单片机c语言学习心得

(一)

相信很多爱好电子的朋友,对单片机这个词应该都不会陌生了吧。不过有些朋友可能只听说他叫单片机,他的全称是什么也许并不太清楚,更不用说他的英文全称和简称了。单片机是一块在集成电路芯片上集成了一台有一定规模的微型计算机。简称为:单片微型计算机或单片机(Single Chip Computer)。单片机的应用到处可见,应用领域广泛,主要应用在智能仪表、实时控制、通信、家电等方面。不过这一切都没什么关系,因为我(当然也包括任何人)都是从不知道转变成知道的,再转变成精通的。现在我只想把我学习单片机的经历,详细地讲叙给大家听听,可能有些大虾会笑话我,想:那么简单的东西还在这里卖弄。但是你错了,我只是把我个人学习的经历讲述一遍而已,仅仅对那些想学习单片机,但又找不到好方法或者途径的朋友,提供一个帮助,使他们在学习过程中,尽量少走些弯路而已!

首先,你必须有学习单片机的热情,不是说今天去图书馆看了一个下午关于单片机的书,而明天玩上半天,后天就不知道那个本书在讲什么东西了。还是先说说我吧,我从大二的第一个学期期末的时候才开始接触单片机,但在这之前,正如上面所说的:我知道有种芯片叫单片机,但是具体长成什么样子,却一点也不知道!看到这里很多朋友一定会忍不住发笑。嘿嘿,你可千万别笑,有些大四毕业的人也同样不知道单片机长成什么样子呢!而我对单片机的痴迷更是常人所不能想象的地步,大二的期末考试,我全放弃了复习,每当室友拿着书在埋头复习的时候,我却捧着自己从图书馆借的单片机书在那看,虽然有很多不懂,但是我还是坚持了下来,当时我就想过,为了单片机值不值得我这样去付出,或许这也是在一些三流学校的好处吧,考试挂科后,明年开学交上几十元一门的补考费,应该大部分都能过了。于是,我横下一条心,坚持看我的单片机书和资料。

当你明白了单片机是这么一回事的时候,显而易见的问题出来了:我要选择那种语言为单片机编写程序呢?这个问题,困扰了我好久。具体选择C51还是A51呢?汇编在我们大二之前并没有开过课,虽然看着人家的讲解,很容易明白单片机的每一时刻的具体工作情况,但是一合上书或者资料,自己却什么也不知道了,根本不用说自己写程序了。于是,我最终还是决定学C51,毕竟C51和我们课上讲的C语言,有些类似,编程的思想可以说是相通的。而且C51还有更大的优点就是编写大程序时的优越性更不言而喻,当然在那时,我并没有想的那么深远,C51的特点,还是在后来的实践过程中,渐渐体会到的!朋友如果你选择了C51,那么请继续往下看,如果你选择了A51,那么你可以不要看了!因为下面讲的全是C方面的,完全在浪费你的时间! 呵呵 ^_^

第二,既然你想学好单片机,你必须得舍得花钱,如果不买些芯片回来自己动手焊焊拆拆的(但是在后期会介绍给大家一个很好用的硬件仿真软件,并不需要你用实验板和仿真器了,直接在你的PC上完成,但是软件毕竟是软件,从某个特定的意义上来说是并不能代替硬件的),即使你每天捧着本书,把那本书翻烂,也永远学不会单片机的!刚接触单片机的朋友,看了资料,一定会对以下几个词见的比较多,但是具体的概念还是比较模糊,现作如下说明:(1)编程器编程器是用来烧单片机芯片的,是把HEX或者BIN文件烧到单片机ROM里的。

(2)实验板实验板是专为初学者根据某些要求而特做的板,一般上面就有一个单片机的最小系统,使用者只需写好程序,烧好芯片,放到上面加以验证的这么一个工具。有了实验板,对与初学者来说,省去了焊个最小系统的麻烦。但是对于电子开发人员来说,作用并不是很大

(3)仿真器仿真器是直接把HEX或者BIN文件暂时放在一个芯片里,再通过这个芯片的引脚连接到实验板或者系统上工作。这样以来,可以省去了来回插拔芯片带来的不必要麻烦。

我一开始也不知道上面3个的概念和作用,嘿嘿,原本想买个实验板(不想焊板,因为不可能为了点亮几个流水灯,而去焊个单片机的最小系统)的,可是结果,确和我想的正好相反,人家出售的是编程器。等货物寄到后,才知道自己搞错了!汗。。。嘿嘿。现在想想实在是又气又笑。我花了160大样买了个编程器(很不幸的是,这个编程器更本用不了,一烧芯片,芯片就烧坏了)把我给气的,这个编程器,现在还躺在我的抽屉里呢不过,现在想想,唯一让我觉得欣慰的是,那个老板每次能解答我的问题,连那种超级幼稚的问题,他也能不嫌麻烦地尽量帮我解答!这点让我很感动!

第三,想学单片机的必需品--PC。因为写程序,编译或者是仿真都是通过PC完成的。如果没有PC,什么也做不了!!!有了PC最好还要可以上网,因为如果你没有可以和你交流单片机的人,遇到自己解决不了的问题,一直都想不通,那么估计你学习单片机的热情就会随着时间的推移而慢慢耗尽。如果你能上网通过论坛或者QQ群,问题就很快得到解决。这样的学习效率一定很高!真正的高手是从论坛中泡出来的!

有了上述3个条件后,你就可以开始学你的单片机了。但是,真的做起来并没有我所说的那么简单。你一定会遇到很多很多的问题。比如为了让单片机实现某个功能,你可能不知道怎么去写某个程序。或是你看懂了资料上某个相似的程序,你自己却写不出来。遇到类似的情况,记住:千万不要急噪,就行!

(二)

说了这么多了,相信你也看了很多资料了,手头应该也有必备的工具了吧!(不要忘了上面讲过几个条件的哦)。那个单片机究竟有什么功能和作用呢?先不要着急!接下来让我们点亮一个LED(搞电子的应该知道LED是什么吧^_^)

我们在单片机最小系统上接个LED,看我们能否点亮它!对了,上面也有好几次提到过单片机最小系统了,所谓单片机最小系统就是在单片机上接上最少的外围电路元件让单片机工作。一般只须连接晶体、VCC、GND、RST即可,一般情况下,AT89C51的31脚须接高电平。 #include<> 装软件,这个应该不用再讲了吧!

2.安装完后,启动KEIL软件左击Project-->New Project-->输入文件名-->选择我们所以使用的芯片(这里我们一般用到Atmel的AT89C51或AT89C2051,点确定。

3.点File-->New-->输入我们编写的程序,保存为.C文件。(一般情况下,我们保存的文件名和前面的工程名一样。)

4.展开Target 1 -->右击Source Group 1 -->Add Files to Group 'Source Group 1'-->选择刚才保存的.C文件点击ADD后,关闭对话框。这样.C文件就被加到了Source Group 1 下。

5.右击Target 1-->Options for 'Target 1' -->Target中填写晶体的大小,Output 中,在Create HEX Files 前打上钩,点确定。

6.点Project-->Rebuild All Traget Files ,若提示

creating hex file from "XXX"...

"XXX" - 0 Error(s), 0 Waring(s).

表示编译和生成HEX文件成功!接下来的就是把HEX文件烧到单片机中,或是仿真器上,看是否达到预先的目的!

嘿嘿!现在是否自己好有成就感了,如果让你去做个流水彩灯,开发一个简单的产品,只要加上驱动电路,就可以做出漂亮的流动彩灯了!到现在为止,你应该知道单片机的功能有多强大了吧,如果单纯的用数字电路或模拟电路的知识去设计一个流动彩灯,可能要花点工夫和时间才行,有了单片机,那就不一样了,你只要写程序控制他就行!有人说过这样一句话,也并不无道理的,学单片机,程序思想很重要!

(四)

呵呵,朋友!相信你的流水灯也做的不错了吧,现在能玩出几种花样了?你可能会说,

只要你想得到,想怎么流就怎么流!呵呵,是的。但是工程师们设计这么一个单片机,并不是只为了让它做流水灯的,那样也太浪费点了吧 ... ^_^

学过数字电路的朋友,一定动手做过8路或者6路的抢答器。用纯粹的数字电路知识来做,自己设计电路,感到比较困难!抢答器上用的显示器多为7段数码管,这里我们来讲讲,如何用单片机让数码管显示0-8。抢答器的实现,我们放到后面再来探讨,因为抢答器还涉及了键盘的内容。8段数码管分为共阴和共阳两种。8段数码管是由8个LED组成(还包括一个小数点)。若为共阳,则8个LED的阳级是连接在一起的,同理若为共阴,则阴极连接在一起。8个LED对应的标号如下:

a

__

f | | b

|__|

|g | c

e |__| . dp

d

一般情况下,为了计算或取码的方便,我们把a-dp依次接到单片机某个口上的上。x表示0,1,2,3其中的一个。这样我们只要给某个口,赋一个值,则相应的LED段就被点亮,但是在硬件连接上要注意了:单片机可能不能直接驱动LED,所以我们可以通过控制三级管的导通或截止,来控制LED的亮与灭!

如果我们把共阴的数码管的a--dp依次接到单片机的上,注意:P0口需接上拉电阻。何为上拉电阻,简单的说,就是把电平拉高,以提高驱动能力。那么比如:P0 = 0X3F;则显示为数字 0 。因为0X3F 即为2进制的 0011 1111 我们低位往高位数,依次为1111 1100,其I/O的电平分别为高、高、高、高、高、高、低、低,即对应的a--dp 为亮、亮、亮、亮、亮、亮、灭、灭,由上图我们可以看出g和dp段不亮其他段均亮,即为我们所看到的数字 0 字样。其他的数字或字符,也同理可以得到。但是有些朋友就会问,那我们每取一个字模,岂不是很麻烦?还有自己考虑高低电平什么的?^-^ 呵呵,其实网上有很多LED取模软件,如果有一定计算机编程语言的朋友,也可以试着自己写个取模的程序,让计算机为我们计算,诸如上述0X3F的数值。

#include<>

void Delay(unsigned char a)

{

unsigned char i;

while( --a != 0)

{

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

}

}

void main(void)

{

P0 = 0X3F; . .难道错了?

嘿嘿,问你个问题?黑夜里,拿着一支烟,在你面前快速的晃动,你会发现什么样的现象?是不是原本不连续的点变成了一条看上去连续的曲线或者直线!再回过头来,仔细想想我们的数码管!原理是一样的,你可别忘了,我们的单片机可是一个计算机哦,计算机的运算速度,大家可想而知吧!

这里再说说51单片机的机器周期和时钟周期等概念。所谓机器周期就是访问一次存储器

的时间。而1个机器周期包括12个时钟周期。如果单片机工作在12M晶体下,那么一个时钟

周期为:1/12微妙。一个机器周期12*1/12 = 1微妙。如果晶体为6M,时钟周期和机器周期

各是多少呢?在汇编中,我们还要关心,指令执行的机器周期长短不一,有1个周期、2个

周期和4个周期等。

说着说着,跑了这么远了...还是回到原来的话题,如果我们把位选的P2也看作上面的“烟”一划而过,那么我们看到的是不是6个一起亮或一起灭了! ^_^ 哈哈,原来如此... 记住,在任何某一时刻,有且只有一个数码管能发光。如果你能把这句话理解了,你是真明

白我的意思了!朋友,现在给你个任务,让6个数码管分别显示1、2、3、4、5、6。看你自

己可以搞定不?你自己先试着写写看咯...

#include<>

void Delay(unsigned char a)

{

unsigned char i;

while( --a != 0)

{

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

}

}

void main(void)

{

while(1)

{

P0 = 0x06;.怎么一直显示12:00:00,难道是时钟没有启动?还是,另外的

原因呢?哦,原来是3个变量sec,min,hour初始化后,其值一直没有改变!那我们怎么

样才能让他改变数值呢?有的朋友一定会这么认为:让秒个位延时1秒,后加1,而秒十位

延时10秒后,再加1,一直加到6,分个位加1,依次类推...这样的想法是不错,但是朋友

你有没有想过C语言的一般延时(除非你把他放到中断里)极不精确!这样累计下来,一天

24小时的误差,肯定很大很大,我曾经也用延时的方法写过时钟,1个小时误差8秒,那是

个什么概念!一天24小时就要24*8=192,约为3分钟,一个月就是10分钟...有没有其他

的方法可以改进些呢?有!这里就要涉及到单片机中另一个比较重要的核心部分:单片机的

中断和定时器的运用!想写出比较精确(这里说的只的相对前面的做法而言比较精确而已,

如果要做更加精确的时钟,用时钟芯片比较好点,常用的有DS12887和DS1302等)的时钟程

序,就一定要调用中断和定时器。还是大家先看看教材和书吧,毕竟人家出的书,肯定比我

要写的系统多了,下面我们再来简单的讲讲!

(六)

什么是中断呢?讲个比较通俗的例子:比如你正在家中看电视,突然电话响了,你的第

一反应是什么?是不是先跑过去接电话!接完电话后,继续看电视。这就是个中断的例子,

中断是由电话引起了,你跑过去就是响应中断,接电话就是中断的处理!接完电话后,接续

看电视,即恢复中断,等待下个中断的到来!

但是这个好象和单片机没什么联系呀?有的朋友或许会这样疑问。是的。单片机当然不

会看电视了,也不会接电话了! ^_^ 但是,类比一下:比如单片机正在执行某个任务,

突然要有更重要的事件,要求单片机响应,单片机就会应答响应,去执行更为重要的任务(中

断处理),原来的任务就继续等待(现场的保护)。执行完更重要的任务后,回到中断的入口

处,继续执行原来的任务(现场中断的恢复)。51系列的单片机共有5个中断源,分别为:外中断0 、定时器T0中断、外中断1、定时器T1中断、串口中断。

或许,有些朋友已经大概领会了其中的意思,有些朋友还迷迷糊糊。不过不要紧,我们继续往下看,下面我们来讲讲单片机的定时器是什么?如何工作的?定时器,大家从字面上就可以看出其大概的意思吧?简单的说:就是起定时作用!也就是让单片机计数。定时器分为:方式0方式1、方式2和方式3等4种工作方式。有些朋友一定会问:定时器如何启动?风扇的定时器,相信大家一定都用过吧!但是单片机的定时器,该如何启动呢?总不该也用手一拧定时器吧! ^_^ 当然不是,我们只要给单片机一些指令,就可以启动定时器了!下面我们就定时器0,来说说怎么启动定时器0。

TMOD = 0X01;字

/******************************************************************************* **************/

void Delay(unsigned char a)扫描法相同,把列线置低电平,行置高,读行状态

2.与1相反,把行置低,列置高,读列状态

3.若有键按下,则为2次所读状态的结果即为键所在的位置,这样2次输出和2次读入可以完成键的识别!!!

子函数如下:

unsigned char key_vscan(void)

{

unsigned char row, col;

P1 = 0xF0;

row = P1&0xF0;

row = row&0xF0;

P1 = 0x0F;

col = P1&0x0F;

col = col&0x0F;

return(key_val(row|col));

}

下面我们再来介绍介绍一键多能的程序,即按下一个键,可以执行不同的命令!

void main (void)

{

unsigned char b = 0;

while( 1 )

{

if(P1_0 == 0)

{

Delay(10);

if(P1_0 == 0)

{

b++;

if( b == N )............add your code here!

}

}

}

(八).add your code here.

}

}

进入第1个if判断语句后,就进入了Delay(10);再看Delay函数,完全让CPU执行(;空语句),所以在做大的产品或者代码时,这个是非常耗费单片机内部资源的。有什么办法吗?呵呵,那是肯定的。

解决方法大致有如下2种:

1.将延时函数放在中断中,在中断里查询延时的标志位。/*不仅仅用于键盘识别,亦可以用于其他的延时代码,见EX1*/

2.直接在中断中查询按键的标志位..add your other code here

}

Delay函数具体延时多长时间,就要看你设定的T0定时器中断和Delaytime的乘积,比如你的定时器中断为50MS,Delaytime为20的话,那么50MS*20=1S。

EX2:

#define Press_key = P2 ^ 7;.add your other code here.

}

old_value = new_value;

}

void Timer0_interrupt(void) interrupt 1 using 2

{

P_key();

.add your other code

}

当然在实际过程当中,并不是如此简单简洁的,还希望大家能够举一反三哦... ^_^。(九)

写了这么多了,大家也看了这么多了,感觉怎么样?大家也觉得不难吧。其实51也就那么简单,真的很希望大家看完这篇文字以后,很自信的说,51单片机也已经入门。这是对我写怎么多文字最好的回答。时隔13个月之久再来继续写这些东西,没有以前的激情和热情,所以就草草了事结尾,希望大家不要在背地里骂我哦,^_^。当然以上讲的只是最简单的一些东西,单片机的功能非常之强大,只要你能想得到,就一定可以用单片机来实现的。当然单片机和外部其他的芯片还有很多,比如数字温度传感器DS18B20,实时时钟芯片DS1302,还有比如访问AT24CXX的EEPROM存储器等,更多的电路,还要靠大家在平时的学习过程当中,慢慢掌握。

单片机实训报告

单片机原理及应用 实训报告 班级: 学号: 姓名: 指导教师: 实训总成绩:

一、节日彩灯设计 题目:8位逻辑电平模块上的LED小灯从左向右呈现“鞭甩”的实验现象,状态间隔为0.25秒;按键1开始,按键2结束。 原理图 程序代码: #include #define uchar unsigned char uchar tab[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00}; sbit S1=P1^4; sbit S2=P1^7; unsigned char i,j; delay(unsigned int x) { for(j=0;j

for(i=0;i<10;i++); } void main() { uchar i,b,d; while(1) {if (S1==0) {delay(50); if(S1==0); S1=b; b=0; {for(i=0;i<8;i++) { P2=tab[i]; delay(50); {if (S2==0) {delay(50); if(S2==0); S1=d; d=1; P2=0xff; }} } } } } } 设计思想总结 用C语言程序控制单片机最小系统,使IO口输出高低电平控制彩灯电路的闪烁。节日彩灯控制器是利用将单片机的CPU、RAM、ROM、定时器/计数器及输入/输出、I/O接口电路集成在一块集成电路芯片上的特点。通过其与发光二极

管及驱动电路的连接,从而构成一个完整的硬件电路。然后通过对单片机的ROM 进行编程,实现对彩灯闪烁的控制。 二、定时器实现流水灯 题目:利用定时器/计数器T0产生2秒钟的定时,每当2秒定时到来时,更换指示灯点亮,依次循环点亮。 原理图 程序代码 #include #include int lamp = 0xfe ; int cnt = 0; main() {P2 = 0xfe; TMOD = 0x01; TL0 = (65536 - 50000) % 256; TH0 = (65536 - 50000) / 256; TR0 = 1 ; ET0 = 1;

单片机实训的心得体会

单片机实训报告 一周的实训,让我们从另一个角度去发现单片机。期间我学会了很多宝贵的知识和经验,在这次单片机实训中我们巩固了我们平时所学的内容;加深了对各种调试和仿真软件的使用技能;掌握了单片机应用电路的设计和调试方法。 首先,我们要从所给定的元器件中设计出6个不同的电路,并编写程序实现相关任务要求。我们小组设计出的电路主有: (1)数码管轮流显示百十个位的数。要求:数据来源于拨码开关;个位显示完毕停留的时间稍微长些。 (2)定时计数器实现对外部脉冲计数5次后,流水灯的状态由亮点左流动转化成闪烁5次,然后回到初始状态。 (3)单键改变流水灯状态。按键一旦按下,流水灯状态由暗点右流动转化成闪烁8次,然后回到初始状态。 (4)双键改变流水灯状态。按键K0(连接INT0)按下,流水灯状态由亮点左流动,转化成闪烁5次,然后回到初始状态;按键K1(连接INT1)按下,流水灯状态由亮点左流动,转化成暗点右流动至最右端,然后回到初始状态;并且按键K1级别高于K0。 (5)串口输出数据,实现在2个数码管上显示60秒计数器。 (6)在集成的8位数码管上动态显示出:1——8的效果。

其次,我们要对我们所设计的电路进行电路布局、连线,检查电路是否出现错误或者遗漏。 然后,学会用KEIL软件调试程序,并用该软件菜单的各项调试工具和窗口。再结合硬件和软件,进行整体调试。 最后,当我们根据相关要求从所给定的元器件中设计出6个不同的电路、编写程序、线路布局,调试成功,我们的设计就完成了。 在这实训期间我深刻的认识到了理论知识和实践操作必须是相结合的,也许在实训时会有很多各种软、硬件等故障。 在编程时我们就出现了很大的障碍, 本来还以为编程会很简单的,等到实际操作起来才知道它的复杂性,没有想像中的那么得心应手, 最后不得不求出其他小组,原来本身程序的思维是正确的,只是步骤中有点小错误,所以导致整个程序的结果很乱。 我们在做双键改变流水灯状态的电路时又发现了一个头痛的问题,发光二极管不亮、开关不管用,刚开始的时候,我们检查了好几遍就是没有发现问题,快要失去耐心是发现少两连接了两根线,这是个好现象让我们有了继续往下的勇气,终于在反复的检查研究中,我们发现发光二极管不亮的正负方向反了,开关接错了位置,这才导致连接线路期间的错误不断。结果是可喜的,在我们小组竭尽全力,同学老师的帮忙下,我们的电路很成功。

单片机实训报告范文精选5篇

单片机实训报告范文精选5篇 实训报告是展示自身实训收获成长的重要报告,那么实训报告该如何写呢?小编精选了一些关于实训报告的优秀范例,一起来看看吧。 单片机课程设计心得体会 在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我了解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有手机中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。通过在单片机小组里的学习我简单总结了几点心得和体会: 第一:万事开头难,要勇敢的迈出第一步,不要总找借口说没有学习过就总推脱。凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。可以从建项目开始,然后可以找一个简单的小程序先把它敲进单片机内然他运行起来,感觉一下单片机的运行,让自己了解单片机整个运行。 第二:对于知识点,学过的要掌握牢固,对于没有学的和暂时用不到的先不用学习。比如:小灯得点亮就没有用到中断可以先不用看。这样可以避免知识过多记不住的麻烦。对于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进行学习这样才能掌握的很牢靠,当用到哪里的知识点不记得了可以去看书,对于用不到的可以不去看。 第三:程序不要只是看别人得,一定要自己写过才是自己的。开始

不懂可以参考别人的,看看每一句代表着什么意思,能够实现什么现象。明白之后自己再重新写一遍,你会发现看别人的能懂到自己写的时候很困难。当你自己能写出来的时候说明你真懂了。 第四:一定要学会程序调试的方法。有时候把程序写完了然后运行时不能实现理想的现象。这时有人就晕了不知该怎么办,然后就去问别人。当别人找出问题出在哪里时就会恍然大悟。其实当遇到问题一定要自己尝试着解决,不能遇到问题就去问别人。自己一定要掌握解决问的方法和思路。 第五:在学习初期看别人的代码,学习别人的思路这个很有用。通过看别人的代码特别是有多年编程经验的人的程序,可以迅速提高自己的编程水平。也可以结合着别人的手法,与自己的想法结合在一起写出更好的程序。但是切记将学习变成抄袭,不能认为抄袭别人的你就学会了,这样只能使你退步。第六:面对一个新项目时,自己一定要多想想,不要急着去看别人是怎么写的。有的人看到新项目时就去找别人的然后抄一小段,自己在写几句,放在一起完成任务,虽然省时间但不利你的学习。当你遇到一新项目时你应该先想一下程序的构架,想想如何来完成。然后自己动手去写,当你遇到实在是没办法解决的问题时再去请教别人,看他是怎么处理的,学习他的方法。这样起码你自己想过了,有自己的思路不会受到别人的影响,这样更容易提高自己。 在单片机的学习开始时感觉很吃力,在不断的学习过程中慢慢的对

单片机实验报告

院系:计算机科学学院专业:智能科学与技术年级: 2012 学号:2012213865 姓名:冉靖 指导教师:王文涛 2014年 6月1日

一. 以下是端口的各个寄存器的使用方式: 1.方向寄存器:PxDIR:Bit=1,输出模式;Bit=0,输入模式。 2.输入寄存器:PxIN,Bit=1,输入高电平;Bit=0,输入低电平。 3.输出寄存器:PxOUT,Bit=1,输出高电平;Bit=0,输出低电平。 4.上下拉电阻使能寄存器:PxREN,Bit=1,使能;Bit=0,禁用。 5.功能选择寄存器:PxSEL,Bit=0,选择为I/O端口;Bit=1,选择为外设功能。6.驱动强度寄存器:PxDS,Bit=0,低驱动强度;Bit=1,高驱动强度。 7.中断使能寄存器:PxIE,Bit=1,允许中断;Bit=0,禁止中断。 8.中断触发沿寄存器:PxIES,Bit=1,下降沿置位,Bit=0:上升沿置位。 9.中断标志寄存器:PxIFG,Bit=0:没有中断请求;Bit=1:有中断请求。 二.实验相关电路图: 1 MSP430F6638 P4 口功能框图: 主板上右下角S1~S5按键与MSP430F6638 P4.0~P4.4口连接: 2按键模块原理图: 我们需要设置两个相关的寄存器:P4OUT和P4DIR。其中P4DIR为方向寄存器,P4OUT 为数据输出寄存器。 主板上右下角LED1~LED5指示灯与MSP430F6638 P4.5~P4.7、P5.7、P8.0连接:

3 LED指示灯模块原理图: P4IN和P4OUT分别是输入数据和输出数据寄存器,PDIR为方向寄存器,P4REN 为使能寄存器: #define P4IN (PBIN_H) /* Port 4 Input */ #define P4OUT (PBOUT_H) /* Port 4 Output */ #define P4DIR(PBDIR_H) /* Port 4 Direction */ #define P4REN (PBREN_H) /* Port 4 Resistor Enable */ 三实验分析 1 编程思路: 关闭看门狗定时器后,对P4.0 的输出方式、输出模式和使能方式初始化,然后进行查询判断,最后对P4.0 的电平高低分别作处理来控制LED 灯。 程序流程图: 2 关键代码分析: #include void main(void) { WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗 P4DIR |= BIT5; // 设置4.5口为输出模式 P4OUT |= BIT0; // 选中P4.0为输出方式 P4REN |= BIT0; // P4.0使能 while (1) // Test P1.4 { if (P4IN & BIT0) //如果P4.0为1则执行,这是查询方式按下去后是低,否则为高

51单片机实验报告94890

《单片机与接口技术》实验报告 信息工程学院 2016年9月

辽东学院信息技术学院 《单片机与接口技术》实验报告 姓名:王瑛 学号: 0913140319 班级: B1403 专业:网络工程 层次:本科 2016年9月

目录 实验题目:实验环境的初识、使用及调试方法(第一章) 实验题目:单片机工程初步实验(第二章) 实验题目:基本指令实验(第三章)4 实验题目:定时器/计数器实验(第五章)4 实验题目:中断实验(第六章)4 实验题目:输入接口实验(第八章)4 实验题目:I/O口扩展实验(第九章)4 实验题目:串行通信实验(第十一章)4 实验题目:A/D,D/A转换实验(第十七章)4

实验题目:实验环境的初识、使用及调试方法实验 实验类型:验证性实验课时: 1 时间:2016年10月24日 一、实验内容和要求 了解单片机的基础知识 了解51单片机的组成和工作方法 掌握项目工程的建立、编辑、编译和下载的过程方法 熟练单片机开发调试工具和方法 二、实验结果及分析 单片机最小系统的构成: Keil集成开发环境:

STC-ISP:

实验题目:单片机工程初步实验 实验类型:验证性实验课时: 1 时间:2016 年10 月24 日一、实验内容和要求 点亮一个LED小灯 程序下载到单片机中 二、实验结果及分析 1、点亮一个LED小灯 点亮LED小灯的程序: #include //包含特殊功能寄存器定义的头文件 sbit LED = P0^0; sbit ADDR0 = P1^0; //sbit必须小写,P必须大写 sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLED = P1^4; void main() { ENLED = 0; ADDR3 = 1; ADDR2 = 1; ADDR1 = 1; ADDR0 = 0; LED = 0; //点亮小灯 while (1); //程序停止 } 2、程序下载 首先,我们要把硬件连接好,把板子插到我们的电脑上,打开设备管理器查看所使用的COM 口,如图所示:

单片机实训心得

沧州职业技术学院单片机实训报告 心得体会 为期一周的单片机实训结束了,真是让我受益匪浅啊!学到了很多东西,不管怎么样,先感谢学校给我的这么多机会,真正的学到了东西。 随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,我们就学习了单片机这门课程,感觉是有点难。也不知道整个学习过程是怎么过来得,可是时间不等人。不过在学习中,我才发现学习单片机不仅仅需要软件的知识,还需要硬件的知识。我买了一个单片机在实践中就是一个活生生的例子,没有相应的硬件知识,我连单片机怎么和电脑相连都不知道,我为我当初的想法感到羞愧。单片机是一门很好的学问,需要我去钻研它。 不过在学习中,我才发现学习单片机不仅仅需要软件的知识,还需要硬件的知识。我买了一个单片机在实践中就是一个活生生的例子,没有相应的硬件知识,我连单片机怎么和电脑相连都不知道,我为我当初的想法感到羞愧。单片机是一门很好的学问,需要我去钻研它。 时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机综合课程设计也在一周内完成了。俗话说“好的开始是成功的一半”。说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。 在全组人竭尽全力,老师的精心指导下,程序基本编写成功,这是我们共同努力的结果,在享受我们成果之时,不得不感慨单片机的重要性与高难度性,所以为期一周的单片机课程设计没有浪费我我们学到了很多知识,也让我们对单片机有了更深一步的了解,虽然最后结果是出来了,可这与老师的精心指导是分不开的她引导我们的思路,本来一窍不通的我们经过老师的点拨基本上通了,所以老师是功不可没的。 总而言之,单片机课程设计对于我们有很大的帮助,我们从中受益匪浅。

单片机实训心得体会

单片机实训心得体会 篇一: 通过今次单片机实训,使我对单片机的认识有了更深刻的理解。系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。 由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。例如:不能实现只用两个按键来控制时钟时间,还不能实现闹钟等扩展功能。 踉踉跄跄地忙碌了两周,我的时钟程序终于编译成功。当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最终都会化为甜美的甘泉。 但在这次实训中同时使我对汇编语言有了更深的认识。当我第一次接触汇编语言就感觉很难,特别是今次实训要用到汇编语言,尽管困难重重,可我们还是克服了。这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作能力,使我们认识到了团队合作精神的重要性。 这次实训的经历也会使我终身受益,我感受到这次实训是要真真正正用心去做的一件事情,是真正的自己学习的过

程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。希望这次的经历能让我在以后学习中激励我继续进步。 篇二:单片机实验心得 通过这次单片机实习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。 作为一名自动化专业的快大三学生,我觉得做单片机实习是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力,如何把我们所学的专业基础课理论知识运用到实践中去,我想做类似实习就为我们提供了良好的实践平台 学习单片机没有捷径,不能指望两三天就学会,要坚持不懈,重在积累单片机是一门应用性和实践性很强的学科,要多动手,多做实验。 (4)要学会参考别人的程序,减少自己琢磨的时间,迅速提高自己的编程能力。 (5)碰到问题可以借助网络来搜寻答案和对自己有帮助的问题,一定会有所收获。

51单片机实训报告

“51单片机”精简开发板的组装及调试实训报告

为期一周的单片机实习已经结束了。通过此次实训,让我们掌握了单片机基本原理的基础、单片机的编程知识以及初步掌握单片机应用系统开发实用技术,了解“51”单片机精简开发板的焊接方法。同时培养我们理论与实践相结合的能力,提高分析问题和解决问题的能力,增强学生独立工作能力;培养了我们团结合作、共同探讨、共同前进的精神与严谨的科学作风。 此次实训主要有以下几个方面: 一、实训目的 1.了解“51”精简开发板的工作原理及其结构。 2.了解复杂电子产品生产制造的全过程。 3.熟练掌握电子元器件的焊接方法及技巧,训练动手能力,培养工程实践概念。4.能运用51单片机进行简单的单片机应用系统的硬件设计。 5.掌握单片机应用系统的硬件、软件调试方法 二、实验原理 流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的硬件组成的单个单片机。 它的电气性能指标:输入电压:DC4.5~6V,典型值为5V。可用干电池组供电,也可用直流稳压电源供电。 如图所示: 本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的硬件组成的单个单片机。 三、硬件组成 1、晶振电路部分 单片机系统正常工作的保证,如果振荡器不起振,系统将会不能工作;假如振荡器运行不规律,系统执行程序的时候就会出现时间上的误差,这在通信中会体现的很明显:电路将无法通信。他是由一个晶振和两个瓷片电容组成的,x1和x2分别接单片机的x1和x2,晶振的瓷片电容是没有正负的,注意两个瓷片电容相连的那端一定要接地。 2、复位端、复位电路 给单片机一个复位信号(一个一定时间的低电平)使程序从头开始执行;一般有两中复位方式:上电复位,在系统一上电时利用电容两端电压不能突变的原理给系统一个短时的低电平;手动复位,同过按钮接通低电平给系统复位,时如果手按着一直不放,系统将一直复位,不能正常。当要对晶体重置时,只要对此引脚电平提升至高电平并保持两个及其周期以上的时间便能完成系统重置的各

大学课程实验心得体会集锦

大学课程实验心得体会集锦 实验心得体会 在做测试技术的实验前,我以为不会难做,就像以前做物理实验一样,做完实验,然后两下子就将实验报告做完.直到做完测试实验时,我才知道其实并不容易做,但学到的知识与难度成正比,使我受益匪浅. 在做实验前,一定要将课本上的知识吃透,因为这是做实验的基础,否则,在老师讲解时就会听不懂,这将使你在做实验时的难度加大,浪费做实验的宝贵时间.比如做应变片的实验,你要清楚电桥的各种接法,如果你不清楚,在做实验时才去摸索,这将使你极大地浪费时间,使你事倍功半.做实验时,一定要亲力亲为,务必要将每个步骤,每个细节弄清楚,弄明白,实验后,还要复习,思考,这样,你的印象才深刻,记得才牢固,否则,过后不久你就会忘得一干二净,这还不如不做.做实验时,老师还会根据自己的亲身体会,将一些课本上没有的知识教给我们,拓宽我们的眼界,使我们认识到这门课程在生活中的应用是那么的广泛. 通过这次测试技术的实验,使我学到了不少实用的知识,更重要的是,做实验的过程,思考问题的方法,这与做其他的实验是通用的,真正使我们受益匪浅. 实验心得体会 这个学期我们学习了测试技术这门课程,它是一门综合应用相关课程的知识和内容来解决科研、生产、国防建设乃至人类生活所面临的测试问题的课程。测试技术是测量和实验的技术,涉及到测试方法的分类和选择,传感器的选择、标定、安装及信号获取,信号调理、变换、信号分析和特征识别、诊断等,涉及到测试系统静动态性能、测试动力学方面的考虑和自动化程度的提高,涉及到计算

机技术基础和基于LabVIEW的虚拟测试技术的运用等。 课程知识的实用性很强,因此实验就显得非常重要,我们做了金属箔式应变片:单臂、半桥、全桥比较,回转机构振动测量及谱分析,悬臂梁一阶固有频率及阻尼系数测试三个实验。刚开始做实验的时候,由于自己的理论知识基础不好,在实验过程遇到了许多的难题,也使我感到理论知识的重要性。但是我并没有气垒,在实验中发现问题,自己看书,独立思考,最终解决问题,从而也就加深我对课本理论知识的理解,达到了“双赢”的效果。 实验中我学会了单臂单桥、半桥、全桥的性能的验证;用振动测试的方法,识别一小阻尼结构的(悬臂梁)一阶固有频率和阻尼系数;掌握压电加速度传感器的性能与使用方法;了解并掌握机械振动信号测量的基本方法;掌握测试信号的频率域分析方法;还有了解虚拟仪器的使用方法等等。实验过程中培养了我在实践中研究问题,分析问题和解决问题的能力以及培养了良好的工程素质和科学道德,例如团队精神、交流能力、独立思考、测试前沿信息的捕获能力等;提高了自己动手能力,培养理论联系实际的作风,增强创新意识。 实验体会 这次的实验一共做了三个,包括:金属箔式应变片:单臂、半桥、全桥比较;回转机构振动测量及谱分析;悬臂梁一阶固有频率及阻尼系数测试。各有特点。 通过这次实验,我大开眼界,因为这次实验特别是回转机构振动测量及谱分析和悬臂梁一阶固有频率及阻尼系数测试,需要用软件编程,并且用电脑显示输出。可以说是半自动化。因此在实验过程中我受易非浅:它让我深刻体会到实验前的理论知识准备,也就是要事前了解将要做的实验的有关质料,如:实验要求,实验内容,实验步骤,最重要的是要记录什么数据和怎样做数据处理,等等。虽然做实验时,指导老师会讲解一下实验步骤和怎样记录数据,但是如果自己没有一些基础知识,那时是很难作得下去的,惟有胡乱按老师指使做,其实自己也不知道做什么。

工作报告之大学单片机实验报告

大学单片机实验报告 【篇一:单片机实验报告】 单片机实验报告 姓名:班级:学号:任课教师:上课地点: 实验一流水灯实验 一、实验目的及要求 1、闪烁的led; 2、从左到右的流水灯; 3、8只led左右来回点亮; 4、led模拟交通灯。 要求1:led按设定的时间间隔闪烁 要求2:接在p0口的8个led从左到右循环依次点亮,产生走马灯效果要求3:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果; 二、实验原理电路图1、 电路图2、 三、源程序 要求1: #includereg51.h #define uchar unsigned char #define uint unsigned int sbit led=p1^0; //延时 void delayms(uint x) { uchar i; while(x--) {for(i=0;i120;i++); } } //主程序 void main() { while(1) {led=~led;delayms(150); } } 要求2: #include reg51.h #include intrins.h //包含程序中的_cror_(p0,y) #define uchar unsigned char #define uint unsigned int uchar led; void delay(unsigned int i) { uint j; uchar k; for(j=i;j0;j-- )for(k=125;k0;k--); } void main() { led=0x7f;//只亮第一个 delay(1000); while(1) { p0=led; delay(500); led=_cror_(led,1);//p0逐步右移一位。} } 要求3: #include reg51.h

单片机实验心得体会3篇

单片机实验心得体会一:单片机实验心得体会 时间过得真快,不经意间,一个学期就到了尾声,进入到如火如荼的期末考试阶段。 在学习单片机这门课程之前,就早早的听各种任课老师和学长学姐们说过这门课程的重要性和学好这门课程的关键~~多做单片机实验。 这个学期,我们除了在课堂上学习理论知识,还在实验室做了7次实验。将所学知识运用到实践中,在实践中发现问题,强化理论知识。 现在,单片机课程已经结束,即将开始考试了,需要来好好的反思和回顾总结下了。 第一次是借点亮led灯来熟悉keil软件的使用和试验箱上器材。第一次实验体现了一个人对新事物的接受能力和敏感度。虽然之前做过许多种实验。但依旧发现自己存在一个很大的问题,对已懂的东西没耐心听下去,容易开小差;在听老师讲解软件使用时,思路容易停滞,然后就跟不上老师的步骤了,结果需要别人再次指导;对软件的功能没有太大的热情去研究探索,把一个个图标点开,进去看看。所以第一次试验相对失败。鉴于此,我自己在宿舍下载了软件,然后去熟悉它的各个功能,使自己熟练掌握。 在做实验中,第二个问题应该是准备不充分吧。一开始,由于没有课前准备的意识,每每都是到了实验室才开始编程,完成作业,导致每次时间都有些仓促。后来在老师的批评下,认识到这是个很大的问题:老师提前把任务告诉我们,就是希望我们私下把程序编好。于是我便在上机之前把程序编好,拷到u盘,这样上机时只需调试,解决出现的问题。这样就会节约出时间和同学讨论,换种思路,换种方法,把问题给吃透。发现、提出、分析、解决问题和实践能力是作为我们这个专业的基本素质。 三是我的依赖性很大,刚开始编程序时喜欢套用书上的语句,却对语句的理解不够。于是当程序出现问题时,不知道如何修改,眼前的程序都是一块一块的被拼凑整合起来的,没法知道哪里错了。但是编程是一件很严肃的事情,容不得半点错误。于是便只能狠下决心,坚持自己编写,即使套用时,也把每条语句弄懂。这也能激发了学习的兴趣。 还有一次实验是调出电脑里的程序,让它在试验箱上实现其功,让我们去体会别人编程的技巧和程序逻辑美感。看了之后,不得不说我目前的水平简直太小儿科了。还有连线也是个问题,

单片机实验报告

实 验 报 告 实验课程:单片机原理及应用 班级: 12自动化2班 学号: 姓名: 教师:张玲 成绩: 实验日期:年月日 实验名称:实验1——计数显示器 一、实验目的: 学习Proteus 软件的使用,掌握单片机原理图的绘图方法。 二、实验内容: 1、绘制“计数显示器”电路原理图; 2、利用提供的hex文件验证此电路的运行效果。 三、实验要求: 提交的实验报告中应包括:1、绘图方法简述,要求说明元件与电源的选取、摆放及属性编辑,总线与标签的画法等内容;2、电路原理图; 3、仿真运行效果展示,要求就仿真文件加载方法及3~4幅运行截图进行简要说明;4、实验小结,说明遇到的主要问题或实验

1体会等。 参考电路原理图如下: 元件类别电路符号元件名称 Microproces sor ICs “U1”80C51 Miscellaneo us “X1”/12MHz CRYSTAL Capacitors“C1”~“C2” /1nF CAP Capacitors“C3”/22μF CAP-ELEC Resistors Packs “RP1”/7-100ΩRESPACK-7 Resistors“R1”/100ΩRES Optoelectro nics “LED1”~ “LED2” 7SEG-COM-CAT-G RN Switches & Relays “BUT”BUTTON 1、编程思路及C51源程序:

2、电路原理图: 3、仿真运行效果展示:

4、实验小结: 熟悉Proteus软件,了解软件的结构组成与功能;学习ISIS模块的使用方法, 学会设置图纸、选元件、线画总线、修改属性等基本操作;学会可执行文件 加载及程序仿法;理解Proteus在单片机开发中的作用,完成单片机电路原 理图的绘制。

【心得体会范文】参观实验室心得体会精选

参观实验室心得体会精选 透过这次实验,我大开眼界,正因这次实验个性是回转机构振动 测量及谱分析和悬臂梁一阶固有频率及阻尼系数测试,需要用软件编程,并且用电脑显示输出。能够说是半自动化。因此在实验过程中我 受易非浅:它让我深刻体会到实验前的理论知识准备,也就是要事前 了解将要做的实验的有关质料,如:实验要求,实验资料,实验步骤,最重要的是要记录什么数据和怎样做数据处理,等等。虽然做实验时,指导老师会讲解一下实验步骤和怎样记录数据,但是如果自己没有一 些基础知识,那时是很难作得下去的,惟有胡乱按老师指使做,其实 自己也不知道做什么。 在这次实验中,我学到很多东西,加强了我的动手潜质,并且培 养了我的独立思考潜质。个性是在做实验报告时,正因在做数据处理 时出现很多问题,如果不解决的话,将会很难的继续下去。例如:数 据处理时,遇到要进行数据获取,这就要求懂得labview软件一些基 本操作;还有画图时,也要用软件画图,这也要求懂得excel软件的插 入图表命令。并且在做回转机构振动测量及谱分析实验,获取数据时,注意读取波形要改变采样频率,等等。当然不只学到了这些,那里我 就不多说了。 还有动手这次实验,使测试技术这门课的一些理论知识与实践相 结合,更加深刻了我对测试技术这门课的认识,巩固了我的理论知识。 但是这次实验虽好,但是我认为它安排的时刻不是很好,还有测 试技术考试时刻,正因这些时刻安排与我们的课程设计时刻有冲突, 使我不能专心于任一项,结果不能保证每一个项目质量,因此如果有 什么出错请指出! 参观实验室心得体会【2】 高校实验室是培养高层次人才和开展科学研究的重要基地。在西 方发达国家,学校对培养学生的动手能力是十分重视的,这一问题近 年来也越来越受到我国教育界人士的广泛重视。为了提高学生的动手 能力,让学生做相关实训并完成单片机实验报告,在实验的形式上注

哈尔滨工业大学单片机实验报告

H a r b i n I n s t i t u t e o f T e c h n o l o g y 单片机原理与应用 实验报告 学生姓名: 学号: 班级: 通信工程 专业: 任课教师: 所在单位: 电子与信息工程学院 月5年2013. 软件实验 在软件实验部分,通过实验程序的调试,使学生熟悉MCS-51的指令系统,了解程序设计过程,掌握汇编语言设计方法以及如何使用实验系统提供的调试手段来排除程序错误。 实验一清零程序 一、实验目的 掌握汇编语言设计和调试方法,熟悉键盘操作。 二、实验内容 把2000~20FFh的内容清零。 三、程序框图

四、实验过程 1、LED环境 ⑴在“P.”状态下按“0→EV/UN”,装载实验所需的代码程序。 ⑵在“P.”状态下键入0640,然后按“STEP”或“EXEC”进入实验项目的调试与运行。. 2、PC环境 在与PC联机状态下,编译、连接、下载PH51\se01.asm,用连续或单步方式运行程序。 3、运行结果检查 ⑴在单步运行时,每走一步可观察其运行结果。 ⑵在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键观察与检查2000~20FFH 中执行程序前后的内容变化。 五、实验结果及分析 实验前截图: 实验后截图:

: 实验源程序ORG 0640H SE01: MOV R0,#00H DPTR MOV DPTR,#2000H ;(2000H送(DPTR 送LOO1: MOVX @DPTR,A ;0INC DPTR ;DPTR+1 1 INC R0 ;字节数加个字节再清FF不到CJNE R0,#00H,LOO1 ; SJMP $ END 实验问题:2000H~20FFh中的内容是什么? 解答:实验运行之前,2000H~20FFh中的内容是随机分配的;在执行完清零程序之后, 2000H~20FFh中的内容都变为0. 实验二拆字程序 一、实验目的 掌握汇编语言设计和调试方法。 二、实验内容 把2000h的内容拆开,高位送2001h低位,低位送2002h低位,2001h、2002h高位清零,一般本程序用于把数据送显示缓冲区时用。 三、程序流程

单片机实验报告

本科生实验报告 实验课程单片机原理及应用 学院名称核技术与自动化工程学院 专业名称电气工程及其自动化 学生姓名 学生学号 指导教师任家富 实验地点6C902 实验成绩 二〇一五年三月二〇一五年六月 单片机最小系统设计及应用 摘要 目前,单片机以其高可靠性,在工业控制系统、数据采集系统、智能化仪器仪表等领域得到极其广泛的应用。因此对于在校的大学生熟练的掌握和使用单片机是具有深远的意义。通过本次课程设计掌握单片机硬件和软件方面的知识,更深入的了解单片机的实际应用,本次设计课程采用STC89C52单片机和ADC0804,LED显示,键盘,RS232等设计一个单片机开发板系统。进行了LED显示程序设计,键盘程序设计,RS232通信程序设计等。实现了单片机的各个程序的各个功能。对仿真软件keil的应用提升了一个新的高度。单片机体积小、成本低、使用方便,所以被广

泛地应用于仪器仪表、现场数据的采集和控制。通过本实验的学习,可以让学生掌握单片机原理、接口技术及自动控制技术,并能设计一些小型的、综合性的控制系统,以达到真正对单片机应用的理解。 关键词:单片机;智能;最小系统;ADC;RS232;显示;STC89C52 第1章概述 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。单片机采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 它最早是被用在工业控制领域,由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。 现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。 第2章实验内容 2.1单片机集成开发环境应用

大学生单片机实习总结

大学生单片机实习总结 ,我们将为大家提供关于20XX年实习报告的信息,敬请期待! :xx :实习报告范文| 实习报告模板| 会计实习报告 | 大学生实习报告 | 顶岗实习报告 | 金工实习报告 | 毕业实习报告 | 土木工程实习报告 | 生产实习报告 |实习周记 | 3000字范文 大学生单片机实习总结 随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么可编程控制器的出现则是给现代工业控制测控领域带来了一次新的革命。在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面。本学期我们就学习了单片机这门课程,感觉是有点难呢。也不知道整个学习过程是怎么过来得,可是时间不等人。 时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机实习课题也在一周内完成了。俗话说“好的开始是成功的一半”。说这次实习,我认为最重要的就是做好程序调试,认真的研究老师给的题目。其次,老师对实验的讲解要一丝

不苟的去听去想,因为只有都明白了,做起产品就会事半功倍,如果没弄明白,就迷迷糊糊的去做,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。 虽然这次的实习算起来在实验室的时间只有几天,不过因为我们都有自己的实验板,所以在宿舍里做实验的时间一定不止三天。硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想与要求运动起来。 当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。 通过这次单片机实习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。

单片机实训报告心得

广东轻工职业技术学院 实训报告 实训项目单片机实训 系别:电子通信工程系 专业:应用电子技术 班级:嵌入式091班 姓名:11222 学号:2009080202316 指导老师:丁向荣、赵慧 实训地点:第三实训楼C309 实训时间:2011年1月10日至1月14日

前言 单片机应用技术是现代电子设计的核心技术,学习单片机只是就是要将单片机应用到电子产品中,以单片机为控制核心实现电子系统所需实现的功能。单片机的应用能力很多程度上决定了电子类专业学生电子设计与电子应用的水平与能力,尤其是高职学生更是如此。 本项目要求设计一个简单的电子时钟,用六位LED数码管实现电子时钟的功能,显示方式为时、分、秒,采用24h(小时)计时方式,使用按键开关可实现时分调整。 通过电子闹钟项目的课题设计,让同学

们体验项目设计的要点,了解项目设计的流程,加深对单片机应用知识的学习,体会团队协作的力量所在。为日后的嵌入式专业学习巩固基础。 目录 1.概述………………………………………………………… 1.1 系统的作用……………………………………………………………… 1.2 系统的功能要求……………………………………………………………2.系统硬件设计……………………………………………….. 2.1系统的电路原理…………………………………………………………… 2.2 电路原理图……………………………………………………………… 2.3 各控制按钮控制功能说明………………………………………………. 3.系统软件设计………………………………………………. 4.系统调试……………………………………………………. 5. 总结…………………………………………………………

单片机实训心得体会

单片机实训心得体会 导读:本文是关于单片机实训心得体会,希望能帮助到您! 单片机实训心得体会一 时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机综合课程设计也在一周内完成了。 俗话说“好的开始是成功的一半”。说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。 虽然这次的课程设计算起来在实验室的时间只有三天,不过因为我们都有自己的实验板,所以在宿舍里做实验的时间一定不止三天。 硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想与要求运动起来。 当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,

有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。 在这次难得的课程设计过程中我锻炼了自己的思考能力和动手能力。通过题目选择和设计电路的过程中,加强了我思考问题的完整性和实际生活联系的可行性。在方案设计选择和芯片的选择上,培养了我们综合应用单片机的能力,对单片机的各个管脚的功能也有了进一步的认识。还锻炼我们个人的查阅技术资料的能力,动手能力,发现问题,解决问题的能力。并且我们熟练掌握了有关器件的性能及测试方法。 再次感谢老师的辅导以及同学的帮助,是他们让我有了一个更好的认识,无论是学习还是生活,生活是实在的,要踏实走路。课程设计时间虽然很短,但我学习了很多的东西,使我眼界打开,感受颇深。 单片机实训心得体会二 这个学期的单片机课已经早早的上完了,但是理论纯属理论,没有与实践的结合总让我们学的不踏实,感觉没有达到学以致用的效果。所庆幸的是在课程介绍考试完之后,老师给我们安排了这次单片机课程设计,给了我们学以致用的做好的实践。 关于这次课程设计,我们花费了比较多的心思,既是对课程理论内容的一次复习和巩固,还让我们丰富了更多与该专业相关的其他知识,比如软件应用等,在摸索中学习,在摸索中成长,在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获,在真正设计之前我们做了相当丰富的准备,首先巩固一下课程理论,再一遍熟悉课程知识的构架,然后结合加以理论分析、总结,有了一个清晰的思路和一个完整的的软件流程图之后才着手设计。在设计程序时,我们不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;养成注释程序的好习惯是非常必要的,一个程序的完美与否不仅仅是实现功能,而应

单片机实验报告

哈尔滨师范大学计算机科学与信息工程学院 实验报告手册 课程名称:嵌入式系统原理与应用指导教师:王洪侠 专业:计算机科学与技术20 18 年—20 19 年第 1 学期姓名:吴晗学号:2016040860 年级:2016级班级: 2 班

实验报告内容 实验题目:P1口输出实验 实验目的:通过实验了解P1口做为输入输出方式使用时,CPU对P1口的操作方式 实验要求:控制8个LED灯,完成从左到右然后从右到左再从左到右依次的循序流水实验器材:计算机和普中科技STC89C52单片机电路板 实验步骤/程序流程分析: 1.单片机由P2口控制流水灯 2.根据题目要求实现每点亮一盏灯就熄灭前一盏 3.套用循环实现从左到右的动态流水式亮灯 4.完成从左到右再从右到左再从左刀右流水亮灯 程序源代码: #include "reg52.h" #include typedef unsigned int u16; typedef unsigned char u8; #define led P2 void delay(u16 i) { while(i--); } void main() { u8 i; led=0xfe; delay(50000); // while(1) { /* for(i=0;i<8;i++) { P2=~(0x01<

相关文档