求使用ATmage16单片机对蜂鸣器的C编程
发布网友
发布时间:2023-11-16 16:11
我来回答
共2个回答
热心网友
时间:2024-12-03 20:51
/*
编写环境:codevisionavr2.03.4
芯片型号:atmega16
主题:蜂鸣器程序
功能:8个发光管由上至下间隔1s流动,其中每个管亮500ms,灭500ms,亮时蜂鸣器响,灭时关闭蜂鸣器,一直重复下去。
说明:PORTA接8路发光管(高电平有效),PB2接蜂鸣器(低电平有效)
QQ:435025021
*/
#include <mega16.h>
/* 微秒级延时程序 */
void delayus(int time)
{
do
{
time--;
}
while (time>1);
}
/* 毫秒级延时程序 */
void delayms(unsigned int time)
{
while(time!=0)
{
delayus(1000);
time--;
}
}
unsigned int k = 0;
unsigned int t = 1;
void main(void)
{
DDRB = 0xFF; /* output */
PORTB = 0xFF; /* all off */
DDRA = 0xFF; /* output */
PORTA = 0x00; /* all off */
while (1)
{
for(k=0; k<8; k++)
{
PORTA = t;
t=t*2;
PORTB =0xFB;
delayms(500);
PORTA = 0x00;
PORTB =0xFF;
delayms(500);
}
t=1;
};
}
热心网友
时间:2024-12-03 20:52
买的学习板子没有教程,光盘学习资料?
照着光盘上的教程,多做实验,不懂的需要看看书本了。