当前位置:首页 > 模糊PID温度控制系统的设计 - 图文
天津工业大学2010届本科毕业设计论文 {char*p;
code char table[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; /*数字0~9字模码表*/ int i;
for(i=10;i>0;i--) { */
p=table+k/10000; /*计算千位数模码*/ P0=*p; /*送段码4*/ P1=0x78; /*送位码4*/ delay(2); 数模码*/ /*送段码3*/ /
ay(2);
p=table+(k/100-k/10000*100-k/1000*10); /*计算十位数模码*/ /*送段码2*/
1=0xd8;/*送位码2*/ delay(2); /*送段码1*/
table+k; /*计算0.1位数模码*/ /*送段码0*/
1=0xf0; /*送位码0*/ p=table+(k/1000-k/1000*10); /*计算百位 P0=*p;
P1=0xb8; /*送位码3* del P0=*p; P
p=table+((k0-k)/10); /*计算个位数模码*/ P0=*p;
P1=0xe8; /*送位码1*/ delay(2); p= P0=*p; P
delay(2); } }
3.按键相关子程序
count=0;/*记录扫描行线的次数*/
40
天津工业大学2010届本科毕业设计论文 while(count<4)
void delay(int x)}/*功能:延时*/ {char j; while(x--) {
for(j=0;j<125;j++); }
char kbscan(void) {
char sccode,recode; unsigned char count; P2=0x0f;
if((P2&0x0f)!=0x0f)/*快速扫描是否有键按下*/ {
delay(10);
if((P2&0x0f)!=0x0f) {
sccode=0xfe;/*记录循环置L0、L1、L2、L3行线为低电 {44基于单片机的温度控制器设计与研究 L0、L1、L2、L3行线之一置低电平*/ 1、R2、R3列线有低电平为真*/ {
code=P2&0xf0;/*读R0、R1、R2、R3列线的电平状态*/ recode=1;
e&0x10)!=0x00)&&(recode<5))
/*寻找列线R0、R1、R2、R3为低电平*/ {
sccode=sccode>>1; ++;
/*记录sccode的次数、同时也就找到了R0、R1、R2、R3哪根为低电平*/ 4)/*防止意外的情况出现*/ }
urn(recode+count*4);/*返按键值,范围1~16*/ else
Lx置高电平,同时把列线Lx+1置低电平*/ }
/*返回错误状态*/ P2=sccode;/*把
if((P2&0xf0)!=0xf0)/*检查R0、R sc
while(((sccod recode }
if(recode>
41
共分享92篇相关文档