ZIP基于51单片机的投票统计器 36.77KB

wjkhkhn123

资源文件列表:

投票统计器.zip 大约有17个文件
  1. lcd.c 1.69KB
  2. lcd.h 641B
  3. Listings/
  4. Listings/lcd.lst 4.04KB
  5. Listings/main.lst 6.52KB
  6. Listings/投票统计.m51 17.22KB
  7. main.c 2.59KB
  8. Objects/
  9. Objects/lcd.obj 7.08KB
  10. Objects/main.obj 8.55KB
  11. Objects/投票统计 13.71KB
  12. Objects/投票统计.build_log.htm 987B
  13. Objects/投票统计.hex 3.21KB
  14. Objects/投票统计.lnp 119B
  15. 投票统计.uvgui.22062 134.4KB
  16. 投票统计.uvopt 5.25KB
  17. 投票统计.uvproj 13.7KB

资源介绍:

基于51单片机的投票统计器是一个实用且有趣的项目,它可以应用于各种场合,比如会议中的快速投票或课堂上的即时反馈系统。以下是一些关键点,可以快速构建系统: 软件编写: 定时器配置:配置定时器工作模式和中断。 按键检测:编写函数来检测按键是否被按下。 结果显示:编写函数更新显示屏的内容。 测试调试:先单独测试每个部分,然后整体测试。
#include "reg52.h" #include "lcd.h" // 1#投票 sbit ty_1=P3^1; sbit qq_1=P3^0; sbit bty_1=P3^2; // 2#投票 sbit ty_2=P3^3; sbit qq_2=P1^0; sbit bty_2=P1^1; // 3#投票 sbit ty_3=P1^2; sbit qq_3=P1^3; sbit bty_3=P1^4; sbit beep=P1^5; unsigned int ty=0,bty=0,qq=0; //同意/不同/意弃权人数 unsigned int tp_1=0,tp_2=0,tp_3=0; void delay_us(unsigned long us) //延时子程序 us { while(us--); } void lcd_display() { LCD_Write_String(0,1,"TY"); LCD_Write_Char(2,1,ty%10+'0'); LCD_Write_String(4,1,"BTY"); LCD_Write_Char(7,1,bty%10+'0'); LCD_Write_String(9,1,"QQ"); LCD_Write_Char(11,1,qq%10+'0'); } void key() { if(tp_1==0) //1# { if(ty_1==0&&qq_1==1&&bty_1==1) //1#同意 { delay_us(2); if(ty_1==0&&qq_1==1&&bty_1==1) { ty=ty+1; } tp_1=1; } if(ty_1==1&&qq_1==0&&bty_1==1) //1#弃权 { delay_us(2); if(ty_1==1&&qq_1==0&&bty_1==1) { qq=qq+1; } tp_1=1; } if(ty_1==1&&qq_1==1&&bty_1==0) //1#不同意 { delay_us(2); if(ty_1==1&&qq_1==1&&bty_1==0) { bty=bty+1; } tp_1=1; } } if(tp_2==0) //2# { if(ty_2==0&&qq_2==1&&bty_2==1) //1#同意 { delay_us(2); if(ty_2==0&&qq_2==1&&bty_2==1) { ty=ty+1; } tp_2=1; } if(ty_2==1&&qq_2==0&&bty_2==1) //1#弃权 { delay_us(2); if(ty_2==1&&qq_2==0&&bty_2==1) { qq=qq+1; } tp_2=1; } if(ty_2==1&&qq_2==1&&bty_2==0) //1#不同意 { delay_us(2); if(ty_2==1&&qq_2==1&&bty_2==0) { bty=bty+1; } tp_2=1; } } if(tp_3==0) //1# { if(ty_3==0&&qq_3==1&&bty_3==1) //1#同意 { delay_us(2); if(ty_3==0&&qq_3==1&&bty_3==1) { ty=ty+1; } tp_3=1; } if(ty_3==1&&qq_3==0&&bty_3==1) //1#弃权 { delay_us(2); if(ty_3==1&&qq_3==0&&bty_3==1) { qq=qq+1; } tp_3=1; } if(ty_3==1&&qq_3==1&&bty_3==0) //1#不同意 { delay_us(2); if(ty_3==1&&qq_3==1&&bty_3==0) { bty=bty+1; } tp_3=1; } } } void ql() { if(qq_1==0&&bty_1==0) { delay_us(2); if(qq_1==0&&bty_1==0) { ty=bty=qq=tp_1=tp_2=tp_3=0; } while(qq_1==0||bty_1==0); } } void main() { LCD_Init(); //显示器初始化 LCD_Clear();//清屏 LCD_Write_String(0,0,"Voting Statistician"); while(1) { lcd_display(); key(); ql(); beep=0; } }
100+评论
captcha
    类型标题大小时间
    ZIP基于单片机智能电风扇设计98.86KB8月前
    ZIPubuntu20.04使用C++与ONNXRuntime对yolov8目标检测模型进行推理预测(源码)9.33KB8月前
    ZIPGit-BashGit-BashGit-BashGit-BashGit-Bash48.8MB8月前
    ZIP虚幻引擎中文七千字体包2.49MB8月前
    ZIP基于51单片机的电子时钟44.52KB8月前
    ZIP3A(BCH)最小系统板12.98MB8月前
    ZIP3D(EF)最小系统板12.79MB8月前
    ZIPjquery实现的文本框计数功能32.06KB8月前