#include <pic.h>
#include "ziku.h"
#include "lcd_init.h"
#include "ds1302.h"
#include "ds18b20.h"
#include "keyscan.h"
#include "yinli.h"
uch jj,ii;
//子程序
//LCD顯示空白邊框子程序
void LCDShowTable()
{
uch i;
SlectScreen(1); //寫左半屏
SetLine(0); //起使頁
SetColumn(0); //起使列
for(i=0;i<64;i++)
{
if((i==0)||(i==63))WriteData(0xff);//第1、63列豎線
else WriteData(0x01); //最上面一行線
}
for(i=1;i<7;i++)
{
SetLine(i);
SetColumn(0);
WriteData(0xff); //豎線
SetColumn(63);
WriteData(0xff); //豎線
}
SetLine(7);
SetColumn(0);
for(i=0;i<64;i++)
{
if((i==0)||(i==63))WriteData(0xff);
else WriteData(0x80); //最下面的橫線
}
SlectScreen(2);//寫右半屏
SetLine(0);
SetColumn(0);
for(i=0;i<64;i++)
{
if(i==63)WriteData(0xff);
else WriteData(0x01);
}
SetLine(4);
SetColumn(0);
for(i=0;i<64;i++)
{
if(i==63)WriteData(0xff);
else WriteData(0x01);
}
for(i=1;i<7;i++)
{
SetLine(i);
SetColumn(63);
WriteData(0xff);
}
SetLine(7);
SetColumn(0);
for(i=0;i<64;i++)
{
if(i==63)WriteData(0xff);
else WriteData(0x80);
}
}
/*----------------------------------------------------------*/
//顯示固定字符子程序
void LCDShowGudingWord()
{
Show8X16(0,80,maohao,1);
Show8X16(0,104,maohao,1);
Show16X16(6,80,yue,2);
Show16X16(0,40,nian,1);
Show16X16(4,2,yue,0);
Show16X16(6,8,xing,2);
Show16X16(6,24,qi,2);
Show16X16(2,96,danwei1,0);
Show8X16(0,8,s2,1);
Show8X16(0,16,s0,1);
}
/*----------------------------------------------------------*/
void TMR0init()
{
T0CS=0;
PSA=0;
PS2=1;
PS1=1;
PS0=1;
TMR0=0x80;
T0IE=1;
T0IF=0;
}
//冒號閃爍子程序
void FlashMaohao()
{
static uch timecount1;
static int timecount2;
if(TMR0IF==1)
{
TMR0=0x80;
TMR0IF=0;
timecount1++;
timecount2++;
if(timecount1==10)
{
flag++;
flag=flag%2; //閃爍標志在0-1間翻轉
timecount1=0;
}
if(timecount2==1200)//1分鐘采樣一次溫度
{
timecount2=0;
get_temp(); //溫度轉換子程序
}
}
if(flag==0)
{
Show8X16(0,80,maohao,1);
Show8X16(0,104,maohao,1);
}
if(flag==1)
{
Show8X16(0,80,noshu,1);//清除
Show8X16(0,104,noshu,1);
}
}
void Naoling()
{
if(kk==1)
{
if(RD3==0)
{
jj++;
jj=jj%4;
while(1)
{
if(RD3==1)break;
}
}
if(jj==1)
{
Naoling_hour_1= Naoling_hour;
Naoling_minute_1=Naoling_minute;
RC4=1;
RC6=0;
RC7=0;
}
if(jj==2)
{
Naoling_hour_2= Naoling_hour;
Naoling_minute_2=Naoling_minute;
RC4=0;
RC6=1;
RC7=0;
}
if(jj==3)
{
Naoling_hour_3= Naoling_hour;
Naoling_minute_3=Naoling_minute;
RC4=0;
RC6=0;
RC7=1;
}
}
}
void NaolingXiang()
{
int i;
if((kk==1)&&(Naoling_hour_1==clock[2])&&(Naoling_minute_1==clock[1]))
{
RC5=1;
for(i=0;i<100;i++);
RC5=0;
for(i=0;i<500;i++);
}
if((kk==1)&&(Naoling_hour_2==clock[2])&&(Naoling_minute_2==clock[1]))
{
RC5=1;
for(i=0;i<100;i++);
RC5=0;
for(i=0;i<200;i++);
}
if((kk==1)&&(Naoling_hour_3==clock[2])&&(Naoling_minute_3==clock[1]))
{
RC5=1;
for(i=0;i<200;i++);
RC5=0;
for(i=0;i<500;i++);
}
}
//查詢子程序
void chaxun()
{
if(RD3==0)
{
ii++;
ii=ii%2;
}
while(1)
{
if(RD3==1)break;
}
if(ii==1)
{
KeyScan();
}
}
//主程序
void main()
{
keyinit(); //鍵盤初始化
LCDinit(); //LCD操作初始化
LCDShowTable(); //顯示空白表格
LCDShowGudingWord(); //顯示固定字符
get_temp(); //讀取溫度
TMR0init();
while(1)
{
v_Get1302(clock); //讀取時間、日歷
display();
FlashMaohao(); //冒號閃爍
KeyScan(); //鍵盤掃描
GetWeek(clock[6]+2000,clock[4],clock[3]);
GetChinaCalendar(clock[6]+2000,clock[4],clock[3]);
//Naoling();
//NaolingXiang();
chaxun();
}
}
上一篇:基于PIC12C508的定時器
下一篇:PIC16F877A編程PID+PWM+1602液晶顯示
推薦閱讀
史海拾趣
在發展過程中,鈺創科技非常注重與產業鏈上下游企業的合作與共贏。公司積極與國內外知名企業開展合作,共同研發新技術、新產品,推動整個產業鏈的升級和發展。同時,鈺創科技也積極參與行業交流和合作活動,與同行分享經驗和技術成果,促進整個行業的共同進步。
1979年,Fabrimex AG接管了ARCO-Solar(美國)的代表處,標志著公司正式進入光伏領域。這一舉措為公司帶來了新的增長點,并推動了相關產品的研發和生產。隨著光伏技術的不斷發展,Fabrimex AG在光伏領域逐漸取得了顯著的成績,為公司帶來了可觀的收益。
隨著全球化趨勢的加速推進,BAHCO也在積極拓展全球市場。目前,公司已在多個國家和地區設立了分支機構或銷售網絡,實現了全球范圍內的業務覆蓋。未來,BAHCO將繼續加大在研發、生產、銷售等方面的投入力度,不斷提升產品質量和服務水平。同時,公司還將積極探索新的商業模式和合作方式,以適應不斷變化的市場環境并實現可持續發展。
這些故事雖然不直接涉及BAHCO在電子行業的發展,但它們展示了BAHCO在工具制造領域的輝煌歷程和不斷進取的精神。作為一家擁有百年歷史的知名企業,BAHCO憑借其卓越的品質、創新精神和全球市場布局,成功地在工具制造業中占據了重要地位。未來,隨著技術的不斷進步和市場需求的不斷變化,相信BAHCO將繼續保持其領先地位并迎來更加美好的發展前景。
隨著公司的發展壯大,CAO Group開始面臨來自各方面的競爭壓力,其中包括知識產權的爭議。近期,公司針對其在美國注冊的三項專利——Lumist美白貼、SPRAY BOTTLE HEAD噴霧瓶頭和透明氟塑料,發起了維權行動。公司積極應對,通過法律手段保護自身的知識產權,展示了其維護合法權益的決心和實力。
隨著電子行業的快速發展,康奈特意識到單一的鏡片業務已經無法滿足市場需求。于是,公司開始積極布局多元化戰略,通過收購和合作的方式,拓展了眼鏡框、眼鏡配件等相關業務。同時,公司還加大了對智能眼鏡、VR/AR眼鏡等新興領域的研發投入,為未來的市場競爭打下了堅實基礎。
統宇電研公司成立于1995年,初創時期面臨著重重挑戰。當時,電子行業正值技術革新的關鍵時期,無源組件市場競爭激烈。統宇電研憑借對技術的敏銳洞察力和對市場趨勢的準確判斷,決定專注于高性能功率電感等無源組件的研發和生產。公司團隊夜以繼日地攻克技術難題,不斷優化產品設計,最終成功推出了一系列具有競爭力的產品,為公司贏得了市場的認可。
各位好,測試測量領域一直都很廣,有無線測試及有線測試、設備及芯片測試、還有測試測量儀器制作等,不知道板塊里 的網友都有什么意見,怎樣才能把本版塊建立起來,讓大家更加宜居 測試測量板塊里需要大家的幫忙了,可以的話,留下自己的領域 ...… 查看全部問答∨ |
我用GPRS的modem上網,當握手成功后,本想監測modem串口的信息,但是寫在讀串口的調試信息沒有任何反應(確認調試語句無誤且生效),請問網頁的內容是否被modem發到串口呢??又能否被讀到呢?? 網頁的內容又是如何顯示在ie中的呢?? 如果想監 ...… 查看全部問答∨ |
筆記本是DELL D430這款筆記本。 這款自帶的無線網卡,可最近連公司的無線路由老掉線,每次掉線自己都要手動連,而且掉得很頻繁。 可以確定跟公司無線路由器無關,因為其他的筆記本連無線是沒問題的; 可以確定周圍沒什么影響和干擾無線信號的物 ...… 查看全部問答∨ |
|
論壇里的各位高手,公司最近接了一個項目。我原是做應用的,但是人手不夠頭就讓我測試一些驅動。但是他告訴我,親眼見過CETK可以在開發板上單獨運行不用C/S 結構,不用和server連接,但是我看了好多資料,包括微軟的也包括個人博客 ...… 查看全部問答∨ |
啊,我是菜鳥,最近想弄了個驅動是是SD卡的,現在只能支持2G大小的SD,現在有2個問題在這里請教下:1,這個驅動只能讀一個分區(如果給他2個分區,后面的無法掛在),呵呵,怎么樣讓他能讀其他分區。2,怎樣讓他能讀4G以上的SD卡:)謝謝大家了… 查看全部問答∨ |
由于USB3.0的速率高達5Gbps,在USB3.0規范中接收機測試成為必測項目。接收機測試包括了誤碼率測試和接收機抖動容限測試兩部分。對于Receiver Compliance測試,需要使用誤碼率測試儀BERT(Bit Error Ratio Tester, ...… 查看全部問答∨ |
一下還不習慣用ST的庫函數(懶記),所以自己對GPIO口進行 另外,對ST的一些寄存器定義也不大習慣,所以也重新做了定義,例如GPIOx_BSRR我另外定義了一個GPIOx_SET,GPIOx_BRR我另外定義了一個GPIOx_CLR,這樣自己記起來輕松多了——男人何必為難自己呢...看看這個流水燈的程序,看上去是不是容易些了 ...… 查看全部問答∨ |