单片机c语言程序设计---单片机实验报告.docxVIP

单片机c语言程序设计---单片机实验报告.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

单片机c语言程序设计---单片机实验报告

实验目的:

掌握单片机的中断的原理、中断的设置,掌握中断的处理及应用

掌握单片机的定时器/计数器的工作原理和工作方式,学会使用定时器/计数器

实验内容:

定时器/计数器应用程序设计

实验1.计数

功能:用定时器1方式2计数,每计数满100次,将P1.0取反。(在仿真时,为方便观察现象,将TL1和TH1赋初值为0xfd,每按下按键一次计数器加1,这样3次就能看到仿真结果。)

分析:外部计数信号由T1(P3.5)引脚输入,每跳变一次计数器加1,由程序查询TF1。方式2有自动重装初值的功能,初始化后不必再置初值。

将T1设为定时方式2,GATE=0,C/T=1,M1M0=10,T0不使用,可为任意方式,只要不使其进入方式3即可,一般取0。TMOD=60H。定时器初值为X=-100=156=9CH,TH1=TL1=9CH。

程序:#include?REGX51.H

void?main()

{

P1_0=0;

TMOD=0x60;

TH1=0xFD;

TL1=0xFD;

ET1=1;

EA=1;

TR1=1;

while(1)

{

}

}

void?timer1_Routine()?interrupt?3

{???

P1_0=~P1_0;}

实验2.中断定时

使用定时器定时,每隔10s使与P0、P1、P2和P3端口连接的发光二极管闪烁10次,设P0、P1、P2和P3端口低电平灯亮,反之灯灭。

分析:中断源T0入口地址000BH;当T0溢出时,TF0为1发出中断申请,条件满足CPU响应,进入中断处理程序。主程序中要进行中断设置和定时器初始化,中断服务程序中安排灯闪烁;TL0的初值为0xB0,TH0的初值为0x3C,执行200次,则完成10s定时。

实验要求:

完成计数实验和中断计数实验。具体包括绘制仿真电路图、编写c源程序、进行仿真并观察仿真结果,需要保存原理图截图,保存c源程序,对仿真结果进行总结。

程序:#include?REGX51.H

#include?Delay.h

int?i;int?j=0;

void?main()

{P1=0;P2=0;??P3=0;P0=0;

TMOD=0x01;

TH0=0x3C;

TL0=0xB0;

ET0=1;

EA=1;

TR0=1;

while(1){

}

}

void?timer0_Routine()?interrupt?1

{???

TH0=0x3C;

TL0=0xB0;

j++;

if(j=150)

{j=0;for(i=0;i20;i++)

{

P1=~P1;???

P2=~P2;????

P3=~P3;????

P0=~P0;????

Delay(200);}}}

实验分析:

心得体会:

文档评论(0)

偶遇 + 关注
实名认证
文档贡献者

个人介绍

1亿VIP精品文档

相关文档