生物培养液微机温度控制(4)

2019-03-10 19:59

武汉理工大学《计算机控制技术》课程设计说明书

参考文献

【1】 陈立周 陈宇编著.单片机原理术及应用,机械工业出版社,2007.1 【2】 于海生 计算机控制技术,机械工业出版社,2007年5月 【3】 林立 张俊亮编著.单片机原理及应用,电子工业出版社,2009.7 【4】 通用微机接口实验系统教师用实验指导书,北京清华大学出版社,

2001.1~4

【5】 刘红丽 传感与检测技术,国防工业大学出版社,2007年3月

16

武汉理工大学《计算机控制技术》课程设计说明书

参考程序

#include #include sbit ST=P2^0; sbit OE=P2^1; sbit EOC=P2^2;

ucharcodedis_7[17]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00,0x40,0xED,0xF9,0xE7,0x39,0x63};

//共阳LED段码表 \ \ \ \ \ \ \ \不亮\ \ \ \\ uchar code scan_con[4]={0x7f,0xbf,0xdf,0xef}; //列扫描控制字 uchar data temp_data[2]={0x00,0x00}; //读出温度暂放 int Channel=4;

unsigned char SavedDat[6];//存放采集的数据结果 void InitAdc0809()//初始化函数 {

/* ChannelSelA=0; ChannelSelB=0;

ChannelSelC=0;//默认选择第0通道*/ ST=0; OE=0; ET0=1; EA=1;

TMOD=0x02; TH0=226; TL0=226; TR0=1; }

void ReadDat(void) {

ST=1;

_nop_(); _nop_();

ST=0;//启动转换 _nop_(); _nop_(); if(EOC==1) {

\ \17

武汉理工大学《计算机控制技术》课程设计说明书

OE=1;

SavedDat[Channel]=P1; _nop_(); _nop_(); OE=0; _nop_(); _nop_(); ST=1; _nop_(); _nop_(); ST=0; _nop_(); _nop_(); } }

InitAdc0809(); // channel=ChannelSel; switch(ChannelSel) {

case 0:

ChannelSelA=0; ChannelSelB=0;

ChannelSelC=0;break; case 1:

ChannelSelA=0; ChannelSelB=0;

ChannelSelC=1;break;

case 2:

ChannelSelA=0; ChannelSelB=1;

ChannelSelC=0;break;

case 3:

ChannelSelA=1; ChannelSelB=1;

ChannelSelC=0;break;

case 4:

ChannelSelA=0; ChannelSelB=0;

ChannelSelC=1;break; default:break;

18

武汉理工大学《计算机控制技术》课程设计说明书

} ReadDat(); }

void main() {

Adc0808(Channel); P3=SavedDat[Channel]; }

Void Keyscan(void) interrupt 1 using 2//用中断法扫描键盘 { ucharKeyScan() //检查按键情况 {

uchar temp=40;

KEY=0xef; //扫描第1列键 switch(KEY) {

case 0xee:temp=1;break; case 0xed:temp=4;break; case 0xeb:temp=7;break; case 0xe7:temp=10;check();break; default:break; }

KEY=0xdf; //扫描第2列键 switch(KEY) {

case 0xde:temp=2;break; case 0xdd:temp=5;break;

19

武汉理工大学《计算机控制技术》课程设计说明书

case 0xdb:temp=8;break; case 0xd7:temp=0;break; default:break; }

KEY=0xbf; //扫描第3列键 switch(KEY) {

case 0xbe:temp=3;break; case 0xbd:temp=6;break; case 0xbb:temp=9;break; case 0xb7:temp=11;break; default:break; }

return(temp); //返回按键键值 } }

/--------------显示扫描函数--------------/ scan() //温度显示时4位LED扫描 { char k;

for(k=0;k<4;k++) //4位LED扫描控制{

Disdata=dis_7[display[k]]; //数据显示

20


生物培养液微机温度控制(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:电子产品创作设计技术报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: