⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 通用C51单片机正弦波立产生程序
💻 C
字号:
#include <AT89X52.H>
#include <math.h>
#include <stdio.h>
#include "define.h"
unsigned int thl;
unsigned char leddat[4] ;
unsigned int frequency=200 ;
code unsigned char  sindat[20]={ 128,167,203,231,249,255,249,231,203,167,128,89,53,25,7,1,7,25,53,89};
code unsigned char    ledcode [ 16 ] =
           {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
         //  '0'  '1'  '2'  '3'  '4'  '5'  '6'  '7'  '8'  '9'  'A'  'B'  'C'  'D'  'E'  'F'
void delay ( void )
	{
		unsigned int i;
		for ( i= 0; i < 1000 ; i ++ ) ;
	}
void initial(void)
	{	
		thl=5000000/(frequency*109);
		EA = 0 ;
		TMOD = 0x01;
		TH0 = (0-thl)>>8;
		TL0 = (0-thl);
		ET0 = 1 ; 
		TR0 = 1 ;
		EA  = 1 ;
	} 
void main ( void )
	{	
		ledvalue();
		initial();
		
		while(1)
			{
				ledwork();
				delay();
				kbhit();
			 }
	 }
void timer0 ( void ) interrupt 1
	{	
		static unsigned char t=0;
		P2 =sindat[t];
  		if( ++t == 20 ) t = 0;
		TH0 = (0-thl)>>8;
		TL0 = (0-thl)+TL0;
		 
	} 
	 	
		

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -