找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2962|回复: 4
打印 上一主题 下一主题
收起左侧

请教 avr数码管显示 仿真问题

[复制链接]
跳转到指定楼层
楼主
编写软件   Atmel Studio7
仿真软件  proteus
程序
#include <avr/io.h>
#define led_wei_ddr DDRA|=0XF0
#define led_wei PORTA
#define led_duan_ddr DDRB=0XFF
#define led_duan PORTB
#define uchar unsigned char
#define uint unsigned int
int table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//共阳数码管0--9代码
void delay_ms(unsigned int x)    // 延时 (x) ms
{
unsigned char j;
while(x--)
{
  for(j=0;j<123;j++)
  {
   ;
  }
}
}
void delay_us(unsigned char x)   // 延时 (x*2+5) us
{
while(--x);
}
void show(uchar j,uchar k)
{
led_wei|=0xF0; //如果换位的话这里也要改,使清屏    //共阳共阴和高低电平驱动也不一样
led_wei&=~1<<(k);
/*if(k==1) //这用来在有需要的位上加小数点
{
        led_duan=table[j]&0x7f;
        delay_ms(4);
       }*/
led_duan = table[j];
delay_ms(5);
}
/*****************数码管输出函数****************/
void led_display(uint dat,uchar num)//dat为要输出的数,num为要输出数字的位数
{
uchar i,ad[4];
led_duan_ddr;
led_wei_ddr;
for(i=0;i<num;i++)
{
  ad=dat%10;
  dat=dat/10;
}
for(i=0;i<num;i++)
{
  show(ad,i);
  delay_ms(5);
}
}

int main(void)
{
    /* Replace with your application code */
    while (1)
    {
  led_display(6666,4);
    }
}
程序通过  无错误  无警告   设置F_CPU=8000000UL    数码管模块  100us



请教各位老师   怎样修改   能正确显示
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:231071 发表于 2017-9-5 10:30 | 只看该作者
中断程序出错
回复

使用道具 举报

板凳
ID:44037 发表于 2017-9-5 10:52 | 只看该作者
谢谢指导   能具体说一下    这个是ATMEGA16实物显示正常的程序
回复

使用道具 举报

地板
ID:162860 发表于 2017-9-5 21:01 | 只看该作者
for(i=0;i<num;i++)
{
  ad=dat%10;
  dat=dat/10;
}
for(i=0;i<num;i++)
{
  show(ad,i);
  delay_ms(5);
}
这里错
数位对应错


回复

使用道具 举报

5#
ID:454000 发表于 2019-1-31 21:14 | 只看该作者
本帖最后由 shuisheng 于 2019-2-21 15:55 编辑

数码管是有很多实物显示正常仿真出问题的,不过要解决也不难,反过来你如果能解决好仿真中的数码管,实物操作一点问题也没有

评分

参与人数 5黑币 +150 收起 理由
Trump1438 + 35
#include51.h + 35
areyouok + 35
jinsheng7533967 + 35
zhengchong60 + 10 绝世好帖!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表