课程设计投票器设计说明书.docx
- 文档编号:265721
- 上传时间:2022-10-08
- 格式:DOCX
- 页数:21
- 大小:133.59KB
课程设计投票器设计说明书.docx
《课程设计投票器设计说明书.docx》由会员分享,可在线阅读,更多相关《课程设计投票器设计说明书.docx(21页珍藏版)》请在冰豆网上搜索。
单片机课程设计
说明书
课题:
班级投票显示器专业:
测控技术与仪器班级:
机122-1
姓名:
许铎
学号:
201256502116
指导老师:
王东兴
组员:
贺茂森、段亚东、王向东
烟台大学
机电汽车工程学院
目录
第一章设计任务和内容 3
1.1设计任务 3
1.2设计要求 3
1.3设计内容 3
第二章电路设计 4
2.1总体设计 4
2.2详细设计 5
2.2.1 单片机引脚功能 5
2.2.3时钟电路 6
2.2.4复位电路 7
2.2.5数码管显示电路 8
第三章程序设计与仿真 10
3.1 投票显示系统总体功能实现 10
2.2 系统流程图 11
3.3程序编写 13
3.4仿真与调试 15
第四章总结和未来改进构想 21
21
第一章设计任务和内容
1.1设计任务
分组按照选定题目的设计任务,设计各种单片机应用系统,设计工作量至少要包含:
(1)用MCS-51单片机,12MHz时钟,常规的上电和手动复位电路;
(2)3个以上的按键;
(3)LED或/和数码管或/和LCD显示及其接口;
(4)至少2路输入信号,可以是模拟量或数字量。
1.2设计要求
(1)设计一个投票系统,具有计票显示功能;
(2)可实现6人同时进行投票,累计票数在显示器上显示;
(3)主持人使用一个按键开关控制开始投票,终止投票和清零;
(4)投票开始后每人能且仅能投一次票,多投无效;
1.3设计内容
(1)编写项目功能说明书,确定应用系统的功能和具体参数;
(2)设计电路原理图;
(3)编写C语言源程序,程序中加注必要的注解说明;
(4)实物制作与调试;
(5)编写设计说明书。
复位电路
时钟电路
LED数
码管显示
第二章电路设计
2.1总体设计
8051
单片机
整个设计以AT89C51单片机为核心,点触开关控制信号通过单片机I/O口,单片机处理信号并将结果通过LED数码管显示,最终按键复位单片机。
总体设计如下图。
信号源
I/O口
2.2详细设计
2.2.1 单片机引脚功能
·P0口 8位、漏极开路的双向I/O口。
当使用片外存储器及外扩I/O口时,P0口作为低字节地址/数据复用线。
在编程时,P0口可用于接收指令代码字节;程序校验时,可输出指令字节。
P0口也可做通用I/O口使用,但需加上拉电阻。
作为普通输入时,应输出锁存器配置
1。
·P1口8位、准双向I/O口,具有内部上拉电阻。
P1口是为用户准备的I/O双向口。
在编程和校验时,可用作输入低8位地址。
用作输入时,应先将输出锁存器置1。
·P2口8位、准双向I/O口,具有内部上拉电阻。
当使用外存储器或外扩I/O口时,P2口输出高8位地址。
在编程和校验时,P2口接收高字节地址和某些控制信号。
·P3口8位、准双向I/O口,具有内部上拉电阻。
P3口可作为普通I/O口。
用作输入时,应先将输出锁存器置1。
在编程/
校验时,P3口接收某些控制信号。
·RST 复位输入信号,高电平有效。
·EA/VPP外部程序存储器访问允许信号EA.当EA信号接地时,对ROM的读操作限定在外部程序存储器,地址为0000H-FFFFH;当EA接VCC时,对ROM的读操作从内部程序存储器开始,并可延续至外部程序存储器。
·PSEN片外程序存储器读选通信号PSEN,低电平有效。
在片外程序存储器取指期间,当PSEN有效时,程序存储器的内容被送至P0口;在访问外部
RAM时,PSEN无效。
·ALE/PROG低字节锁存信号ALE.在系统扩展时,ALE的下降沿将P0口输出的低8位地址锁存在外接的地址锁存器中,以实现低字节地址和数据的分时传送。
·XTAL1 片内振荡器反向放大器和时钟发生线路的输入端。
·XTAL2 片内振荡器反相放大器和时钟发生线路的输出端。
2.2.3时钟电路
51系列单片机的时钟信号产生通常有两种方式,内部时钟方式和外部时钟方式我们采用内部时钟方式,如图,引脚 XTAL是片内振荡器反向放大器和时钟发生线路的输入端。
XTAL2是片内振荡器反相放大器的输出端。
当使用片内振荡器时,外接石英晶体和微调电容。
C1
30pF
XTAL1
C2
30pF
XTAL2
GND
8XX51
2.2.4复位电路
51系列单片机通常有上电复位和按键复位两种方式。
我们采用了最简单的一种上电复位及按键复位电路如图所示,上电后,由于电容充电,使RESET持续一段时间的高电平,完成复位操作;当单片机处于运行中或死锁时,按下
“复位”按钮,也可使单片机进入复位状态。
通常选择C=10~30uF,
R=100~1000Ω。
74LS245
a
a
1Y1
1A1
1A2
b
1Y1
1A1
P1.0
f
b
c
1Y2
g
1A2
P1.1
d
1Y3
1A3
P1.2
e
e
c
1Y4
1A4
P1.3
f
2Y1
2A1
P1.4
dp
g
2Y2
2A2
P1.5
dp
2Y3
2A3
P1,6
2Y4
2A4
P1,7
d
1Y2
1Y3
1Y4
2Y4
2Y2
2Y3
2Y1
1A3
1A4
2A1
2A2
2A3
2A4
2.2.5数码管显示电路
1、数码管显示方式
数码管有静态显示方式和动态显示方式,我们采用的共阴极七段数码管静态显示方式,如上图所示。
就是当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止。
2、驱动电路
74LS245芯片用作驱动的电路,用来驱动七段数码管,它是8路同相三态双向总线收发器,可双向传输数据,8051单片机的P0口总线负载达到或超过P最大负载能力时,必须接入74LS245等总线驱动器。
当片选端/CE低电平时有效,
AB接高电平时A→B,低电平时B→A
第三章 程序设计与仿真
3.1 投票显示系统总体功能实现
利用单片机设计投票显示系统,应先掌握单片机的结构与功能,在设计中充分利用好单片机各管脚,并配合外部电路,坚持简单易懂,节约成本的原则来设计电路。
2.2 系统流程图
为了简化程序的复杂度,使设计过程简单易懂,该系统将分成主程序和子程序设计,
开始
具体流程如下图。
P1.1=0?
N
Y
执行投票子程序,判断是否有键按下并显示票
调用子程序
数码管显示不变,并不清零
单片机P1口全置1
P1.1=0?
Y
P1.1=0?
Y
N
P1.2=0?
Y
N
结束
退出投票子程序,但数据不清零
模仿上面步骤顺序判断P1.3—P1.7口,并进行票数累加
票数累加1,并此按键不再影响数据变化
轮次置1
N
3.3程序编写
按照上面流程图进行源程序编写,源程序如下:
(1)主程序部分#include"reg51.h"#include"stdio.h"sfrp2=0xa0;
sfrp1=0x90;sfrp0=0x80;
sbitP11=P1^1; /*位定义*/
sbitP12=P1^2;sbitP13=P1^3;sbitP14=P1^4;sbitP15=P1^5;sbitP16=P1^6;sbitP17=P1^7;
Unsigned;chardis[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67,0x00};
/*定义字型表*/
unsignedcharnum,num2,num3,num4,num5,num6,num7;charnu=0;
voidscan();
voiddisp() /*显示子程序*/
{num=num2+num3+num4+num5+num6+num7;p0=dis[num];
p2=dis[nu];
}
voidmain()
{P1=0xff; /*对P1口进行初始化*/while
(1) /*进入无限循环*/
{if(!
P11) /*判断总控开关,按下则执行以下程序*/
{num=0;nu++;scan();} /*扫描按键,执行scan()子程序*/else
{num2=0;num3=0;num4=0;num5=0;num6=0;num7=0;}
/*无按键输入则显示0*/
}
}
voidscan()
{
while(!
P11) /*判断总控开关是否一直保持接通状态,接通则进行投票过程循环,否则不执行程序,即投票按键无效*/
{ if(!
P12)
{ num2=1;while(!
P12);} /*对投票按键P1进行判断,按下则累加1
并维持不变*/
if(!
P13)
{ num3=1;while(!
P13);}if(!
P14)
{ num4=1;while(!
P14);}if(!
P15)
{ num5=1;while(!
P15);}if(!
P16)
{ num6=1;while(!
P16);}if(!
P17)
{ num7=1;while(!
P17);}disp();
}
}子程序部分完成投票判断、票数累加工作。
3.4仿真与调试
将源程序输入进Keil软件中,保存为.hex文件并编译,无误后可以再烧进仿真软件ProteusISIS文件中的单片机AT89C51中,方可运行仿真电路。
单击仿真运行开始按钮,我们能清楚地观察到每一个引脚的电频变化,红色代表高电频,蓝色代表低电频。
仿真过程如下
1、接通总控开关,此时所有人投票有效,并可看见票数显示器显示“0”,轮次显示器显示“1”投票第一轮开始,进入投票阶段,如图
2、任意按下一个投票按键如P3,此时票数显示器示数字变成“1”,轮次显示器“1”不变,如图
3、按另一个P5,票数LED灯变成“2”,如图
4、此时再次按下第一次按过的按键P3,显示器仍保持数字“2”,即完成每个按键只能投票一次的功能。
如图
5、最后将总控开关断开,可看到显示器没有变化,可以继续显示投票结果,再次接通总控,可发现票数显示器又回到初始阶段“0”,轮次显示器显示“2”,即进入第二轮投票,如图
6、若此后有4人投票,则票数显示器显示“4”,而轮次显示器“2”不变。
即票数完成清零并进入新一轮投票阶段,如图
7、所有投票结束后按下轮次复位按钮,则所有显示器回复初始状态,仿真成功。
第四章 总结和未来改进构想
总结:
通过本次课程设计不仅加强
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 投票 设计 说明书