1、 1 单片机课程设计报告 投票统计器 专业:电气工程及其自动化电气工程及其自动化 班级: 学号: 姓名: 日期: 2011-7-2 2 一、一、 设计目的设计目的 综合运用单片机的主要性能,完成一个实用电路的设计和 制作,利用 MSC-51 单片机为控制核心,设计拥有投票统计功能 的从机,用于表决活动,并将统计结果实时上传主机。通过简 易投票系统实现数据的统计与远程传送。 二、二、 实验器材实验器材 计算机一台, Proteus 仿真软件 wave6000 编程软件 三、设计要求设计要求 1有五个人参与投票,每个人有同意、不同意、弃权三个按键, 单片机分别统计三种键的人数,并用动态显示方式显示
2、投票结 果。 2保证每人仅能投一次票,再投则无效。 3六个数码管可以显示同意、不同意、弃权的数量。 4主从机分别设有复位键,按下键时两个单片机重新启动。 5主机向从机发送的 05H 时,从机则回发给主机 05H,而主机 通过八个发光二极管显示接收到 05H(以二进制形式显示) 。当主 机发的不是 AAH 时,从机能独立运行,统计同意、不同意、放弃 的数量,并用数码管显示投票结果;当主机向从机发送 AAH 时, 从机向主机发送当前投票结果,此后,主从机同步显示投票结果。 (设从机地址为 05H) 。 3 四、四、 硬件原理图硬件原理图 4 AT89C51AT89C51 接口图接口图 单片机为AT
3、89C51, 其中U1为主机, U2为从机, 通过XTAL1 和 XTAL2 引入时钟信号。主机通过 P0 口输出段码, P1 口控 制七段数码管的位选信号, P2 口用于显示接收的 05H。 从机的 P0 口的 0、1、2、3、4 用于键盘的行线,5、6、7 用于键盘的 列线, CPU 通过扫描行列线得知哪个键被按下;P1 口控制七 段数码管的位选信号,P2 口用于输出段码。主从机分别通过 复位键控制;P0 口用于输出时需加上拉电阻。 P3 口也可作为 AT89C51 的一些特殊功能口,如下表所 示: 5 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3
4、.2 /INT0(外部中断 0) P3.3 /INT1(外部中断 1) P3.4 T0(记时器 0 外部输入) P3.5 T1(记时器 1 外部输入) P3.6 /WR(外部数据存储器写选通) 系统流程图系统流程图 主机: 开始 接收 05H, 发非 AAH 初始化 发送 05H 等待从机发 送的 05H 接收 05H, 发 AAH 接收从机数 据并显示 6 从机: 五、五、 软件源程序软件源程序 1.主机: ORG 0000H AJMP MAIN ORG 0030H MAIN:MOV TMOD,#20H MOV TL1,#0FAH MOV TH1,#0FAH MOV SCON,#50H MOV 40H,#00H 开始 初始化 判断接收的是 否是 AAH 接收 05H 发送 05H 独立运行,显示统 计的投票结果 统计投票结 果,发送给 主机并显示 7 MOV 41H,#00H MOV 42H,#00H MOV PCON,#00H CLR TI CLR RI SETB TR1 MOV SBUF,#05H SS1