- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机主程序
一、程序的预处理和外部变量、函数定义
#include “at89x52.h”
#includemath.h
#includeabsacc.h
#includeintrins.h
#define uchar unsigned char
#define uint unsigned int
#define nop _nop_() /*定义空操作指令*/
#define maxvolt 300
#define minvolt 5
#define minfre 0
#define maxfre 4000
#define UM 300
#define IM 2
#define fc 12000
#define KP 0.2
#define KI 25
#define KD 0
#define COM8155 XBYTE[0x7FF8]
#define PA XBYTE[0x7FF9]
#define PB XBYTE[0x7FFA]
#define R0 XBYTE[0Xdf00]
#define R1 XBYTE[0Xdf01]
#define R2 XBYTE[0Xdf02]
#define R3 XBYTE[0Xdf03]
#define R4 XBYTE[0Xdf04]
#define R5 XBYTE[0Xdf05]
#define R14 XBYTE[0Xdf0E]
#define R15 XBYTE[0Xdf0F]
sbit SCL=P3^4; /*24C01 SCL接脚=89C52 T0 P3.4*/
sbit SDA=P3^5; /*24C01 SDA接脚=89C52 T1 P3.5*/
sbit RST=P1^0;
bit FLAG0=0,wuxiao=0,CHF=0,CHA=0,exit;
/*设定位标号FLAG0=1键盘扫描回应*/
Char ptr=0,ptr1=0; /*PTR键盘扫描指标,ptr1显示器扫描指标*/
Char a1=0,b1=100; /*宣告变数a1为TIMER0的中断次数,ptr为TIMER1扫描数码管指标*/
char ini[6]={0x40,0x5A,0x2c,0x02,0x00,0x00};//放置初始化数据
char con[6]={0xcd,0xcc,0x06,0x80,0x80,0x80};//放置控制数据
static const char tab[16]={0x01,0x02,0x03,0x0c, /*键盘码00,01,02,03,*/
0x04,0x05,0x06,0x0d, /*键盘码04,05,06,07,*/
0x07,0x08,0x09,0x0e, /*键盘码08,09,0a,0b,*/
0x0a,0x00,0x0b,0x0f}; /*键盘码0c,0d,0e,0f*/
static const char duanxuan[17]={0x3F,0x06,0x5b,0x4F,
0x66,0x6D,0x7D,0x07,
0x7F,0x6F,0x77,0x7C,
0x39,0x5E,0x79,0x71,0x00};
char lia=0,lu=0,dot,weishu=0;
char dispel[8]; //显示值存放阵列
char bufdata[9];
char bufuart[6]; //串口接收值存放列阵
float vdataset=220;
float vdata[3]={220,220,220};
void delay (uint value) //延时子程序
{
while(value!=0)value--;//10US延时
}
void tserial(void); //串口serial发送子程序
void rserial(void); //串口serial接收子程序
void chvolt(void); //改变输出电压幅值子程序
void chfre(void); //改变输出电压频率子程序
void xch(void); //宣告按键存放/显示器阵列disple[]右键滚入子程序
二、主程序清单
main() /*主程序*/
{ char I;
TMOD=0X21; /*TIMER0工作在方式MODE1,16位定时器*/
/*TIMER1工作在MODE2,自动重新装载
文档评论(0)