课程设计题二:7人多数表决器
要求:
1、7人多数表决逻辑:多数通过。
2、在主持人控制下,10秒内表决有效。
3、采用数码管显示表决10秒倒计时。
4、表决结束后用发光二极管及数码管显示表决结果,数码管显示结果:通过、不通过,同意人数。
5、设主持人控制键、复位键。
控制键:启动表决
复位键:系统复位
6、表决开始、结束采用声音提示。
获取该 程序+protues 的方式:
1、CSDN下载:
https://download.csdn.net/download/qq_38351824/11267698
一、Protues仿真图:
二、程序源码:
因为注释非常的全,这里就不再进行讲解了。
/*******************************************************************************
================================================================================
【平 台】STC89C51_sumjess平台
【编 写】sumjess
【E-mail 】1371129880@qq.com
【软件版本】V2.0
【最后更新】2019年06月10日
【相关信息参考下列地址】
【网 站】https://blog.csdn.net/qq_38351824http://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<reg51.h>
#include<intrins.h>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 djs,js=0; //djs和bt是初始倒计时时间
//flag1~7用来保证在未开始表决之前误按 flagD用来控制是否显示倒计时 bjs表决计数
int flag1=0,flag2=0,flag3=0,flag4=0,flag5=0,flag6=0,flag7=0,flagD=0,bjs=0;
int table[]={0x5f,0x44,0x9d,0xd5,0xc6,0xd3,0xdb,0x45,0xdf,0xd7,0x80,0x9b};// 0 1 2 3 4 5 6 7 8 9 E
void delayms(uint z) //毫秒
{uint x,y;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数为45872TL0=(65536-45872)%256; ET0=1; //开定时器0中断EA=1; //开总中断
}void timer0() interrupt 1 using 1 //定时器0中断服务函数
{TH0=(65536-45872)/256; //装初值11.0592M晶振定时50ms数为45872TL0=(65536-45872)%256; js++; //叠加20次if(js==20) { js=0; //清空djs--; //产生1s的倒计时}
}void djsxs() //显示倒计时函数
{ int b1,b2;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; //第一位数码管显示0smg1=0;delayms(3);smg1=1;
}
void djsxs11() //第一位数码管显示1
{P0=0x44; //第一位数码管显示1smg1=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 djsxs0() //第四位数码管显示0
{P0=table[0];smg3=0;delayms(3);smg3=1; //第四位数码管显示0}
void djsxs1() //第四位数码管显示1
{P0=table[1]; //第四位数码管显示1smg3=0;delayms(3);smg3=1; }
void djsxs2() //第四位数码管显示2
{P0=table[2];smg3=0;delayms(3);smg3=1; //第四位数码管显示2}----由于篇幅的问题,只显示一部分,请下载后自行观看,程序非常的全-----
-----关注公众号免费下载-----
课程设计题二:7人多数表决器相关推荐
- Java课程设计题目二:保存计算过程的计算器
Java课程设计题目二:保存计算过程的计算器 1 设计要求 参考Windows 操作系统提供的计算器设计一个实用的计算器,要求除了具有普通的计算功能外,还具有保存计算过程的功能. ①单击计算器上的数字 ...
- C语言课程设计题库及答案,C语言课程设计题目.docx
C语言课程设计题目 一. 设计要求与设计报告 设计要求: 1. 任意选定以下一个题目完成 2. 模块化程序设计 3. 锯齿形程序书写格式 设计报告格式: 1. 设计的目的 2. 总体设计(程序设计组成 ...
- 在设计四人抢答器中灯全亮_数字电子技术课程设计报告(四人抢答器).doc
Word格式 完美整理 数字逻辑电路 课程设计报告 系 (部): 三 系 专 业: 通 信 工 程 班 级: 12 通 信 2 班 姓 名: 杨 超 学 号: 20120306201 成 绩: 指导老 ...
- 自学c语言中相关知识,设计出医院住院管理系统.要求如下所述:,C语言课程设计题Z目.doc...
C程序课程设计 题目及任务 设计题目.任务 从以下三个题目中任选一个 题目一:汽车售票系统 任务:自学C语言中相关知识,设计出汽车售票系统.要求如下所述: 每天"武汉火车站→天河机场&quo ...
- 武汉工程大学信息与计算科学专业面向对象程序设计课程设计题
课程设计内容(从以下任务中任选一个) 1 售票处的服务系统 设计民航售票处的计算机系统可以为客户提供以下各项服务: (1)查询航线:根据旅客提出的终点站名输出以下信息:航班号.飞机号.星期几飞行.最 ...
- 桂林电子科技大学操作系统课程设计(二)
桂林电子科技大学操作系统课程设计(project1) 一.项目设计目的 熟悉ELF文件格式,了解GeekOS系统如何将ELF格式的可执行程序装入到内存,建立内核进程并运行的实现技术. 二.项目设计要求 ...
- html5 网页课程设计(二)
我的网页作品的设计主题: 我的课程设计作品"美景如画"网页设计开发实践,初衷是现阶段以来,我们的生活需求已经从关注温饱问题到现在的追求更高质量更高水平的生活质量的问题上来.我们常说 ...
- 计算机组成课程设计之二——微程序控制的存储器读写系统设计
如果部分电路图显示不清楚可放大页面后查看 设计要求 课程设计平台为设计环境提供了容量为256×8的随机存储器.在此基础上,设计相应的外围电路和时序对随机存储器进行读写操作.结构框图如下图所示,设计完成 ...
- 学习汇编语言 -王爽,自已完成的一道课程设计题 (5)
课程设计1 (材料详见书上211页) 题目描述: 以下是我解答的完整的代码: :>-------------------------------------------------------- ...
- 表决器c语言课程设计,项目二:玩转RGB点阵屏——表情表决器
项目二:玩转RGB点阵屏--表情表决器项目二:玩转RGB点阵屏--表情表决器(建议2课时) [情境导入] 图2.1 医护人员"逆行"湖北 是她们不畏生死驰援湖北,为中国抗疫带来胜利 ...
最新文章
- 国外AI教学网红网站
- Java 8 map(),flatMap()示例
- 前端学习(3115):react-hello-初始化state
- 如何在数字化转型战略中真正获得价值?浅谈数字化转型的四个层级
- 《微软的软件测试之道》读书笔记 之 结构测试技术
- C语言程序设计复习指导
- adb logcat 通过包名过滤日志并输出到txt文件
- caffe的调试技巧 和 使用split层
- webService返回自定义类型的数据处理
- 第1章 网站与网站的建设过程
- 你所不知道的 CSS 滤镜技巧与细节
- Vue使用Monaco Editor实现diff代码对比功能
- mysql数据库重新命名
- checkbox全选、清除、反选
- 美国三大股指再创新高:纳指开盘上涨0.29%
- Struts2(一)
- 使用jquery完成抽奖图片滚动的效果
- 在线修改http header
- python识别图像上的文字
- 送书 | 新书《Python量化金融编程从入门到精通》