stc89c52蜂鸣器c程序
答:include\r\n#include\r\n//本例采用89C52,晶振为11.0592MHZ\r\n//关于如何编制音乐代码,其实十分简单,各位可以看以下代码.\r\n//频率常数即音乐术语中的音调,而节拍常数即音乐术语中的多少拍;\r\n//所以拿出谱子,试探编吧!\r\nsbitBeep=P1^5;\r\n\r\nunsignedcharn=0;//n为节拍常数变...
答:蜂鸣器唱《祝你平安》;;***/ SPK bit P2.3 ORG 0000H LJMP START ORG 000BH INC 20H ;中断服务,中断计数器加1 MOV TH0,#0D8H MOV TL0,#0EFH ;12M晶振,形成10毫秒中断 RETI START:MOV SP,#50H MOV TH0,#0D8H MOV TL0,#0EFH MOV TMOD,#01H MOV IE,#82H MUSIC0:NOP MOV DPTR...
答:include<reg51.h> define uchar unsigned char define uint unsigned int sbit SPK=P1^0;sbit K1=P1^7;//发声函数 void Alarm(uchar t){ uchari,j;for(i=0;i<200;i++){ SPK=~SPK;for(j=0;j<t;j++); //由参数t行成不同的频率 } } voidmain(){ SPK=0;while(1){ if(K1...
答:如图所示,这个就是STC89C52单片机控制蜂鸣器响一秒停一秒,一直重复的程序,单片机上电开始就如此重复。望采纳。。。
答:给你一个lcd1602和键盘的程序,你稍加修改就可以用了#include "AT89X51.h"include "lcd_1602.c"include "key.c"main(){ unsigned char key;LCD_Initial();GotoXY(0,0);Print("wait you press!");while(1){ key=keyscan1();if(key!=255){ GotoXY(0,1);LCD_Write(1,key/100+0x30)...
答:由于驱动的信号刚好为周期500μs,占空比为1/2duty 的方波,只需要每250μs 进行一次电平翻转,就可以得到驱动蜂鸣器的方波信号。在程序上,可以使用TIMER0 来定时,将TIMER0 的预分频设置为/1,选择TIMER0 的始终为系统时钟(主振荡器时钟/4),在TIMER0 的载入/计数寄存器的高4 位和低4 位分别写入...
答:中断了,程序肯定还是在执行完中断还是继续的,你中断只执行beep=0后程序继续走呀,除非你用一个if去判断beep后把整个程序关闭
答:基本没有问题 ,但是你的蜂鸣器功耗较大时不行,最好在R8右侧上拉1k电阻--可靠些 .原因是52单片机高电平电流大约只有100-150uA,9014的放大系数随集电极电流的增大而减小.可能会使三极管的管压降过大,<0.3v较好.没说到的可以再问
答:1,STC89C52推动8050的I/O必须配置为推挽输出(配置方法详见数据手册)再2K电阻连接;2,无源蜂鸣器需要音频脉冲驱动;3,8050各极的电压:静态且驱动I/O为0时,基极0V,发射极0V,集电极 = VCC;动态电压与音频脉冲的占空比有关,假定占空比为50%,那么:基极约0.35V,发射极电压0V,集电极电压与...
答:;数码管显示定时时间的程序 display:CLR P2.4;使继电器1释放,开始定时(开机时继电器处于吸合状态)(既然你是比赛用倒计时提醒器就不需要继电器,可以忽略)CLR P2.3;使继电器2释放,开始定时(开机时继电器处于吸合状态)MOV R2,#120 AB:MOV R3,#250 TIME1:mov a,temp ;将temp中的十六进制数转换成...
网友评论:
王芬17289714343:
求stc89c52蜂鸣器响五秒的c语言代码 -
11749娄晓
: 看你蜂鸣器是接到哪里,什么类型的 最简单的只接一根pio控制就好 代码就是 pio=1 延时五秒 pio=0
王芬17289714343:
求STC89C52单片机的蜂鸣器演奏 (歌曲随便)C程序 -
11749娄晓
: 蜂鸣器唱《祝你平安》 *; *;********************************************************************************/SPK bit P2.3ORG 0000HLJMP STARTORG 000BHINC 20H ;中断服务,中断计数器加1MOV TH0,#0D8HMOV TL0,#0EFH ;12M晶振...
王芬17289714343:
你好,我现在大一.我使用的单片机是stc89c52,想写一个有源蜂鸣器的程序,看了一些测试代码,不是太会写 -
11749娄晓
: #include<reg51.h>#define uchar unsigned char#define uint unsigned int sbit SPK=P1^0; sbit K1=P1^7;//发声函数 void Alarm(uchar t) { uchari,j; for(i=0;i<200;i++) { SPK=~SPK; for(j=0;j<t;j++); //由参数t行成不同的频率 } } voidmain() { SPK=0; while(1) { if(K1==1) { Alarm(90); Alarm(120); } } }
王芬17289714343:
单片机STC89C52数字时钟,要有蜂鸣器只有四个数码管所以要只显示分和秒不显示时,的C语言编程 -
11749娄晓
: 阿哈,我之前有做过类似的,拿出来根据你的要求修改了一下,采用AT89C52,4个共阴极数码管,4个74ls锁存器,制作了个数字时钟,参考一下吧,有问题欢迎提问哈,一起互相学习,如果回答对你有帮助,记得采纳哦,仿真图如下(图中数...
王芬17289714343:
求STC89C52单片机的蜂鸣器演奏 (歌曲随便)C程序
11749娄晓
:蜂鸣器唱《祝你平安》 * ; * ;********************************************************************************/ SPK bit P2.3 ORG 0000H LJMP START ORG 000BH INC 20H ;中断服务,中断计数器加1 MOV TH0,#0D8H MOV TL0,#0EFH ;12M晶振,形...
王芬17289714343:
我想问一下~那个~用STC89C52单片机产生一个PWM波的C语言程序怎么写啊? -
11749娄晓
: 首先89C52内部没有硬件PWM发生器,只能通过定时器模拟!你可以通过两个定时器,T0控制周期,T1控制占空比.例如:实现周期为1000us,占空比为20%的PWM,用P1.0实现 首先你设置T0为65536-1000 (12M晶振) T1为65536-200 首先初始化P1.0=1,两个定时器同时打开,在定时器T1中断时拉低P1.0,在定时器T0中断时在拉高P1.0,同时将两定时器初始值初始化T0为65536-1000 ,T1为65536-200 希望对你有用,呵呵!!!
王芬17289714343:
(无源)蜂鸣器,stc89c52单片机,npn8050,求分析,有图 -
11749娄晓
: 1,STC89C52推动8050的I/O必须配置为推挽输出(配置方法详见数据手册)再2K电阻连接;2,无源蜂鸣器需要音频脉冲驱动;3,8050各极的电压:静态且驱动I/O为0时,基极0V,发射极0V,集电极 = VCC; 动态电压与音频脉冲的占空比有关,假定占空比为50%,那么:基极约0.35V,发射极电压0V, 集电极电压与蜂鸣器的阻抗有关,8欧?16欧?32欧?64欧?与8050的hFE有关,只能给个大概,约1/2VCC.
王芬17289714343:
【求单片机C语言程序】STC89C52通过两个外部中断P3.2和P3.3,来控制P1.0和P1.1的数码管亮和灭,一定keil C -
11749娄晓
: /*模块低电平有效、外部中断0、1为低电平出发*/#include "reg52.h" void delay( char i) { unsigned char t; while(i--) { for(t=0;t<108;t++); } } void INT0_ROUTING() interrupt 0//外部中断0子程序 { P0=0xfe;//LED0点亮 while((P3|0xfb)==0xff);//等待外部...
王芬17289714343:
stc89c51单片机c语言.编写中断程序,要求主程序每间隔1秒蜂鸣器响1秒. -
11749娄晓
: #include <reg51.h> #define u8 unsigned char #define u16 unsigned int sbit BEEP = P1^1; void Delay1000us() //@11.0592MHz void Delay_ms(u16 ms) //@11.0592MHz u16 time = 1000; void main(void) { INT0 = 1; IT0 = 1; EX0 = 1; EA = 1; while(1) ...
王芬17289714343:
宏晶STC89C52产生波特率115200,需要C语言的,晶振11.0592MHz -
11749娄晓
: void UartInit(void) //[email protected]{ SCON = 0x50; //8位数据,可变波特率 AUXR |= 0x40; //定时器1时钟为Fosc,即1T AUXR &= 0xFE; //串口1选择定时器1为波特率发生器 TMOD &= 0x0F; //设定定时器1为16位自动重装方式 TL1 = 0xE8; //设定定时初值 TH1 = 0xFF; //设定定时初值 ET1 = 0; //禁止定时器1中断 TR1 = 1; //启动定时器1}