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

【51单片机三路抢答器定时器1工作1外部中断1】2022-11-24

缘由51单片机怎么实现通过外部中断出发定时器-编程语言-CSDN问答

#include"reg52.h"
sbit s1=P3^0;
sbit s2=P3^1;
sbit s3=P3^2;
unsigned char Js=0,c=0;
unsigned char code led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x79};//共阴极数码管0-9
void EX_Init()
{TH1+=(65536-9216)/256;/*定时器赋初值,定时10ms触发中断,自动补偿方式*/TL1+=(65536-9216)%256; TMOD=0X10;//16位定时器/计数器ET1=EA=EX1=IT1=1; //启动定时器T0开启定时器。TR1=0;
}
void main()
{unsigned char xd=0;EX_Init();P2=0;while(1){P0 = ~led_mod[c?c:10];if(TR1&&c){if(Js==100){Js=0;if(--c==0)TR1=0;}if(!s1&&++xd==0){TR1=0;while(!s1)P1 = ~led_mod[1];P2=15;}if(!s2&&++xd==0){TR1=0;while(!s2)P1 = ~led_mod[2];P2=15;}if(!s3&&++xd==0){TR1=0;while(!s3)P1 = ~led_mod[3];P2=15;}}}
}
void EX0_ISP()interrupt 2
{c=5;TR1=1;P2=12;Js=0;
}
void ZhongDuan() interrupt 3
{++Js;TH1+=(65536-9216)/256;TL1+=(65536-9216)%256;       
}

http://www.dtcms.com/a/362067.html

相关文章:

  • [Windows] 图片裁剪 v1.0 按比例裁剪图片部分另存
  • nginx关于root
  • 【大模型记忆-Mem0详解-3】安装和设置
  • 35.序列(中)
  • 在Linux系统中安装Jenkins(保姆级别)
  • Linux 下 MySQL 数据库定时备份脚本与 Crontab 配置
  • 在本地使用 Docker 创建一个易受攻击的云环境
  • Day23 机器学习流水线(管道/pipeline)
  • Windows系统安装Git详细教程
  • c# winform 拼图游戏
  • 随机获取集合里面的某一条数据
  • 利用Mybatis自定义排序规则实现复杂排序
  • UBUNTU之Onvif开源服务器onvif_srvd:1、编译
  • Java synchronized 关键字详解
  • JAVA后端开发——forEach 与方法引用(::)详解
  • 剧想智读项目展示
  • 针对redis中的热数据该怎么处理
  • Qt 项目文件(.pro)中添加 UI 文件相关命令
  • 【系规伴学】云资源规划核心知识点解析
  • vcruntime140.dll丢失解决办法
  • pandas自学笔记16 pandas可视化
  • 继承体系中的隐藏机制解析(继承中的作用域)
  • Unity图集 SpriteAltas 打包探究
  • [界面通过zmq请求调用指定动态库函数(三)]将zmq请求集成二次开发接口
  • Android 文件下载 FileDownloader
  • TypeScript交叉类型、重复属性、类型断言和as const详解
  • 光颉科技)Viking)的CS25FTFR009 1225 0.009R/9mR 3W电阻介绍-华年商城
  • 【笔记】float类型的精度有限,无法精确表示123456.6789
  • 【Audio】静音或振动模式下重复来电响铃
  • Java Web项目后台管理系统之内容管理仿写(三):图片上传