搜索
bottom↓
回复: 3

刚开始接触AVR,写了个按键数码管显示加1的程序,不知道为什么老是不正确,望指教

[复制链接]

出0入0汤圆

发表于 2007-12-12 18:14:27 | 显示全部楼层 |阅读模式
马老师:
你好,刚开始接触过AVR,以前全用汇编写的,也是做51和PIC的,现在刚开始接触AVR,写了个按键数码管显示加1的程序,不知道为什么老是不正确,望指教,程序如下:/ICC-AVR application builder : 2007-12-12 17:27:22
// Target : M16
// Crystal: 14.7456Mhz

#include <iom16v.h>
#include <macros.h>
const led_table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
typedef unsigned char uint8;
uint8 i;

void port_init(void)
{
PORTA = 0xFF;
DDRA  = 0xFF;
PORTB = 0xFf;
DDRB  = 0xFE;
PORTC = 0xFF; //m103 output only
DDRC  = 0xFF;
PORTD = 0x00;
DDRD  = 0x00;
}

//call this routine to initialize all peripherals
void init_devices(void)
{
//stop errant interrupts until set up
CLI(); //disable all interrupts
port_init();

MCUCR = 0x00;
GICR  = 0x00;
TIMSK = 0x00; //timer interrupt sources
SEI(); //re-enable interrupts
//all peripherals are now initialized
}
void delay(void)
{unsigned int j;
for(j=0;j<1000;j++)
{;}
}
void main(void)
{int temp;
init_devices();
while(1){

if(PINB==0XFf)
{PORTA=led_table;
PORTB=0XFe;
PORTC=0X00;
}
else
{delay();
if(PINB==0XFE)
{do{i=i+1;
   if(i==10)i=0;
   PORTA=led_table;
   PORTB=0XFe;
   PORTC=0XFf;}while(PINB==0XFF);}
else
{PORTA=led_table;
PORTB=0XFe;
}
}
}}

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2007-12-12 19:59:59 | 显示全部楼层
好奇怪的晶振哟。。。:)
开发环境描述一下先??

出0入0汤圆

 楼主| 发表于 2007-12-12 22:33:30 | 显示全部楼层
呵呵,我用的是14。7456晶震,30P磁片电容,我自己用万用板焊接的学习扳,好像是消抖那里有问题,按下键现实1,再按下现实9,再按下4,等等,反正不是按照我的要求出现的,马老师能给我看看吗?

出0入0汤圆

发表于 2007-12-12 22:50:06 | 显示全部楼层
请下载本栏置顶栏中红色的我编写教材的前11章电子版文档仔细学习.里面有按键的设计例子,在第9章.建议能认真学习,打好基础.
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-22 19:36

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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