freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于單片機立式冷凍箱時間控制器設計-資料下載頁

2025-06-27 21:08本頁面
  

【正文】 意以下幾點: 1. DS1302與單片機連接的管腳。2. 注意電源正負極連接。 3. 。該晶振體型比較小,在焊接時要注意不要將晶振引腳弄斷。同時也要盡量使晶振靠近DS1302的XX2引腳焊接,這樣使單片機盡量減小干擾,提高單片機運行的穩(wěn)定性! 軟件調試在硬件調試完畢的基礎上,需要進一步完善程序,也就是進入軟件調試階段。在本設計中,軟件調試主要分三大部分:實時時鐘程序調試、定時時鐘程序調試、按鍵子程序調試。將這三部分調試成功,那么整個設計的軟件部分也就基本完成了。 筆者是用MPLAB IDE進行編寫及調試程序的,然后用PStar V6編程器進行反復燒寫程序,直至達到預期效果。 本章小結本章首先重點闡述了系統(tǒng)各個模塊的硬件調試、軟件調試。系統(tǒng)的功能較多,調試時必須分模塊進行,一個調試成功再調試另一個,都成功后才把各模塊整合到一起,對系統(tǒng)再進行整體的調試。6. 總結過去人們應用時鐘僅僅是為了明確當前時間。隨著生產力的發(fā)展,社會的進步,生產生活對時鐘的需求越來越大,對時鐘的體型、功能的要求也各有不同。所以多功能電子時鐘在今后的應用也會越來越廣泛。論文首先介紹了課題的研究背景、課題研究的意義,以及本課題所做時鐘顯示及控制的發(fā)展前景,結合課題的設計任務給出了系統(tǒng)的總體設計框圖。接著從時鐘顯示及控制的組成結構及工作原理到時鐘顯示的控制器的使用,介紹了設計所必須的基礎知識。然后從硬件設計、軟件設計、系統(tǒng)調試三方面對系統(tǒng)的設計進行深入的剖析。本設計是基于PIC16F72單片機的時鐘顯示及控制系統(tǒng)。在設計之前,先要對PIC16F72單片機的基本特征及主要片內資源作詳細了解。通過對PIC16F72單片機的認真學習,現(xiàn)已熟練掌握了PIC16F72單片機的使用,為下面的設計打下了很好的基礎。在熟練使用PIC16F72單片機之后,才開始本設計功能模塊的實現(xiàn)。由于畢業(yè)設計工作的時間有限以及作者的水平限制,所以本設計不可避免存在一些漏洞和缺陷,這些都有待進一步的改進和完善。并且還可以根據(jù)需求為電子時鐘增設新功能。參考文獻[1]江和,:北京航空航天大學出版社,[2]譚浩強,C程序設計(第三版)[M].北京:清華大學出版社,2005[3]張毅剛,:電子工業(yè)出版社,[4]閆廣明,張波,—:機械工業(yè)出版社,[5]肖鳳明,:機械工業(yè)出版社,[6]戴仙金,:清華大學出版社,[7]戴佳,戴衛(wèi)恒,51單片機C語言應用程序實例精講,北京:電子工業(yè)出版社,[8]劉坤等,51單片機C語言應用開發(fā)技術大全,北京:人民郵電出版社,[9]李響初,基于MCS51單片機的智能時鐘控制系統(tǒng)設計。世界電子元器件,2007年04期[10][加]Myke Predko ,:科學出版社,2007[11]羅翼,張宏偉,:中國電力出版社,2005[12]陳新建,:北京航空航天大學出版社,[13][美]Muhammad Ali Mazidi,Rolin D. McKinlay,Danny Causey,:人民郵電出版社,[14][英]Tim Wilmshurst,: 人民郵電出版社,[15]陳建新,邵少雄,葛長虹,:北京航空航天大學出版社,[16]彭樹生,:電子工業(yè)出版社,[17]李學海,:北京航空航天大學出版社,[18]何信龍,李雪銀,:清華大學出版社,2001[19]求是科技, PIC單片機典型模塊設計實例導航. 北京:人民郵電出版社,[20]孫傳友,: 北京航空航天大學出版社,附 錄附錄一 總體硬件電路圖附錄二 系統(tǒng)PCB板圖附錄三 系統(tǒng)程序宏定義模塊ifndef _dingyi_H_define _dingyi_H_define uchar unsigned chardefine uint unsigned intuchar shi,fen,num,num1,flag,flag1,aa,p,q,mm,data,sum。uchar fm。long jj,ff。define SCL RC3define SDA RC4define CLK RB0define SI RB1define STB RB2define ce RA0define sclk RA1define DIO RB7define wela1 RA2define wela2 RC7define wela3 RA3define wela4 RA5define funcsz RB3define funcds RB4define inc RB5define dec RB6const uchar table1[]={0xbF,0x86,0xdB,0xcF,0xe6,0xeD,0xfD,0x87,0xfF,0xeF}。 const uchar table[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}。 endif//////////////////////////////////////////////////////////////////主程序include include include include include __CONFIG(0xff32)。 //設置配置位void interrupt ISR()。 //中斷服務程序void main() //主程序{ TRISB0=0。//引腳初始化 TRISB1=0。 TRISB2=0。 TRISB3=1。 TRISB4=1。 TRISB5=1。 TRISB6=1。 TRISB7=0。 TRISC1=0。 TRISC0=0。 TRISC2=0。 TRISC3=0。 TRISC7=0。 TRISA=0X00。 ADCON1=0B00000110。//A口做為普通IO口 set_time()。 //設定初始時間 init()。 //初始化 INTCON=0b11100000。//GIE、PEIE置1才能進入TMR1中斷 OPTION=0b00000000。//TMR0預分頻系數(shù)為1:2,選CLKOUT信號為時鐘 TMR0=5000。// T1CON=0b00010001。//TMR1預分頻系數(shù)為1:2,內部延時,開始工作 TMR1IE=1。 TMR1H=(6553612000)/256。//延時24ms TMR1L=(6553612000)%256。 wela1=0。 wela2=0。 wela3=0。 wela4=0。 RC0=0。 RC1=0。 RC2=0。 p=read_add(3)。 q=read_add(13)。 while(1) { keyscan()。 //鍵盤掃描 }}void interrupt ISR(){ if(TMR1IF==1) //判斷定時器1的中斷標志位是否溢出 { TMR1IF=0。 //清定時器1的溢出標志位 TMR1H=(6553612000)/256。 TMR1L=(6553612000)%256。 ff++。 if(num1!=0) { write_f(p)。 write_s(q)。 } else { if(num!=0) { write_f(fen)。 write_s(shi)。 } else ds1302()。 } if((fen==p)amp。amp。(shi==q)amp。amp。(num1==0)) { aa=1。 } if(aa==1) { jj++。 if(jj==1) ff=0。 if((ff=0)amp。amp。(ff=2500))//2500*24ms=1min { RC2=1。 } else { RC2=0。 jj=0。 aa=0。 } } } if(T0IF==1) //判斷定時器0的中斷標志位是否溢出 { T0IF=0。 //清定時器0的溢出標志位 TMR0=5000。 // fm++。 }}//////////////////////////////////////////////////////////////////DS1302時鐘模塊ifndef __szmk_H__define __szmk_H__/*延時子程序*/void delay3ms(void) //延時3ms,誤差 0us{ unsigned char a,b,c。 for(c=1。c0。c) for(b=176。b0。b) for(a=7。a0。a)。}void delay100us(void) //延時100us,誤差 0us{ unsigned char a,b。 for(b=19。b0。b) for(a=1。a0。a)。}/*分顯示函數(shù)*/extern void write_f(uchar date){ uchar shi1,ge,i,j,m,n。 shi1=date/10。 ge=date%10。 m=table[ge]。 n=table[shi1]。 STB=1。 //74H4094數(shù)據(jù)掃描 for(i=0。i8。i++) { if(mamp。0x80) SI=1。 else SI=0。 CLK=0。 CLK=1。 m=1。 } STB=0。 if(num==1||num1==1) { if(flag==1||flag1==1) { wela4=0。 flag=0。 flag1=0。 delay100us()。 } else { wela4=1。 flag=1。 flag1=1。 } } else wela4=1。 delay3ms()。//延時3ms wela4=0。 STB=1。 //74HC4094數(shù)據(jù)掃描 for(j=0。j8。j++) { CLK=0。 if(namp。0x80) SI=1。 else SI=0。 n=1。 CLK=1。 } STB=0。 if(num==1||num1==1) { if(flag!=1||flag1!=1) { wela3=0。 flag=0。 flag1=0。 delay100us()。 } else { wela3=1。 flag=1。 flag1=1。 } } else wela3=1。 delay3ms()。 wela3=0。 }/*時顯示函數(shù)*/extern void write_s(uchar date){ uchar shi1,ge,i,j,m,n。 shi1=date/10。 ge=date%10。 if(fm==100) { fm=0。 m=table1[ge]。 } else m=table[ge]。 n=table[shi1]。 STB=1。 //74HC4094數(shù)據(jù)掃描 for(i=0。i8。i++) { CLK=0。 if(mamp。0x80) SI=1。 else SI=0。 m=1。 CLK=1。 } STB=0。 if(num==2||num1==2) { if(flag==2||flag1==2) { wela2=0。 flag=0。 flag1=0。 delay100us()。 } else { wela2=1。 flag=2。 flag1=2。 } } else wela2=1。 delay3ms()。 wela2=0。 STB=1。 //74H4094數(shù)據(jù)掃描 for(j=0。j8。j++) { CLK=0。 if(namp。0x80) SI=1。 else SI=0。 n=1。 CLK=1。 } STB=0。 if(num==2||num1==2) { if(flag!=2||flag1!=2) { wela1=0。 flag=0。 flag1=0。 delay100us()。 } else { wela1=1。 flag=2。 flag1=2。 } } else wela1=1。 delay3ms()。 wela1=0。 }/*1302寫入數(shù)據(jù)*/void write1302(uchar add,uchar date)
點擊復制文檔內容
法律信息相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1