好文档 - 专业文书写作范文服务资料分享网站

基于单片机的计算器设计毕业论文

天下 分享 时间: 加入收藏 我要投稿 点赞

sbit KEY1=P3^4; sbit KEY2=P3^5; sbit KEY3=P3^6; sbit KEY4=P3^7; void main (void) { int temp1; float temperature;

char displaytemp[12];//定义显示温度区域临时存储数组 char displaytime[8]; //计算器模块数据

unsigned char num,i,j=0,sign; unsigned char temp[7],temp2[3]; //最大输入8个 bit firstflag; int a=0,b=0,c=0; unsigned char s;

LCD_Init(); //初始化液晶 DelayMs(20); //延时有助于稳定 LCD_Clear(); //清屏 Init_Timer0(); Init_DS18B20(); Ds1302_Init();

//UART_Init();

16

Lcd_User_Chr(); //写入自定义字符

while (1) //主循环 {

KeyScan1();

if(fun ==1) if(fun == 5) fun = 1 ;

{

LCD_Write_String(1,0,\ LCD_Write_String(5,1,\ // LCD_Clear();

}

//读入温度 if(fun==2) {

LCD_Write_Char(14,1,0x01);//写入温度右上角点 LCD_Write_Char(15,1,'C'); //写入字符C

ReadTempFlag=1; if(ReadTempFlag==1) {

ReadTempFlag=0;

17

temp1=ReadTemperature();

temperature=(float)temp1*0.0625;

sprintf(displaytemp,\is %5.3f\打印温度

值輒峄陽檉簖疖網儂號泶。 }

//读入时间 if(fun==3) { 出

{

while(!KEY1);//如果确认按下按键等待按键释

if(!KEY1) //如果检测到低电平,说明按键按下 LCD_Write_String(2,0,\

LCD_Write_String(0,1,displaytemp);//显示第二行 }

{

DelayMs(10); //延时去抖,一般10-20ms

if(!KEY1) //再次确认按键是否按下,没有按下则退

放,没有释放则一直等待

{

//正常时间 小时加1

time_buf1[4]++;

if( time_buf1[4]==24) time_buf1[4]=0;

18

Ds1302_Write_Time();

LCD_Clear();

}

}

}

if(!KEY2) //如果检测到低电平,说明按键按下

{

DelayMs(10); //延时去抖,一般10-20ms

if(!KEY2) //再次确认按键是否按下,没有按下则退

{

while(!KEY2);//如果确认按下按键等待按键释

放,没有释放则一直等待

{

尧侧閆繭絳闕

time_buf1[4]--;if(time_buf1[4]==255)time_buf1[4]=23;

绚勵蜆贅。

Ds1302_Write_Time(); //正常时间 小时减1

LCD_Clear();

}

}

}

if(!KEY3) //如果检测到低电平,说明按键按下

19

{

DelayMs(10); //延时去抖,一般10-20ms

if(!KEY3) //再次确认按键是否按下,没有按下则退

{

while(!KEY3);//如果确认按下按键等待按键释

放,没有释放则一直等待 出

{

time_buf1[5]++;if(time_buf1[5]==60)time_buf1[5]=0; Ds1302_Write_Time();break;//分加1

LCD_Clear();

}

}

}

if(!KEY4) //如果检测到低电平,说明按键按下

{

DelayMs(10); //延时去抖,一般10-20ms

if(!KEY4) //再次确认按键是否按下,没有按下则退

{

while(!KEY4);//如果确认按下按键等待按键释

20

基于单片机的计算器设计毕业论文

sbitKEY1=P3^4;sbitKEY2=P3^5;sbitKEY3=P3^6;sbitKEY4=P3^7;voidmain(void){inttemp1;floattemperature;chardisplaytemp[12];//定义显示温度区域临时存储数组chardispla
推荐度:
点击下载文档文档为doc格式
9k3ef2ji8c55t2h95x553fre38hi5501185
领取福利

微信扫码领取福利

微信扫码分享