📄 程序备忘.txt
字号:
2008.05.23
lcd 控制信号用到PROTA的0-2位;
通道选择用到PROTA的3-5位(在pwm.c文件中需要修改);
在main.c中需要修改,在中断服务程序中,freqcontrol()后(即模糊控制温度后),应该立刻加入通道
选择函数(噢,我错了,自已写的程序都忘了,呵呵,在这个函数体里,后面有加呀),同时通道函数也要修改,因为I/O口换了啊,
/* 该函数实现将所输入数据限幅功能*/
int ReduceBound(int data) {
int temp;
int quotient;
int surplus;
temp = data/5;
quotient = temp/10;
surplus = temp%10;
if(surplus>=5) quotient += 1;
return quotient;
}
可以改为下面函数
int ReduceBound(int data){ //缩小data的50倍,这个倍数可以根据需要更改,
//主要因为采样时间太长
int quotient;
int surplus;
quotient = data/50; //将data缩小50倍
surplus = data%50; //求data除50后的余数
if(surplus>=25) quotient +=1; //判断余数大小,相似于四舍五入
return quotient;
}
/**********实时显示表格************/
void Display3Tab(char ch) {
char ch1,ch2;
ch1 = ch+1;
ch2 = ch+2;
if(ch1>7) ch1 = ch1-7;
if(ch2>7) ch2 = ch2-7;
TabHead();
DisplayCh(ch,DisplayValue[ch]+1); //显示当前通道的反馈值,+1是为了消除编译警告
DisplayCh(ch1,DisplayValue[ch1]+1); //显示下一通道的反馈值,+1是为了消除编译警告
DisplayCh(ch2,DisplayValue[ch2]+1); //显示下下一通道的反馈值,+1是为了消除编译警告
}
改为
void Display3Tab(char ch) { //ch=0-7
char ch1,ch2;
ch1 = ch+1;
ch2 = ch+2;
if(ch1>7) ch1 = ch1-7;
if(ch2>7) ch2 = ch2-8;
TabHead();
DisplayCh(ch,DisplayValue[ch]+1); //显示当前通道的反馈值,+1是为了消除编译警告
DisplayCh(ch1,DisplayValue[ch1]+1); //显示下一通道的反馈值,+1是为了消除编译警告
DisplayCh(ch2,DisplayValue[ch2]+1); //显示下下一通道的反馈值,+1是为了消除编译警告
}
在fuzzy.c文件中, 将Display3Tab(nowchannel);先改为isplay3Tab(0);
因为每隔0.5s采样一次,这样会使LCD闪的很频繁,以后会改为按键的,所以这样做不值得
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -