多路抢答器的设计.docxVIP

  • 19
  • 0
  • 约8.18千字
  • 约 14页
  • 2022-07-01 发布于四川
  • 举报
河南大学物理与电子学院 2015级单片机课程设计论文 多路抢答器设计 论文作者: 论文合作者: 所在学院: 所学专业: 指导教师姓名: 论文完成时间: 河南大学物理与电子学院单片机课程设计论文unsigned char rd_temperature () ;//调用温度函数 void display(){ smg3=l;P0=duan[temp/10]; delay21Tls (); smg3=0; smg4=l;P0=duan[temp%10]; delay2ms (); smg4=0; void display() { smg3=l; P0=duan[temp/10]; delay21Tls (); smg3=0; smg4=l; P0=duan[temp%10]; delay2ms (); smg4=0;} void TimerO_init () {js=0; TM0D=0x01; TH0=0x3c; TL0=0x0b0; TRO=1; ETO=1; EA=1; smgl=0; smg3=0; smg4=0; P0=0XFF; } 〃读取temp的十位数字〃延时2ms 〃关闭数码管第三位〃翻开数码管第四位 //读取temp的个位数字〃延时2ms 〃关闭数码管第四位〃定时器0初始化 //js初值为0//TO为定时器方式1 〃给 TO 高八位送(65536-50000) /256〃给 T0 低八位送(65536-50000) %256 〃开启定时器T0〃开启定时器TO 〃开启总中断〃关闭数码管第一位 〃关闭数码管第三位〃关闭数码管第四位 〃数码管全灭〃定时器 〃定时器0中断服务函数 〃定时器0中断服务函数void timerO() interrupt 1 〃定时器0中断服务函数 TH0=0x3c; TL0=0x0b0; js++; if(js=20) { js=O; djs—; TH0=0x3c; TL0=0x0b0; js++; if(js=20){ js=O; djs—;〃给定时器0赋初值50ms〃赋初值 TH0=0x3c; TL0=0x0b0; js++; if(js=20) { js=O; djs—; 〃参数js每50ms加一〃产生1s倒计时 //js复位为0//每隔Is djs减1 河南大学物理与电子学院单片机课程设计论文void djsxs () { int bl,b2; bl=djs/10; b2=djs%10; PO=table[bl]; smg3=l; delayms(3); smg3=0; P0=table[b2]; smg4=l; delayms(3); smg4=0;void djsxs22() { P0=0xbf; smgl=l; delayms(3); smgl=0; P0=0xbf;smg3=l; delayms(3); smg3=0; P0=0xbf; smg4=l; delayms (3); smg4=0;void djsxsl () { P0=table [1]; smgl=l; delayms(3); smgl=0; 〃显示倒计时函数〃定义整型变量bl,b2 〃将倒计时时间分成高位〃将倒计时时间分成低位 〃十位在数组中找对应段码〃开启第三位 〃延时3ms〃显示十位数字 〃个位在数组中找对应段码〃开启第四位 〃显示个位数字〃关闭第四位 〃抢答器开始时显示-一 〃第一位数码管显示-〃第三位数码管显示- 〃第四位数码管显示-〃第一位显为此函数 〃显示数字i对应为table[i]〃第一位数码管显示1 〃定义初始倒计时为60〃初始化定时器中断 〃定义初始倒计时为60 〃初始化定时器中断 〃蜂鸣器不响 〃倒计时赋值 〃当按下按键时,显示温度 〃实时读取温度 //显示温度 void main()int djsl=60; TimerO_init();spk=l; djs=60;while (1) {if(wendu==0){delayms (3); while (wendu==0) { temp=rd_temperature();display () ;}} L00P1: djs=djsl;〃松开按键进行抢答 〃初始计时60〃定时器停止〃显示计时 〃初始计时60 〃定时器停止 〃显示计时 〃如果按下 〃去除抖动 〃再次判断是否按下 〃如果按下 〃计时数加一 〃计时数赋给djsl 〃如果按下 if(keyl=0)〃在定时器运行状态下,keyl=0那么说明1号选手按下按键delayms (300); if (keyl==0){ while(!keyl); 〃去除按键抖动后,重新在判断,是否确实按下 djs=60;while (1) { TR0=0; djsxsO ; if (key2

文档评论(0)

1亿VIP精品文档

相关文档