计数器实验一.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

PAGE7

PAGE

实验项目名称

计数器实验

实验目的

掌握定时器,计数器的寄存器设置。

学会定时器中断函数的处理。

实验原理

1、硬件电路:

图1-18位共阳数码管

2、硬件连接表

表格SEQ表格\*ARABIC1-1硬件连接表

MCU-AT89S52

8位共阳数码管

P00~P07

SA~SH

P20~P23

C0~C3

P34-频率输入

编程原理

定时器/计数器的使用、中断响应以及中断程序。

定时器0工作于计数方式,工作方式1,16位计数

定时器1工作于定时方式,工作方式1,16位定时

定时器1中断服务的书写格式。

P00-PO7接SA-SH,P10-P13接C0-C3,P32接K1。

实验仪器

PC机

PROTEUS仿真软件

实验箱

ISP下载器

51仿真器

实验步骤与内容

1、打开KEIL安装目录,然后打开目录里的C51文件夹,然后再打开BIN文件夹,将名为OH51.EXE的文件复制到前一级(C51)目录下。

2、汇编程序:

打开Proteus8环境,在快捷工具栏中点击源代码按纽,然后点击源码选择新建工程,出现新固件项目对话框,在系列一栏中选择8051,在控制器一栏选择AT89C52,编译器一栏中选择ASEM—51(Proteus),然后点击确定,新工程创建完成。

C程序:

打开Proteus8环境,在快捷工具栏中点击源代码按纽,然后点击源码选择新建工程,出现新固件项目对话框,在系列一栏中选择8051,在控制器一栏选择AT89C52,编译器一栏中选择Keilfor8051,然后点击确定,新工程创建完成。

3、然后在工程对话框下,右键单击AT89C52,在出现的下拉列表中选中工程设置,将工程选项下EmbedFiles后的勾选去掉,然后点击确定完成工程设置。

4、在快捷工具栏中的下拉列菜单Debug/Release/配置选项中,选择Release。

5、汇编程序:

将需要编译的程序代码输入到main.asm文件中,输入好程序代码后,然后在工程中,右键单击AT89C52,在出现的下拉列表中选中构建工程,编译完成返回LINK/LOCATERUNCOMPLETE.0WARNING(S),0ERROR(S)

编译成功。表示工程编译成功。

C程序:

将需要编译的程序代码输入到main.c文件中,输入好程序代码后,然后在工程中,右键单击AT89C52,在出现的下拉列表中选中构建工程,编译完成返回LINK/LOCATERUNCOMPLETE.0WARNING(S),0ERROR(S)

编译成功。表示工程编译成功。

6、编译成功后,切换到原理图状态下点击运行按纽,可通过人机接口观察程序的仿真结果。

7、连接ISP下载器一端到USB接口,另一端连到目标板。打开实验台电源,参考产品说明书中的ISP下载软件使用方法对程序进行下载。

8、接下来大家就可以按照硬件连接表连线了,然后测试程序,观察实验现象,理解程序,最后自己修改程序提高编程能力。

实验原理图及程序

1、仿真原理图

图SEQ图\*ARABIC1-2单片机接一个按键作为外部的中断输入信号图

图1-3计数器实验编程程序

实验数据

处理

keil4编程

#includereg52.h

#includeintrins.h

#defineucharunsignedchar

#defineuintunsignedint

Unsignedcharcodedis_code[11]={0xc0,0xf9,0xa4,0xb0,

0x99,0x92,0x82,0xf8,0x80,0x90,0xff};

unsignedchardis_buf[4];

uintint0_cnt=0;

voidupdate_disbuf();

voiddelayms(uintj);

voidmain(void)

{

IE=0X81;

IT0=1;

P0=0xff;

P1=0;

dis_buf[0]=dis_code[0];

dis_buf[1]=dis_code[0];

dis_buf[2]=dis_code[0];

dis_buf[3]=dis_code[0];

while(1)

{

P0=dis_buf[3];

P1=0x01;

delayms(5);

P0=0xff;

P0=dis_buf[2];

P1=0x02;

delayms(5);

P0=0xff;

P0=dis_buf[1];

P1=0x04;

delayms(5);

P0=0xff;

P0=dis_buf[0];

P1=0x08;

delayms(5);

P0=0xff;}}

void

文档评论(0)

东山书苑 + 关注
实名认证
内容提供者

业务以学生学习成长为中心,为外语培训、中小学基础教育、学前教育,提供各种学习资料支持服务。

1亿VIP精品文档

相关文档