




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.西南科技大学实验报告课程名称 :单片机原理及应用A实验名称 :中断、定时器 / 计数器实验姓名:.专业 .专注.学号:班级:生医 1401指导教师 :雷华军西南科技大学信息工程学院制.专业 .专注.实验题目数码管动态扫描显示驱动、键盘动态扫描驱动一、实验目的1、熟练巩固单片机开发环境KEIL 界面的相关操作和PROTUES 仿真软件的操作,会使用 HEX 文件进行单片机的仿真。2、了解定时器的原理和四种工作方式的使用方法,学习定时器的相关应用,包括产生信号和计数,利用定时器进行延时等 。3、进一步掌握熟练单个数码管以及多位数码管的显示原理,学会将01000的数字进行显示。4、掌握利用单片机产
2、生矩形方脉冲的相关原理。二、实验原理1、定时器结构和原理图 上图 为定时器T0、T1 的结构,其中振荡器经12 分频后作为定时器的时钟脉冲,T为外部计数脉冲输入端 ,通过开关 K1 选择 。反相器 ,或门,与门共同构成启 / 停控制信号 。TH 和 TL 为加 1 计数器, TF 为中断标志 。每接收到一个脉冲 ,加 1 计数器自动加 1,当计数器中的数被加为0 时产生溢出标志 ,TF 将被置 1。计数器工作方式的选择和功能的实现需要.专业 .专注.配置相应的寄存器TMOD 和 TCON。2、定时器工作方式定时器共有四种工作方式分别为方式0 方式 3。方式 0:13 位计数器 ,最大计数值为
3、213 个脉冲 。方式 1:16 位计数器 ,最大计数值为 216 个脉冲 。方式 2:8 位自动重装计数器 。该方式下 , TL 进行计数工作 ,TH 用于存放计数初值 ,当产生溢出中断请求时会自动将TH 中的初值重新装入TL,以使计数器继续工作 。方式 3:仅限于 T0 计数器,在方式 3 下,T0 计数器被分成两个独立的8 为计数器 TL0 和TH0。3、定时器间隔 1ms 产生一个脉冲利用单片机 1 P3.0 口进行脉冲的输出 ,通过定时器进行端口定时控制,实现每 1ms 高低电平变换 。 就可以实现一个占空比为50%的矩形脉冲输出 。 对于定时器的定时功能实现,需要进行定时器模式选择
4、 ,定时器初值设定 。4、利用中断进行脉冲的计数将单片机 1 P3.0 口输出的脉冲连接到单片机2 的中断 INT0 口 P3.2,通过脉冲的高低电平变换触发中断0,进行脉冲个数的计数 。三、实验步骤(一)实验详细步骤1、启动 KEIL 建立一个空白工程 ,然后命名文件 。2、新建源程序文件,输入程序代码并保存,然后进行综合编译。若在编译过程中发现错误,则找出并更正错误 ,直至编译成功为止 。3、通过设置生成 HEX 文件 ,保存 。4、启动 Protues 建立一个空白工程 ,然后命名文件.专业 .专注.5、进行电路的原理图连接并输入HEX 文件进行仿真 。(二)实验仿真原理图图图如图 为单
5、片机1 的脉冲产生系统,通过定时的定时控制,让 P3.0 口输出脉宽为1ms 的方脉冲 ,对于定时器程序的初始化。 TMOD = (TMOD&0XF0)|0X00;/定时器模式0 的选择s = 8192-11059.2/12;TH0 = s/32;TL0 = s%32;/定时器的初值的设定如图 为单片机 2 的电路连接原理,单片机 通过接受单片机1 的方脉冲信号触发中断进行计数,没来一个脉冲记一次数,再通过数码管显示出来。四、实验结果及分析.专业 .专注.图 通过按下按键开始进行脉冲的产生和计数,如图 左边为单片机1 产生脉冲并通过数码管显示脉冲产生数 ,右边为单片机2 接受脉冲同时也
6、通过数码管显示脉冲接受数字。当按下按键时开始产生并传送脉冲,通过一个 VSM counter timer进行计数验证的准确与否。按下按键后发现两个多位数码管同时显示并跳转同样的数字,并且计数器也显示同样的数字。如图 所示 。.专业 .专注.图最后通过示波器验证观察所产生的脉冲是否正确,通过调节示波器上的时间和幅度旋钮可以观察到矩形方波的产生。如图 所示图问题一:运行电路时 ,数码管乱码解决的方法 :检查电路 ,发现程序中扫描信号端口错误,将扫描信号的端口顺序调换,重新运行 。问题二:定时器的时间设置问题解决的方法 :检查程序 ,发现是是定时器的初始化设置问题,在改动后 ,重新编译后在次运行电路
7、 ,电路正常显示 ,符合要求 。通过本次实验 ,通过实验我切身实际的进行代码的编写以及电路的仿真连接从中发现问题,解决问题 ,再而收获知识 ,获取经验 。.专业 .专注.五、体会通过本次的实验 ,在前三个实验的基础上让我复习了知识点,也让我在次掌握了新的知识。在完成这次实验后 ,让我更加熟悉数码管的显示功能代码的实现。并且还学会了定时器中断的运用 ,学会了用更加精确的方式去进行定时延时操作。我觉得这次的课程实验让我知道,一次次的失败 ,并不会让我放弃去追求,相反它会引领着我去发现问题,从而解决问题,完成更深入的探索 。 也让我明白理论知识的重要性,并且与实际相结合 ,多动手 ,在实践中成长 。
8、 所以我会很重视每一次的实验。我坚信 :每次实验都会给我自身很大帮助。慢慢的积累点滴的知识 ,到最后就会多的 。六、附录1、单片机 1 脉冲产生代码#include<STC12C5A60S2.h>unsigned char code ET10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;unsigned int AT,s;unsigned int a,b,c,d;void delay(int counter)int i,j;for(i = 0;i < 10;i+)for( j =0;j < counter;j+);
9、void anjian(void) interrupt 0/ 按键进行控制开始产生脉冲P30=1;.专业 .专注.TR0 =TR0;void Timer(void) interrupt 1/ 中断函数unsigned int count;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;void main ().专业 .专注.TMOD = (TMOD&0XF0)|0X00;/ 模式 0 选择s =
10、 8192-11059.2/12;TH0 = s/32;TL0 = s%32;/ 初值设定TR0 = 0;ET0 = 1;IT0 = 1;EX0 = 1;EA = 1;/ 定时器的初始化while (1)if(AT<10)a=AT;P2 = 0xff;/ 消除鬼影P1 = 0xf7;P2 = ETa;else if(AT<100)a=AT%10;P2 = 0xff;/ 消除鬼影.专业 .专注.P1 = 0xf7;P2 = ETa;delay(2);b=AT/10;P2= 0xff;/ 消除鬼影P1= 0xfb;P2= ETb;delay(2);else if(AT<1000)
11、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);else if(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;de
12、lay(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>unsigned char code ET10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;unsigned int AT;unsigned int a,b,c,d;void dela
13、y(int counter)int i,j;for(i = 0;i < 10;i+)for( j =0;j < counter;j+);.专业 .专注.void anjian(void) interrupt 0/ 中断函数 ,触发一次计数一次AT+;void main ()IT0 = 1;EX0 = 1;EA=1;/中断 0初始化while (1)if(AT<10)a=AT;P2 = 0xff;/ 消除鬼影P1 = 0xf7;P2 = ETa;else if(AT<100)a=AT%10;.专业 .专注. . .P2= 0xff;/ 消除鬼影P1= 0xf7;P2= ETa;delay(2);b=AT/10;P2= 0xff;/ 消除鬼影P1= 0xfb;P2= ETb;delay(2);else if(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);else if(AT<10000)a=AT%1000%100%10;P2 = 0xff;/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 品牌设计师合同协议书
- 夜市摊合伙经营协议书
- 遗赠公正协议书
- 终止供气协议书
- 续签延期协议书
- 租赁船舶协议书
- 财产房屋协议书
- 小程序转让合同协议书
- 留校任教协议书
- 案件赔偿款分配协议书
- 中华诗词之美学习通超星期末考试答案章节答案2024年
- GB/T 44273-2024水力发电工程运行管理规范
- 个人自愿选择一次性缴纳企业职工基本养老保险费申请表
- 国家电网招投标培训
- DL∕T 1100.1-2018 电力系统的时间同步系统 第1部分:技术规范
- CJ/T 158-2002 城市污水处理厂管道和设备色标
- 《琵琶行(并序)》课件 2024-2025学年统编版高中语文必修上册
- 2024年山西高考地理试题及答案 (3) - 副本
- 2023-2024学年人教版八年级下册数学期末复习试题
- 2024年地理中考重点综合题答题模板
- 卒中中心宣教管理制度
评论
0/150
提交评论