资源简介
基于单片机的 四路抢答器课程设计,包含程序,protues仿真文件,可根据自己电路进行修改。
![](http://www.nz998.com/pic/61754.jpg)
代码片段和文件信息
#include“reg51.h“
sbit k1=P2^2;
sbit k2=P2^3;
sbit k3=P2^4;
sbit q1=P3^0;
sbit q2=P3^1;
sbit q3=P3^2;
sbit q4=P3^3;
sbit bz=P1^5;
int a=5;
int m=10;
int shige;
int time=0;
int c=1;
int zan=1;
int f1f2f3f4;
f1=0;f2=0;f3=0;f4=0;
char table[]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f0x770x7c0x390x5e0x790x71};
void delay(int time)//延时程序
{int j;
for(;time>0;time--)
for(j=50;j>0;j--);}
void shu() //数字处理显示
{ shi=m/10;
ge=m%10; }
void anjian ()//按键扫描
{if((m!=0)&&(zan%2==0) )
{if(a==5)
{ if(q1==0)
{delay(5);
if(q1==0)
a=2;
f2++;TR0=0;
while(!q1) //抢答成功,蜂鸣器发声
{
bz=~bz;
delay(1);
} }
if(q2==0)
{delay(5);
if(q2==0)
a=1;
f1++;TR0=0;while(!q2) //抢答成功,蜂鸣器发声
{
bz=~bz;
delay(1);
} }
if(q3==0)
{delay(5);
if(q3==0)
a=3;
f3++;TR0=0;while(!q3) //抢答成功,蜂鸣器发声
{
bz=~bz;
delay(1);
} }
if(q4==0)
{delay(5);
if(q4==0)
a=4;
f4++; TR0=0; while(!q4) //抢答成功,蜂鸣器发声
{
bz=~bz;
delay(1);
} }
}
} }
void xianshi () //数码管循环显示程序
{ k3=k2=k1=0;
P0=table[f4];
delay(5);
P0=0x00;
k3=k2=0;k1=1;
P0=table[f3];
delay(5);
P0=0x00;
k3=k1=0;k2=1;
P0=table[f2];
delay(5);
P0=0x00;
k3=0;k2=k1=1;
P0=table[f1];
delay(5);
P0=0x00;
k3=k2=k1=1;
P0=table[c];
delay(5);
P0=0x00;
k3=k1=1;k2=0;
P0=table[shi];
delay(5);
P0=0x00;
k3=1;k2=k1=0;
P0=table[ge];
delay(5);
P0=0x00;
if(a<5)
{k1=0;k2=k3=1;
P0=table[a];
delay(5);
P0=0x00; }
}
void fuwei()//复位程序
{TH0=(65536-50001)/256;
TL0=(65536-50001)%256;
zan=1;
a=5;
m=10;
c++;
TR0=1;
time=0;
}
void kerz () //矩阵按键扫描程序
{P1=0x0f;
if(P1!=0x0f)
{delay(10);
if(P1!=0x0f)
{ switch(P1)
{case(0x07):zan++;break;
case(0x0b):fuwei();break;
/* case(0x0d):f1--;break;
case(0x0e):f2--;break;*/}
while(P1!=0x0f);
} } }
void T0_interserve(void) interrupt 1 using 1 //中断程序
{ TH0=(65536-50001)/256;
TL0=(65536-50001)%256;
time++;
if(time==20)
{ m--;
time=0;}
if(m==0)
{
fuwei();}
}
void main() //主程序
{TMOD=0x01;
ET0=1;
TH0=(65536-50001)%256;
TL0=(65536-50001)%256;
TR0=1;
while(1)
{ if(zan%2==1)
EA=0;
else
EA=1;
shu();
xianshi();
anjian();
kerz
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-01-06 19:03 基于单片机的四路抢答器\
目录 0 2019-01-06 19:03 基于单片机的四路抢答器\PROTUES仿真文件\
文件 266760 2019-01-06 18:59 基于单片机的四路抢答器\PROTUES仿真文件\QQ图片20190106185913.png
文件 266760 2019-01-06 18:59 基于单片机的四路抢答器\PROTUES仿真文件\QQ图片20190106185947.png
文件 124845 2019-01-06 19:00 基于单片机的四路抢答器\PROTUES仿真文件\抢答器.DSN
目录 0 2019-01-06 19:02 基于单片机的四路抢答器\单片机\
文件 3096 2019-01-06 18:49 基于单片机的四路抢答器\单片机\2.c
文件 2779 2019-01-06 18:49 基于单片机的四路抢答器\单片机\2.hex
文件 13386 2017-12-03 10:08 基于单片机的四路抢答器\单片机\2.uvproj
文件 414700 2016-10-11 08:55 基于单片机的四路抢答器\单片机\HC6800-ES V2.0.pdf
文件 128 2019-01-06 19:05 基于单片机的四路抢答器\说明.txt
相关资源
- Navicat Premium 15汉化包.zip55438
- 登录注册界面.zip48872
- 条码字体barcode128
- Rational Rose Common破解文件
- res10_300x300_ssd_iter_140000.caffemodel与dep
- scratch 第1课 翻跟斗的小猫(入门)
- stm32f407上的两个can发送和接收例程
- Scrach 欢乐狙击手.sb2
- 04741计算机网络原理知识点整理.docx(
- Wolfram Mathematica 矩阵初等变换函数(
- pscad近海风电模型 Fortran语言
- 程序员专用字体YaHei.Consolas.1.11b42517
- scratch3.0 源程序(说相声)
- AutoCAD永久去教育版破解补丁
- 开源1A锂电池充电板TP4056原理图+PCB
- m1卡 ic卡可选择扇区初始化加密软件
- TSCC.exe
- 欧姆龙CP1系列单轴定位PLC程序.cxp
- 用Beckhoff(倍福)PLC读写巴鲁夫RFID
- CVSNT 完整覆盖版防TortoiseCVS中文乱码
- pfc 使用说明.doc
- Scratch 飞机大战.sb3
- STC8951系列单片机中方指南
- 《Visual Prolog 基础类》 中文参考.chm
- Omron ETN21模块进行modbustcp通讯
- 基于ACCESS的生产管理信息系统.mdb
- CANopen使用手册_埃斯顿
- Scratch 吃豆人追踪者.sb3
- Scratch 变脸(将人物图片变成各种各样
- oracle数据迁移项目实施方案
评论
共有 条评论