搜索
bottom↓
回复: 1

ATmega128芯片编程的小问题!希望马老师给予解答!

[复制链接]

出0入0汤圆

发表于 2007-8-21 16:29:55 | 显示全部楼层 |阅读模式
最近用ATmega128芯片做个测试版,CPU采用ATMEGA128L,5V供电系统,通过48脚(PA3)输出高低电平,再由继电器可以实现弱电控制强电。使用外置晶振11.0592MHZ。JTAG接口烧写程序。主要功能是用单片机产生周期开关信号控制开关电源开5秒关21秒,对模块持续开关电30分钟。现在硬件都完成了就是在编程上遇到困难请马老师帮忙解决!

最开始编的程序如下想实现48脚高低电平的转换。不过不知为什么,在用AVR Sudio4实现时,程序总是运行第一个命令给A口置高电平就不往下走了,检查错误也没发现就是不知道什么原因,请马老师帮忙解决,由于我是第一次接触AVR,如果觉得我不行,希望老师能帮我编给小程序让我实现以上功能!谢谢!

#include "iom128v.h"





#define BIT0 0X01

#define BIT1 0X02

#define BIT2 0X04

#define BIT3 0X08         

#define BIT4 0X10

#define BIT5 0X20

#define BIT6 0X40

#define BIT7 0X80



#define DELAY_OPEN PORTA |=0x08

#define DELAY_DOWN PORTA &= ~0x08

unsigned char i=0;



void hardwire_ini(void)

{

DDRA=BIT3;

PORTA=BIT3;



}

void delay_time(unsigned int num)

{

unsigned int i,h=0;

while(num--)

{ for(i=0;i<6000;i++)

        h=0;   

}



}

void main(void)

{

hardwire_ini();



while(1)

{





DELAY_OPEN;

  delay_time(2);

  DELAY_DOWN;

  delay_time(2);

}



}

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

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

出0入0汤圆

发表于 2007-8-23 22:57:50 | 显示全部楼层
先把主程序中的两句delay_time(2)注释掉,然后在AVR STUDIOU中模拟。



成功后加上delay,如果你的delay是2秒的话,在AVR STUDIOU中模拟可能需要30秒的时间。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-18 16:10

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

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