- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
最近下载
- 中国华电集团公司电力安全工作规程(水力机械部分山东审定稿)20121116.doc
- CAAC无人机理论考试题库及答案(2024修订版).docx
- 《通往夏天的隧道 再见的出口》读书笔记思维导图.pptx VIP
- 近五年天津中考英语真题及答案2024.docx VIP
- 附件2:汽车专访.pdf VIP
- 二值的黑白图像(教学设计)-2024-2025学年人教版(2024)小学信息技术四年级全一册.docx VIP
- 小学文言文教学的基本策略.ppt
- 2024年10月自考00908网络营销与策划试题及答案含评分参考.pdf
- 2024年中考模拟试卷语文(北京卷).docx VIP
- 社区全职妈妈赋能项目方案设计.pdf
文档评论(0)