单片机实验书 - 图文
更新时间:2023-12-05 01:57:01 阅读量: 教育文库 文档下载
- 单片机实验指导书推荐度:
- 相关推荐
实验一 单片机I/O接口实验
【实验目的】
利用单片机的P1口作IO口,学会利用P1口作为输入和输出口。
【实验设备及器材】
笔记本电脑 一台 HL-1单片机开发板 一个
【实验内容】
编写一段程序,用P1口作为控制端口,使开发板上的LED轮流亮。
【实验要求】
学会使用单片机的P1口作IO口,如果有时间也可以利用P3口作IO口来做该实验。
【实验步骤】
1、 实验原理如图1-1所示。
图1-1
2、 用汇编语言编写好源程序。(在电脑上的编辑器软件中)
3、 将源程序(也叫源代码、源文件)编译成目标程序(也叫目标代码、机器码、目标文件、
HEX文件)。
4、 用下载软件将目标程序写入到单片机中。 5、 写入后会自动运行目标程序。
如果程序运行不正常、可以用人工检查、软件仿真器等技术排除所编程序中存在的各种错误。错误排除后,再重复上面的3、4步骤。
【实验预习要求】
理解该实验单片机开发板的硬件结构,可以预先把程序编好,然后在Keil C51环境下进行软件仿真。
【实验参考程序】
;放置数据在0100地址以后 ORG 0100
TMP1: DB 01H,02H,04H,08H,10H,20H,40H,80H,81H,82H DB 84H,88H,90H,0A0H,0C0H,0C1H,0C2H,0C4H,0C8H,0D0H DB 0E0H,0E1H,0E2H,0E4H,0E8H,0F0H,0F1H,0F2H,0F4H,0F8H DB 0F9H,0FAH,0FCH,0FDH,0FEH,0FFH,0FFH,00H,0FFH,00H
ORG 0000H ;程序的开始 LJMP MAIN ;转入主程序
ORG 0200H ;主程序的开始
MAIN: MOV DPTR,#TMP1 ;得到数据存放的地址 MOV R7,#50 ;设置循环40次 M1: CLR A
MOVC A,@A+DPTR ;读取相应地址的数据
CPL A ;因发光二极管采用共阳极,所以将数据取反再输出 MOV P1,A
INC DPTR ;进入下一个数据准备 LCALL DELAY ;转入延时子程序 DJNZ R7,M1 ;40次未完成继续
LJMP MAIN ;40次完成回到主程序循环
DELAY: MOV R5,#255 ;延时子程序 D1: MOV R6,#255 DJNZ R6,$ DJNZ R5,D1 RET
END ;程序体结束
【实验思考题】
想出几个实现以上功能的编程方法。
实验二 定时/计数器实验
【实验目的】
1、掌握定时器/计数器的使用方法。 2、熟悉定时器/计数器的工作过程及编程。 3、掌握定时时间常数的确定方法。
【实验设备及器件】
笔记本电脑 一台 HL-1单片机开发板 一个
【实验原理及内容】
8051单片机有2个16位的定时/计数器:定时器0(T0)和定时器1(T1)。它们都有定时器或事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等场合。
T0由2个特殊功能寄存器TH0和TL0构成,T1则由TH1和TL1构成。作计数器时,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数,当输入脉冲信号从1到0的负跳变时,计数器就自动加1。计数的最高频率一般为振荡频率的1/24。
定时/计数器的结构:定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。
计数器初值的计算:
设计数器的最大计数值为M(根据不同工作方式,M可以是213、216或28),则计算初值X的公式如下:
X=M-要求的计数值(十六进制数) 定时器初值的计算:
在定时器模式下,计数器由单片机主脉冲fosc经12分频后计数。因此,定时器定时初值计算公式:
X=M-(要求的定时值)/(12/fosc)
80C51单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD用于设置其工作方式;TCON用于控制其启动和中断申请。
工作方式寄存器TMOD:工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。其格式如下:
GATE:门控位。GATE=0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;GATA=1时,要用软件使TR0或TR1为1,同时外部中断引脚或也为高电平时,才能启动定时/计数器工作。即此时定时器的启动条件,加上了或引脚为高电平这一条件。
M1M0:工作方式设置位。定时/计数器有四种工作方式,由M1M0进行设置。
实验内容:
1、通过定时器延时实现P1口LED的闪亮。
2、对按键S2按下的次数进行计数,当计数记到3时,第一个发光二极管被点亮。
【实验步骤】
1.用汇编语言编写好源程序。(在电脑上的编辑器软件中)
2.将源程序(也叫源代码、源文件)编译成目标程序(也叫目标代码、机器码、目标文件、HEX文件)。
3.用下载软件将目标程序写入到单片机中。 4.写入后会自动运行目标程序。
如果程序运行不正常、可以用人工检查、软件仿真器等技术排除所编程序中存在的各种错误。错误排除后,再重复上面的2、3步骤。
【实验预习要求】
1、参阅MCS-51有关定时器/计数器部分章节。
2、弄清有关定时器/计数器控制寄存器的格式及设定方法。 3、弄清实验中定时时间常数是如何确定的。
【实验参考程序】
定时器延时实现LED点亮: ORG 0000H AJMP START ORG 30H
START: MOV P1,#0FFH ;关闭所有的灯
MOV TMOD,#00000001B ;定时/计数器0工作于方式1 MOV TH0,#0fH
MOV TL0,#0A0H ;以上两行预置计数
SETB TR0 ;定时/计数器0开始运行
LOOP: JBC TF0,NEXT ;如果TF0等于1,则将TF0清0并转next处 AJMP LOOP ;否则跳转到LOOP处运行 NEXT: CPL P1.0 ;点亮P1.0灯 MOV TH0,#0fH ;
MOV TL0,#0A0H ;重置定时/计数器的初值 AJMP LOOP END
计数器计数实现LED点亮程序: #include
#define uint unsigned int //uint pp;
sbit led=P1^0; sbit s2=P3^4;
void main() {
TMOD=0x05; //模式设置,00000001,可见采用的是定时器0,工作与模式1(M1=0,M0=1)。
TR0=1; //打开计数器 ET0=1; //开计数器0中断 EA=1; //开总中断 while(1) {
if(TL0==3) //当计数为3时,led被点亮。当然,由于有按键抖动,故有时未按三下S2,灯已经亮了。 led=0; } } /*
void time0() interrupt 1 {
pp++; } */
【实验思考题】
想出几个实现以上功能的编程方法。
正在阅读:
单片机实验书 - 图文12-05
2016年社会工作政策与法规(中级)06-08
国内生产总值GDP04-18
中医诊断学模拟试题一10-09
顺特调匝式消弧线圈安装使用说明书06-15
优化数学教学提高教学质量09-24
2016年高考作文备考素材03-08
古村落建筑装饰艺术研究02-25
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 单片机
- 实验
- 图文
- 六年级下学期必背古诗
- 做一名好员工
- 水泵测试标准
- 小学语文长春版五年级下册《游园不值》教师招聘面试试讲教案资格证面试试讲教案模板
- 机器人实训总结
- 南京农业大学论文格式要求
- 毕业论文初稿
- 希特勒的独裁之路与民主制度的反
- 2016人教版七上背诵默写学生版
- 盈高多维终端安全管理平台产品说明书 - 图文
- 常用音视频接口的分类及焊接方法
- 综合管沟结构施工方案
- 单片机电子秤设计报告(DOC) - 图文
- 三年级数学下册《两位数乘10及整十数乘整十数口算》教案青岛版
- 小型农田水利工程管护存在的问题及对策
- 西南大学2018年秋季《美国文学史及选读》辅导答案
- 普通话语音和播音发声
- 三月桃花水
- 海洋生态学习题
- 川大《大学英语(三)0003》19春在线作业22