当前位置: 首页 > 其他范文 > 其他范文

单片机实验十三

作者:过客2010 | 发布时间:2020-11-27 07:28:30 收藏本文 下载本文

实 实 验 报 告 专业 计算机科学与技术 班级 学号 姓名 课程名称 单片机原理及应用 学年 2013-2014 学期 1 /2 课程类别 专业必修 限选 任选 实践 实验时间 2014 年 4 月 28 日 实验名称 实验十三 利用串行口扩展并口实验 实验目的和要求 ① 掌握 MSC-51 单片机串行口方式 0 时的工作原理;了解通过串行口扩展输出口,进行静态显示的方法。

② 掌握串行移位寄存器芯片 74LS164 的工作原理。

实验器材 1 实验仪一台;2 编程器一台; 3 小镊子一把; 实验原理、内容与要求(见附页)实验结果(见附页)小结 我掌握了 MSC-51 单片机串行口方式 0 时的工作原理、了解了通过串行口扩展输出口,进行静态显示的方法并且掌握了串行移位寄存器芯片 74LS164 的工作原理。

评定成绩:

批阅教师:

年 月 日 √ √ √ √

实验 原理: MCS-51 单片机除了具有四个 8 位的并行口外,还具有一个全双工的串行通信接口,该接口有 4 种工作方式,当工作于方式 1、2 和 3 时,作 UART(通用异步接收和发送器),实现单片机系统之间点对点的单机通信、多机通信和单片机系统与 PC 机之间的通信;而工作于方式 0 时,为同步移位寄存器输入/输出方式,常用于扩展 I/O 口,这时串行数据通过 RxD 引脚输入或输出,引脚 TxD 输出同步移位信号,收/发数据都为 8 位,低位在前,波特率为振荡频率的 1/12。本实验中通过 74LS164 实现串入并出。由于 74LS164 的输出高电平电流为-1mA,而输出低电平电流为 20mA,故这里必须使用共阳极的数码管,并且数码管的“a”笔画由引脚 13 输出,“h”笔画由引脚 3 输出,请同学们注意。另外采用静态显示,编程简单,显示效果好,具体线路如图 13 所示(图中省去了复位电路、时钟电路等电路)实验 内容与要求: 编制程序使数码管循环依次显示 00 到 99,每秒加 1。

跳线 设置:

如程序存放在 AT89S51 中,AT89S51 的/EA(引脚 31)必须接高电平,实验时需短路 J13 的 1 和 2 引脚,否则;必须短路 J13 的 2 和 3 引脚; 实验时需要短接 J4 的 3 和 5 以及 4 和 6;J7 的 2、3。

实验结果:

附录(源程序清单):

1 汇编语言程序清单(FileName :ex13.asm)ORG 0000H LJMP MAIN ORG 000BH LJMP INTT0 MAIN: MOV SP,#60H MOV TMOD,#01H SETB ET0 SETB EA MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 MOV 30H, #0;每中断一次加 1 MOV 31H, #0;每秒加 1, 当其值为 100 时清 0 MOV 32H, #0;个位 MOV 33H, #0;十位 LP: MOV R0,#32H MOV R7,#2 ACALL BINBCD MOV DPTR,#TAB DSPLY: MOV A,@R0 MOVC A,@A+DPTR CPL A MOV SBUF,A DSP1: JNB TI,DSP1 CLR TI INC R0 党建NZ R7,DSPLY LP1: MOV A,30H CJNE A, #10, LP1 MOV 30H,#00H INC 31H MOV A,31H CJNE A,#100,LP MOV 31H,#0 SJMP LP INTT0: MOV TL0,#0B0H MOV TH0,#3CH INC 30H RETI TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH DB 0FFH,00H,73H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;入口参数 二进制数存放在 31H 中;出口参数 BCD 数 十位(33H), 个位(32H);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;BINBCD:

MOV A,31H MOV B,#10 DIV AB MOV 33H,A MOV A,B MOV 32H,A RET END;程序结束 2 C 语 语 言程序清单(FileName :cex13.c)#include #include #define uchar unsigned char #define uint unsigned int //共阴数码管段码:0~9,全亮,全灭,P uchar tab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0xFF,0x00,0x73};uchar timer;//定时器每中断 1 次加 1 void main(void){ uchar ten,one,count;SP=0x60;TMOD=0x01;//定时器 T0 方式 1 定时 ET0=1;//开定时器 T0 中断 EA=1;//开总中断 TH0=0x3C;//每 100ms 中断一次 TL0=0xB0;TR0=1;//启动定时器 T0 timer=0;count=0;do{ do{ ten=count/10;//求得十位 one=count%10;//求得个位 SBUF=~tab[one];//发送个位 while(~TI);TI=0;SBUF=~tab[ten];//发送十位 while(~TI);TI=0;while(timer<10);//延时 1s,即 10*100ms timer=0;count++;//每隔一秒,count 值加 1 }while(count<100);//从 0 计到 99 count=0;} while(1);} void intt0()interrupt 1 { TH0=0x3C;TL0=0xB0;timer++;

}

单片机实验

单片机实验七

单片机实验2

单片机实验心得体会

《单片机原理及应用》实验指导书(C语言)

本文标题: 单片机实验十三
链接地址:https://www.dawendou.com/fanwen/qitafanwen/267002.html

版权声明:
1.大文斗范文网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《单片机实验十三》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。

重点推荐栏目

关于大文斗范文网 | 在线投稿 | 网站声明 | 联系我们 | 网站帮助 | 投诉与建议 | 人才招聘 | 网站大事记
Copyright © 2004-2025 dawendou.com Inc. All Rights Reserved.大文斗范文网 版权所有