资源简介
要求:
1、7人多数表决逻辑:多数通过。
2、在主持人控制下,10秒内表决有效。
3、采用数码管显示表决10秒倒计时。
4、表决结束后用发光二极管及数码管显示表决结果,数码管显示结果:通过、不通过,同意人数。
5、设主持人控制键、复位键。
控制键:启动表决
复位键:系统复位
6、表决开始、结束采用声音提示。
代码片段和文件信息
/*******************************************************************************
================================================================================
【平 台】STC89C51_sumjess平台
【编 写】sumjess
【E-mail 】1371129880@qq.com
【软件版本】V2.0
【最后更新】2019年06月10日
【相关信息参考下列地址】
【网 站】
https://blog.csdn.net/qq_38351824
http://www.51hei.com/bbs/mcu-2-1.html
---------------------------------------------------------------------------------
【dev.env.】MDK4.02及以上版本
【Target 】STC89C51
第一次修订:2019/05/09
第二次修订:2019/05/21
第三次修订:2019/06/10
【problem 】
(1)库内补充的不全面;
(2)库内解释部分不全面;
(3)库内还存在一定的bug;
【direction】
下一步的目标就是把库继续集成!
【explain 】
为了方便使用,我也自己写了很多的库,和优化了算法和表示方式!
【warning】
目前程序中暂无错误 !
---------------------------------------------------------------------------------
没有完美的代码,只有不断的奉献,大家一起努力;
赠人玫瑰手留余香,欢迎大家反馈bug!
================================================================================
********************************************************************************/
#include
#include
sbit smg1=P2^4; //定义数码管第一位
sbit smg2=P2^6; //定义数码管第二位
sbit smg3=P2^7; //定义数码管第三位
sbit smg4=P2^5; //定义数码管第四位
sbit keyks=P2^2; //定义开始按键
sbit keyqc=P2^0; //定义复位按键
sbit key1=P1^4; //定义1号抢答选手
sbit key2=P1^5; //定义2号抢答选手
sbit key3=P1^6; //定义3号抢答选手
sbit key4=P1^7; //定义4号抢答选手
sbit key5=P3^4; //定义5号抢答选手
sbit key6=P3^5; //定义6号抢答选手
sbit key7=P3^6; //定义7号抢答选手
sbit spk=P1^0; //定义蜂鸣器
int djsjs=0; //djs和bt是初始倒计时时间
//flag1~7用来保证在未开始表决之前误按 flagD用来控制是否显示倒计时 bjs表决计数
int flag1=0flag2=0flag3=0flag4=0flag5=0flag6=0flag7=0flagD=0bjs=0;
int table[]={0x5f0x440x9d0xd50xc60xd30xdb0x450xdf0xd70x800x9b};
// 0 1 2 3 4 5 6 7 8 9 E
void delayms(uint z) //毫秒
{
uint xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void Timer0_init() //定时器0初始化
{
js=0;
TMOD=0x01; //设置定时器0为工作方式1(M1M0为01)
TH0=(65536-45872)/256; //装初值11.0592M晶振定时50ms数为45872
TL0=(65536-45872)%256;
ET0=1; //开定时器0中断
EA=1; //开总中断
}
void timer0() interrupt 1 using 1 //定时器0中断服务函数
{
TH0=(65536-45872)/256; //装初值11.0592M晶振定时50ms数为45872
TL0=(65536-45872)%256;
js++; //叠加20次
if(js==20)
{
js=0; //清空
djs--; //产生1s的倒计时
}
}
void djsxs() //显示倒计时函数
{
int b1b2;
b1=djs/10;
b2=djs%10; //将倒计时时间分成高低位
P0=table[b1];
smg2=0;
delayms(3);
smg2=1; //显示十位数字
P0=table[b2];
smg3=0;
delayms(3); //显示个位数字
smg3=1;
}
void djsxs10() //第一位数码管显示 0
{
P0=0x5f; //第一位数码管显示0
smg1=0;
delayms(3);
smg1=1;
}
void djsxs11() //第一位数码管显示1
{
P0=0x44; //第一位数码管显示1
smg1=0;
delayms(3);
smg1=1;
}
void djsxs20() //第二位数码管显示 -
{
P0=0x80; //第二位数码管显示-
smg4=0;
delayms(3);
smg4=1;
}
void djsxs30() //第三位数码管显示 -
{
P0=0x80; //第三位数码管显示-
smg2=0;
delayms(3);
smg2=1;
}
void djs
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-07-02 09:29 课程设计题二:7人多数表决器\
目录 0 2019-07-02 09:28 课程设计题二:7人多数表决器\Sumejss_STC51\
文件 6376 2009-05-07 14:37 课程设计题二:7人多数表决器\Sumejss_STC51\STARTUP.A51
文件 14049 2019-07-02 09:26 课程设计题二:7人多数表决器\Sumejss_STC51\STARTUP.LST
文件 749 2019-07-02 09:26 课程设计题二:7人多数表决器\Sumejss_STC51\STARTUP.OBJ
文件 13084 2019-07-02 09:26 课程设计题二:7人多数表决器\Sumejss_STC51\Sumjess_stc51
文件 17000 2019-07-02 09:26 课程设计题二:7人多数表决器\Sumejss_STC51\Sumjess_stc51.LST
文件 20769 2019-07-02 09:26 课程设计题二:7人多数表决器\Sumejss_STC51\Sumjess_stc51.M51
文件 15246 2019-07-02 09:26 课程设计题二:7人多数表决器\Sumejss_STC51\Sumjess_stc51.OBJ
文件 8112 2019-07-02 09:25 课程设计题二:7人多数表决器\Sumejss_STC51\Sumjess_stc51.c
文件 3583 2019-07-02 09:26 课程设计题二:7人多数表决器\Sumejss_STC51\Sumjess_stc51.hex
文件 59 2019-07-02 09:26 课程设计题二:7人多数表决器\Sumejss_STC51\Sumjess_stc51.lnp
文件 14930 2019-07-02 09:26 课程设计题二:7人多数表决器\Sumejss_STC51\Sumjess_stc51.plg
文件 64932 2019-07-02 09:28 课程设计题二:7人多数表决器\Sumejss_STC51\Sumjess_stc51.uvopt
文件 13423 2019-07-02 09:17 课程设计题二:7人多数表决器\Sumejss_STC51\Sumjess_stc51.uvproj
文件 64920 2019-07-02 09:26 课程设计题二:7人多数表决器\Sumejss_STC51\Sumjess_stc51_uvopt.bak
文件 0 2019-07-02 07:56 课程设计题二:7人多数表决器\Sumejss_STC51\Sumjess_stc51_uvproj.bak
目录 0 2019-07-02 09:27 课程设计题二:7人多数表决器\仿真图\
文件 152656 2019-07-02 08:01 课程设计题二:7人多数表决器\仿真图\7人表决器~sumjess.DSN
文件 25174 2019-07-02 09:27 课程设计题二:7人多数表决器\仿真图\7人表决器~sumjess.pdsprj
文件 2202 2019-07-02 09:28 课程设计题二:7人多数表决器\仿真图\7人表决器~sumjess.pdsprj.DESKTOP-37880EN.别想打开!.workspace
文件 25172 2019-07-02 09:27 课程设计题二:7人多数表决器\仿真图\Backup Of 7人表决器~sumjess.pdsbak
文件 25138 2019-07-02 09:02 课程设计题二:7人多数表决器\仿真图\Last Loaded 7人表决器~sumjess.pdsbak
目录 0 2019-07-02 09:29 课程设计题二:7人多数表决器\芯片资料\
文件 267487 2019-07-02 09:29 课程设计题二:7人多数表决器\芯片资料\1602液晶说明.pdf
文件 210930 2019-07-02 09:29 课程设计题二:7人多数表决器\芯片资料\DS1302中文数据手册.pdf
文件 1388998 2019-07-02 09:29 课程设计题二:7人多数表决器\芯片资料\STC89C52.pdf
文件 238547 2019-07-02 09:29 课程设计题二:7人多数表决器\芯片资料\STC89C52RC单片机用户手册.pdf
文件 1396756 2019-07-02 09:29 课程设计题二:7人多数表决器\芯片资料\STC89C52单片机的中文介绍.pdf
- 上一篇:基于FPGA生成AM调幅波
- 下一篇:fftw-3.2.1.rar
相关资源
- Unity3d_动态改变按键设置
- FPGA VGA lcd1602 显示时钟 闹钟 按键控制
- opencv按像素切割图片并按照类别编号
- STM32-UCOSIII实战-----RTC+DHT11+按键+LCD显示
- QTableView 插入按钮等各种控件
- 按键精灵软件
- 4000个按钮小图标
- STM32F103触摸按键测试
- 路由按需加载react论坛提问回复功能基
- 2017年电子设计大赛_滚球控制系统源代
- STM32按键中断+串口回显
- atmel的电容触摸按键软件库使用说明
- 触摸按键与触摸屏设计指导.rar
- 同一个activity中通过一个按钮切换两个
- 实现可移动的Button
- CircularProgressButton
- 安卓点击按钮实现跳转功能
- Excel2019函数列表 (按字母)
- stm32f103+nrf24l01 收发程序按键选择模式
- Qt建立主窗口界面控制按钮调用两个独
- stm32 按键实现短按,长按,双击,组
- 基于STM32C8T6的按键温度双模式控制风
- 按键精灵录制的前台脚本转换后台脚
- stm32矩阵按键程序.rar
- 电话按键识别内含按键录音.rar
- 漂亮的图片轮播效果带暂停按钮控制
- 定制对话框标题栏颜色、按钮等
- MCGS 按钮美图
- oo9_keyConteolLed.rar
- 基于Flash的程序开发:按钮、键盘控制
评论
共有 条评论