- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
实验一并行口通讯实验
一、实验目的和要求
目的:
1、掌握单片机最小系统的构成;
2、掌握I/O口的使用及驱动能力的概念;
3、熟悉移位指令和软件延时程序。
要求:
利用51单片机及8个发光二级管等器件,构成一个流水灯单片机系统。
二、实验仪器和设备
Proteus单片机实验系统(风标)一台;微型电子计算机(HP)一台。
三、实验原理
本实验涉及到三个知识点:单片机最小系统的构成、单片机I/O口的使用以及软件延时程序的编写。
1)单片机最小系统由单片机芯片、时钟电路以及复位电路构成。
2)I/O口的使用:P2口作为输出口时与一般的双向口使用方法相同,即当P2口用为输入口时,必须先对它置“1”。若不先对它置“1”,读入的数据可能是不正确的。
3)延时子程序的延时计算问题。
voiddelayms(uintj)
{
uchari;
for(;j0;j--)
{i=250;
while(--i);
i=249;
while(--i);
}
}
四、实验结果与分析
实验步骤
1、Proteus仿真
a、在Proteus中打开设计文档流水灯.DSN;
b、建立实验程序并编译,加载hex文件,仿真;
c、如不能正常工作,打开调试窗口进行调试
参考程序:
#includereg51.h
#includeintrins.h
#defineucharunsignedchar
#defineuintunsignedint
#defineoutP2
voiddelayms(uint);
voidmain(void)
{
uchari,temp;
while(1)
{
temp=0xfe;
for(i=0;i8;i++)
{out=temp;
P1=temp;
P0=temp;
P3=temp;
delayms(200);
temp=_crol_(temp,1);
}
}
}
voiddelayms(uintj)
{
uchari;
for(;j0;j--)
{i=250;
while(--i);
i=249;
while(--i);
}
}
2、实验板验证
a、用ISP下载hex程序到MCU
b、按连接表连接电路
c、检查验证结果
3、实验效果说明:
发光二级管进行流水灯操作,从上到下依次点亮。
五、实验体会
实验二计数器、定时器实验
一、实验目的和要求
目的:
掌握单片机定时计数器定时方式的使用及编程方法。
要求:
1、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值P1口驱动LED灯上显示出来。
2、用51单片机的P1.0口接1个发光二级管,编写程序,控制发光二级管闪烁,时间间隔1S,要求AT89C51内部定时器计时。
二、实验仪器和设备
Proteus单片机实验系统(风标)一台;微型电子计算机(HP)一台。
三、实验原理
主要知识点概述:
关于内部计数器的编程,主要是定时常数的位置和有关控制寄存器的设置。内部计数器在单片机中主要有定时器和计数器两个功能。本例使用的是定时器,定时1S。CPU运行定时中断方式,实现每1S输出状态发生一次反转,即发光二级管1S亮一次。
定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止。
内部计数器用于定时器时,是对机器周期计数。每个机器周期的长度是12个振荡周期。本例中单片机晶振12MHZ,选用工作方式2,既8位自动重装方式定时器,定时器100us中断一次,所以定时常数的设置可按以下方法计算:
机器周期=12/12MHZ=1us
(256-定时常数)*1us=100us
定时常数=156。然后对100us中断次数计数10000次,就是1S。
实验程序流程图
四、实验结果与分析
实验步骤
1、Proteus仿真
a.在Proteus中打开设计文档timer.DSN;
b.建立实验程序并编译,加载hex文件,仿真;
c.如不能正常工作,打开调试窗口进行调试。
参考程序:
#includereg51.h
#includeintrins.h
#defineucharunsignedchar
#defineuintunsignedint
#defineoutP0
ucharcodeseg[]={0xc0,0xf9,0xa4,0xb0,0
文档评论(0)