赞
踩
以下是部分选题
后续会把所有项目功能分开介绍
以下项目均为本人设计,
等等
单片机课设毕设通用
这是具体
本人 所有代码基本均有注释,清晰好理解!
- /********************************************************
- 函数名称:void main()
- 函数作用:主函数
- 参数说明:
- ********************************************************/
- void main()
- {
- led=1; //红灯关闭
- led2=0; //绿灯点亮
- SC_Speech(0); //语音地址归位
- LCD_init(); //LCD1602初始化
- T0_init(); //定时器0初始化
- Int0_init(); //外部中断初始化
-
- if(key_jian==0)
- {
- delayms(100);
- if(key_jian==0)
- {
- AT24C02_write_date(1,15); //写入【白天公里价】数据保存
- AT24C02_write_date(2,20); //写入【晚上公里价】数据保存
- AT24C02_write_date(3,5); //写入【白天等待价】数据保存
- AT24C02_write_date(4,10); //写入【晚上等待价】数据保存
- AT24C02_write_date(5,15); //写入【起步价】数据保存
- }
- }
-
- white_price=AT24C02_read_date(1); //读取存储的【白天公里价】数据
- evening_price=AT24C02_read_date(2); //读取存储的【晚上公里价】数据
- white_Wait=AT24C02_read_date(3); //读取存储的【白天等待价】数据
- evening_Wait=AT24C02_read_date(4); //读取存储的【晚上等待价】数据
- start_price=AT24C02_read_date(5)*100;//读取存储的【起步价价】数据
-
- lcd1602_write_pic(0x01,pic2); //将自定义字符“¥”写入LCD1602
- while(1) //死循环
- {
- scan(); //按键检测处理
- Read_time(); //读取时间
- if(strat_f==1) //非初始界面显示下
- {
- if(set_f==0) //判断是否在设置模式
- {
- if(start==1) //判断是否在开始计价模式
- {
- display(); //显示开始计价界面
- if(moto_f==1&&TR0==0)//判断是否开启电机状态
- TR1=1; //打开定时器开启控制电机速度
- else
- {
- moto=1; //关闭电机
- TR1=0; //关闭定时器
- }
- }
- else //否则,在结束计价模式
- display2(); //显示结算总价钱
- }
- else
- if(set_f<6) //在设置计价参数模式
- display3(); //显示设置计价参数界面
- else //否则,在校准时间
- {
- Read_time(); //读取时间
- display4(); //显示校准时间界面
- }
- }
- else
- {
- if(f==1) //长时间未操作或设置完成,自动恢复初始界面,同时保存设置
- {
- if(set_f!=0) //在设置退出时需要保存数据
- {
- set_f=0; //清除设置标志
-
- AT24C02_write_date(1,white_price); //写入【白天公里价】数据保存
- AT24C02_write_date(2,evening_price); //写入【晚上公里价】数据保存
- AT24C02_write_date(3,white_Wait); //写入【白天等待价】数据保存
- AT24C02_write_date(4,evening_Wait); //写入【晚上等待价】数据保存
- AT24C02_write_date(5,start_price/100);//写入【起步价】数据保存
-
- Writeds1302 (WRITE_MINUTE,(time[1]/10)*16+time[1]%10);//将设置的分钟写入DS1302
- Writeds1302 (WRITE_SECOND,(time[0]/10)*16+time[0]%10);//将设置的秒钟写入DS1302
- }
- LCD_write_command(0X01); //清除屏幕显示
- delay_n40us(100); //延时等待清除完成
- f=0; //重置变量
- }
- lcd1602_write_character(4,1,"THE TAXI"); //显示"THE TAXI"
- LCD_disp_char(4,2,ASCII[time[2]/10]); //显示当前时间
- LCD_disp_char(5,2,ASCII[time[2]%10]);
- LCD_disp_char(6,2,':');
- LCD_disp_char(7,2,ASCII[time[1]/10]);
- LCD_disp_char(8,2,ASCII[time[1]%10]);
- LCD_disp_char(9,2,':');
- LCD_disp_char(10,2,ASCII[time[0]/10]);
- LCD_disp_char(11,2,ASCII[time[0]%10]);
- }
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。