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

正文內(nèi)容

數(shù)字電子時(shí)鐘設(shè)計(jì)報(bào)告-閱讀頁(yè)

2024-09-16 12:03本頁(yè)面
  

【正文】 . 認(rèn)真檢查電路是否有短路的地方,線與線之間,管腳刺破鄰近的漆包線之間是否連接在一起,有的話要用刀劃開(kāi),或者重新焊接。在不通電狀態(tài)下用萬(wàn)用表檢測(cè)電路是否正常連接,在檢查回路時(shí)發(fā)現(xiàn)有的點(diǎn)之間看似連接,但由于虛焊導(dǎo)致其并無(wú)電氣連接,只能對(duì)焊腳進(jìn)行在加工直到解決問(wèn)題。首先必須對(duì)可編程芯片的控制字即其控制指令要熟記于心。對(duì)芯片的讀寫(xiě)都需要在相應(yīng)的觸發(fā)沿到來(lái)時(shí)才 能進(jìn)行。硬件層面而言操作相對(duì)簡(jiǎn)單,界面比較友好。在時(shí)鐘芯片的選擇上,若直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供秒信號(hào),使用程序?qū)崿F(xiàn)年、月、日、星期、時(shí)、分、秒計(jì)數(shù)。因此采用專業(yè)的時(shí)鐘芯片 DS1302,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),主要特點(diǎn)是采用串行數(shù)據(jù)傳輸,可為掉電保護(hù)電源提供可編程的充電功能;在顯示模塊的選擇上,若采用 LED數(shù)碼管動(dòng)態(tài)掃描 ,LED數(shù)碼管價(jià)格雖適中 ,對(duì)于顯示數(shù)字也最合適 ,而且采用動(dòng)態(tài)掃描法與單片機(jī)連接時(shí) ,占用的單片機(jī)口線少。 參考文獻(xiàn) [1]胡乾斌,李光斌,李玲,喻紅.單片微型計(jì)算機(jī)原理與應(yīng)用 .華中科技大學(xué)出版社, 1996. [2]劉勇.?dāng)?shù)字電路.電子工業(yè)出版社, 2020. [3]陳正振.電子電路設(shè)計(jì)與制作.廣西交通職業(yè)技術(shù)學(xué)院信息工程系, 2020. [4]楊子文.單片機(jī)原理及應(yīng)用.西安電子科技大學(xué)出版社, 2020. [5]郭天祥新概念 51 單片機(jī)教程 附錄 1:程序 include include define uchar unsigned char define uint unsigned int sbit ACC0 = ACC^0。 sbit t=P3^2。//加一按鍵 sbit jian=P3^4。//退出調(diào)時(shí)按鍵 sbit BEEP=P2^0。//矩陣按鍵轉(zhuǎn)獨(dú)立按鍵,該腳置 0 sbit T_CLK = P1^0。 /*實(shí)時(shí)時(shí)鐘數(shù)據(jù)線引腳 */ sbit T_RST = P1^2。 //1602 使能引腳 sbit RW=P2^6。 //1602 數(shù)據(jù) /命令選擇引腳 uchar code hanzi[][8]={{0x04,0x0f,0x12,0x0f,0x0a,0x1f,0x02,0x02},{0x0f,0x09,0x0f,0x09,0x0f,0x09,0x13,0x11},{0x1f,0x11,0x11,0x1f,0x11,0x11,0x1f,0x00}}。 uint Time=0 ,flag=0,flag2=0。 uchar uc_R1302(uchar)。 uchar bcdtodec(uchar)。 void delay(uchar x) { uchar i。i110。 } /******************************************************************** * 名稱 : enable(uchar del) * 功能 : 1602 命令函數(shù) * 輸入 : 輸入的命令值 * 輸出 : 無(wú) ***********************************************************************/ void enable(uchar del) { RS = 0。 P0 = del。 delay(3)。 } /******************************************************************** * 名稱 : write(uchar del) * 功能 : 1602 寫(xiě)數(shù)據(jù)函數(shù) * 輸入 : 需要寫(xiě)入 1602 的數(shù)據(jù) * 輸出 : 無(wú) ***********************************************************************/ void write(uchar del) { RS = 1。 P0 = del。 delay(3)。 } /******************************************************************** * 名稱 : L1602_init() * 功能 : 1602 初始化,請(qǐng)參考 1602 的資料 * 輸入 : 無(wú) * 輸出 : 無(wú) ***********************************************************************/ void L1602_init(void) { enable(0x01)。 enable(0x06)。 E=0。 enable(0x40)。i8。j8。 } /******************************************************************** * 名稱 : L1602_char(uchar hang,uchar lie,char sign) * 功能 : 改變液晶中某位的值,如果要讓第一行,第五個(gè)字符顯示 b ,調(diào)用該函數(shù)如下 L1602_char(1,5,39。) * 輸入 : 行,列,需要輸入 1602 的數(shù)據(jù) * 輸出 : 無(wú) ***********************************************************************/ void L1602_char(uchar hang,uchar lie,char sign) { uchar a。 if(hang == 2) a = 0xc0。 enable(a)。 } /******************************************************************** * 名稱 : L1602_string(uchar hang,uchar lie,uchar *p) * 功能 : 改變液晶中某位的值,如果要讓第一行,第五個(gè)字符開(kāi)始顯示 ab cd ef ,調(diào)用該函數(shù)如下 L1602_string(1,5,ab cd ef。 if(hang == 1) a = 0x80。 a = a + lie 1。 while(1) { if(*p == 39。) break。 p++。 uchar year,mon,day,hour,min,sec。 if(t==0) { num++。 while(!t)。 if(m==0) num=0。 a=uc_R1302(0x81)|0x80。 v_W1302(0x80,a)。 //num=1 調(diào)秒 if(num==1) { enable(0xc0+12)。 if(jia==0) //秒加一 { while(!jia)。0x7f)。 if(sec59) sec=0。 L1602_char(2, 13, sec%10 + 48)。 } if(jian==0) //秒減一 delay(5)。 sec=bcdtodec(uc_R1302(0x81))。 if(sec==1) sec=59。 L1602_char(2, 13, sec%10 + 48)。 } } if(num==2) //調(diào)分鐘 { enable(0xc0+9)。 if(jia==0) { min = bcdtodec(uc_R1302(0x83))。 while(!jia)。 L1602_char(2, 9, min / 10 % 10 + 48)。 v_W1302(0x82,dectobcd(min))。 if(jian==0) { min = bcdtodec(uc_R1302(0x83))。 while(!jian)。 L1602_char(2, 9, min / 10 % 10 + 48)。 v_W1302(0x82,dectobcd(min))。 if(jia==0) delay(5)。 hour++。 if(hour23) hour=0。 L1602_char(2, 7, hour % 10 + 48)。 } if(jian==0) delay(5)。 hour = bcdtodec(uc_R1302(0x85))。 if(hour==1) hour=23。 L1602_char(2, 7, hour % 10 + 48)。 } } if(num==4) //調(diào)日期 { enable(0x80+13)。 if(jia==0) { hour = bcdtodec(uc_R1302(0x87))。 while(!jia)。 L1602_char(1, 13, day / 10 % 10 + 48)。 v_W1302(0x86,dectobcd(day))。 if(jian==0) { while(!jian)。 day。 L1602_char(1,13,day/10%10+48)。 v_W1302(0x86,dectobcd(day))。 if(jia==0) delay(5)。 mon++。 if(mon12) mon=0。 L1602_char(1, 11, mon % 10 + 48)。 } if(jian==0) delay(5)。 mon = bcdtodec(uc_R1302(0x89))。 if(mon==1) mon=12。 L1602_char(1, 11, mon % 10 + 48)。 } } if(num==6) //調(diào)年份 { enable(0x80+7)。 if(jia==0) { year = bcdtodec(uc_R1302(0x8d))。 while(!jia)。 L1602_char(1, 7, year / 10 % 10 + 48)。 v_W1302(0x8c,dectobcd(year))。 if(jian==0) { while(!jian)。 year。 L1602_char(1, 7, year / 10 % 10 + 48)。 v_W1302(0x8c,dectobcd(year))。 } v_W1302(0x80,uc_R1302(0x81)amp。 //開(kāi)啟 1302 記時(shí) } /******************************************************************** * 名稱 : v_RTInputByte() * 功能 : 往 DS1302 寫(xiě)入 1Byte 數(shù)據(jù) * 輸入 : ucDa 寫(xiě)入的數(shù)據(jù) * 輸出 : 無(wú) ***********************************************************************/ void v_RTInputByte(uchar ucDa) { uchar i。 T_RST = 1。 i0。 T_CLK = 1。 ACC = ACC 1。 T_RST = 1。 i0。 ACC7 = T_IO。 T_CLK = 0。 } /******************************************************************** * 名稱 : v_W1302(uchar ucAddr, uchar ucDa) * 功能 : 往 DS1302 寫(xiě) 入數(shù)據(jù) * 輸入 : ucAddr: DS1302 地址 , ucDa: 要寫(xiě)的數(shù)據(jù) * 返回值 : 無(wú) ***********************************************************************/ void v_W1302(uchar ucAddr, uchar ucDa) { T_RST = 0。 T_RST = 1。 // 寫(xiě)地址 _nop_()。 v_RTInputByte(ucDa)。 T_RST =
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1