赞
踩
VCC_电源5V
GND_电源地
RX_
TX_
SPK1/SPK2为喇叭两个引脚
由于程序是对串口进行配置,故其他引脚的连接不过多陈述
MAIN文件
/****************************************************************************************************************** +--------------------------------------------------+ 主函数部分 +--------------------------------------------------+ - 实现功能: - 目前进展: - 日期 :2013-05-06 - 作者 : - 运行环境:STC 晶振:11.0592M 波特率:9600 - 备注 :在普中科技的51开发板上调试OK --- STC89C516RD+ 1、实现芯片上电分别指定播放第一曲和第二曲,基本的程序供用户测试 2、该测试程序必须是模块或者芯片方案中,有设备在线,譬如U盘、TF卡、FLASH等等 3、 ******************************************************************************************************************/ #include "STK6037.h" //运行晶振:11.05926MHZ #define TIMER0_H (65536-1800)/256//定时2Ms #define TIMER0_L (65536-1800)%256 #define SYS_Fosc 11059200 //晶振频率 #define COMM_BAUD_RATE 9600 //串口波特率 #define OSC_FREQ 11059200 //11059200 static INT8U Send_buf[10] = {0} ; static INT8U Recv_buf[10] = {0} ; static INT8U SendDataLen = 0 ; static INT8U ResendDataLen = 0 ; /******************************串口1的波特率********************************/ //T1作波特率发生器 //在波特率加倍情况下 #define BAUD_57600 256 - (OSC_FREQ/192L)/57600L // 254 FF #define BAUD_28800 256 - (OSC_FREQ/192L)/28800L // 254 FE #define BAUD_19200 256 - (OSC_FREQ/192L)/19200L // 253 FD #define BAUD_14400 256 - (OSC_FREQ/192L)/14400L // 252 FC #define BAUD_9600 256 - (OSC_FREQ/192L)/9600L // 250 FA /***************************************************************************************************** - 功能描述:10us的延时函数 - 隶属模块:常用函数库(内部) - 参数说明:无 - 返回参数:无 - 注: 在这里的运行环境是51,晶振为12MHZ *****************************************************************************************************/ void Delay_Us(INT32U z) { while(z--); } /***********************毫秒级别延时************************/ void Delay_Ms(INT32U z) { INT32U x=0 , y=0; for(x=110 ; x>0 ;x--) for(y=z; y>0;y-- ); } /***************************************************************************************************** - 功能描述: 串口1初始化 - 隶属模块: 外部 - 参数说明: 无 - 返回说明: 无 - 注: 都是9600波特率 *****************************************************************************************************/ void Serial_init(void) { TMOD = 0x20; // 设置 T1 为波特率发生器 SCON = 0x50; // 0101,0000 8位数据位, 无奇偶校验 PCON = 0x00; //PCON=0; TH1=256-(SYS_Fosc/COMM_BAUD_RATE/32/12);//设置为9600波特率 TL1=256-(SYS_Fosc/COMM_BAUD_RATE/32/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。