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

正文內(nèi)容

單片機(jī)課程設(shè)計(jì)報告--基于at89s52的電子萬年歷設(shè)計(jì)-文庫吧資料

2024-11-12 11:40本頁面
  

【正文】 _data(table11[i])。table11[i]!=39。 case 5:write_mand(0x91)。i++)write_data(table10[i])。table10[i]!=39。 case 4:write_mand(0x91)。i++)write_data(table9[i])。table9[i]!=39。 case 3:write_mand(0x91)。i++)write_data(table8[i])。table8[i]!=39。 case 2:write_mand(0x91)。i++)write_data(table7[i])。table7[i]!=39。 switch(ge) { case 24 1:write_mand(0x91)。 } void display2(uchar date) //顯示星期 { uchar ge,i。 write_data(shi+0x30)。 shi=date/16。//鬧鐘秒鐘初始化 write_date(0x8f,0x80)。//鬧鐘小時初始化 write_date(0xfc,write1[1])。 //week write_date(0x8c,write[6])。 //ri write_date(0x88,write[4])。 //fen write_date(0x84,write[2])。//可以寫入 write_date(0x80,write[0])。//鬧鐘分 read1[0]=ReadSet1302(0xf9)。//讀取年寄存器的數(shù)據(jù) read1[2]=ReadSet1302(0xc1)。//讀取月寄存器的數(shù)據(jù) read[5]=ReadSet1302(0x8b)。//讀取小時寄存器的數(shù)據(jù) read[3]=ReadSet1302(0x87)。//讀取秒寄存器的數(shù)據(jù) read[1]=ReadSet1302(0x83)。 } void ReadTime() //讀時間 { write_date(0x8f,0x80)。 delayus(5)。 dat=read_byte()。 write_byte(addr)。 res=1。 clk=0。 } uchar ReadSet1302(uchar addr) { uchar dat。 res=0。 delayus(1)。 delayus(5)。 delayus(5)。 } void write_date(uchar addr,uchar date) { res=0。 delayus(5)。=0x7f。 if(dat) temp|=0x80。 dat=0。i++) { clk=0。 for(i=0。 temp=1。 clk=1。0x01) dat=1。 delayus(5)。i8。 } void write_byte(uchar temp) { uchar i。} delayms(3000)。\039。 for(i=0。i++) { write_data(table55[i])。table55[i]!=39。} write_mand(0x90)。i16。} write_mand(0x88)。i15。 write_mand(0x80)。//開顯示,光標(biāo)不顯示 write_mand(0x06)。// write_mand(0x80)。 } void LCD_init()//對 1602 初始化 { write_mand(0x01)。 delayms(3)。 delayms(2)。 rw=0。 en=0。 en=1。 P2=。 } void write_mand(uchar )//寫指令函數(shù) { rs=0。beer=1。 } void didi() { beer=0。k)。j) for(k=144。 for(j=i。 uchar code table13[]={日 }。 uchar code table11[]={五 }。 uchar code table9[]={三 }。 uchar code table7[]={一 }。uchar code year1out10[]={虎 }。 uchar code year1out8[]={鼠 }。 uchar code year1out6[]={狗 }。uchar code year1out4[]={猴 }。 uchar code year1out2[]={馬 }。//兔 uchar code year1out0[]={龍 }。 //牛 uchar code yearout10[]={10,22,35,46,58,70,82,94,96}。 //豬 uchar code yearout8[]={8,20,33,44,56,68,80,92}。 //雞 uchar code yearout6[]={6,17,30,42,54,66,78,90}。 //羊 uchar code yearout4[]={4,16,28,40,52,64,76,88}。 //蛇 uchar code yearout2[]={2,14,26,38,50,62,74,86}。 uchar code yearout0[]={0,12,24,36,48,60,72,84,98}。 //歡迎界面 uchar code table55[]={歡迎 _ _ 歡迎 }。 uchar code table5[]={Wele To Lcd!}。 uchar code table2[]={鬧鈴 : 00時 00 分 00}。//時間日期初始化 uchar code table1[]=2020 年 00 月 00 日 。//鬧鐘緩存 uchar code write1[]={0x10,0x59,0x23}。 uchar read[7]={0,0,0,0,0,0,0}。 uchar tflag,ReadValue。 //移位時的第 0 位 sbit acc7=ACC^7。 //加一 sbit dec=P3^2。 //鬧鐘調(diào)整控制按鍵 sbit menu=P3^0。 sbit beer=P3^6。 sbit rw=P1^1。 sbit clk=P1^7。 sbit dat=P1^4。同時,在做作品的日子里得了老師的悉心指導(dǎo),在此向我 的指導(dǎo)教師致以誠摯 的謝意,感謝提供相關(guān)技術(shù)幫助的老師和同學(xué),你們的支持和鼓勵使我 對這 次的作品完全有了信心和動力,也給了我很多無私的幫助和支持,我 在此深表謝意。老師給我們提出了許多革新非常的好,讓我們能夠有更多的發(fā)揮空間,提高了自己開發(fā)創(chuàng)新的能力。要面對社會的挑戰(zhàn),只有不斷的學(xué)習(xí)、實(shí)踐,再學(xué)習(xí)、再實(shí)踐。更重要的是,在課程序設(shè)計(jì)里,我們學(xué)會了很多學(xué)習(xí)的方法。通過對電路的多次的反復(fù)測試與分析,可以對電路的原理及功能更加熟悉,同時提高了設(shè)計(jì)能力及對電路的分析能力,同時在軟件的編程方面得到了更高的提高,對編程能力得到加強(qiáng),同時對所學(xué)的知識得到了大的提高與鞏固。直到按下第三次退出鬧鐘設(shè)置,如果當(dāng)中如有按下 add 鍵,則進(jìn)行加一,如果按下 dec,則進(jìn)行減一。當(dāng)中如有按下 add 鍵,則進(jìn)行加一,如果按下 dec, 17 則進(jìn)行減一。 七、 性能測試及分析 上電測試, LCD12864 能夠正確顯示時間和日期,第一次 menu 按鈕,開始設(shè)置年,再按 menu, 開始設(shè)置月,再次按下 menu,開始設(shè)置日,依次按下 menu,依次設(shè)置時、分、秒。 軟件調(diào)試 在軟件調(diào)試過程中,當(dāng)按下按鍵調(diào)節(jié)時間和日期后,時間不能繼續(xù)在加,后來分析了程序才發(fā)現(xiàn),是在設(shè)置好時間和日期時我們暫停了時鐘,在設(shè)置完后沒有啟動時鐘,所以時間和日期就不能夠繼續(xù)走,在那里停止了,發(fā)現(xiàn)這個原因后,我在設(shè)置完時間后就開啟時鐘,時間和日期就能夠正確顯示了。 表 1 基于 AT89S52 單片機(jī)的電子萬年歷元件清單 元件名稱 型號 數(shù)量 /個 用途 單片機(jī) AT89S52 1 控制核心 時鐘芯片 DS1302 1 實(shí)時時鐘 晶振 12MHz 1 晶振電路 晶振 1 時鐘電路 電容 22pF 2 晶振電路 電解電容 10uF/25V 1 復(fù)位電路 按鍵開關(guān) 6*6*6 5 按鍵 /復(fù)位電路 電阻 1K 5 電源指示電路 電阻 10K 1 復(fù)位電路 電阻 220 2 限流 /復(fù)位電路 滑動變阻器 1M 1 LCD12864 光調(diào)節(jié) 三極管 2N3906 1 蜂鳴器電路 發(fā)光二極管 紅色 1 電源指示電路 16 蜂鳴器 有源蜂鳴器 1 蜂鳴器電路 溫度傳感器 DS18B20 1 溫度電路 排座 間距 20 顯示電路 LCD LCD12864 1 顯示電路 排針 間距 2 電源接口 電源 Vcc +5V 1 提供 +5V 電源 六、 安裝與調(diào)試 電路安裝 用 畫好 PCB 后 ,并做出相應(yīng)的電路板 ,測試過電路板沒有短路和斷路后 ,對照 PCB板圖 將相應(yīng)的元件插到電路板上 ,首先將矮的電子元件先插上 ,然后將其焊在電路板上 ,依照高矮 ,將剩余的元件安裝在電路板上 ,并依次焊接好 .當(dāng)焊接完成后 .剪去引腳 ,并測試電路焊接后是否有短路 . 電路調(diào)試 在測試中遇到 LCD12864 不能夠顯示出時間和日期,經(jīng)過檢查才發(fā)現(xiàn)是 LCD12864 的背光沒有調(diào)好,通過調(diào)節(jié)接在 LCD12864 上 3 腳上的滑動變阻器,改變所給的電壓,可以清晰地看見了 LCD 能夠顯示。//禁止寫入 } 五、 總原理圖及元件清單 總原理圖 基于 AT89S52 單片機(jī)的電子萬年歷硬件電路圖如圖 13所示,系統(tǒng)由 AT89S52 單片機(jī),按鍵掃描電路、顯示電路、時鐘電路、晶振電路、復(fù)位電路、電源指示電路及蜂鳴器輸出電路和溫度電路。//鬧鐘分鐘初始化 write_date(0xf8,write1[0])。 //nian write_date(0xc0,write1[2])。 //yue write_date(0x8a,write[5])。 // shi write_date(0x86,write[3])。 //miao write_date(0x82,write[1])。//鬧鐘秒 } void SetTime() //寫入時間 14 { write_date(0x8e,0x00)。//鬧鐘時 read1[1]=ReadSet1302(0xfd)。//讀取星期寄存器的數(shù)據(jù) read[6]=ReadSet1302(0x8d)。//讀取日期寄存器的數(shù)據(jù) read[4]=ReadSet1302(0x89)。//讀取分鐘寄存器的數(shù)據(jù) read[2]=ReadSet1302(0x85)。//禁止寫入 read[0]=ReadSet1302(0x81)。 return dat。 res=0。 delayus(5)。 delayus(5)。 delayus(5)。 res=0。 delayus(5)。 write_byte(date)。 13 write_byte(addr)。 res=1。 clk=0。 } return temp。//0111 1111 clk=1。//1000 0000 else tempamp。 temp=1。 delayus(5)。i8。 } } uchar read_byte() { uchar i,temp=0。 delayus(5)。 else dat=0。 if(tempamp。i++) 12 { clk=0。 for(i=0。//開顯示,光標(biāo)不顯示 write_mand(0x06)。// write_mand(0x80)。 } void LCD_init()//對 1602 初始化 { write_mand(0x01)。 delayms(3)。 delayms(2)。 rw=0。 en=0。 en=1。 P2=。 子程序初始化設(shè)計(jì) 讀寫 LCD12864 程序及初始化程序 void write_mand(uchar )//寫指令函數(shù) { rs=0。當(dāng) keyzh 按下三次時,退出鬧鐘設(shè)計(jì)。 圖 11 蜂鳴器電路 四、 軟件設(shè)計(jì)與流程 程序流程圖 主程序首先初始化定時器、 LCD12864 及 DS1302,然后 就開始查詢按鍵, 有鍵按下則開始調(diào)整時間和設(shè)置鬧鐘 ,若沒有按下,
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1