单片机课程设计报告sha.docxVIP

  • 1
  • 0
  • 约4.11千字
  • 约 9页
  • 2017-12-26 发布于河南
  • 举报
单片机课程设计报告sha

单片机课程设计报告自动化三班沙启源学号:201300172153课程设计基本要求:设计一个温度测控系统。温度信号使用热敏电阻输入,热敏电阻型号为NTC-MF52-103,与单片机的电路连接如图1所示。请查阅相关资料,使用单片机片内集成的ADC模块进行温度测量,将所测得的数值转换为温度利用LCD进行显示。利用键盘设置报警上下限值,利用液晶模块进行当前值和报警值的显示。当前值超过上限值或下限值的时候,蜂鸣器发出不同的报警声音。二、扩展部分1、上位机监控界面设计(实时曲线绘制、数据库保存等)。2、若当前值超过上限值,在蜂鸣器报警的同时,使得电机反转;若当前值低于下限值,在蜂鸣器报警的同时,使得电机正转。3、其他功能。分析报告:电路图:程序:主程序:#includestc15.h#includeintrins.h#includestdio.h#includeintrins.h#include12864dis.c#includech451.c#includesecond.c#includebeef.c#includeUART.Cint temp=19;void main(){uchar str0[18],str1[16],str2[16],key;uchar str_warning[] = !;float key_temp=0.0;lcd_init();ch451_init();uart_init();timer_init();while(1){if(!DREAD){key=check_key(read_keyvalue());if(key==0x0a)set_max_value();if(key==0x0b)set_min_value();}wendu=ADC_change();temp = wendu;sprintf(str0,当前温度:%3d℃,temp);sprintf(str1,报警上限:%3d℃,temp_max); sprintf(str2,报警下限:%3d℃,temp_min);Chinese_disp(0,0,str0);Chinese_disp(2,1,str1);Chinese_disp(3,1,str2);if(temptemp_max)//当大于上限值时报警在第三行第一个字符位置显示!{high_warning();Chinese_disp(2,0,str_warning); }else if(temptemp_min){low_warning(); //当小于下限值时报警在第四行第一个字符位置显示!Chinese_disp(3,0,str_warning);}else{//温度值在合适位置时,不报警,清空!stop_beep();write_com(0x88);write_data( );write_data( );write_com(0x98);write_data( );write_data( );}}}键盘程序:/*CH451的相关函数*/sbit DCLK=P4^3;sbit DLOAD=P4^2;sbit DWRITE=P4^0;sbit DREAD=P4^1;static void write_dat(uint dat,uchar bits)//写指令{uchar i;DLOAD=0;for(i=0;ibits;i++){dat=1;DWRITE=CY;DCLK=0;DCLK=1;}DLOAD=1;}uchar read_keyvalue() //读取键值{uchar keyvalue=0x00,i; write_dat(0x07,4);DCLK=1;DWRITE=1;for(i=0;i7;i++){keyvalue=1;keyvalue|=DREAD;DCLK=0;DCLK=1;}return keyvalue;}void ch451_init(){write_dat(0x201,12); //内部复位指令write_dat(0x402,12); //设定系统参数_nop_();_nop_();}uchar check_key(uchar key){switch(key){case 0x40:return 1;break;case 0x41:return 2;break;case 0x42:return 3;break;case 0x43:return 4;break;case 0x48:return 5;break;case 0x49:return 6;break;case 0x4a:return 7;break;case 0x4b:return 8;break;case 0x50:return 9;break;case 0x51:return 0;break;case 0x52:retu

文档评论(0)

1亿VIP精品文档

相关文档