2013八路抢答器课程设计(5)

2018-12-17 10:42

//蜂鸣器发声延时 void DelayMS(uint x) { uchar t; while(x--) for(t=0;t<100;t++); }

//数码管显示驱动函数

void display(uchar number,uchar second) {

uchar second_first,second_second; second_first = second / 10; second_second = second % 10; P0 =0x00; P2 = 0xfe;

P0 = table[number]; delay(2); P0 =0x00; P2 = 0xfd; P0 = 0x40; delay(2); P0 =0x00;

20

P2 = 0xfb;

P0 = table[second_first]; delay(2); P0 =0x00; P2 = 0xf7;

P0 = table[second_second]; delay(2); P0 =0x00; }

//蜂鸣器响应按周期t发音 void Play(uchar t) { uchar i; for(i=0;i<1;i++) {

BEEP=~BEEP; DelayMS(t); } BEEP=0; }

//开始键扫描函数 void start_stop_keyscan()

21

{

if(start_stop == 0) { delay(8);

if((start_stop == 0)&&(!start_stop_flag)) {

start_stop_flag = 1; action = 1; TR0 = 1; state = 0; } } else {

start_stop_flag = 0; } }

//八位抢答键扫描函数 char key_scan8() {

if(key1 == 0) {

22

delay(8);

if((key1 == 0)&&(!key1_flag)) {

key1_flag = 1;

number = 1; number_display = number; } } else {

key1_flag = 0;

number = 0; }

if(key2 == 0) { delay(8);

if((key2 == 0)&&(!key2_flag)) {

key2_flag = 1;

number = 2; number_display = number; }

23

} else {

key2_flag = 0;

number = 0; }

if(key3 == 0) { delay(8); if(key3 == 0) { delay(8);

if((key3 == 0)&&(!key3_flag)) {

key3_flag = 1; number=3;

number_display=number; } else {

key3_flag=0; number=0;

24


2013八路抢答器课程设计(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国流发电机市场发展研究及投资前景报告(目录)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: