标题:
PROTUES仿真74HC165+BEEP+SONG
[打印本页]
作者:
立里
时间:
2017-12-25 15:45
标题:
PROTUES仿真74HC165+BEEP+SONG
完整的程序及电路
0.png
(20.14 KB, 下载次数: 44)
下载附件
2017-12-25 23:43 上传
0.png
(13.04 KB, 下载次数: 59)
下载附件
2017-12-25 23:42 上传
单片机源程序如下:
//==============================================================================
// FILE NAME : mian.c
// FUNCTION : 头文件
// VERSION : V0.1
// COMPANY : 纽尔
// TIME : 2017/9/27
// DESCRIBE : NULL
//==============================================================================
#include "../inc/main.h"
//==============================================================================
// 参数定义
//==============================================================================
bool F_Timer01ms;
bool F_Timer02ms;
bool F_Timer10ms;
bool F_Time1_TimeOut;
uint8 P_TimerCount;
uint8 P_KeyValue;
Struct_BeeData BeeData;
Struct_SongData SongData;
uint16 P_TimerCountForBee;
//==============================================================================
// Function Name: void Setup_Timer(void)
// Function : setup timer0
// return value : void
//==============================================================================
void Setup_Timer(void)
{
//TMOD = 0xF0; //
//TH0 = (65536-TIME0)/256;
//TL0 = (65536-TIME0)%256;
//ET0 = 1; //
//EA = 1; //
//TR0 = 1; //
TMOD = 0x01 | 0x10;
//==========================================================================
// 定时器0用于播放一个音符的声音
//==========================================================================
ET0 = 1;
//==========================================================================
// 定时器1用于计时一个音符的时间,然后切换下一个音符
//==========================================================================
ET1 = 1;
TR1 = 0;
//==========================================================================
// 定时器2用于1ms的计时
//==========================================================================
T2MOD = 0;
T2CON = 0;
TH2 = (65536-TIME2)/256;
TL2 = (65536-TIME2)%256;
ET2 = 1;
TR2 = 1;
//==========================================================================
// 开总中断
//==========================================================================
EA = 1;
}
//==============================================================================
// Function Name: void main(void)
// Function : main function
// return value : void
//==============================================================================
void main(void)
{
HC165_CLK = 0;
HC165_INT = 0;
F_Timer01ms = 0;
F_Timer10ms = 0;
P_TimerCount = 0;
SongData.sFreq = 0;
Setup_Timer();
TF_Bee_Init_BeeData();
while(1)
{
TF_Key_GetKeyValue();
TF_Song_Proccess();
}
}
//==============================================================================
// Function Name: void TF_Timer0(void)
// Function : timer0 interrupt
// return value : void
//==============================================================================
void TF_Timer0(void) interrupt 1
{
TR0 = 0;
TH0 = SongData.sTH;
TL0 = SongData.sTL;
BEE_OUTPUT = ~BEE_OUTPUT;
TR0 = 1;
}
//==============================================================================
// Function Name: void TF_Timer1(void)
// Function : Timer1 interrupt
// return value : void
//==============================================================================
void TF_Timer1(void) interrupt 3
{
TH1 = (65536-TIME1)/256;
TL1 = (65536-TIME1)%256;
//==========================================================================
// 定时时间到了就进行下一个音符并且准备下一个节拍
//==========================================================================
if(++SongData.sCount >= 3*SongData.sTime)
{
TR0 = 0;
TR1 = 0;
SongData.sCount = 0;
SongData.sFlag = true;
SongData.sIndex++;
}
}
//==============================================================================
// Function Name: void TF_Timer2(void)
// Function : Timer2 interrupt
// return value : void
//==============================================================================
void TF_Timer2(void) interrupt 5
{
TH2 = (65536-TIME2)/256;
TL2 = (65536-TIME2)%256;
F_Timer01ms = 1;
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
PROTUES+74HC165+BEEP+SONG.zip
(108.99 KB, 下载次数: 15)
2017-12-25 15:41 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1