第一范文网 - 专业文章范例文档资料分享平台

单片机电阻表的设计说明书 - 图文

来源:用户分享 时间:2025/9/9 5:39:24 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

单片机课程设计说明书

附录3

主程序:#include #include #include void get_liangcheng(void); void handle_code(void); void dis_code(void); void dis_dw_lc(void);

unsigned char code mes1[]={%unsigned char code digit[]={%unsigned char code mes[]={%unsigned char res[5],temp_0=0,temp_1=0; unsigned char t=0,sign=7; unsigned int R=0; unsigned char DIY_1602[]= {

/*-- 电阻符号 --*/

0x00,0x00,0x0E,0x11,0x11,0x0A,0x1B,0x00 };

/**************函数功能:延时若干毫秒 *****************/ void delaynms(unsigned char n) {

unsigned char i,j,k; delaynms(100); }

for(i=0;i

17

单片机课程设计说明书

/*************主函数*******************/ void main(void) {

unsigned char j,T1=0,T2=0,k=1;

delaynms

Init_LCD1602();

Write_DIY1602(DIY_1602);

WriteAdd_1602(0x00);

j=0;

while(mes1[j]!='\\0')

WriteData_1602(mes1[j++]);

while(1) }

void get_liangcheng(void) //判断用哪一个量程 {

unsigned char i; for(i=0;i<5;i++) {

P3=(P3&0xf0)+i; delaynms(50); temp_0=GetAD_code(0); sign=7;

{

get_liangcheng();

handle_code();//处理AD读取到的数据 dis_code();

//显示四位数字和一个小数点

dis_dw_lc(); //显示电阻单位和量程。 delaynms(1000); }

18

单片机课程设计说明书

switch(i) {

case 0:

if((0x05

sign=0;

break; //中断switch;

case 1:

if((0x20

sign=1;

break;

case 2:

if((0x30

sign=2;

break;

case 3:

if((0x2b

sign=3;

break;

case 4:

if((0x2b

sign=4;

break;

}

if(sign!=7)

break;

//中断for循环

} }

/*************处理AD读出的数*******************/ void handle_code(void) //处理AD读出的数 {

unsigned char i; P3=(P3&0xf0)+sign; delaynms(50);

temp_0=GetAD_code(0); //AD读取电压,

19

单片机课程设计说明书

temp_1=GetAD_code(1);

R=((100*temp_0)/(255-temp_1))*10; //转换成电阻,

for(i=0;i<4;i++) //把处理后的前四位数放进数组 { }

/*************显示读数和小数点*******************/ void dis_code(void) //显示读数和小数点 {

unsigned char point=10,i;

if(sign==0||sign==3)//判断各量程的小数点放在第几位

point=3; res[3-i]=R; }

R=R/10;

else

if(sign==1||sign==4)

point=1;

else { }

WriteAdd_1602(0x40); //显示四个数学和一个小数点

if(sign==2)

point=2;

for(i=0;i<4;i++) { }

if(i==point)

WriteData_1602('.');

WriteData_1602(digit[res[i]]);

20

搜索更多关于: 单片机电阻表的设计说明书 - 图文 的文档
单片机电阻表的设计说明书 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c5lnn53b9m902ra71xna0_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top