- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理与应用实训报告
- PAGE 27 -
《单片机原理与应用》
实训报告
指导老师:
班 级 :
学 号 :
姓 名:
学院 系
一、实训目的与意义
《单片机原理与应用》作为电子信息工程技术专业的核心课程,是一门技术性、应用性很强的学科,实验、实践课教学是它的一个极为重要的环节。不论是硬件扩展、接口应用还是编程方法、程序调试,都离不开实践教学。如
《单片机原理与应用》实训的目的就是让同学们在理论学习的基础上,通过完成一个涉及MCS-51单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用,使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器等方面的知识进一步加深认识,同时在软件编程、排错调试、硬件电路设计识读、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立进行某些单片机应用系统的开发设计工作打下一定的基础。
二、实训目标
单片机综合实训主要在单片机综合实验室完成,学生应达到一下要求:
1、熟悉单片机的基本结构、最小系统应用
2、掌握单片机各种接口的扩展
3、掌握单片机常用电路的设计和识读
4、树立实事求是、严格按规律科学组织设计的思想
三、实训任务与要求
《单片机原理与应用实训》旨在利用AT89C51单片机的定时器、中断、Flash ROM等内部资源,扩展外部键盘、LED8段数码管以及蜂鸣器等外设,实现作一个具有多种I/O接口的综合性功能电路,并编写出有个性有特色应用软件。实训题目如下。
实训课题一、流水灯设计实训
编程实现P1接的8个指示灯从左到右每隔1秒依次点亮1个,到达最右边后再从左边依次循环点亮,如此循环往复。
C语言程序代码:
#include reg52.h
#include intrins.h
#define uint unsigned int
#define uchar unsigned char
uchar aa;
void delay();
void main()
{
aa=0xfe;
while(1)
{
P1=aa;
delay();
aa=_crol_(aa,1);
}
}
void delay()
{
uint i,j;
for(i=1000;i0;i--)
for(j=110;j0;j--);
}
汇编语言代码:
ORG 0000H
LJMP ABC
ORG 0030H
ABC: MOV A,#0FEH
AAB: MOV P1,A
MOV R0,#20
DL3: MOV R1,#200
DL2: MOV R2,#124
DL1: DJNZ R2,DL1
DJNZ R1,DL2
DJNZ R0,DL3
RL A
CJNE A,#07FH,AAB
LJMP ABC
END
编程实现P1接的8个指示灯从中间开始每隔1秒向两边依次点亮两盏灯,到达边上后,再从边上开始依次向中间两两点亮,到达中间后再依次向两边,如此反复循环。
C语言代码:#include reg52.h
#define uint unsigned int
#define uchar unsigned char
uchar num;
uint i;
void main()
{
num=0,i=0;
TMOD=0X00;
TL0=(8192-4607)%32;
TH0=(8192-4607)/32;
EA=1;
ET0=1;
TR0=1;
while(1)
{
if(num==200)
{
num=0;
switch(i)
{
case 0:P1=0x0e7,i++; break;
case 1:P1=0x0db,i++; break;
case 2:P1=0x0bd,i++; break;
case 3:P1=0x7e,i=0; break;
}
}
}
}
void T0_time()interrupt 1
{
TL0=(8192-4607)%32;
TH0=(8192-4607)/32;
num++;
}
汇编语言代码:
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP ZHONGD
ORG 0030H
MAIN: MOV IE,#82H
MOV TMOD,#01H
MOV TL0,#0B0H
MOV TH0,#3CH
MOV R0,#20
MOV R1,#0
MOV DPTR,#TAB
SETB TR0
MOV A,R1
MOVC A,@A+DPTR
MOV P1,A
LJMP $
ZHONGD: MOV TL0
文档评论(0)