?? main.c~
字號:
#include <mega64.h>
#include <delay.h>
#include <math.h>
#include "mylib.h"
#include "word.h"
#include "touch.h"
#include "pwm.h"
#include "key.h"
#include "lcd.h"
#include <pcf8563.h>
#include "uart.h"
#include "timer.h"
#asm
.equ __i2c_port=0x12
.equ __sda_bit=1
.equ __scl_bit=0
#endasm
//float a,b;
#include <bcd.h>
#define LCD_ENABLE DDRF|=0x04;PORTF&=0x0B;
#define RAM_ENABLE DDRF|=0x04;PORTF|=0x04;
extern unsigned char hour,minute,second,day,month,year;
void time_display(){
unsigned char d1,d2,t1,t2,t3;
unsigned d3;
rtc_get_date(&d1,&d2,&d3);
rtc_get_time(&t1,&t2,&t3);
hour=t1&0x3f;
minute=t2&0x7f;
second=t3&0x7f;
day=d1&0x3f;
month=d2&0x1f;
year=d3%100;
}
draw_xyline(unsigned int origin_x,unsigned int origin_y,unsigned int long_x,unsigned int long_y,unsigned char
color,unsigned int num_x,unsigned int num_y)
{unsigned int a,k,i,x,y,b;
x=origin_x;
y=origin_y;
lcd_yaddrl=y;
lcd_yaddrh=y>>8;
for(;long_x-->0;x++)
{lcd_xaddrl=x;
lcd_xaddrh=x>>8;
lcd_data=color;
}
x=origin_x;
lcd_xaddrl=x;
lcd_xaddrh=x>>8;
for(;long_y-->0;y--)
{lcd_yaddrl=y;
lcd_yaddrh=y>>8;
lcd_data=color;
}
y=origin_y;
a=(unsigned int)long_x/num_x;
for(i=1;i<=num_x;i++)
{lcd_xaddrl=x+i*a;
lcd_xaddrh=(x+i*a)>>8;
for(k=20;k>0;k--)
{ lcd_yaddrl=y;
lcd_yaddrh=y>>8;
lcd_data=color;
y--;
}
}
y=origin_y;
b=(unsigned int)long_y/num_y;
for(i=1;i<=num_y;i++)
{lcd_yaddrl=y+i*b;
lcd_yaddrh=(y+i*b)>>8;
for(k=20;k>0;k--)
{ lcd_xaddrl=x;
lcd_xaddrh=x>>8;
lcd_data=color;
x++;
}
}
}
void main(){
SFIOR|=0x04; //關閉所以I/O口上拉功能
LCD_ENABLE
LCDLIGHT_OFF() //關LCD背光
//DDRD.0=1;
//DDRD.1=1; //sda scl為輸出
timer2_init();
timer3_init();
uart0_init();
touch_init(); //觸摸屏初始化
pwm_init(); //PWM初始化
lcd_init();
SREG|=0X80; //開全局中斷
draw_xyline(origin_x,origin_y,long_x,long_y,color,num_x,num_y);
while(1){;}
while(1){
touch(); //觸摸屏程序
time_display();
lcd_control(); //LCD顯示程序
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -