单片机原理实验指导书10.docx
- 文档编号:3034623
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:22
- 大小:154.42KB
单片机原理实验指导书10.docx
《单片机原理实验指导书10.docx》由会员分享,可在线阅读,更多相关《单片机原理实验指导书10.docx(22页珍藏版)》请在冰豆网上搜索。
单片机原理实验指导书10
《单片机原理》
实验指导书
计算机科学与技术系
2012年8月
说明
《单片机原理及应用》课程是计算机专业的一门重要专业课程,也是一门理论性、实践性和实用性都很强的课程。
本课程的主要教学任务是通过理论教学与实验环节,使学生掌握单片机系统的基础知识,认识单片机系统的结构,掌握单片机系统的设计思路和流程,能够设计简单的单片机系统。
本实验指导是为单片机原理及应用方面的课程需要而编写的,完成本实验指导中的实验,可使学生基本掌握MCS-5l单片机的结构原理、接口技术、程序设计技巧。
书中详细叙述了各实验的目的、内容,列出了接线图、程序结构框图和清单。
免除了主讲教师和实验辅导老师为设计、准备调试实验线路和实验程序所需的工作量,节约了宝贵的时间。
一、采用联机调试实验程序时,需双击桌面上“DICE-51仿真开发系统”银环图标,打开仿真调试软件,设置仿真模式。
具体步骤如下:
点击菜单栏的“设置(S)”项,在弹出下拉菜单中选择“仿真模式(M)...”,此时此时将弹出“仿真模式”对话框,在此进行相关设置==>CPU:
8031/8032; RAM:
用户RAM; ROM:
系统ROM。
二、实验接线图上的粗实线表示用户在实验时要用导线连接起来。
三、所有实验都是相互独立的,次序上也没有固定的先后关系,在使用本书进行教学时,教师可根据学院的教学要求选择相应实验。
由于编者水平有限,本书中必然存在着不少缺点,在此恳请大家给予批评和指正,我们将尽力纠正。
在此特对关心支持编写本书的院系领导表示感谢。
目录
第一部分单片机仿真实验1
实验一:
流水灯实验1
实验二:
中断实验4
实验三:
定时器/计算器实验6
实验四:
串行口实验8
实验五:
键盘扫描识别实验12
实验六:
LCD循环显示设计18
实验七:
简易计算器25
第一部分单片机仿真实验
实验一:
流水灯实验
一、实验目的:
通过对P3口地址的操作控制8位LED流水点亮,从而认识单片机的存储器。
二、实验原理图
实验参考电路图如下:
三、参考实验程序
//流水灯实验
#include
sfrx=0xb0;//P3口在存储器中的地址是b0H,通过sfr可定义8051内核单片机
//的所有内部8位特殊功能寄存器,对地址x的操作也就是对P1口的操作
/****************************************
函数功能:
延时一段时间
*****************************************/
voiddelay(void)
{
unsignedchari,j;
for(i=0;i<250;i++)
for(j=0;j<250;j++)
;//利用循环等待若干机器周期,从而延时一段时间
}
/*****************************************
函数功能:
主函数
******************************************/
voidmain(void)
{
while
(1)
{
x=0xfe;//第一个灯亮
delay();//调用延时函数
x=0xfd;//第二个灯亮
delay();//调用延时函数
x=0xfb;//第三个灯亮
delay();//调用延时函数
x=0xf7;//第四个灯亮
delay();//调用延时函数
x=0xef;//第五个灯亮
delay();//调用延时函数
x=0xdf;//第六个灯亮
delay();//调用延时函数
x=0xbf;//第七个灯亮
delay();//调用延时函数
x=0x7f;//第八个灯亮
delay();//调用延时函数
}
}
四、实验思考题:
修改程序使LED灯为18灯亮——27灯亮——36灯亮——45灯亮,再将LED灯亮的顺序倒过来既:
45灯亮——36灯亮——27灯亮——18灯亮,连续运行。
调试后的程序代码:
实验二:
中断实验
一、实验目的:
通过对P3.2、P3.3引脚的电平控制,实现外部中断处理,从而控制输出口P1的输出效果变化。
二、实验原理图
实验参考电路图如下:
三、参考实验程序
/用外中断0的中断方式进行数据采集和处理
#include
sbitS=P3^2;//将S位定义为P3.2,
/*******************************************
函数功能:
主函数
******************************************/
voidmain(void)
{
EA=1;//开放总中断
EX0=1;//允许使用外中断
IT0=1;//选择负跳变来触发外中断
P1=0xff;
while
(1)
;//无限循环,防止程序跑飞
}
/**************************************************************
函数功能:
外中断T0的中断服务程序
**************************************************************/
voidint0(void)interrupt0using0//外中断0的中断编号为0
{
P1=~P1;//每产生一次中断请求,P1取反一次。
}
四、实验思考题:
根据指导书中提供的原理图,自行设计一个外部中断实验,要求:
1.两个外部中断全部用上;
2.实验能体现不同中断优先级的中断源的相应情况;
3.不同中断处理程序能输出不同的响应效果
实验三:
定时器/计数器实验
实验目的:
通过使用定时器T0的中断来控制P2.0引脚的的LED的灯闪烁,要求闪烁时间2S,既亮1S,灭1S。
一、实验原理图
实验参考电路图如下(注释,下图只有D1等闪烁,既亮1S,灭1S):
二、参考实验程序
//用定时器T0的中断实现长时间定时,单片机晶体振荡器周期为12MHZ,机器//周期为1us
#include
sbitD1=P2^0;//将D1位定义为P2.0引脚
unsignedcharCountor;//设置全局变量,储存定时器T0中断次数
/**************************************************************
函数功能:
主函数
**************************************************************/
voidmain(void)
{
EA=1;//开总中断
ET0=1;//定时器T0中断允许
TMOD=0x01;//使用定时器T0的模式2
TH0=(65536-15536)/256;//定时器T0的高8位赋初值
TL0=(65536-15536)%256;//定时器T0的高8位赋初值
TR0=1;//启动定时器T0
Countor=0;//从0开始累计中断次数
while
(1)//无限循环等待中断
;
}
/**************************************************************
函数功能:
定时器T0的中断服务程序
**************************************************************/
voidTime0(void)interrupt1using0//“interrupt”声明函数为中断服务函数
//其后的1为定时器T0的中断编号;0表示使用第0组工作寄存器
{
Countor++;//中断次数自加1
if(Countor==20)//若累计满20次,即计时满1s
{
D1=~D1;//按位取反操作,将P2.0引脚输出电平取反
Countor=0;//将Countor清0,重新从0开始计数
}
TH0=(65536-15536)/256;//定时器T0的高8位重新赋初值
TL0=(65536-15536)%256;//定时器T0的高8位重新赋初值
}
}
三、实验思考题:
修改程序使用定时器T1的中断方式来控制P2.0、P2.1引脚的LED灯分别以200mshe800ms的周期闪烁
调试后的程序代码:
实验四:
串行口实验
一、实验目的:
本实验要求单片机U1通过其串行口TXD向计算机发送一个数据“oxab”。
利用集成电路MAX232将单片机的输出信号转化成计算机能够识别的信号。
针对发送的实例,再设计一个单片机接受计算机送出数据的过程
二、实验原理图
单片机发送数据实验参考电路图如图
(1):
图
(1)
单片机接受数据实验参考电路图如下:
图
(2)
三、参考实验程序
//单片机向PC发送数据
#include
unsignedcharcodeTab[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};
//流水灯控制码,该数组被定义为全局变量
/*****************************************************
函数功能:
向PC发送一个字节数据
***************************************************/
voidSend(unsignedchardat)
{
SBUF=dat;
while(TI==0)
;
TI=0;
}
/**************************************************************
函数功能:
延时约150ms
**************************************************************/
voiddelay(void)
{
unsignedcharm,n;
for(m=0;m<200;m++)
for(n=0;n<250;n++)
;
}
/*****************************************************
函数功能:
主函数
***************************************************/
voidmain(void)
{
unsignedchari;
TMOD=0x20;//TMOD=00100000B,定时器T1工作于方式2
SCON=0x40;//SCON=01000000B,串口工作方式1
PCON=0x00;//PCON=00000000B,波特率9600
TH1=0xfd;//根据规定给定时器T1赋初值
TL1=0xfd;//根据规定给定时器T1赋初值
TR1=1;/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 实验 指导书 10
![提示](https://static.bdocx.com/images/bang_tan.gif)