当前位置: 首页 > news >正文

MTK8088单板机制作(四)10ms定时器生成器

1.功能需求

2.硬件

三、Keil 工程配置说明(2MHz 晶振)

1. 新建工程

  • 打开 Keil uVision

  • ProjectNew uVision Project

  • 选择保存路径,输入项目名称(如Timer0_2MHz

2. 选择 CPU 型号

推荐选择以下任一型号(均可正常运行):

  • AT89C52(Atmel / Microchip)

  • STC89C52RC

  • DS89C420

  • 或任何标准8052兼容芯片

3. 添加汇编源文件

  • 右键Source Group 1Add New Item→ 选择Assembly File (.asm)

  • 命名为main.asm

  • 将上一轮回复中的完整汇编代码复制进去

4. 关键配置:晶振频率 ⭐

  • 点击Target 1图标(或ProjectOptions for Target 'Target 1'

  • 切换到Target标签页

  • Xtal (MHz)输入框中填写:2

![设置示意]

text

Xtal (MHz): [2 ]

5. 输出 HEX 文件

  • 同窗口切换到Output标签页

  • 勾选Create HEX File

  • 可选:勾选Create Batch File

6. 编译与烧录

  • F7或点击Build按钮

  • 编译成功后生成.HEX文件

  • 使用编程器(如 STC-ISP、TL866、CH341 等)烧录到单片机

7. 仿真调试(可选)

  • 如果不需要硬件,可用 Keil 自带的软件仿真

  • 点击Start/Stop Debug Session(Ctrl+F5)

  • ViewWatch Window中添加变量TICK

  • ViewLogic Analyzer中观察 P1.7、P3.7 波形

完整可编译程序(2MHz 晶振)

$MOD52 ;------------------------------------------------------------------------------- ; 数据段定义 DSEG AT 30H TICK: DS 1 ; 10ms 计数器 (0-99) ;------------------------------------------------------------------------------- ; 代码段 CSEG AT 0 LJMP MAIN ; 复位入口 ORG 000BH ; Timer0 中断向量 LJMP TIMER0_ISR ;------------------------------------------------------------------------------- ; 主程序 CSEG AT 100H MAIN: ; 初始化堆栈 MOV SP, #60H ; 初始化 I/O 口 MOV P1, #0FFH ; P1 口设为输入 / 高电平输出 MOV P3, #0FFH ; P3 口初始高电平 ; 初始化变量 MOV TICK, #0 ; 初始化 Timer0 (16位定时器模式) MOV TMOD, #01H ; Timer0, 模式1 (16位) ; 定时初值: 2MHz 晶振, 10ms 中断 ; 机器周期 = 6µs, 需要 1667 个机器周期 ; 初值 = 65536 - 1667 = 63869 = 0xF97D MOV TH0, #0F9H MOV TL0, #07DH ; 开启中断 SETB ET0 ; 允许 Timer0 中断 SETB EA ; 总中断允许 SETB TR0 ; 启动 Timer0 ; 主循环:空闲等待中断 SJMP $ ;------------------------------------------------------------------------------- ; Timer0 中断服务程序 (每 10ms 执行一次) TIMER0_ISR: PUSH ACC PUSH PSW ; 重装 Timer0 初值 (10ms @ 2MHz) MOV TH0, #0F9H MOV TL0, #07DH ; 1. 产生 P3.7 低脉冲 (触发 Z80 中断) CLR P3.7 NOP ; 短暂延时 (6µs) NOP ; 又一个延时 (6µs) SETB P3.7 ; 2. 更新 TICK 计数器 MOV A, TICK INC A MOV TICK, A CJNE A, #100, ISR_EXIT ; 是否到达 1 秒? ; 3. 每 1 秒执行一次:P1.7 输出约 30 周期低脉冲 MOV TICK, #0 ; 重置计数器 CLR P1.7 ; 拉低 P1.7 MOV R7, #30 DJNZ R7, $ ; 延时约 30 个机器周期 (180µs) SETB P1.7 ; 拉高 P1.7 ISR_EXIT: POP PSW POP ACC RETI ;------------------------------------------------------------------------------- END
http://www.jsqmd.com/news/1021886/

相关文章:

  • 魔兽争霸3重返青春:一个老玩家的WarcraftHelper奇妙之旅
  • 2026年碳钢球费用与价格,哪家性价比高? - 工业品牌热点
  • 成都水电维修服务推荐、2026正规水电维修公司上门收费标准 - 我叫一
  • G7峰会AI治理新纪元:OpenAI、Google、Anthropic三巨头首次同台,全球AI监管从分歧走向共识
  • 英雄联盟Akari助手:智能游戏辅助工具终极使用指南
  • SLER-IR:基于球形分层专家路由的全能图像修复框架
  • 2026年英文降AI率全指南:亲测6款工具从80%降至安全线,选对少走弯路 - 降AI实验室
  • 团队协作AI编程工具选型指南:上下文理解与工作流嵌入实战
  • Java毕设选题推荐:基于 SpringBoot 的 Vue 电商后台管理平台设计与实现 互联网在线商场运维管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Keil Logic Analyzer 使用详解
  • 2026年苏州叉车培训市场深度观察:机构实力与学员选择全解析 - 优质品牌商家
  • Command A+千亿MoE模型单卡部署实战:W4A4量化与原生引用解析
  • 2026年乐山驾校与无人机培训报名咨询全解析:资质、费用与实操案例深度对比 - 优质品牌商家
  • 揭秘隐形车衣品牌,哪家价格实惠又好用? - mypinpai
  • 如何快速掌握窗口置顶技巧:PinWin完整使用指南
  • 2026年6月服务好的AGV货架批发厂家口碑推荐,贯通货架/精益管料架/牛脚式货架/货架,AGV货架批发厂家哪个好 - 品牌推荐师
  • 手机玩转Claude Code:CloudCLI UI重构CLI交互范式
  • Honey Select 2终极增强补丁:完整汉化与功能扩展解决方案
  • MTK8088单板机制作(五)10ms定时器生成器 C语言版
  • AI编程工具横评:2026开发者生存指南
  • 2026年黄原胶粉末采购指南:工业级与食品级供应商实力解析与真实案例参考 - 优质品牌商家
  • Java毕设选题推荐:基于 SpringBoot 的赛事团队信息管理系统设计与实现 高校学科竞赛组队管理平台的设计与开发【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 九型人格讲师资质选择白皮书:高源资质权威解析 - 奔跑123
  • 国产大模型落地的4个月断层:全栈能力实战拆解
  • 2026年海安工商变更服务哪家强?6家本地机构深度分析,含真实案例与避坑指南 - 优质品牌商家
  • 网络迷因“deideiapuapu”的生成逻辑与内容创作应用解析
  • 终极MPC Video Renderer故障排除指南:快速解决视频播放问题的完整教程
  • 猫抓浏览器扩展:三步掌握网页视频资源捕获的终极技巧
  • 如何用百元设备搭建个人飞行雷达:从好奇到掌控天空的奇妙旅程
  • 2026成都宠物寄养训练机构怎么选?5家真实基地深度对比(附价格与案例) - 优质品牌商家