产品概述

单片机实训目的 单片机实验过程

小编 2024-10-06 产品概述 23 0

单片机实验过程

单片机综合训练Ⅰ实验指导书

目 录

一、 实验环境介绍 11、Keil集成开发环境介绍 1二、 实验内容 9实验一 练习使用集成调试软件 9实验二 简单输入输出 10实验三 定时器应用 11实验四 流水灯程序设计 13

一、实验环境介绍1、Keil集成开发环境介绍Keil集成开发环境是众多单片机应用开发的优秀软件之一,它集编辑、编译、仿真于一体,支持汇编语言、PLM语言、C语言的程序设计,界面友好,易学易用。(1)建立工作文件夹在规定的盘符建立一个以自己学号命名的文件夹,作为工作文件夹,将日后实验所有的文件都存放在该文件夹中。(2)进入集成开发环境双击桌面图标,进入uVision4集成开发环境。

(3)新建工程选择菜单“porject—new uvision project”,弹出“Creat New Project”对话框;

在“保存在”下拉列表中选择自己的工作文件夹,在“文件名”文本框中键入工程名(不需要键入扩展名,扩展名默认为 .uv2),单击“保存”按钮,关闭“新建工程”对话框,弹出“为目标‘target 1’选择设备”对话框,选择目标芯片型号;

选择Atmel公司的89C52芯片,单击“确定”按钮,关闭对话框,新建一个工程。

(4)新建源程序选择菜单“File—New”新建源程序文件Text1

单击保存按钮,以.C后缀名保存改文件。

(5)将源程序添加到工程中右键单击“工程窗口”中的“Source Group 1”,在弹出的菜单中选择“增加文件到组”;(注:软件汉化有误)

弹出“增加文件到组”对话框;

选中欲添加的源程序,单击“Add”按钮,源程序添加到工程中。但是,该对话框并不关闭,等待用户继续添加其他程序。添加完毕后,单击“关闭”按钮,关闭对话框。“工程窗口”中,“Source Group 1”下将出现该源程序文件名。

若对同一个文件二次添加,则会弹出如下警告框。

(6)编译和连接单击“Rebuild all target files”按钮,对原程序进行编译和连接,构造结果将在“Build Output”窗口中显示。如果程序有语法错误,则会指出错误类型及所在行,修改后,重新构造,直至没有任何语法错误。

(7)开始调试单击“开始/停止调试”按钮,进入调试状态。

在调试状态下,“构造工具栏”变为“调试工具栏”。通过单步运行,查看寄存器、存储器的值,判断程序是否运行正确。若不正确,找出问题所在,单击“开始/停止调试”按钮,停止调试,进入编辑状态,修改程序,重新编译、调试。(8)查看寄存器进入调试状态后,“工程窗口”变为“寄存器窗口”,可以查看CPU各寄存器的值。(9)查看存储器单击“存储器窗口”按钮,打开存储器窗口;该窗口共有4个标签,可显示4个存储器的值。单击一个标签,在地址栏中输入要查看的存储器单元的类型及地址。片内数据存储器 I : [地址]片外数据存储器 X : [地址]程序存储器 C : [地址]若要人为修改某存储单元的值,可右键单击该单元,在弹出的菜单中选择“更新存储器”,在弹出的文本框中输入该单元的新值,单击“确定”即可。注:十六进制数前加“0x”。(10)单步运行在调试状态下,源程序的左边有一个黄色的箭头,指示当前程序执行的位置,即将要执行的一条指令。单击“单步”按钮,程序执行一条指令,黄色箭头下移一行。寄存器和存储器的值的变化显示在相应位置。执行过的指令左边用一绿色方块标记。(11)运行到光标行若想快速、连续执行若干条指令,可将光标定位在这些指令的最后一行处,单击“运行到光标行”按钮,即可。(12)全速运行对于有些程序,只有全速运行才能实现其功能,这时只需单击“运行”按钮;若要暂停运行,单击“暂停”按钮。(13)将源程序从工程中删除一个程序调试成功后,若要调试另一个程序,可不必新建工程,只需新建一个源程序,添加到原有的工程中,同时,将前一个源程序从工程中删除。在“工程窗口”中,单击要删除的源程序名,按“Delete”键,在弹出的对话框中选择“确定”即可。对于初学者,一般一个工程中只包含一个源程序,应将多余的源程序删除。

