文档库 最新最全的文档下载
当前位置:文档库 › 单片机课程设计多路抢答器

单片机课程设计多路抢答器

单片机课程设计多路抢答器
单片机课程设计多路抢答器

武汉理工大学华夏学院

信息工程课程设计报告书

课程名称单片微型计算机与接口技术

课程设计总评成绩

学生姓名、学号朱富鑫10213314131

学生专业班级物联网1141

指导教师姓名苏明霞

课程设计起止日期2016.6.13~2016.6.24

课程设计基本要求

课程设计是工科学生十分重要的实践教学环节,通过课程设计,培养学生综合运用先修课程的理论知识和专业技能,解决工程领域某一方面实际问题的能力。课程设计报告是科学论文写作的基础,不仅可以培养和训练学生的逻辑归纳能力、综合分析能力和文字表达能力,也是规范课程设计教学要求、反映课程设计教学水平的重要依据。为了加强课程设计教学管理,提高课程设计教学质量,特拟定如下基本要求。

1. 课程设计教学一般可分为设计项目的选题、项目设计方案论证、项目设计结果分析、答辩等4个环节,每个环节都应有一定的考核要求和考核成绩。

2. 课程设计项目的选题要符合本课程设计教学大纲的要求,该项目应能突出学生实践能力、设计能力和创新能力的培养;该项目有一定的实用性,且学生通过努力在规定的时间内是可以完成的。课程设计项目名称、目的及技术要求记录于课程设计报告书一、二项中,课程设计项目的选题考核成绩占10%左右。

3. 项目设计方案论证主要包括可行性设计方案论证、从可行性方案中确定最佳方案,实施最佳方案的软件程序、硬件电路原理图和PCB图。项目设计方案论证内容记录于课程设计报告书第三项中,项目设计方案论证主要考核设计方案的正确性、可行性和创新性,考核成绩占30%左右。

4. 项目设计结果分析主要包括项目设计与制作结果的工艺水平,项目测试性能指标的正确性和完整性,项目测试中出现故障或错误原因的分析和处理方法。项目设计结果分析记录于课程设计报告书第四项中,考核成绩占25%左右。

5. 学生在课程设计过程中应认真阅读与本课程设计项目相关的文献,培养自己的阅读兴趣和习惯,借以启发自己的思维,提高综合分和理解能力。文献阅读摘要记录于课程设计报告书第五项中,考核成绩占10%左右。

6. 答辩是课程设计中十分重要的环节,由课程设计指导教师向答辩学生提出2~3个问题,通过答辩可进一步了解学生对课程设计中理论知识和实际技能掌握的程度,以及对问题的理解、分析和判断能力。答辩考核成绩占25%左右。

7.学生应在课程设计周内认真参加项目设计的各个环节,按时完成课程设计报告书交给课程设计指导教师评阅。课程设计指导教师应认真指导学生课程设计全过程,认真评阅学生的每一份课程设计报告,给出课程设计综合评阅意见和每一个环节的评分成绩(百分制),最后将百分制评分成绩转换为五级分制(优秀、良好、中等、及格、不及格)总评成绩。

8. 课程设计报告书是实践教学水平评估的重要资料,应按课程、班级集成存档交实验室统一管理。

一、课程设计项目名称

多路抢答器

二、项目设计目的及技术要求

1.四个独立的按键分为四路,每一个按键按下后对应的LED灯会亮。

2.在数码管上显示09到00后开始抢答,抢答时四个按键有一个按下了则对

应的LED灯会亮,其它按键无效,并且会把对应的编号显示在数码管上面,

同时把对应的编号通过串口显示在上位机的串口助手上。

3.抢答完毕后,如果重新开始,则在上位级的串口助手上发送A到单片机,

单片机接受到后,开始新一轮的抢答,即继续完成第2个步骤。

如:在K1,K2,K3,K4都开始按的情况下,先判断谁先按下,那么其他键无效。再按也无效。

注:以上所有的功能都是用单片机来完成的。

三、项目设计方案论证(分析项目要求和指标,给出总的设计方案)

实际项目实现内容:

当主持人向串口发送字符“A ”后,单片机接收到开始信号,然后LED 点阵移动显示3,2,1,GO 后,数码管从09到00倒计时显示,当显示到00时,抢答器可以开始抢答,当其中任何一方先按下按钮后,将其代表的号码显示到数码管上,并发送到串口上,同时锁住其他的按钮,让其他选手无法再次抢答。然后通过选手的回答,主持人判断对错后,在串口上发送“Y ”,则在LED 点阵上显示“对号”,如若回答错误,在串口上发送“N ”,则在LED 点阵上显示“X ”。

设计方案:

通过对单片机程序的编写,调用LED 灯,数码管,LED 点阵,按键,以及串口部分,控制好单片机的时序,实现设计要求,并加入适当的拓展模块。 流程框图:

LED灯及数码管模块:

由开发板原理图可知可以编写一个扫描函数,使用74HC138译码器实现对6个数码管以及LED 灯的控制。代码如下:

void LedScan()

{

static unsigned char i = 0;

P0 = 0xFF;

P1 = (P1 & 0xF8) | i;

P0 = LedBuff[i];

if (i < 7)

i++;

else

i = 0;

}

LED点阵模块:

由开发板原理图可知,使能U4的74HC138控制点阵,即在调用LED点阵时赋ADDR3 = 0即可,同理可以将LED点阵理解成8个数码管显示,使用取模软件,取出想要的图片显示,并存放在数组里,通过对LED点阵的循环赋值,可以达到LED点阵纵向移动的功能。

按键模块:

由开发板原理图可知,将P2^3口置0,是KeyOut1输出低电平,即使K1~K4转换为独立按键使用。

串口模块:

可以通过配置串行控制寄存器,调好通信的波特率,完成串口通信模块。

配置方法:

?1、配置串口为模式1。

?2、配置定时器T1为模式2,即自动重装模式。

?3、根据波特率计算TH1和TL1的初值,如果有需要可以使用PCON进行波特率加

