本帖最后由 ddllxxrr 于 2014-10-14 20:47 编辑
这个电路是用一个开关控制一个蜂鸣器的发音。就是按高低高低的不同来发音,当改变周期时,就改变了音频。
以下是仿真截图:
以下是Studio6.2编译通过截图:
以下是程序:
- /*
- * GccApplication17.c
- *
- * Created: 2014-10-13 20:34:34
- * Author: Administrator
- */
- #define __DELAY_BACKWARD_COMPATIBLE__
- #define F_CPU 0x8000000UL
- #include <avr/io.h>
- #include <util/delay.h>
- #include <stdint.h>
- #define S1_ON() ((PIND & _BV(PD7))== 0x80)
- #define SPK() (PORTD ^= _BV(PD0))
- void Alarm(uint8_t mytime )
- {
- uint8_t i;
- for(i=0;i<200;i++)
- {
- SPK();_delay_us(mytime);
- }
-
- }
- int main(void)
- {
- DDRD = 0x7F;
- PORTD = 0xFF;
-
- while(1)
- {
- //TODO:: Please write your application code
- if(S1_ON())
- {
- Alarm(3);
- Alarm(50);
- }
- }
- }
-
|