二、实验内容实验一练习使用集成调试软件1.实验目的(1)练习使用Keil集成调试软件;(2)进一步熟悉语言指令的功能。2.实验内容按照实验指导书的说明,结合附录中的例子,练习使用Keil集成调试软件,为以后的实验打下基础。3.实验器材计算机1台4.实验步骤(1)新建工程;(2)输入源程序;(3)将源程序添加到工程中;(4)编译和连接;(5)运行程序;(6)观察记录运行过程和结果。5.实验报告要求(1)列出源程序,并加以注释;(2)结构复杂的程序,画出流程图;(3)对实验过程和结果进行分析;(4)写出心得体会。

实验二简单输入输出1.实验目的(1)进一步理解I/O口的工作原理;(2)掌握输入/输出程序的设计方法2.实验内容编写程序,点亮发光二极管3.实验器材(1)计算机1台 (2)仿真器1台 (3)开发板一套4.硬件电路

5.试编写程序点亮开发板上的发光二极管6.思考与发挥(1)如何实现多个开关控制多个发光二极管? (2)如何实现8个发光二极管闪烁?

实验三定时器应用1.实验目的(1)进一步了解定时器的结构和工作原理;(2)掌握定时器的应用程序设计方法。2.实验内容编写定时程序,实现发光二级管D1的定时1s亮灭3.实验器材(1)计算机1台 (2)仿真器1台 (3)开发板1套4.硬件连线

5.实验程序

6.思考与发挥(1)如何改变亮灭的频率?(2)计数初值变大,亮灭频率将如何变化?

实验四流水灯程序设计1.实验目的初步掌握C51程序设计方法。2.实验内容编写程序,使D0-D8,8个LED呈现流水灯效果进行左移右移滚动3.实验器材(1)计算机1台 (2)仿真器1台 (3)开发板1套4.实验程序/**************************************************************************************

LED流水灯实验 * 1

实现现象:下载程序后LED呈现流水灯效果进行左移右移滚动注意事项:无***************************************************************************************/

#include “reg52.h” //此文件中定义了单片机的一些特殊功能寄存器#include<intrins.h> //因为要用到左右移函数,所以加入这个头文件

typedef unsigned int u16; //对数据类型进行声明定义typedef unsigned char u8;

#define led P2 //将P2口定义为led 后面就可以使用led代替P2口

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

函 数 名 : delay函数功能 : 延时函数,i=1时,大约延时10us*******************************************************************************/void delay(u16 i){while(i–);}

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

函 数 名 : main函数功能 : 主函数输 入 : 无输 出 : 无******************************************************************************/void main(){u8 i;led=0xfe;delay(50000); //大约延时450mswhile(1){/ for(i=0;i<8;i++){P2=~(0x01<<i); //将1右移i位,然后将结果取反赋值到P2口delay(50000); //大约延时450ms}*/for(i=0;i<7;i++) //将led左移一位{led=crol(led,1);delay(50000); //大约延时450ms}for(i=0;i<7;i++) //将led右移一位{led=cror(led,1);delay(50000); //大约延时450ms}}}本例中main是主函数名,要执行的主函数的内容称为主函数体,主函数体用大括号{ }括起来。函数体中包含若干条将被执行的程序语句,每条语句都必须以分号为结束符。5.思考与发挥(1)流水灯的间隔时间怎么确定?(2)流水灯的移动方向和顺序怎么确定?

单片机实习经历

想学习单片机的同学可以关注、私信我或者在评论区回复我要入门。每个人都避免不了从学校步入社会工作岗位这个环节,实习的时候多少都会带着一些焦虑和不安,比较工作不是在学校学习。我们在实习的时候不要带着学习的心态,要带着做事的心态。领导永远要的是结果你能给公司创造多少价值,最多只能容忍我们边学边干。

我刚入职的时候总想着先看点产品手册,看些视频,和在学校读书的模式一样,先过完基础再着手项目。领导可不会给我那么多学习时间,几乎都是让我们一周内或两周内完成自己的工作。而我只有学习是做项目的经验,多少会有些迷茫。两周从学生到员工的转变过程,真的非常痛苦。没有做项目级产品的基础,又要把工作按时完成,很多东西搜索引擎又查不到,查到了也不能完全理解。第二天领导看到我还没有动手。就被嫌弃了一顿。我感觉压力很大自己非常焦虑。

那时候就想着能力达不到态度要端正,每天早上7点起床,8点到公司,晚上10点才下班。刚开始的前三天很痛苦,每天早上睁开眼的第一个想法就是不想上班,晚上下班回家洗完澡躺在床上睡不着,都在头疼明天该怎么办,脑海里涌现出想辞职的念头。可是想着千万别轻易放弃最起码先坚持一个月学点东西再走。就一路坚持了下来。

那几天我早上坐在电脑前,搞了好久没有什么进展,感觉完了又要白白耗费一天时间,这个问题死磕到晚上下班之前都没能处理好,还是没有能够找到办法解决。很神奇的是带我的导师来了一次突然的关心,为我指点了方向。它几乎没有时间指导我,他在我心里是属于那种能力很强但是不太善于表达的大佬。

经过一个星期的煎熬我坚持了下来,后来我发现在吃饱的时候休息的那几分钟大佬愿意回答我的问题或者给我一些指导。往后的时间都会提前准备一些技术问题,吃完的时候问一问,我发现经常是大佬们的一句话,就能节省我好几天的时间,工作都能正常的按时完成。然后我就请组内的人吃宵夜,然后他们就跟我分享了很多有用的经验,我才知道工作中的人际关系还是需要灌溉的啊。

为了能和大佬们有共同话题,我还根据不同人的不同喜好去补了相关的知识,足球篮球方面首先就要了解现阶段最强的人和队还有大佬喜欢的球队,不能站在他的对立面,还学了王者,经常去帮他们跑腿,路上主动和他们打招呼等。我都觉得我当时的样子十足的狗腿子一个。总之,因为我们的目的是学到更多东西,所以一定要谦卑,也要坚持。很多的时候是因为没人指点,就产生了放弃的念头。

现在回过头看,发现真的很感谢那一个月层出不穷的问题和领导给的压力所带来的痛苦,让我各方面的能力得到成长,之后无论面对怎样困难的技术问题,都不会轻易就放弃,只要把大家的关系处理好,很多问题出现的时候我们就会左右逢源,总能解决这个问题。通过解决问题更加平和了自己的心态和解决问题的决心。我有一个大胆的猜想当时我的领导故意给了我一个难题,让我解决不了,自己主动的去加班。

本期先分享到这里,想要进群学习单片机编程的同学可以私信我,回复“我要入门”,与我们一起成长,喜欢的可以点个赞关注我们!

相关问答

单片机 驱动交流接触器的方法

[回答]在各种自动控制设备中,都存在一个低压的自动控制电路与高压电气电路的互相连接问题,一方面要使低压的电子电路的控制信号能够控制高压电气电路的执...

51 单片机 实验我们的实验用DVCC-52JH++实验箱.利用脉冲发生器...

[最佳回答]很幸运的看到你的问题.但是又很遗憾到现在还没有人回答你的问题.也可能你现在已经在别的地方找到了答案,那就得恭喜你啦.可能是你问的问题有些专业...

寒假期间想学下 单片机 ,有C语言的基础,怎么下手呢?

寒假即将来临,想在假期将近一个月中学习一项技能,我认为这是一个不错的想法。下面我给这位朋友提两个建议,希望能对所有想学单片机的初学者有所参考作用。我...

请问大佬们,学习 单片机 需要把C语言学好,再学 单片机 吗?

你好!作为学过单片机过来人你这个问题我可以来回答。首先肯定一点的是学习单片机不需要先学好C语言再去学单片机,而是在学习单片机的过程中可以促进C语言的学习...

单片机 系统的开发步骤是什么?

1先根据需求设计最基本的硬件电路图,(检查无误后)2按最基本的硬件电路图,使用面包板,电子元件,搭建实际电路。3按需求编写单片机的软件,可以使用仿真...1...

51 单片机 C程序实验LED灯:[1]单个灯闪烁?

单片机控制LED灯间隔时间闪烁,所用程序很简单,实际情况可作相应变化,也有多种方式实现。那么51单片机C程序实验LED灯:[1]单个灯闪烁?我们该怎么办呢?所需...单...

学习 单片机 的基本条件?

软件条件1.程序编译软件KeilC512:仿真软件Proteus3.程序烧录软件硬件条件1.A51编程器2.单片机实验板软件条件1.程序编译软件KeilC512:仿真软件Prot...

初学 单片机 需要准备哪些学习套件?

一、材料篇单片机学习少不了的常用材料,最好配一块单片机开发板学习。在单片机的学习过程中,切不可有以下错误认识:1、看完学习视频后,认为自己这部分已经...C...

请问小白学 单片机 的具体方向和步骤该如何呢?

我是从大学开始学习单片机的,现在分享一下我的学习感受。单片机学习分为硬件部分和软件部分,硬件那部分需要电路,模电数电等作为基础,软件部分只需要有一点...3...

我是大一学生(开学大二),学习 单片机 之前应该先学会什么,具备什么能力,还有开发 单片机 软件用什么?

我在扩展PCB上已经设计了一个焊接AVR单片机Mega64/128的位置,可方便的替换现在的MCU,这款MCU的内存可达128KROM、4KRAM,基本可以满足移植uCOSII的要求,...

猜你喜欢