单片机第五次实验课——定时器实验
五、单片机第五次实验课——定时器实验
(1)采用定时器控制从 P1.0 输出 1000Hz 音频信号。
ORG 0000H LJMP MAIN ORG 000BH LJMP TINT0 MAIN: MOV TMOD,#00000001B MOV TH0,#0F9H MOV TL0,#7EH SETB TR0 SETB EA SETB ET0 SJMP $ TINT0: CPL P1.0 MOV TH0,#0F9H MOV TL0,#7EH RETI END
实验室所用晶振为40MHZ,其机器周期为(1/40)*12=0.3μs,要产生的音频信号周期为1/1000s=1000μs,半个周期改变一次,所以定时器所需计数初值为:500/0.3=1666,-1666的补码为F97E(用电脑自带的计算器算的,点击左上角选择程序员模式就可以用了),高位放TH0,低位放TL0,用示波器测得实际输出频率为994HZ。
(2)采用定时器控制从 P1.0 和 P1.1 分别输出周期为 2ms 和50μs 的方波。
ORG 0000H LJMP MAIN ORG 001BH LJMP TINT1 MAIN: MOV R0,#28H MOV TMOD,#00100000B MOV TH1,#0ADH MOV TL1,#0ADH SETB EA SETB TR1 SETB ET1 SJMP $ TINT1: CPL P1.1 MOV TH0,#0ADH MOV TL0,#0ADH DJNZ R0,BACK CPL P1.0 MOV R0,#28H BACK: RETI END
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构