单片机原理实验报告
更新时间:2024-03-18 08:31:01 阅读量: 综合文库 文档下载
桂林航天工业学院
电子工程系
单片机技术 课程实验报告
2013-----2014学年第 二 学期
专业: 班级 : 学号 : 姓名: 同组者:
指导教师: 王勇军
任务一:单片机控制单灯亮灭
一、实验目的
1.初步学会使用Keil μVision开发环境和简单程序的编辑、编译、与运行方法;
2.学习Proteus软件绘制简单电路图与仿真运行方法C51程序的初步过程 3. 掌握单片机控制单只发光二极管亮灭的原理并仿真实现
二、实验仪器
1、安装Keil μVision及Protues软件的计算机一台;单片机开发板一套。
三、实验内容及要求
1、用Keil μVision仿真调试简单的C51程序; 2、用Protues软件绘制简单的电路图
3、在绘制好的电路原理图中,调入已编译好的目标代码文件“*.HEX”,可以在原理图中看到模拟实物的运行状态和过程。
四、单片机控制发光二极管亮灭实验原理图:
五、实验程序: #include
unsigned int value; value=0xfe; P0=value; }
六、实验结果及心得体会
(按步骤记录调试程序及proteus绘制原理图及仿真过程中出现的现象,在上述程序实现的基础上,如何修改程序使其他的发光二极管实现亮灭,本部分手写,写不下可写在背面)
实验成绩评定表
序号 1 4 5 6 7 实验名称: 实验方法: □有创新 □有改进 □有缺陷 □合理 实验结果: □一次成功 □改进后成功 □ 不成功 文字表述: □简明通顺 □重复冗长 □没有实质内容 实验态度: □严谨认真 □循规蹈矩 □ 敷衍应付 课堂评价: □优秀 □良好 □及格 □不及格 综合成绩: 教师签名 任务二:单片机控制流水灯
一、实验目的
1.初步掌握C51的基本语法、基本控制语句的使用,函数调用等知识,学习按任务编写基本程序
2.掌握 MCS-51 单片机的 P0、P1、P2 口的使用方法 3. 掌握实现发光二极管的移动、闪烁程序的编写方法
二、实验仪器
1、安装Keil μVision及Protues软件的计算机一台;单片机开发板一套。
三、实验内容及要求
1、掌握C51程序调试和proteus软件联调的方法,学习设置二软件联调。 2、由P0口连接8只发光二极管,实现如下功能 1)让发光二极管从左至右循环轮流点亮两只灯; 2)让8只光二极管从外向内循环轮流点亮; 3)让8只光二极管从内向外循环轮流点亮;
四、实验线路:
五、实验程序: #include
unsigned char output=0xfe; while(1) {
P0=output; delay(); output<<=1;
output|=1;
if(output==0xff) output=0xfe; } }
void delay() {
int i;
for(i=40000;i>0;i--); }
六、实验结果及心得体会
(在上述程序中标出使发光二极管左移的实现语句,按步骤记录调试程序及实验开发板中出现的现象,在上述程序实现的基础上,修改相应部分,使电路实现2)3)功能,本部分手写)
实验成绩评定表
序号 1 4 5 6 7 实验名称: 实验方法: □有创新 □有改进 □有缺陷 □合理 实验结果: □一次成功 □改进后成功 □ 不成功 文字表述: □简明通顺 □重复冗长 □没有实质内容 实验态度: □严谨认真 □循规蹈矩 □ 敷衍应付 课堂评价: □优秀 □良好 □及格 □不及格 综合成绩: 教师签名
任务三:独立按键识别
一、实验目的
1.掌握单片机 I/O 口读写方法。 2.掌握独立按键的连接方法及使用。
3. C 语言基本语句的编写,对I/O 口基本操作。
二、实验仪器
1、安装Keil μVision及Protues软件的计算机一台;单片机开发板一套。
三、实验内容及要求
单片机P3.0-P3.1口连接2只按键,利用以上按键,实现如下功能 1)当按钮1按下时,第1只发光二极管点亮; 2)当按钮2按下时,第8只发光二极管点亮; 3)当两按钮都按下时,8只发光二极管流水显示
四、实验线路(部分):
五、实验程序(略): 六、实验结果及心得体会
(在上述电路原理图中加入需要的按钮,修改程序实现对按钮的响应,注意对于按键的抖动如何编程,根据讲解完成带消抖功能的按键程序)
实验成绩评定表
序号 1 2 3 4 5 实验名称: 实验方法: □有创新 □有改进 □有缺陷 □合理 实验结果: □一次成功 □改进后成功 □ 不成功 文字表述: □简明通顺 □重复冗长 □没有实质内容 实验态度: □严谨认真 □循规蹈矩 □ 敷衍应付 课堂评价: □优秀 □良好 □及格 □不及格 综合成绩: 教师签名
任务四 数码管静态显示控制
一、实验目的
1、掌握一维数组定义和调用的方法;
2、掌握数码管的原理,学习定义数码管及LED各种图形组合数组的技巧; 3、学习程序组合和函数调用方法,进一步提高编程能力
二、实验仪器
1、安装Keil μVision及Protues软件的计算机一台;单片机开发板一套。
三、实验内容及要求
利用数码管,完成从0到9之内顺序循环显示效果。
四、实验线路:(可参照开发板电路)
五、实验程序: 略 六、实验结果及心得体会
(修改程序,完成从0到F之内顺序循环显示,并写出心得)
实验成绩评定表
序号 1 2 3 4 5 实验名称: 实验方法: □有创新 □有改进 □有缺陷 □合理 实验结果: □一次成功 □改进后成功 □ 不成功 文字表述: □简明通顺 □重复冗长 □没有实质内容 实验态度: □严谨认真 □循规蹈矩 □ 敷衍应付 课堂评价: □优秀 □良好 □及格 □不及格
综合成绩: 教师签名 任务五 数码管动态显示控制
一、实验目的
1、掌握二维数组定义和调用的方法;
2、掌握数码管动态显示的原理,学会数码管动态扫描的技巧; 3、学习二维数组调用和函数调用方法,进一步提高编程能力
二、实验仪器
1、安装Keil μVision及Protues软件的计算机一台;单片机开发板一套。
三、实验内容及要求
利用八位数码管,完成学号后八位的显示。
四、实验线路:
五、实验程序: 略
六、实验结果及心得体会
(修改程序,使用二维数组完成12位学号的左移显示)
实验成绩评定表
序号 1 2 3 4 5 实验名称: 实验方法: □有创新 □有改进 □有缺陷 □合理 实验结果: □一次成功 □改进后成功 □ 不成功 文字表述: □简明通顺 □重复冗长 □没有实质内容 实验态度: □严谨认真 □循规蹈矩 □ 敷衍应付 课堂评价: □优秀 □良好 □及格 □不及格 综合成绩: 教师签名 任务六 单片机外部中断应用
一、实验目的
1、学习单片机外部中断的使用方法。
2、掌握单片机应用程序开发的软硬件结合思想。
二、实验仪器
1、安装Keil μVision及Protues软件的计算机一台。 2、单片机开发板一套。
三、实验内容及要求
从单片机的外部中断端口P3.2输入一脉冲信号(利用按键产生),编程实现脉冲到来后,P1.0对应的LED灯亮灭发生变化。
四、实验线路:
五、实验程序:(略) 六、实验结果及心得体会
(根据所给电路和程序,编写利用单片机P3.3口作外部中断口,实现对LED的上述控制)
实验成绩评定表
序号 1 2 3 4 5 实验名称: 实验方法: □有创新 □有改进 □有缺陷 □合理 实验结果: □一次成功 □改进后成功 □ 不成功 文字表述: □简明通顺 □重复冗长 □没有实质内容 实验态度: □严谨认真 □循规蹈矩 □ 敷衍应付 课堂评价: □优秀 □良好 □及格 □不及格
综合成绩: 教师签名 任务七 单片机定时/计数器中断应用
一、实验目的
1、学习单片机定时/计数器中断的使用方法。
2、掌握单片机定时/计数器工作在不同工作方式的寄存器设置。
二、实验仪器
1、安装Keil μVision及Protues软件的计算机一台。 2、单片机开发板一套。
三、实验内容及要求
利用定时/计数器0,使得单片机P1.0产生一个1S的方波信号,控制P1.0的LED闪烁。(定时/计数器工作在方式1,初值自设)
四、实验线路:
五、实验程序:(略) 六、实验结果及心得体会
(根据所给电路和程序,使定时/计数器工作在方式2,实现对LED的上述控制,并写出心得体会)
实验成绩评定表
序号 1 2 3 4 5 实验名称: 实验方法: □有创新 □有改进 □有缺陷 □合理 实验结果: □一次成功 □改进后成功 □ 不成功 文字表述: □简明通顺 □重复冗长 □没有实质内容 实验态度: □严谨认真 □循规蹈矩 □ 敷衍应付 课堂评价: □优秀 □良好 □及格 □不及格 综合成绩: 教师签名
任务八 单片机控制的电子钟
一、实验目的
1、掌握单片机应用程序开发的软硬件结合思想。 2、综合单片机动态显示和中断完成数字钟的设计。
二、实验仪器
1、安装Keil μVision及Protues软件的计算机一台。 2、单片机开发板一套。
三、实验内容及要求
利用单片机开发板,综合八位数码管的动态显示和定时器中断完成数字钟的设计。
四、实验线路:
五、实验程序:(略) 六、实验结果及心得体会
(根据编程练习,优化相应例程算法,并写出实验心得)
实验成绩评定表
序号 1 2 3 4 5 实验名称: 实验方法: □有创新 □有改进 □有缺陷 □合理 实验结果: □一次成功 □改进后成功 □ 不成功 文字表述: □简明通顺 □重复冗长 □没有实质内容 实验态度: □严谨认真 □循规蹈矩 □ 敷衍应付 课堂评价: □优秀 □良好 □及格 □不及格
综合成绩: 教师签名 任务九 单片机与上位机通信
一、实验目的
1、掌握 MCS-51 单片机的串口控制方法,掌握串口中断的原理及中断服务程序的编写。
2、学会对STC串口调试助手的应用。
二、实验仪器
1、安装Keil μVision及Protues软件的计算机一台; 2、单片机开发板一套。
三、实验内容及要求
将单片机通过串口连接到STC下载软件的串口调试界面,设置串口调试界面的波特率与单片机设置相一致,当界面向单片机发送启动信号后,单片机连续向上位机发送一组数据,并在单片机上显示发送数据的个数。
四、实验线路部分:
五、实验程序: (略)
六、实验结果及心得体会
(运行老师提供的程序,观察实验现象,自己设置不同的波特率进行数据传输,实现功能。)
实验成绩评定表
序号 1 2 3 4 5 实验名称: 实验方法: □有创新 □有改进 □有缺陷 □合理 实验结果: □一次成功 □改进后成功 □ 不成功 文字表述: □简明通顺 □重复冗长 □没有实质内容 实验态度: □严谨认真 □循规蹈矩 □ 敷衍应付 课堂评价: □优秀 □良好 □及格 □不及格 综合成绩: 教师签名
任务十 双单片机控制流水灯
一、实验目的
1、深化C51的基本语法、基本控制语句的使用,函数调用等知识,学习按任务编写基本程序
2、掌握 MCS-51 单片机的串口控制方法,掌握串口中断的原理及中断服务程序的编写
3、掌握双单片机通信的时序控制方法
二、实验仪器
1、安装Keil μVision及Protues软件的计算机一台; 2、单片机开发板一套。
三、实验内容及要求
将两个单片机开发板通过串口连接,一个单片机A连接数码管,一个单片机U2连接8只发光二极管,实现如下功能
1)U1输出数据控制U2的发光二极管流水显示。
2)U1的数码管显示流水灯循环的次数,当显示到9时数码管归零,如果U2数据发送错误,则数码管显示F,并闪烁;
四、实验线路部分: 原理图文件名 Two51conLSD
五、实验程序: 对U1编程:
#include
unsigned char sdata=0xfe; void isr_uart(); void main() {
TMOD=0X20; TH1=136; TL1=136; SCON=0Xd0; PCON=0; TR1=1;
EA=1;ES=1; SBUF=sdata; while(1) { } }
void isr_uart() interrupt 4 {
if(TI==1) {
sdata<<=1; sdata |=1;
if(sdata==0xff) sdata=0xfe; SBUF=sdata;TI=0; } else {
RI=0;P0=SBUF;P2=0; } }
对U2编程
#include
unsigned char sdata; unsigned char count=0; void isr_uart(); void main() {
TMOD=0X20; TH1=16; TL1=16; SCON=0Xd0; PCON=0; TR1=1; EA=1;ES=1; while(1); }
void isr_uart() interrupt 4 {
if(RI==1) {
RI=0;sdata=SBUF;P1=sdata; if(count++==8) {
count=0; }
SBUF=count; } else { TI=0; } }
六、实验结果及心得体会
(1、运行老师提供的电路原理图,观察实验现象,分析出现问题的原因及修改办法, 2、在原理图中加入第二个数码管,修改程序,使显示周期最大为99,实现功能。
实验成绩评定表
序号 1 2 3 4 5 实验名称: 实验方法: □有创新 □有改进 □有缺陷 □合理 实验结果: □一次成功 □改进后成功 □ 不成功 文字表述: □简明通顺 □重复冗长 □没有实质内容 实验态度: □严谨认真 □循规蹈矩 □ 敷衍应付 课堂评价: □优秀 □良好 □及格 □不及格 综合成绩: 教师签名 任务十一:矩阵按键识别
一、实验目的
1.掌握矩阵键盘与单片机的连接方法。 2.掌握矩阵键盘的编程及应用。
二、实验仪器
1、安装Keil μVision及Protues软件的计算机一台;单片机开发板一套。
三、实验内容及要求
单片机P3口连接4*4矩阵按键,扫描以上按键,实现如下功能
当按下按键时,最左边的两只数码管显示相应键值,最右边数码管显示键号;
四、实验线路(部分):
五、实验程序(略): 六、实验结果及心得体会
(根据讲解,利用定时器实现对矩阵键盘的定时扫描检测,并完成实验要求功能)
实验成绩评定表
序号 1 2 3 4 5 实验名称: 实验方法: □有创新 □有改进 □有缺陷 □合理 实验结果: □一次成功 □改进后成功 □ 不成功 文字表述: □简明通顺 □重复冗长 □没有实质内容 实验态度: □严谨认真 □循规蹈矩 □ 敷衍应付 课堂评价: □优秀 □良好 □及格 □不及格
综合成绩: 教师签名 任务十二 用单片机最小系统实现简单交通灯控制
一、实验目的
1、深化C51的基本语法、基本控制语句的使用语句知识,读懂程序
2、进一步掌握keilC和proteus联调技巧,并能解决试验中遇到的问题。
二、实验仪器
1、安装Keil μVision及Protues软件的计算机一台;单片机开发板一套。
三、实验内容及要求
在单片机最小系统下,由P2、P0口连接12只发光二极管,实现交通灯功能 1)每个路口分别接红、黄、绿三个等代表路口控制灯; 2)初始状态为四个路口红灯全亮之后,东西路口绿灯亮,南北红灯亮;延时20s, 3)东西路口绿灯闪烁3次后熄灭,黄灯闪亮3秒(每秒闪烁一次)后,东西路口红灯亮,在切换到南北路口的绿灯亮;延时20s;
4)南北路口绿灯闪烁3次后熄灭,黄灯 亮3秒后,南北路口的红灯亮,再切换到东西路口绿灯亮;延时20s;重复以上过程
四、实验线路:
五、实验程序: #include
char time=20*20,timey=10,county=6; unsigned char allr=0x36; unsigned char ewg_snr=0x1e; unsigned char ewy=0x2e;
unsigned char sng_ewr=0x33; unsigned char sny=0x35;
sbit P01=P0^1; sbit P04=P0^4; sbit P21=P2^1; sbit P24=P2^4; bit ewg=1; void isr_time0(); main() {
unsigned int i; P0=P2=allr;
for(i=50000;i>0;i--); P0=P2=ewg_snr;
TMOD=0x11; TL0=-50000;TH0=-50000>>8; TL1=-50000;TH1=-50000>>8; EA=1;ET0=1;ET1=1; TR0=1; while(1); }
void isr_time0() interrupt 1 {
TL0=-50000;TH0=-50000>>8; time--; if(time==0) {
TR0=0;TR1=1; time=400; if(ewg) {
P0=ewy;P2=ewy; } else {
P0=sny;P2=sny; } } }
void isr_time1() interrupt 3 {
TL1=-50000;TH1=-50000>>8; timey--; if(timey==0) {
timey=10; county--; if(county) {
if(ewg)
{ P04= ~P04;P24=~P24;} else
{ P01= ~P01;P21=~P21;} } else {
county=6; if(ewg)
{ P0=sng_ewr;P2=sng_ewr;} else
{ P0=ewg_snr;P2=ewg_snr;} TR1=0;TR0=1; ewg = ~ewg; } } }
六、实验结果及心得体会
(1)在程序上标注出各路口灯亮的控制语句的注释,并将程序逻辑用流程图的形式表示出来;
(2)试编写一个程序,将东西路口的通行时间延长到40秒,其余不变;
(3)编写一个主程序,实现每天早上7:30到8:30采用此通行次序,周末和其他时间都采用原程序的通行次序。(回答)考虑电路可实现性,应增加硬件还是全部用软件的方法实现?如果增加硬件,拟采用什么元件来实现对时间的计算?
实验成绩评定表 序号 1 2 3 4 5 实验名称: 实验方法: □有创新 □有改进 □有缺陷 □合理 实验结果: □一次成功 □改进后成功 □ 不成功 文字表述: □简明通顺 □重复冗长 □没有实质内容 实验态度: □严谨认真 □循规蹈矩 □ 敷衍应付 课堂评价: □优秀 □良好 □及格 □不及格 综合成绩: 教师签名
任务十三 单片机控制模拟电压显示(选作)
一、实验目的
1、深化C51的基本语法、基本控制语句的使用,函数调用等知识,学习按任务编写基本程序
2、学习电压值的显示技巧
3、proteus仿真时对单片机ALE信号的设置方法
二、实验仪器
1、安装Keil μVision及Protues软件的计算机一台。
三、实验内容及要求
参考案例20:用软件延迟等待方式采集IN0通道电压,并将电压值由数码管显示出来
四、实验线路:
五、实验程序: 六、实验结果及心得体会
1、按步骤记录调试程序及proteus绘制原理图及仿真,改变滑动变阻器的位置,观察显示器是否变化,确定改电路的测试量程2、分析程序关于电压值显示部分的原理,并说明编程时应注意什么问题。
实验成绩评定表
序号 1 2 3 4 5 实验名称: 实验方法: □有创新 □有改进 □有缺陷 □合理 实验结果: □一次成功 □改进后成功 □ 不成功 文字表述: □简明通顺 □重复冗长 □没有实质内容 实验态度: □严谨认真 □循规蹈矩 □ 敷衍应付 课堂评价: □优秀 □良好 □及格 □不及格
综合成绩: 教师签名 任务十四 单片机控制锯齿波输出(选作)
一、实验目的
1、掌握proteus仿真中设备的调用
2、理解输出波形的幅度、周期原理,学习按编程输出不同频率,不同幅度的模拟信号
二、实验仪器
1、安装Keil μVision及Protues软件的计算机一台。
三、实验内容及要求
用如图所示电路输出一个锯齿波。
计算该锯齿波的输出幅度和周期,说明理由,并尝试修改程序使输出锯齿波的频率和幅度均为原来的一半
四、实验线路:
五、实验程序: 六、实验结果及心得体会
实验成绩评定表
序号 1 2 3 4 5
实验名称: 实验方法: □有创新 □有改进 □有缺陷 □合理 实验结果: □一次成功 □改进后成功 □ 不成功 文字表述: □简明通顺 □重复冗长 □没有实质内容 实验态度: □严谨认真 □循规蹈矩 □ 敷衍应付 课堂评价: □优秀 □良好 □及格 □不及格 综合成绩: 教师签名
正在阅读:
单片机原理实验报告03-18
刘晓艳语法笔记06-16
预备党员接收大会会议流程词08-01
寝室商店创业策划书08-12
论文初稿评语09-14
公司汽车租赁合同范本08-01
干部考核评语02-24
幼师学生评语07-11
家长的评语02-24
汉英动物词语折射出的中西方文化异同正文10-17
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 单片机
- 原理
- 实验
- 报告
- 山东省东营市六合中学2009—2010学年度七年级数学第二学期期中考
- 周戈庄小学潍坊市普通中小学基本办学条件标准化达标自评纪实表 -
- 仁爱版八年级下册英语Unit8Topic2
- 气动与PLC指导书
- 突发事件应急
- 资兴市房产管理局简介 - 图文
- 关于成立我校义务消防队的通知
- 光明乳业股份有限公司财务分析 - 报告
- 成本管理会计复习大纲
- 第一次月考质量分析报告(杨海军)
- 招标控制价毕业论文
- 排球正面双手垫球的观评报告课件
- 上海市同济一附中2014学年度第一学期高一期末物理及参考答案
- 人物通讯的写作要点及采访感悟
- 2018-2019-发言稿作文教学反思-精选word文档(2页)
- 2016年甘肃省高三第一次诊断考试理科数学 - 图文
- 如何指导高中生度过高二关键期
- 弗莱登塔尔的思想
- 学前班智力测试卷 - 图文
- 基于学生团队的高校二级门户网站群建设和管理模式探讨