单片机主程序.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档