欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOCX文档下载
 

单片机实验3中断、定时器计数器实验

  • 资源ID:108562363       资源大小:160.92KB        全文页数:11页
  • 资源格式: DOCX        下载积分:15积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要15积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

单片机实验3中断、定时器计数器实验

西南科技大学实验报告课程名称:单片机原理及应用A实验名称:中断、定时器/计数器实验姓名:学号:班级:生医1401指导教师:雷华军-word资料-西南科技大学信息工程学院制实验题目数码管动态扫描显示驱动、键盘动态扫描驱动实验目的1熟练稳固单片机开发环境KEIL界面的相关操作和PROTUES仿真软件的操作,会使用HEX文件进展单片机的仿真。2、了解定时器的原理和四种工作方式的使用方法,学习定时器的相关应用,包括产生信号和计数,利用定时器进展延时等。3、进一步掌握熟练单个数码管以及多位数码管的显示原理,学会将01000的数字进展显示。4、掌握利用单片机产生矩形方脉冲的相关原理。实验原理1、定时器构造和原理中Eli上图为定时器T0、T1的构造,其中振荡器经12分频后作为定时器的时钟脉冲,T为外部计数脉冲输入端,通过开关K1选择。反相器,或门,与门共同构成启/停控制信号。TH和TL为加1计数器,TF为中断标志。每接收到一个脉冲,加1计数器自动加1,当计数器中的数被加为0时产生溢出标志,TF将被置1。计数器工作方式的选择和功能的实现需要配置相应的存放器TMOD和TCON2、定时器工作方式定时器共有四种工作方式分别为方式0方式3。方式0:13位计数器,最大计数值为213个脉冲。方式1:16位计数器,最大计数值为216个脉冲。方式2:8位自动重装计数器。该方式下,TL进展计数工作,TH用于存放计数初值,当产生溢出中断请求时会自动将TH中的初值重新装入TL,以使计数器继续工作。方式3:仅限于T0计数器,在方式3下,TO计数器被分成两个独立的8为计数器TL0和TH0。3、定时器间隔1ms产生一个脉冲利用单片机1P3.0口进展脉冲的输出,通过定时器进展端口定时控制,实现每1ms上下电平变换。就可以实现一个占空比为50%的矩形脉冲输出。对于定时器的定时功能实现,需要进展定时器模式选择,定时器初值设定。4、利用中断进展脉冲的计数将单片机1P3.0口输出的脉冲连接到单片机2的中断INTO口P3.2,通过脉冲的上下电平变换触发中断0,进展脉冲个数的计数。三、实验步骤一实验详细步骤1、启动KEIL建立一个空白工程,然后命名文件。2、新建源程序文件,输入程序代码并保存,然后进展综合编译。假设在编译过程中发现错误,那么找出并更正错误,直至编译成功为止。3、通过设置生成HEX文件,保存。4、启动Protues建立一个空白工程,然后命名文件5、进展电路的原理图连接并输入HEX文件进展仿真。图图如图为单片机1的脉冲产生系统,通过定时的定时控制,让P3.0口输出脉宽为1ms的方脉冲,对于定时器程序的初始化。TMOD=(TMOD&0XFO)|OXOO;/定时器模式0的选择s=8192-11059.2/12;TH0=s/32;TL0=s%32;/定时器的初值的设定如图为单片机2的电路连接原理,单片机通过承受单片机1的方脉冲信号触发中断进展计数,没来一个脉冲记一次数,再通过数码管显示出来。四、实验结果及分析FFFMFFrkE=FF£djjhllirIE1碁jI'Ll4MyLRL图#=#=奇昼1产生脉冲并通过数码管显示脉冲产当按下按键时开场产生并传送脉冲,通过按下按键开场进展脉冲的产生和计数,如图左边为单片机生数,右边为单片机2承受脉冲同时也通过数码管显示脉冲承受数字。通过一个VSMcountertimer进展计数验证的准确与否。按下按键后发现两个多位数码管同时显示并跳转同样的数字,并且计数器也显示同样的数字。如图所示。图最后通过示波器验证观察所产生的脉冲是否正确,通过调节示波器上的时间和幅度旋钮可以观察到矩形方波的产生。如图所示图问题一:运行电路时,数码管乱码解决的方法:检查电路,发现程序中扫描信号端口错误,将扫描信号的端口顺序调换,重新运行。问题二:定时器的时间设置问题解决的方法:检查程序,发现是是定时器的初始化设置问题,在改动后,重新编译后在次运行电路,电路正常显示,符合要求。通过本次实验,通过实验我切身实际的进展代码的编写以及电路的仿真连接从中发现问题,解决问题,再而收获知识,获取经历。五、体会通过本次的实验,在前三个实验的根底上让我复习了知识点,也让我在次掌握了新的知识。在完成这次实验后,让我更加熟悉数码管的显示功能代码的实现。并且还学会了定时器中断的运用,学会了用更加准确的方式去进展定时延时操作。我觉得这次的课程实验让我知道,一次次的失败,并不会让我放弃去追求,相反它会引领着我去发现问题,从而解决问题,完成更深入的探索。也让我明白理论知识的重要性,并且与实际相结合,多动手,在实践中成长。所以我会很重视每一次的实验。我坚信:每次实验都会给我自身很大帮助。慢慢的积累点滴的知识,到最后就会多的。六、附录1、单片机1脉冲产生代码#include<STC12C5A60S2.h>unsignedcharcodeET10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;unsignedintAT,s;unsignedinta,b,c,d;voiddelay(intcounter)inti,j;for(i=0;i<10;i+)for(j=0;j<counter;j+);voidanjian(void)interrupt0P30=1;TR0=TR0;voidTimer(void)interrupt1unsignedintcount;s=8192-11059.2/12;TH0=s/32;TL0=s%32;if(+count>10)count=0;P30=P30;if(P30=0)AT+;if(AT>9999)AT=0;voidmain()TMOD=(TMOD&0XF0)|0X00;s=8192-11059.2/12;TH0=s/32;TL0=s%32;TR0=0;ET0=1;/按键进展控制开场产生脉冲/中断函数/上下电平取反/模式0选择/初值设定IT0=1;EX0=1;EA=1;/定时器的初始化while(1)if(AT<10)a=AT;P2=0xff;/消除鬼影P1=0xf7;P2=ETa;elseif(AT<100)/消除鬼影/消除鬼影a=AT%10;P2=0xff;P1=0xf7;P2=ETa;delay(2);b=AT/10;P2=0xff;P1=0xfb;P2=ETb;delay(2);elseif(AT<1000)a=AT%100%10;P2=0xff;/消除鬼影P1=0xf7;P2=ETa;delay(2);b=AT%100/10;P2=0xff;/消除鬼影P1=0xfb;P2=ETb;delay(2);c=AT/100;P2=0xff;/消除鬼影P1=0xfd;P2=ETc;delay(2);elseif(AT<10000)a=AT%1000%100%10;P2=0xff;/消除鬼影P1=0xf7;P2=ETa;delay(2);b=AT%1000%100/10;P2=0xff;/消除鬼影P1=0xfb;P2=ETb;delay(2);c=AT%1000/100;P2=0xff;/消除鬼影P1=0xfd;P2=ETc;delay(2);d=AT/1000;P2=0xff;/消除鬼影P1=0xfe;P2=ETd;delay(2);/数码管进展数字显示局部2、单片机2承受脉冲代码#include<STC12C5A60S2.h>unsignedcharcodeET10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;unsignedintAT;unsignedinta,b,c,d;voiddelay(intcounter)inti,j;for(i=0;i<10;i+)for(j=0;j<counter;j+);voidanjian(void)interrupt0/中断函数,触发一次计数一次AT+;voidmain()IT0=1;EX0=1;EA=1;/中断0初始化while(1)if(AT<10)a=AT;P2=0xff;/消除鬼影P1=0xf7;P2=ETa;elseif(AT<100)a=AT%10;P2=0xff;/消除鬼影P1=0xf7;P2=ETa;delay(2);b=AT/10;P2=0xff;/消除鬼影P1=0xfb;P2=ETb;delay(2);elseif(AT<1000)a=AT%100%10;P2=0xff;/消除鬼影P1=0xf7;P2=ETa;delay(2);b=AT%100/10;P2=0xff;/消除鬼影P1=0xfb;P2=ETb;delay(2);c=AT/100;P2=0xff;/消除鬼影P1=0xfd;P2=ETc;delay(2);elseif(AT<10000)a=AT%1000%100%10;P2=0xff;/消除鬼影P1=0xf7;P2=ETa;delay(2);b=AT%1000%100/10;P2=0xff;/消除鬼影P1=0xfb;P2=ETb;delay(2);c=AT%1000/100;P2=0xff;/消除鬼影P1=0xfd;P2=ETc;delay(2);d=AT/1000;P2=0xff;/消除鬼影P1=0xfe;P2=ETd;delay(2);

注意事项

本文(单片机实验3中断、定时器计数器实验)为本站会员(lis****211)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!