《单片机原理与应用》课程课程实验报告实验三 定时计数+中断综合控制实验 |
您所在的位置:网站首页 › 定时器、计数器指令实验 › 《单片机原理与应用》课程课程实验报告实验三 定时计数+中断综合控制实验 |
《单片机原理与应用》课程 课程实验报告 实验三 定时/计数+中断综合控制实验 实验目的 学习AT89S51内部定时器/计数器的使用和编程方法;掌握中断处理程序的编程方法。学习蜂鸣器的使用方法 实验内容与步骤 将定时器/计数器T0作定时器使用,编制程序用T0控制P1.0端口线输出1Hz的方波,使LED闪烁。(参考例7-1,仿真实现) 2. 实物实现上述功能(实验开发板实现,连接8只LED灯的输出端口需改成P2口) (现场验收点1:仿真和实物同时演示结果。) 3. 计数器+中断综合应用实验:采用T1的计数模式,方式1中断,计数输入引脚T1(P3.5)上外接按钮开关,作为计数信号输入。按4次按钮开关后,P1.0口的LED闪烁不停(图如下,程序参考例题7-2 ,基于KEIL+Proteus仿真实现)。 4. 基于开发板以实物方式实现步骤3中的功能,此时需将连接8只LED灯的输出端口改成P2口,计数输入引脚T1(P3.5)实际对应开发板上的K5(即不变)。 (现场验收点2:仿真和实物同时演示结果。) 蜂鸣器运用:用单片机驱动蜂鸣器,发出0.5KHz的声音,仿真图可参考例题7-3。(1)先用示波器仿真输出,程序参考例题7-3;(2)然后用开发板蜂鸣器输出,开发板蜂鸣器连接关系见下面的开发板蜂鸣器连接关系图;(3)然后参照PPT中例题7-4的前半部分,即“参照7-3修改得到的1KHz单音程序”部分,实现开发板的1kHz的输出,并比较出与0.5KHz声音的差别。提醒:开发板实物实现时,需将仿真时连到P1.0端口的蜂鸣器改成P2.1端口。 仿真参考图: 开发板蜂鸣器连接关系图:
三、 实验环境 Keil软件,proteus仿真软件,51开发板,PC机。 实验系统的总体设计//1 2// 4// 5//
五、 实验系统的详细设计与实验过程 1. 仿真部分: 用仿真软件proteus画原理图;//定时器/计数器T0作定时器 //计数器+中断综合应用实验 //示波器 //蜂鸣器 //门铃 (原始版本) (修改版本)可运行,有声音 用keil软件编写功能程序并生成hex文件(4)加载(烧写)程序,调试并记录实验现象; 实物开发板部分://定时器/计数器T0作定时器 //计数器+中断综合应用实验(GIF文件) //示波器(已演示) //蜂鸣器(已演示) 程序代码//定时器/计数器T0作定时器 #include unsigned char i=100; void Delay(unsigned int xms) { unsigned char i,j; while(xms--) { i=2; j=239; do { while(--j); }while(--i); } } void main() { TMOD=0x01;//定时器T0工作方式1 TH0=0xee;//设置定时器初始值 TL0=0x00;// P1=0x00;//P1口八个LED灯点亮 EA=1;//总是中断允许 ET0=1;//允许定时器T0中断 TR0=1;//启动定时器 while(1)//循环等待 {
} } void timer0() interrupt 1 //T0中断 { TH0=0xee;//重新赋值 TL0=0x00;// i--;//循环减1 for(;;) { P1=~P1;//取反 Delay(500); P1=~P1; Delay(500); i=100;//重复循环次数 } } //计数器+中断综合应用实验 #include void Delay(unsigned int i) { unsigned int j; for(;i>0;i--) for(j=0;j |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |