0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于AVR128单片机抢答器仿真设计

bbxyliyang 来源:bbxyliyang 作者:bbxyliyang 2023-08-29 15:58 次阅读


一、系统方案

wKgZomTtpNWANkn6AAGylIGaML0576.png

wKgaomTtpN2AEbdTAAAWCNxZf3s379.png


二、硬件设计
原理图如下:

wKgaomTtpOOAWo_HAAExA6nUE3M803.png

三、单片机软件设计
1、首先是系统初始化
void timer0_init() //定时器初始化
{
TCCR0=0x07; //普通模式,OC0不输出,1024分频
TCNT0=f_count; //初值,定时为10ms
TIFR=0x01; //清中断标志位
TIMSK=0x01; //使能定时器0溢出中断
SREG|=0x80; //开启全局中断
}
2、数码管显示程序
void Smg_Dispaly(uchar Value1,uchar Value2,uchar Num)
{


if(SmgCnt == 0)
{
PORTB = 0xFF;
PORTB = Smg_Duan[Value1/10];
PORTA = Smg_Wei[0];
}
else if(SmgCnt == 1)
{
PORTB = 0xFF;
PORTB = Smg_Duan[Value1%10];
PORTA = Smg_Wei[1];
}
else if(SmgCnt == 2)
{

}
else if(SmgCnt == 3)
{
PORTB = 0xFF;
PORTB = Smg_Duan[Value2/10];
PORTA = Smg_Wei[3];
}
else if(SmgCnt == 4)
{
PORTB = 0xFF;
PORTB = Smg_Duan[Value2%10];
PORTA = Smg_Wei[4];
}
else if(SmgCnt == 5)
{

}
else if(SmgCnt == 6)
{

}
else if(SmgCnt == 7)
{
PORTB = 0xFF;
PORTB = Smg_Duan[Num];
PORTA = Smg_Wei[7];
}
if(++SmgCnt >= 8)
SmgCnt = 0;
}
3、按键程序
if(PINC == 0xFF)
{
Kcnt = 0;Kflag = 0;
}
else if(Kflag == 0)
{
if(++Kcnt >= 3)
{
Kflag = 1;Kcnt = 0;timer = 0;
PORTE =~ PORTE;
if(DownCnt == 0)
{

switch(PINC)
{
case 0xFE: ValueNum = 1; ValueFlag = 1;break;
case 0xFD: ValueNum = 2; ValueFlag = 1;break;
case 0xFB: ValueNum = 3; ValueFlag = 1;break;
case 0xF7: ValueNum = 4; ValueFlag = 1;break;
case 0xEF: ValueNum = 5; ValueFlag = 1;break;
case 0xDF: ValueNum = 6; ValueFlag = 1;break;
case 0xBF: ValueNum = 7; ValueFlag = 1;break;
case 0x7F: ValueNum = 8; ValueFlag = 1;break;
default: break;
}

}
4、核心算法程序

#pragma interrupt_handler timer1_ovf_isr:15
void timer1_ovf_isr(void)
{
static uchar cnt = 0;
if(StartFlag == 0)
{
cnt = 0;
}
if(++cnt >= 200)
{
cnt = 0; // 定时器定时5ms,计数200次为1s
if(StartData == 0)
{
SecFlag = 1; // 秒信号
}
}
TCNT1H = (65535-500)/256;
TCNT1L = (65535-500)%256;
Smg_Dispaly(ValueCnt,ValueTmr,ValueNum);

}
四、proteus仿真设计
Proteus软件是一款应用比较广泛的工具,它可以在没有硬件平台的基础上通过自身的软件仿真出硬件平台的运行情况,这样就可以通过软件仿真来验证我们设计的方案有没有问题,如果有问题,可以重新选择器件,连接器件,直到达到我们设定的目的,避免我们搭建实物的时候,如果当初选择的方案有问题,我们器件都已经焊接好了,再去卸载下去,再去焊接新的方案的器件,测试,这样会浪费人力和物力,也给开发者带来一定困惑,Proteus仿真软件就很好的解决这个问题,我们在设计之初,就使用该软件进行模拟仿真,测试,选择满足我们设计的最优方案。最后根据测试没问题的仿真图纸,焊接实物,调试,最终完成本设计的作品。

wKgaomTtpPOAWYviAAEwFWIrr30414.png



审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 抢答器
    +关注

    关注

    16

    文章

    243

    浏览量

    34358
  • 原理图
    +关注

    关注

    1291

    文章

    6270

    浏览量

    232307
  • 仿真设计
    +关注

    关注

    3

    文章

    95

    浏览量

    16786
  • AVR128
    +关注

    关注

    0

    文章

    6

    浏览量

    5299
  • 单片机
    +关注

    关注

    0

    文章

    201

    浏览量

    16658
收藏 人收藏

    评论

    相关推荐

    基于AVR单片机智能抢答器的设计

    谁能提供下基于AVR单片机的智能抢答器的设计的原理图以及程序。。四路抢答器的。。{:19:}{:23:}
    发表于 12-05 21:37

    基于AVR单片机四路智能抢答器的设计

    求基于AVR单片机四路智能抢答器的设计电路原理图。。{:19:}
    发表于 12-05 21:55

    AVR四路智能抢答器

    AVR单片机四路抢答器的设计附pcb 原理图 程序{:23:}
    发表于 12-05 22:34

    基于单片机抢答器设计

    基于单片机抢答器设计基本要求:利用AT89C51设计抢答器,具有抢答输入、抢答成功后显示抢答
    发表于 11-25 21:51

    基于51单片机的八路抢答器设计

    基于51单片机的八路抢答器设计很不错哦可以看看哦
    发表于 11-17 16:59 99次下载

    基于单片机的综合应用程序抢答器【C语言】

    基于单片机的综合应用程序抢答器【C语言】,简单的抢答器程序。
    发表于 01-06 14:18 41次下载

    基于单片机的八路抢答器

    关于单片机的八路抢答器,可以看看哈~~~~~~~~~~
    发表于 06-22 15:56 4次下载

    抢答器protues仿真程序 51抢答器设计 抢答器程序prot

    抢答器protues仿真程序 51抢答器设计 抢答器程序protues仿真设计
    发表于 01-14 22:32 169次下载

    基于51单片机16路抢答器的设计与制作

    基于51单片机16路抢答器的设计与制作
    发表于 05-22 08:53 56次下载

    基于单片机的八路智力抢答器设计

    基于单片机的八路智力抢答器设计论文
    发表于 06-28 14:53 201次下载

    单片机如何设计八路抢答器

    单片机来设计八路抢答器是一个常见的小课题,本人之前在大学期间就设计过八路抢答器的课程设计,也正是这个课程设计,让我喜欢上了单片机,以后也是从事的嵌入式研发类的岗位,今天再把这个设计分
    发表于 07-17 09:46 3086次阅读

    基于单片机抢答器设计 proteus仿真资料

    文末下载完整资料  摘 要:本文介绍用单片机技术设计的电子抢答器,除能完成基本的抢答功能外,还可进行加分、减分、存贮显示各组分数、答题限时抢答限时等功能.主要有选手
    发表于 11-05 10:06 23次下载
    基于<b class='flag-5'>单片机</b>的<b class='flag-5'>抢答器</b>设计 proteus<b class='flag-5'>仿真</b>资料

    PIC16F887 单片机 PROTEUS 仿真 C程序 抢答器

    电子发烧友网站提供《PIC16F887 单片机 PROTEUS 仿真 C程序 抢答器.pdf》资料免费下载
    发表于 11-16 18:06 8次下载
    PIC16F887 <b class='flag-5'>单片机</b> PROTEUS <b class='flag-5'>仿真</b> C程序 <b class='flag-5'>抢答器</b>

    基于单片机的多功能抢答器的设计与实现Proteus仿真资料包

    基于单片机的多功能抢答器的设计与实现Proteus仿真资料包
    发表于 12-06 13:47 55次下载

    基于51单片机抢答器设计例程源代码

    基于51单片机抢答器设计例程源代码
    发表于 05-12 16:24 28次下载