初学建议不要用汇编,太过底层,不容易弄懂,可能一下会失去兴趣,建议用C,一开始感受单片机的有趣之处,然后你会慢慢发现,自己需要了解更加底层的知识,这时再去看PDF了解单片机各种寄存器的位置和具体作用,然后慢慢接触汇编,你会发现豁然开朗~
至于你说的程序的写法,你需要明确在什么编译环境下编写,不然代码也是有少许不同的,我列举了在CVAVR环境下编译的代码,这个IDE还是很好用的,有人说看不起,但是我觉得初学者用挺好,先弄出来,提起兴趣,再深究。
第一种利用外设的中断来写:
CVAVR代码:
EICRA=0x00;
EIMSK=0x00;
PCICR=0x02;
PCMSK1=0x08;
PCIFR=0x02;
这是MEGA48外设带有的任何引脚变换就会使程序进入中断的优势。
中断写法
interrupt [PC_INT1] void pin_change_isr1(void)
{
// Place your code here
}
第二种写法便是利用程序分时检测
比较简单 就不写了··
具体可能还不好弄,你还有问题可以问我 我们一起交流下 QQ:466869332