- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
PAGE
PAGE7
实验项目名称
计数器实验
实验目的
掌握定时器,计数器的寄存器设置。
学会定时器中断函数的处理。
实验原理
1、硬件电路:
图1-18位共阳数码管
2、硬件连接表
表格SEQ表格\*ARABIC1-1硬件连接表
MCU-AT89S52
8位共阳数码管
P00~P07
SA~SH
P20~P23
C0~C3
P34-频率输入
实验仪器
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、硬件电路:
图1-28位共阳数码管
2、硬件连接表
表格SEQ表格\*ARABIC2-2硬件连接表
MCU-AT89S52
8位共阳数码管
P00~P07
SA~SH
P20~P23
C0~C3
P34-频率输入
图SEQ图\*ARABIC1-3单片机接一个按键作为外部的中断输入信号图
图1-4计数器实验编程程序
图1-5计数器实验编程程序
图1-6计数器实验编程程序
实验数据
处理
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;
您可能关注的文档
最近下载
- 2024年安徽省高考化学真题卷(含答案与解析).pdf VIP
- 司马光的故事市公开课一等奖省赛课微课金奖PPT课件.pptx
- 2014010904013王亮森题目四.docx
- 《国有企业管理人员处分条例》考试题库200题(含答案).docx
- 2023年楚雄师范学院计算机科学与技术专业《操作系统》科目期末试卷A(有答案).docx VIP
- 《接力切换技术原理》课件.pptx VIP
- 电子科技大学820计算机专业基础考研真题试题(含答案)2011—2016年.pdf
- 公司治理:基本原理及中国特色-姜付秀-第10章+法律机制.pptx VIP
- 课件:兽药的合理使用.ppt
- 弗莱雷《被压迫者教育学》.pdf
文档评论(0)