logo资料库

定时器的使用-PWM产生、按键.doc

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
深 圳 大 学 实 验 报 告 课程名称: 微型计算机原理 实验项目名称:实验 9. 定时器的使用-PWM 产生、按键 学院:医学院 专业: 生物医学工程 指导教师:尹力 报告人:蔡笑玲 学号:2009222007 班级: 1 实验时间: 2011-5-19 实验报告提交时间: 2011-5-25 教务处制
实验目的与要求: 1、定时器是单片机中最重要的功能之一,了解溢出式传统定时器的使用方法。 2、了解如何用定时器来实现按键的去抖动功能。 方法、步骤:
实验过程及内容: (1):用汇编语言编写程序,使用定时器中断,实现从 P0.0 输出频率为 1KHz 的方 波。 (2):修改程序,使 P0.0 输出 PWM 波,令其占空比为 1:4,也就是 250us 的高电 平输出,750us 的低电平输出。 用示波器观察(1)、(2)输出的波形,看看输出的波形是否与自己程序设定的 一致。 (3):用 C 语言重写(1)(2)的程序,观察汇编和 C 两个程序运行效果是否一样。 (4)调整程序中占空比输出,用示波器观察输出的变化 (5)也可以将输出引脚接到 LED 上,观察占空比变化时,LED 亮度的变化。 数据处理分析: 实验 9.1: ORG 0000H LJMP MAIN ORG 000BH JMP T0_INT ORG 30H MAIN: MOV TMOD ,#01H MOV TH0,#0FEH MOV TL0,#33H SETB EA SETB ET0 SETB TR0 SJMP $ T0_INT: CPL P2.6 MOV TH0,#0FEH MOV TL0,#33H RETI END 实验 9.2: ORG 0000H LJMP MAIN ORG 000BH JMP T0_INT ORG 30H MAIN: MOV TMOD ,#01H MOV TH0,#0FEH MOV TL0,#0CH SETB EA
SETB ET0 SETB P2.6 SETB TR0 T0_INT: JB P2.6,T0_INT1 CPL P2.6 MOV TH0,#0FEH MOV TL0,#0CH JMP EXIT RETI T0_INT1: CPL P2.6 MOV TH0,#0FAH MOV TL0, #24H EXIT: RETI END 9.1C 语言实现: #include "STC12C5A60S2.h" #include "Common.h" void Timer0_Init() { TMOD &= (~0x04); TMOD &= (~0x03); TMOD |= 0x01; TH0 = (uint8)(64536>>8); TL0 = (uint8)64536; PT0 = 0; ET0 = 1; TR0 = 1; EA=1; } void Timer0_ISR() interrupt 1 { P2=(~P2); TH0 = (uint8)(64536>>8); TL0 = (uint8) 64536; } //AND // OR // TMOD.1 =0 使用 16 位模式,TH0,TL0 全用 // 给定时器赋初值 右移 8 位 // 低优先级 // 使能定时器 0 中断 // 启动定时器 0 // 使能总中断
9.2C 语言实现: 深圳大学学生实验报告用纸
实验结论: 指导教师批阅意见: 成绩评定: 备注: 指导教师签字: 年 月 日 注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。 2、教师批改学生实验报告时间应在学生提交实验报告时间后 10 日内。
分享到:
收藏