倍。

?4、打开定时器控制寄存器TR1,让定时器跑起来。

配置波特率的函数:

void ConfigUART(unsigned int baud)

{

SCON = 0x50;

TMOD &= 0x0F;

TMOD |= 0x20;

TH1 = 256 - (11059200/12/32)/baud;

TL1 = TH1;

ET1 = 0;

ES = 1;

TR1 = 1;

}

设计完整代码:

#include

sbit ADDR3 = P1^3;

sbit ENLED = P1^4;

sbit KEY1 = P2^4;

sbit KEY2 = P2^5;

sbit KEY3 = P2^6;

sbit KEY4 = P2^7;

unsigned char code LedChar[] = {

0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,

0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E

};

unsigned char LedBuff[8] = {

0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,0xFF

};

unsigned char code led[ ]

={ 0xFF,0xC1,0xDF,0xDF,0xC1,0xDF,0xDF,0xC1,0xFF,0xC1,0xDF,0xDF,0xC1,0xFD,0xFD,0xC1, 0xFF,0xF7,0xF3,0xF7,0xF7,0xF7,0xF7,0xF7,0xC1,0xFF,0xFF,0xFF,0x10,0x5E,0x5E,0x52,

0x56,0x10,0xF7,0xFF,0xFF,0xFF,0xFF,0xFFF };

unsigned char image[] = {0xFF,0xFF,0x7F,0xBF,0xDF,0xEE,0xF5,0xFB}

;

unsigned char no[]={0xFF,0x7D,0xBB,0xD7,0xEF,0xD7,0xBB,0x7D

};

unsigned char T0RH = 0;

unsigned char T0RL = 0;

unsigned char RxdByte = 0;

unsigned char index = 0;

unsigned char tmrs;

unsigned int sec = 10;

unsigned int cnt = 0;

unsigned int over = 0;

unsigned int go = 0;

unsigned int flag1s = 0;

unsigned int flag250ms = 0; unsigned int begin = 1;

void ConfigTimer0(unsigned int ms); void ConfigUART(unsigned int baud); void main()

{

bit backup1 = 1;

bit backup2 = 1;

bit backup3 = 1;

bit backup4 = 1;

EA = 1;

ENLED = 0;

ADDR3 = 1;

P2 = 0xF7;

ConfigTimer0(1);

ConfigUART(9600);

while (1)

{

if(go == 1)

{

LedBuff[0] = led[index+0];

LedBuff[1] = led[index+1];

LedBuff[2] = led[index+2];

LedBuff[3] = led[index+3];

LedBuff[4] = led[index+4];

LedBuff[5] = led[index+5];

LedBuff[6] = led[index+6];

LedBuff[7] = led[index+7];

}

if(flag1s&begin == 1)

{

if(sec == 0)

{

begin = 0;

over = 0;

}

LedBuff[0] = LedChar[sec];

LedBuff[1] = LedChar[0];

LedBuff[2] = 0xFF;

LedBuff[3] = 0xFF;

LedBuff[4] = 0xFF;

LedBuff[5] = 0xFF;

LedBuff[6] = 0xFF;

}

if(begin == 0)

{

if(over == 0)

{

if(KEY1 != backup1 ) { o ver = 1;

if(backup1 == 0)

{

LedBuff[6] = 0x7F;

LedBuff[0] = LedChar[1];

LedBuff[1] = LedChar[0];

SBUF = 0x01;

while(!TI);

TI = 0;

RI = 0;

}

backup1 = KEY1;

}

}

if(over == 0)

{

if(KEY2 != backup2) {

if(backup2 == 0)

{ over = 1;

LedBuff[6] = 0xBF; LedBuff[0] = LedChar[2]; LedBuff[1] = LedChar[0];

SBUF = 0x02;

while(!TI);

TI = 0;

RI = 0;

}

backup2 = KEY2;

}

if(over == 0)

{

if(KEY3 != backup3) {

if(backup3 == 0) { over = 1;

LedBuff[6] = 0xDF; LedBuff[0] = LedChar[3]; LedBuff[1] = LedChar[0]; SBUF = 0x03;

while(!TI);

TI = 0;

RI = 0;

}

}

backup3 = KEY3;

}

}

if(over == 0)

{

if(KEY4 != backup4) {

if(backup4 == 0)

{ over = 1;

LedBuff[6] = 0xEF; LedBuff[0] = LedChar[4]; LedBuff[1] = LedChar[0];

SBUF = 0x04;

while(!TI);

TI = 0;

RI = 0;

}

backup4 = KEY4;

}

}

}

}

}

void ConfigTimer0(unsigned int ms) //定时器配置函数{

unsigned long tmp;

tmp = 11059200 / 12;

tmp = (tmp * ms) / 1000;

tmp = 65536 - tmp;

tmp = tmp + 18;

T0RH = (unsigned char)(tmp>>8);

T0RL = (unsigned char)tmp;

TMOD &= 0xF0;

TMOD |= 0x01;

TH0 = T0RH;;

TL0 = T0RL;

ET0 = 1;

TR0 = 1;

}

void ConfigUART(unsigned int baud) //波特率配置函数{

SCON = 0x50;

TMOD &= 0x0F;

TMOD |= 0x20;

TH1 = 256 - (11059200/12/32)/baud;

TL1 = TH1;

ET1 = 0;

ES = 1;

TR1 = 1;

}

void LedScan() //数码管及LED扫描函数

{

static unsigned char i = 0;

P0 = 0xFF;

P1 = (P1 & 0xF8) | i;

P0 = LedBuff[i];

if (i < 7)

i++;

else

i = 0;

}

void InterruptTimer0() interrupt 1 //定时器0中断函数{

static unsigned int tmr1s = 0;

TH0 = T0RH;

TL0 = T0RH;

LedScan();

tmr1s++;

tmrs++;

if(tmrs >=250)

{

tmrs = 0;

flag250ms =1;

index++;

if(index >= 32)

{

if(go == 1)

{

go = 0;

ADDR3 = 1;

begin = 1;

flag1s = 1;

sec = 9;

}

index = 0;

}

}

if(tmr1s >= 1000)

{

tmr1s = 0;

flag1s = 1;

if (sec > 0)

{

sec--;

}

else

{

sec = 0;

}

}

}

void InterruptUART() interrupt 4 //串口中断函数{

if (RI)

{

RI = 0;

RxdByte = SBUF;

SBUF = RxdByte;

if( SBUF == 'A')

{

ADDR3 = 0;

go = 1;

sec = 9;

index = 0;

}

if( SBUF == 'Y')

{

ADDR3 = 0;

LedBuff[0] = image[0];

LedBuff[1] = image[1];

LedBuff[2] = image[2];

LedBuff[3] = image[3];

LedBuff[4] = image[4];

LedBuff[5] = image[5];

LedBuff[6] = image[6];

LedBuff[7] = image[7]; }

if(SBUF == 'N')

{

ADDR3 = 0;

LedBuff[0] = no[0];

LedBuff[1] = no[1];

LedBuff[2] = no[2];

LedBuff[3] = no[3];

LedBuff[4] = no[4];

LedBuff[5] = no[5];

LedBuff[6] = no[6];

LedBuff[7] = no[7];

}

}

if (TI)

{

TI = 0;

}

}实验现象图:按下按钮2,其他按钮在重新开始之前无法使用

判断对错:

发送’A’重新开始:LED移动显示3,2,1,GO后从09~00显示完后可以进入抢答环节

四、项目设计结果分析(分析试验过程中,现象或问题的正确性和必然性,以及对有没有达到技术要求进行分析,写出整个调试经过和现象,并分析产生不正确结果的原因和处理方法。)

1.不用倒计时显示到0,就可以开始抢答。

解决方法:设置一个标志位,当显示到0后,给予可以抢答的标志,才可以进入抢答部分。

2.LED点阵移动显示。

解决方法:由于横向移动的取模过程较为繁琐,所以采用纵向移动的方式移动显示,参考数码管扫描,使用index索引动态刷新,来完成纵向移动的显示。

3.在使用LED点阵移动时,想达到良好显示效果。

解决方法:在定时器中断中重新建立一个250ms标志,index250ms刷新一次,即LED点阵250ms改变一帧图片。

4.数码管和LED点阵被2块74HC138译码器控制,如何解决二者冲突。解决方法:查阅资料,发现控制2块74HC138译码器的是ADDR3,即在完成LED点阵显示后,ADDR3赋1,打开使能U3,开启数码管,需要用到LED时ADDR3赋0,打开使能U4,使用LED点阵显示模式。

五、参考文摘(相关文摘不少于5篇,记录每篇文献的作者姓名.文献名称.文献发行城市:文献出版社,出版年;文献内容摘要, 每篇不少于100字)

例:[1]秦志强,彭建盛,谭立新编著.A VR单片机与小型机器人制作[M].北京:电子工业出版社,2009

内容摘要:“……”

1.王振红,张常年;综合电子设计与实践【M】,第二版,北京:清华大学出版社,2008.

内容摘要:“关于仿真技术的详细讲解,各个部分都能够理解加记忆,第一章是关于电子技术的仿真,这个对于我们初学者来说,有了更简单易懂的理解模式,在电子这一方面的讲述,更多的是原理的分析。”

2.王小海,蔡忠法,电子技术基础实验教程【M】,北京:高等教育出版社2002.

内容摘要:“电子技术是现代重要的技术之一,其中的教程也让我们对电子技术有了很好的了解,不只是单层次的认识,对常见的设计电路也有了很详细的讲解,不单单都是理论的知识的灌输。”

3.宋雪松,李冬明,崔长胜,手把手教你学51单片机【M】,北京:清华大学出版社,201

4.

内容摘要:“通信的学习不像前边控制部分那么直观,通信部分的程序只能获得一个结果,而其过程无法看到。”

单片机课程设计 简易计算器的设计

目录 摘要 (1) 绪论 (1) 1.设计要求及功能分析 (1) 1.1 设计要求 (1) 1.2 基本功能 (2) 2.设计方案 (2) 2.1 硬件部分设计方案 (2) 2.1.1 单片机部分 (2) 2.1.2 按键部分 (2) 2.1.3 显示部分 (2) 2.2 软件部分设计方案 (2) 3.系统的硬件总体设计 (4) 3.1 系统的总体硬件设计 (4) 3.2 键盘连接电路 (4) 3.3 显示屏连接电路 (5) 3.4 单片机芯片AT89C51 (6) 3.5 外接电路 (7) 4.系统的软件总体设计 (8) 4.1 键盘识别程序设计 (8) 4.2 显示程序 (11) 4.3 运算程序 (11) 5.元器件清单及程序清单 (12) 5.1 元器件清单 (12) 5.2 程序清单 (12) 6.软件仿真 (18) 6.1 仿真验证 (18) 6.2 性能分析 (20) 6.3 出现故障及其原因 (20) 6.4 解决方法 (20) 结论 (20) 参考文献 (21) 致谢 (21) 附录PCB图 (22)

简易计算器的设计 学生:李飞马鹏超舒宏超 指导老师:王孝俭 摘要:单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可,用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!它主要是作为控制部分的核心部件。它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。单片机比专用处理器最适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。 关键词:单片机、计算器、控制电路、仿真。 绪论 设计要求掌握数码管移位动态扫描显示的编程方法,掌握矩阵扫描的编程方法,掌握数据在内部运算的编程方法。设计任务实现最大8位正整数加、减、乘、除,具备清零、等于功能,16个按键功能依次为:数字0、数字1、数字2、数字3、数字4、数字5、数字6、数字7、数字8、数字9、清零、等于、加、减、乘、除。 1.设计要求及功能分析 1.1设计要求: 本次单片微型计算机与接口技术课程设计做的是利用C51单片机为主体的计算器,实现了简单的加、减、乘、除功能。采取的是键盘输入和液晶显示屏的输出结果显示。主要硬件构成部分由四个,一个AT89C51单片机芯片,一个液晶显示屏,一个4*4键盘和一个排阻(10K)做P0口的上拉电阻,可以实现16位的数值操作计算。 1.2基本功能: 首先,计算器可现实8位数字,开机运行时,只有数码管最低位显示为“0”,其他位全部不显示;

多路抢答器的设计与实现设计说明

多路抢答器的设计与实现 [摘要] 本设计是以八路抢答为基本理念,考虑到因活动规则的改变,需设定不同时长的限时抢答、回答问题的功能。利用STC89C52单片机及外围接口实现的抢答系统,以及单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够设定不同的抢答时间和答题时间,能够正确地进行倒计时,同时使数码管能够正确地显示时间以及选手编号。用矩阵键盘进行活动前的时间设定工作,用开关作为选手抢答按钮输出,用蜂鸣器来发出违规报警和倒计时提醒。同时本设计系统能够实现:在活动中,只有主持人按下开始抢答按钮后,选手的抢答才为有效,如果选手在开始抢答前抢答则为无效;抢答限定时间和回答问题的限定时间可在1-99s设定;可以显示是哪位选手有效抢答和无效抢答;正确按键后有声音提示;抢答时间和回答问题时间用数码管进行倒计时显示,满时后系统计时自动复位及主控强制复位;有按键锁定,在有效状态下,按键无效非法。 [关键词]STC89C52单片机 LED数码管抢答器计时

Design and Implementation of the multi-channel Responder Tian Pengfei (Grade 07,class 084, Shaanxi University of Technology,Hanzhong 72300x, Shaanxi) tutor: Hu bo [Abstract]The design is based on eight Responder as the basic concept, taking into account the changes in the activity rules need to set the time length limit Responder, answer questions function. The Responder system, STC89C52 microcontroller and peripheral interface implementation and timing microcontroller timer / counter and count the principle of software, hardware organically combined, making the system able to set a different answer in time and answer time, able to correctly to the countdown, digital tube able to correctly display the time and the player number. Matrix keyboard work activities before the time set switch as players answer in the button output, use the buzzer to issue the violation alarm and countdown to remind. The same time, the design system can be achieved: At the event, only moderators began to answer in the button is pressed, the players of the answer in order to effectively, if the players before the start Responder Responder invalidity; a limited time to answer in a limited time and answer questions 1-99s setting; can show which players answer in an effective and invalid answer in; the right button a voice prompt; answer in time and answer questions time countdown display with digital tube, the full system time is automatically reset and master compulsory reset; keys are locked in an effective state, the button is not illegal. [Key words] Single-chip LED digital tube Responder timing

单片机课程设计 秒表计时器(DOC)

课程设计名称:单片机原理及接口技术 题目:基于单片机的秒表计时器设计 学期:2014-2015学年第一学期 专业:电气技术 班级: 姓名: 学号: 指导教师:

辽宁工程技术大学 课程设计成绩评定表

课程设计任务书 一、设计题目 秒表计时器 二、设计任务 本课题以单片机为核心,设计和制作一个秒表计时器。 三、设计计划 课程设计一周 第1天:查找资料,方案论证。 第2天:各部分方案设计。 第3天:各部分方案设计。 第4天:撰写设计说明书。 第5天:校订修改,上交说明书。 四、设计要求 1、绘制软件流程图并利用汇编语言编写软件程序; 2、绘制系统硬件原理图; 3、形成设计报告。 指导教师: 教研室主任: 2014年5月26 日

本设计利用89C51单片机设计秒表计时器,通过LED显示秒十位和个位,在设计过程中用一个存储单元作为秒计数单元,当一秒到来时,就让秒计数单元加一,通过控制使单片机秒表计时,暂停,归零。设计任务包括控制系统硬件设计和应用程序设计。 关键词:51单片机;74HC573;LED数码管

综述 (1) 1 程序方案 (2) 1.1方案论证 (2) 1.2总体方案 (2) 2部分设计 (3) 2.1 89C51单片机 (3) 2.2晶体振荡电路 (4) 2.3硬件复位电路 (5) 2.4显示电路 (6) 2.5整体电路图 (7) 3程序设计 (8) 3.1程序流程框图 (8) 3.2显示程序流程图 (9) 3.3汇编源程序 (10) 4调试说明 (13) 4.1概述 (13) 4.2电路原理图 (13) 心得体会 (15) 参考文献 (16)

武汉工程大学单片机多路抢答器的课程设计资料

电气信息学院 单片机技术课程设计报告 课题名称多路抢答器的设计 专业班级10 电气4班 学号2010500238 __________________ 学生姓名________ 杨彬____________ 扌旨导教师______ 易先军___________ 评分_____________________________

2013年6月17日至6月21日

课程设计量化评分标准 指导老师评语:

答辩记录 1、例举设计过程中遇到的问题及其解决方法(至少两例)。答:(1)问题说明:对于采用独立式按键设计还是行列式按键设计有所困扰。 解决方法:行列式键盘是采用X*丫型按键来实现I/O的扩展的,这种按键的排 列方式可以有效的提高I/O 的利用率。 (2)问题说明:Proteus 软件中,从元器件库中调出的元件有的不能仿真。 解决方法:Proteus 里面又不是器件是没有仿真模型的,只是个原理图 符号,故必须选含仿真模型的器件。 2、教师现场提的问题记录在此(不少于2个问题)。 (1)Proteus 软件的主要功能是什么? 答:Proteus 软件可以仿真、分析各种模拟电路与集成电路,软件提供了大量模拟与数字元器件及外部设备,各种虚拟仪器,特别是它具有对单片机及其外围电路组成的综合系统的交互仿真功能。 (2)如果有多个按键几乎同时按下,你是如何来保证最先按下的按钮抢答成功的? 答:可以通过锁存器达到目的。当有第一个按键被按下时,锁存器将迅速锁存优先抢答者的按键状态,并能同时禁止其他选手按键,使其按键操作无效。

现如今生活娱乐的多元化已是现代的生活方式之一。知识、娱乐比赛更是流行于各行各业,而其中又以抢答形式为主。在抢答过程中,为了知道哪一组或 哪一位选手优先获得抢答权,必须要设计一个系统来完成这个任务,避免人的主观意识判断错误。在抢答中,只靠视觉是很难判断出哪组先答题。利用单片机系统来设计抢答器,使以上问题得以解决,即使两组的抢答时间相差甚小,也可分辨出哪组优先答题。此次设计使用AT89C51单片机为核心控制元件,设计一个简易的抢答器,与数码管、报警器等构成八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时/中断电路等。设计的抢答器具有实时显示抢答选手的号码和抢答时间的特点,而复位电路,则使其能再开始新的一轮答题和比赛,与此同时还利用汇编语言编程,使其能够实现一些基本的功能。 关键词:AT89C51单片机;抢答器;数码管;报警器 I

单片机课程设计计算器

课程设计说明书 课程设计名称:单片机课程设计 课程设计题目:四位数加法计算器的设计学院名称:电气信息学院 专业班级: 学生学号:

学生姓名: 学生成绩: 指导教师: 课程设计时间:至

格式说明(打印版格式,手写版不做要求) (1)任务书三项的内容用小四号宋体,倍行距。 (2)目录(黑体,四号,居中,中间空四格),内容自动生成,宋体小四号。 (3)章的标题用四号黑体加粗(居中排)。 (4)章以下的标题用小四号宋体加粗(顶格排)。 (5)正文用小四号宋体,倍行距;段落两端对齐,每个段落首行缩进两个字。 (6)图和表中文字用五号宋体,图名和表名分别置于图的下方和表的上方,用五号宋体(居中排)。(7)页眉中的文字采用五号宋体,居中排。页眉统一为:武汉工程大学本科课程设计。 (8)页码:封面、扉页不占页码;目录采用希腊字母Ⅰ、Ⅱ、Ⅲ…排列,正文采用阿拉伯数字1、2、3…排列;页码位于页脚,居中位置。 (9)标题编号应统一,如:第一章,1,,……;论文中的表、图和公式按章编号,如:表、表……;图、图……;公式()、公式()。

课程设计任务书 一、课程设计的任务和基本要求 (一)设计任务(从“单片机课程设计题目”汇总文档中任选1题,根 据所选课题的具体设计要求来填写此栏) 1. 系统通过4x4的矩阵键盘输入数字及运算符。 2. 可以进行4位十进制数以内的加法运算,如果计算结果超过4位十进制数,则屏幕显示E。 3. 可以进行加法以外的计算(乘、除、减)。 4. 创新部分:使用LCD1602液晶显示屏进行显示,有开机欢迎界面,计算数据与结果分两行显示,支持小数运算。 (二)基本要求 1.有硬件结构图、电路图及文字说明; 2.有程序设计的分析、思路说明; 3.有程序流程框图、程序代码及注释说明; 4.完成系统调试(硬件系统可以借助实验装置实现,也可在Proteus 软件中仿真模拟); 5.有程序运行结果的截屏图片。

八路抢答器设计(附源程序)

烟台大学单片机课程设计说明书课题:八路抢答器 学生姓名: 学号: 院系:机电汽车工程学院 专业:机械设计制造及其自动化 指导老师: 同组成员: 组长: 2012 年06 月07 日 目录

1 概述 (2) 2设计任务 (2) 3 系统总体方案 (3) 4 硬件设计 (4) 控制系统所需硬件 (4) 硬件原理介绍 (4) 5 软件设计 (7) 软件总体设计 (7) 程序流程图 (8) 6 Proteus软件仿真 (12) Keil软件 (12) 在Proteus软件 (12) 7小结 (14) 8心得体会 (15) 附1:源程序代码 (16) 附2:参考文献 (24) 1 .概述

8路智能抢答器的设计 现如今,各种智力知识竞赛已经成为人们的一种娱乐形式,人们在答题的过程中不仅可以享受到乐趣,还可以学到一些科学知识和生活常识。然而在抢答过程中,单靠视觉是很难判断出哪组最先完成抢答操作。为了辨别哪一组或哪一位选手获得答题权,必须要设计一个智能抢答控制系统——智能抢答器。 抢答器作为一种电子产品,已被人们所熟知并广泛应用于各种智力知识竞赛场合。抢答器在竞赛中有很大用处,通过抢答器的指示灯显示,数码管显示和警示蜂鸣等手段,能准确,公正,直观地判断出第1抢答者并协助比赛的顺利进行。但是,目前使用的抢答器大多数都采用了逻辑电路进行设计,分立元件较多,造成抢答器的成本较高。此外一般抢答器由模拟电路,数字电路或二者结合组成,其智能化程度低,故障率高,显示简单。现代电子技术的发展要求电子电路朝数字化,集成化方向发展,因此设计出全集成电路的多路抢答器是现代电子技术发展的要求。 2 .设计任务 本设计要求学生结合现有的实际条件,以单片机为控制核心,设计一个8路智能抢答器。要求实现的功能如下: 1) 抢答器可同时供8名选手或8个代表队比赛,分别用8个按键S1~S8进行抢答。 2) 主持人可以通过智能抢答器的按键设定每道题的抢答时间和回答时间。 3) 具有清零和非法抢答控制功能,并由主持人操纵,避免选手在主持人说“开始”前提前抢答,违反规则。 4) 当主持人启动“开始抢答键”后,定时器进行减计时,在10s内无人抢答表示所有参赛选手或参赛队对本题弃权,抢答时间耗尽后禁止抢答。 5) 倒计时5s时,如果仍无人抢答,则系统每1s报警一次,用以提示参赛选手。 6) 抢答器具有锁存与显示功能。即选手按下按键,锁存相应选手的参赛号码,并在LED数码管上显示,同时扬声器发出报警声响提示。选手抢答实行优先锁存,其他按键者将不能响应,以便公平地选择第一个抢答者。 7) 参赛选手在设定的时间内进行抢答,抢答有效,显示器上显示选手的编号同时进入回答问题的30s倒计时。 8) 倒计时期间,如果主持人想终止倒计时,可以按下“停止”按键,系统

推荐-单片机课程设计多功能定时器 精品 精品

单片机课程设计 多功能定时器 一、设计目的: 1、在理论学习的基础上,通过完成一个涉及MCS-51单片机多种资源应用并具 有综合功能的小系统目标板的设计与编程应用; 2、能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识, 在软件编程、排错调试、相关仪器设备的使用技能等方面得到较全面的锻炼和提高; 3、使学生增进对单片机的感性认识,加深对单片机理论方面的理解。使学生掌 握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通信等; 4、使学生了解和掌握单片机应用系统的软硬件设计过程、方法及实现,为以后 设计和实现单片机应用系统打下良好基础。 二、设计功能说明 数字钟是采用数字电路实现对时,分,秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,本设计可实现如下功能: 1、使用实时时钟芯片写入及读取时间 2、用LCD显示,可显示年、月、日、时、分、秒、星期、农历日期、节日 3、选择蜂鸣器电路,实现两个闹钟设置和事件提示功能 4、实现时钟校正功能,12小时/24小时切换功能 5、显示当前时间为上午时间或下午时间 6、整点报时功能 按键功能如下: 1、对显示时间的设置 按键0:进入设置模式,实现秒(S)、分(M)、时(H)、年(Y)、月(m)、日(D)、星期(W)设置的切换,并在LCD右下角显示所设置的项目,当各项目设置完毕后,再按下按键0则返回主界面正常显示时间; 按键1:每按一次按键1,对所设置的时间加1,当设置的时间超过它的最大值时,该项自动为0,例如:当设置秒为59时,秒自动清零; 按键2:每按一次按键:2,对所设置的时间减1,当设置的时间小于0时,该项自动为它的最大值; 按键3:设置完成后的确认键并可按此键中途退出设置,时间按用户设置值正常计时;

(完整版)基于51单片机的4人抢答器课程设计

基于51单片机的4人抢答器设计 设计要求: 以单片机为核心,设计一个4位竞赛抢答器:同时供4名选手或4个代表队比赛,分别用4个按钮S0~S3表示。 设置一个系统清除和抢答控制开关S,开关由主持人控制。 抢答器具有锁存与显示功能。即选手按按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止。 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。 当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间为0.5s左右。 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。 如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。 工作原理: 通过键盘改变抢答的时间,原理与闹钟时间的设定相同,将定时时间的变量置为全局变量后,通过键盘扫描程序使每按下一次按键,时间加1(超过30时置0)。同时单片机不断进行按键扫描,当参赛选手的按键按下时,用于产生时钟信号的定时计数器停止计数,同时将选手编号(按键号)和抢答时间分别显示在LED上。

#include #define uchar unsigned char #define uint unsigned int uchar num; //定义中断变量,num计满20表示1秒时间到uchar num1; //十秒倒计时显示初始值 uchar flag1,flag2; //清零键及开始键按下标志位 uchar flag3,flag4=0; //定义键盘按下标志位 uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f}; //数码管编码

AT89C51单片机C实现简易计算器

AT89C51单片机简易计算器的设计 一、总体设计 根据功能和指标要求,本系统选用MCS-51系列单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。具体设计如下:(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LCD 显示数据和结果。 (2)另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16 个按键即可,设计中采用集成的计算键盘。 (3)执行过程:开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。 (4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD上提示溢出;当除数为0时,计算器会在LCD 上提示错误。 系统模块图:

二、硬件设计 (一)、总体硬件设计 本设计选用AT89C51单片机为主控单元。显示部分:采用LCD 静态显示。按键部分:采用4*4键盘;利用MM74C922为4*4的键盘扫描IC,读取输入的键值。 总体设计效果如下图:

(二)、键盘接口电路 计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4×4个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。 矩阵键盘的工作原理: 计算器的键盘布局如图2所示:一般有16个键组成,在单片机中正好可以用一个P口实现16个按键功能,这种形式在单片机系统中也最常用。 图 2 矩阵键盘布局图 矩阵键盘内部电路图如图3所示:

根据单片机的三路抢答器的设计王辉

基于单片机的三路抢答器的设计 1课程设计的任务与要求 1.1 课程设计的任务 (1)设计一个可供3人进行的抢答器。 (2)系统设置复位按钮,按动后,重新开始抢答。 (3)抢答器开始时数码管显示序号00,选手抢答实行优先显示,优先抢答选手的编号一直保持到主持人将系统清除为止。抢答后显示优先抢答者序号,同时发出音响,并且不出现其他抢答者的序号。 (4)抢答器具有定时抢答功能,且一次抢答的时间有主持人设定,本抢答器的时间设定为30秒,当主持人启动“开始”开关后,定时器开始减计时。 (5)设定的抢答时间内,选手可以抢答,这时定时器停止工作,显示器上显示选手的号码和抢答时间。并保持到主持人按复位键。 1.2 课程设计的要求 (1)基于单片机的三路抢答器的设计,并用Proteus设计与仿真出来。 (2)程序用Keil编程出来,并且生成Hex文件。 (3)设计的方案要能够长期,有效,稳定的运行。 (4)力求简单实用。 1.3 课程设计的研究基础 本设计是以三路抢答为基本理念。考虑到依需设定限时回答的功能,利用AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答时间和回答问题时间倒记时显示,满时后系统计时手动复位。 2 基于单片机三路抢答器系统方案制定 2.1 方案提出 方案一:

图1 方案一设计方案 方案二: 图2 方案二设计方案 2.2 方案比较 第一个方案比第二个方案多了一个驱动电路,所以第一个方案的电路会比较复杂。 2.3 方案论证 该系统采用51系列单片机AT89C52作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。 2.4 方案选择 通过以上两个方案的比较,选择第二个方案。 3 基于单片机三路抢答器系统方案设计 3.1各单元模块功能介绍及电路设计

单片机课程设计定时器控制4只LED滚动闪烁系统解析

目录

1设计目的 1.1设计目的 1、通过单片机课程设计,熟练掌握单片机C语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。 2、通过定时器控制两个LED显示器显示10秒秒表系统的设计,掌握定时/计数器和LED显示器的使用方法,同时掌握简单程序的编写,最终提高我们的逻辑抽象能力。 1.2设计内容和要求 内容:设计一个能够控制两个LED显示器显示10秒秒表的模拟系统。 要求:利用单片机的定时器定时,控制LED显示器显示。 1.3 设计思路 1.先熟悉实验原理,了解4只LED滚动闪烁系统灯的工作过程,组成滚动闪烁系统需要的组件。 2.了解各个硬件的工作原理, 3.绘制电路原理图,编写程序,并进行仿真,基本实现LED滚动闪烁系统灯的功能。

2设计原理分析 2.1十秒秒表的系统设计 通过编写程序,实现对发光二极管的控制,来4只LED 滚动闪烁灯的管理。每延时一段时间,灯的显示情况都会按LED 灯的显示规律进行状态转换。采用单片机内部的I/O 口上的P0口中的4个引脚即可来控制4个LED 灯。 2.2十秒秒表的功能要求 本设计能模拟基本的LED 滚动闪烁系统,是用中断的方式定时控制LED 定的闪烁及滚动。 2.2.1计时显示 定时/计数器工作方式寄存器,定时器采用T0定时器0工作于模式2 位数:8位计数范围:0-255 具有自动加载功能 2.2.2中断设置 每累计若干次定时器中断才执行一次闪烁。 2.3定时器控制4只LED 滚动闪烁制系统的基本构成及原理 单片机设LED 灯闪烁系统,可用单片机直接控制信号灯的状态变化可以广泛的应用到商业和工业的流程控制测电路当中。 图2.1 系统的总体框图 据此,本设计系统以单片机为控制核心,连接成最小系统。系统的总体框图如上所示。因为它能够准确地划分成时钟频率,与UART(通用异步接收器/发送器)量常见的波特率相关。特别是较高的波特率(19600,19200),不管多么古怪的值,这些晶振都是准确,常被使用的。当定时器1被用作波特率发生器时,波特率工作于方式1和方式3是由定时器1 的溢出率和SMOD 的值(PCON.7------双倍速波特率)决定:

基于单片机STC89C52RC的八路抢答器课程设计报告75092282

基于单片机STC89C52RC的八路抢答器课程设计报告75092282

信息与电子工程学院 课程设计报告 课程单片机技术应用 设计题目基于单片机STC89C52RC的八路抢答器专业应用电子技术 班级11级4班 成员姓名学号分工成绩 软件部分 硬件部分

目录 一、课程设计概述.................................................................................................................... - 1 - 1.1课程设计背景 (1) 1.2课程设计内容 (1) 1.3课程设计技术指标 (1) 二、方案的选择及确定............................................................................................................ - 1 - 2.1方案一:集成数字电路 (1) 2.2方案二:单片机 (2) 2.3方案分析比较: (2) 三、硬件设计............................................................................................................................ - 3 - 3.1系统硬件设计 (3) 3.2复位电路的设计 (3) 3.3时钟电路设计 (3) 3.4显示电路设计 (4) 3.5按键电路设计 (5) 3.6报警电路设计 (6) 3.7电源模块设计 (7) 四、系统软件设计.................................................................................................................... - 7 - 4.1系统的功能流程 (7) 4.2主程序流程图 (7) 五、系统调试过程.................................................................................................................... - 9 - 5.1软件调试 (9) 5.2硬件调试 (10) 六、总结.................................................................................................................................. - 13 - 七、遇到的问题及解决方法.................................................................................................. - 13 - 八、参考文献.......................................................................................................................... - 13 - 九、附录.................................................................................................................................. - 14 - 9.1仪器与设备 (14) 9.2元器件清单 (14)

单片机课程设计——基于C51简易计算器

单片机双字节十六进制减法实验设计 摘要 本设计是基于51系列的单片机进行的双字节十六进制减法设计,可以完成计 算器的键盘输入,进行加、减、3位无符号数字的简单运算,并在LED上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用5个键盘。显示采用3位7段共阴极LED动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus 仿真。 引言 十六进制减法计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。 单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。 关键词:单片机、计算器、AT89C51芯片、汇编语言、数码管、加减

目录 摘要 (01) 引言 (01) 一、设计任务和要求............................. 1、1 设计要求 1、2 性能指标 1、3 设计方案的确定 二、单片机简要原理............................. 2、1 AT89C51的介绍 2、2 单片机最小系统 2、3 七段共阴极数码管 三、硬件设计................................... 3、1 键盘电路的设计 3、2 显示电路的设计 四、软件设计................................... 4、1 系统设计 4、2 显示电路的设计 五、调试与仿真................................. 5、1 Keil C51单片机软件开发系统 5、2 proteus的操作 六、心得体会.................................... 参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单.................................. 一、设计任务和要求

多路抢答器设计

课程设计报告 学生姓名:刘科学号:2014303010328 学院:电气工程学院 班级: 电自1418 题目: 多路抢答器设计 指导教师:杨修宇职称: 助理实验师 指导教师:张光烈职称: 副教授 2016年 7 月 7日

一.设计要求 设计一台四路抢答器,具体要求如下: (1)抢答开始时,由主持人按下复位开关清除信号,用发光二极管作为输出显示信号标志。 (2)当主持人宣布“抢答开始”后,先按键者相应的发光二极管点亮; (3)有人按键被响应的同时,应有信号发出去锁住其余几个抢答者的电路,不再接收其它信号,直到主持人再次清除信号为止。当达到限定时间时,发出声响以示警告。 (4)在电路中设计一个计时功能电路,要求计时电路按秒显示,最多时限为1分钟,当时间显示一旦到达59秒,下一秒系统自动取消抢答权,信号被自动清除,抢答重新开始。亦可倒计时显示。 二.设计原理及框图 如图1所示为四路抢答器的电路框图。其工作原理为:接通电源后,主持人将开关拨到“开始”状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置“开始”状态,宣布"开始"抢答器工作。定时器倒计时,扬声器给出声响提示。选手在定时时间内抢答时,可以通过按按钮的快慢来决定由谁来回答,按得快的选手的编号显示在电子显示管上,抢答器完成(优先编码判断、编号锁存、编号显示、扬声器提示)。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。当一轮抢答时间结束后而四位选手没有抢答,定时器显示为零。如果再次抢答必须由主持人再次操作“开始”和“开始”状态开关,主持人按下开关后所有的显示及工作状态回到初始状态,以便进行下一次答题。 整个电路框图主要分为抢答电路和倒计时电路两部分,其中抢答器电路由编码器电路,触发器电路,译码器电路,数码管显示电路组成。译码电路用来译出编码,数码显示部分用来显示按下的选手号码。另一部分倒计时电路用来显示选手抢答剩余时间,由减法计数器和时钟振荡电路构成。

单片机的课程设计_30秒定时器

目录 一、篮球计时器作用 (1) 二、设计的具体实现 (1) 1.系统概述 (1) 1.1总体设计思路及方案 (1) 1.2流程图 (3) 1.3计数原理 (3) 1.4定时器工作方式 (4) 2.单元电路设计 (6) 2.1 8051单片机 (6) 2.2两个基本电路 (8) 2.3八段数码管的驱动方式.......................错误!未定义书签。 3.软件程序设计 (9)

单片机的定时器设计 一、篮球计时器的作用 在篮球比赛中,规定了球员的持球时间不能超过24秒,否则就视为犯规。本课程设计的“篮球竞赛24秒定时器”,可用于篮球比赛中对球员持球时间作24秒时间限制。一旦球员的持球时间超过了24秒,它自动报警,从而判定此球员犯规。 二、设计的具体实现 1.系统概述 1.1总体设计思路及方案 图1.1.1 总设计图

流程图:

最小系统,就是最简单的输出/输入构成,并且能实现最基本的运行条件,如应有供电、时钟附属电路等。单片机的最小系统包括晶振电路复位电路和电源,这时最小系统基本组成当然还可以添加矩阵键盘数码管等。 此实验的原理是,利用单片机的最小系统,通过锁存器74HC573控制数码管,来实现30秒定时器的功能。 图1.1.2最小系统 1.2计数原理 80C51单片机部设有两个16位的可编程定时器/计数器。在定时器/计数器中除了有两个16位的计数器之外,还有两个特殊功能寄存器(控制寄存器和方式寄存器)。 1.2.1定时器/计数器的结构 16位的定时/计数器分别由两个8位专用寄存器组成,即:T0由TH0和TL0构成;T1由TH1和TL1构成。每个寄存器均可单独访问。这些寄存器是用于存放定时或计数初值的。此外,其部还有一个8位的定时器方式寄存器TMOD和一个8位的定时控制寄存器TCON。这些寄存器之间是通过部总线和控制逻辑电路

单片机课程设计八位竞赛抢答器的设计

单片机原理及接口技术 课程设计 八位竞赛抢答器的设计 姓名: 学号: 指导教师: 院系(部所):机电工程学院 专业:机械设计制造及其自动化 完成日期:2012年12月20日

摘要 随着单子技术的飞速发展,基于单片机的控制系统已广泛应用与工业、农业、电力、电子、智能楼宇等行业,微型计算机作为嵌入式控制系统的主体与核心,代替了传统的控制系统的常规电子线路。本设计是以八路抢答为基本理念。考虑到需设定限时回答的功能呢个,利用AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间和抢答的号码。用开关做键盘输出,扬声器发生提示,并且有警告灯显示,正常工作时为绿灯,报警或抢答等违规信号时则出现红灯。 关键词:AT89C51;抢答器;计数器

目录 1概述 (1) 2 抢答器的硬件系统设计 (3) 2.1 系统整体方案设计 (3) 2.2 系统硬件组成 (3) 3 最小系统与主控模块的设计与实现 (5) 3.1 单片机最小硬件系统的组成简述 (5) 3.1.1 电源电路 (5) 3.1.2 时钟电路 (6) 3.1.3 复位电路 (7) 3.2 主流程图 (8) 4 模块的设计与实现 (9) 4.1 抢答电路的设计 (9) 4.2 锁存器74HC573 (9) 4.3 主持人控制电路与扬声器的设计...................... 错误!未定义书签。 4.4 显示电路的设计.................................... 错误!未定义书签。 5 软件的设计 (12) 5.1语言选择 (12) 5.2软件总体设计 (12) 总结 (13) 参考文献 (15) 致谢 (16) 附录 (17)

单片机课程设计——基于C51简易计算器

单片机十进制加法计算器设计 摘要 本设计是基于51系列的单片机进行的十进制计算器系统设计,可以完成计 算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用4×4矩阵键盘。显示采用3位7段共阴极LED动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C 语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用全球编译效率最高的KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus仿真。 引言 十进制加法计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。 单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。 关键词:单片机、计算器、AT89C51芯片、汇编语言、数码管、加减乘除

目录 摘要 (01) 引言 (01) 一、设计任务和要求............................. 1、1 设计要求 1、2 性能指标 1、3 设计方案的确定 二、单片机简要原理............................. 2、1 AT89C51的介绍 2、2 单片机最小系统 2、3 七段共阳极数码管 三、硬件设计................................... 3、1 键盘电路的设计 3、2 显示电路的设计 四、软件设计................................... 4、1 系统设计 4、2 显示电路的设计 五、调试与仿真................................. 5、1 Keil C51单片机软件开发系统 5、2 proteus的操作 六、心得体会.................................... 参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单..................................

相关文档
相关文档 最新文档