INT0中断计数.docx
- 文档编号:10103960
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:11
- 大小:694.60KB
INT0中断计数.docx
《INT0中断计数.docx》由会员分享,可在线阅读,更多相关《INT0中断计数.docx(11页珍藏版)》请在冰点文库上搜索。
INT0中断计数
课程论文
题 目:
INT0中断计数器
作 者:
依力亚斯·卡斯木
学号:
20091301427
所在学院:
信息科学与工程学院
专业年级:
电子09-2班
指导教师:
李新刚
职 称:
讲师
2013年06月16日
单片机INT0中断计数器设计与仿真
摘要:
本设计采用了单片机,利用了芯片AT89C52能够更好的去实现秒表的功能,使操作更简单,方便,让人一目了然。
采用电路仿真软件Proteus设计完成了INT0中断计数器的电路仿真图;利用Keil编程软件设计完成了秒表的基本实现。
掌握了电路原理图、PCB图的设计方法,独立完成了原件的原理图库文件、原件封装库文件的设计。
关键字:
Proteus;AT89C52;,中断计数器
1单片机的定义
所谓的单片机是将计算机的基本部件微型化并集成到一块芯片上,具备独特功能的微型计算机,通常片内都含有CPU、ROM、RAM、并行I/O、串行I/O、定时器/计数器、中断控制、系统时钟及系统总线等。
单片机全称为单片微型计算机,又称微控制器或嵌入式控制器。
2设计任务与要求
1.1设计任务:
用AT89C51及电阻、电容、晶闸管、数码管、排阻等实现中断计数。
INTO中断计数,每次按下计数键时触发INTO中断,中断程序累加计数,计数值显示在3只数码管上,按下清零键时数码管清零。
1.2设计目标:
实现软件的仿真和运行、完成设计。
3设计思想和设计说明
用单片机的P2.0/A8-P2.6/AD14端口接其中一组数码管的七个端口,P1.0-P1.6接数码管的P1.0-P1.6的端口,P0.0/AD0-P0.6/AD6接数码管的P0.0-P0.6的端口及RP1的P0.02-P0.68的接口。
每次按下计数键时触发INTO中断,中断程序累加计数,计数值显示在3只数码管上,按下清零键时数码管清零。
本设计利用AT89C52单片机的定时器/计时器定时和计数的原理,使其能精确计时。
设计中包括硬件电路的设计和系统程序的设计,其硬件电路主要有主控制器、计时与显示电路和复位电路等。
主控制器用AT89C52,显示电路采用共阴极LED数码管显示计时时间。
利用中断系统使其能实现开始暂停的功能。
P2.5,P2.6,P2.7开口接3个按钮,分别实现开始,暂停,清零的功能。
电路原理图设计最基本得要求是正确性,其次布局合理,最后在正确性和布局合理的前提下力求完美。
3.1软件设计概述
在软件设计中,一般采用模块化的程序设计方法,它具有明显的优点。
把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,有利于程序的优化和分工,提高了程序的阅读性和可能性,使程序的结构层次一目了然。
应用系统的程序由包含多个模块的主程序和各种子程序组成。
各程序模块都要完成一个明确的任务,实现某个具体的功能,如:
加计数延时,计数和显示等,在具体需要时调用相应的模块即可。
3.2主要器件介绍
AT89C52
图1.AT89C52引脚图
AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
主要功能特性:
兼容MCS51指令系统8k可反复擦写(>1000次)FlashROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道·2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能
图2.数码管引脚图
数码管使用条件:
a、段及小数点上加限流电阻
b、使用电压:
段:
根据发光颜色决定;小数点:
根据发光颜色决定
c、使用电流:
静态:
总电流80mA(每段10mA);动态:
平均电流4-5mA峰值
电流100mA
4设计原理图与硬件原理图
图3.硬件原理框图
图4.设计原理图
5程序调试仿
使用Keil软件完成弹片机程序编写,然后运行Keil的单步程序调试功能,打开逻辑分析仪,观察到单片机对应端口的输出。
按预定程序有高低电平的变化。
图5.keil程序调试
打开Proteus绘制的电路原理图加载Keil编译生成的Hex文件,单机运行观察在仿真电路图中的程序运行是否正常,运行效果如如下图所示。
图5.1Protues电路调试效果
图5.2Protues电路调试效果
图5.3Protues电路调试效果
6程序核心
/***********************************************
ThisprogrameisusedtoforINT0
Author:
ILYAS
Date:
2013.06.16
Version:
1.2
************************************************/
#include
#defineucharunsignedchar
#defineuintunsignedint
//0~9的段码
ucharcodeDSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};
//计数值分解后各个待显示的数位
ucharDSY_Buffer[]={0,0,0};
ucharCount=0;
sbitClear_Key=P3^6;
//数码管上显示计数值
voidShow_Count_ON_DSY()
{
DSY_Buffer[2]=Count/100;//获取3个数
DSY_Buffer[1]=Count%100/10;
DSY_Buffer[0]=Count%10;
if(DSY_Buffer[2]==0)//高位为0时不显示
{
DSY_Buffer[2]=0x0a;
if(DSY_Buffer[1]==0)//高位为0,若第二位为0同样不显示
DSY_Buffer[1]=0x0a;
}
P0=DSY_CODE[DSY_Buffer[0]];
P1=DSY_CODE[DSY_Buffer[1]];
P2=DSY_CODE[DSY_Buffer[2]];
}
//主程序
voidmain()
{
P0=0x00;
P1=0x00;
P2=0x00;
IE=0x81;//允许INT0中断
IT0=1;//下降沿触发
while
(1)
{
if(Clear_Key==0)Count=0;//清0
Show_Count_ON_DSY();
}
}
//INT0中断函数
voidEX_INT0()interrupt0
{
Count++;//计数值递增
}
7心得体会
通过这次的INT0中断计数器设计,我对一些专业知识和电子设计有了更深的了解,同时也尝试着去应用自己的所掌握的知识。
本次设计主要是对已学习的模拟电子技术、数字电子技术和单片机及相关软件的综合应用,同时加上电路等知识,设计完成了利用软件模拟的计数器。
经过几天的奋战,我感受很深。
在设计过程中深感自己在培养机器语言思维能力这方面还需很大的努力。
单片机课程设计不仅给我提供了一个很好的展现应用自己所掌握的知识的平台,又是检验自己所学知识的一次考核。
在设计的过程中我也不可避免的遇到了很多的问题。
尤其是在调试过程中,会因为某些原因出不来结果,但通过老师对我的帮助最后还是成功的完成了这次的设计。
经过这次的系统设计,我也发现了不少自己不会的知识,通过查询各方面资料,我也进步了很多,也学会了很多上课时没掌握的东西, 最后在调试结果出来后,我更是无比的兴奋,无比的自豪。
总之,通过这次电子课程设计,我对自己的知识有了更好的掌握和应用,这使我在以后的学习和生活中受用终身。
致谢
这学期的单片机课程设计已经接近尾声,在这学期的设计过程中老师和同学们给了我很大的帮助和指导,让我顺利的完成了这次课程设计。
在这次课程设计中我学到了很多在上课中学不到的知识,课程设计真正的锻炼了我的单片机编程能力和动手能力。
本论文是在李新刚老师的亲切关怀和悉心指导下完成的。
他以严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。
从课题的选择到设计的最终完成,杨老师都始终给予我细心的指导和不懈的支持。
在此谨向杨老师致以诚挚的谢意和崇高的敬意。
参考文线
[1]谭浩强C程序设计(第四版)[M]2010.06清华大学出版社
[2]汪烈军单片机实验教程[M]2011.09西安交通大学出版社
[3]潘松EDA技术实用教程(第三版)[M]2006.01科学出版社
[4]侯殿有单片机C语言程序设计[M]2010.11人民邮电出版社
[5]郭天祥新概念51单片机C语言教程[M]2009.01电子工业出版社
新疆大学课程论文(设计)、学年论文评分表
题目
基于单片机INT0中断计数器设计与仿真
作者
依力亚斯·卡斯木
专业年级
电子09-2班
指导教师
李新刚
指导教师评语及
评分建议
指导教师:
院
(部)
或
教
研
室
意
见
学院或教研室主任:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- INT0 中断 计数