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

正文內(nèi)容

基于單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)本科畢業(yè)設(shè)計(jì)論文-資料下載頁

2025-06-19 12:51本頁面
  

【正文】 答信號 { uchar i。 scl=1。 delay()。 while((sda==1)amp。amp。(i250))i++。 scl=0。 delay()。 } void init()//初始化函數(shù),拉高 sda 和 scl 兩條總線 { sda=1。 scl=1。 } void write_byte(uchar date)//寫一字節(jié),將 date 寫入 AT24C02 中 { uchar i。 scl=0。 基于單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)第 30 頁 共 40 頁 for(i=0。i8。i++) { date=date1。 sda=CY。 //將要送入數(shù)據(jù)送入 sda scl=1。 //scl 拉高準(zhǔn)備寫數(shù)據(jù) delay()。 scl=0。 //scl 拉低數(shù)據(jù)寫完畢 delay()。 } } uchar read_byte()//讀取一字節(jié),從 AT24C02 中讀取一個(gè)字節(jié) { uchar i,k。 for(i=0。i8。i++) { scl=1。 //scl 拉高準(zhǔn)備讀數(shù)據(jù) delay()。 k=(k1)|sda。 //將 sda 中的數(shù)據(jù)讀出 scl=0。 //scl 拉低數(shù)據(jù)寫完畢 delay()。 } return k。 } 基于單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)第 31 頁 共 40 頁void delay1(uchar x)//延時(shí)程序,放在寫入與讀出直接 { uchar a,b。 for(a=x。a0。a) for(b=100。b0。b)。 } void write_add(uchar address,uchar date)//向 AT24C02 中寫數(shù)據(jù) { start()。 write_byte(0xa0)。 respons()。 write_byte(address)。 respons()。 write_byte(date)。 respons()。 stop()。 } uchar read_add(uchar address)//從 AT24C02 中讀出數(shù)據(jù) { uchar date。 start()。 基于單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)第 32 頁 共 40 頁 write_byte(0xa0)。 respons()。 write_byte(address)。 respons()。 start()。 write_byte(0xa1)。 respons()。 date=read_byte()。 stop()。 return date。 } void main() { init()。//初始化 AT24C02 write_add(23,0x55)。//在 23 地址處寫入數(shù)據(jù) 0x55; delay1(100)。 P1=read_add(23)。//讀出地址為 23 處的數(shù)據(jù) while(1)。 } 基于單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)第 33 頁 共 40 頁DS1302 時(shí)鐘部分程序:includeinclude sbit SCK=P1^2。 //時(shí)鐘sbit SDA=P1^1。 //數(shù)據(jù)sbit RST = P1^0。// DS1302 復(fù)位sbit LS138A=P2^2。 sbit LS138B=P2^3。sbit LS138C=P2^4。 bit ReadRTC_Flag。//定義讀 DS1302 標(biāo)志unsigned char l_tmpdate[7]={0,0,12,15,5,3,8}。//秒分時(shí)日月周年 080515 12:00:00unsigned char l_tmpdisplay[8]。code unsigned char write rtc address[7]={0x80,0x82,0x84,0x86,0x88,0x8a,0x8c}。code unsigned char read rtc address[7]={0x81,0x83,0x85,0x87,0x89,0x8b,0x8d}。 code unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40}。 void Write_Ds1302_byte(unsigned char temp)。 void Write_Ds1302( unsigned char address,unsigned char dat )。unsigned char Read_Ds1302 ( unsigned char address )。void Read_RTC(void)。//read RTC void Set_RTC(void)。 //set RTC 基于單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)第 34 頁 共 40 頁void InitTIMER0(void)。//inital timer0void main(void) { InitTIMER0()。 //初始化定時(shí)器 0 Set_RTC()。 //寫入時(shí)鐘值,如果使用備用電池時(shí)候,不需要沒每次上電寫入,此程序應(yīng)該屏蔽while(1){ if(ReadRTC_Flag) { ReadRTC_Flag=0。Read_RTC()。l_tmpdisplay[0]=l_tmpdate[2]/16。 //數(shù)據(jù)的轉(zhuǎn)換,因我們采用數(shù)碼管 0~9 的顯示 ,將數(shù)據(jù)分開l_tmpdisplay[1]=l_tmpdate[2]amp。0x0f。l_tmpdisplay[2]=10。 //加入l_tmpdisplay[3]=l_tmpdate[1]/16。l_tmpdisplay[4]=l_tmpdate[1]amp。0x0f。l_tmpdisplay[5]=10。l_tmpdisplay[6]=l_tmpdate[0]/16。l_tmpdisplay[7]=l_tmpdate[0]amp。0x0f。 }} 基于單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)第 35 頁 共 40 頁}void InitTIMER0(void){ TMOD|=0x01。//定時(shí)器設(shè)置 16 位 TH0=0xef。//初始化值 TL0=0xf0。 ET0=1。 TR0=1。 EA=1。}void Write_Ds1302_Byte(unsigned char temp) { unsigned char i。 for (i=0。i8。i++) //循環(huán) 8 次 寫入數(shù)據(jù) { SCK=0。 SDA=tempamp。0x01。 //每次傳輸?shù)妥止?jié) temp=1。 //右移一位 SCK=1。 }} void Write_Ds1302( unsigned char address,unsigned char dat ) { RST=0。 基于單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)第 36 頁 共 40 頁_nop_()。 SCK=0。_nop_()。 RST=1。 _nop_()。 //啟動(dòng) Write_Ds1302_Byte(address)。//發(fā)送地址 Write_Ds1302_Byte(dat)。 //發(fā)送數(shù)據(jù) RST=0。 //恢復(fù)}unsigned char Read_Ds1302 ( unsigned char address ){ unsigned char i,temp=0x00。 RST=0。_nop_()。_nop_()。 SCK=0。_nop_()。_nop_()。 RST=1。_nop_()。_nop_()。 Write_Ds1302_Byte(address)。 for (i=0。i8。i++) //循環(huán) 8 次 讀取數(shù)據(jù) { 基于單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)第 37 頁 共 40 頁 if(SDA) temp|=0x80。 //每次傳輸?shù)妥止?jié)SCK=0。temp=1。 //右移一位_nop_()。 _nop_()。 _nop_()。 SCK=1。} RST=0。_nop_()。 //以下為 DS1302 復(fù)位的穩(wěn)定時(shí)間 _nop_()。RST=0。SCK=0。_nop_()。_nop_()。_nop_()。_nop_()。SCK=1。_nop_()。_nop_()。SDA=0。_nop_()。_nop_()。 基于單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)第 38 頁 共 40 頁SDA=1。_nop_()。_nop_()。return (temp)。 //返回}void Read_RTC(void) //讀取 日歷{ unsigned char i,*p。 p=read_rtc_address。 //地址傳遞 for(i=0。i7。i++) //分 7 次讀取 秒分時(shí)日月周年 { l_tmpdate[i]=Read_Ds1302(*p)。 p++。 }}void Set_RTC(void) //設(shè)定 日歷{unsigned char i,*p,tmp。for(i=0。i7。i++){ //BCD 處理tmp=l_tmpdate[i]/10。l_tmpdate[i]=l_tmpdate[i]%10。l_tmpdate[i]=l_tmpdate[i]+tmp*16。} Write_Ds1302(0x8E,0X00)。 基于單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)第 39 頁 共 40 頁 p=write_rtc_address。 //傳地址 for(i=0。i7。i++) //7 次寫入 秒分時(shí)日月周年 { Write_Ds1302(*p,l_tmpdate[i])。 p++。 } Write_Ds1302(0x8E,0x80)。}void tim(void) interrupt 1 using 1 //中斷,用于數(shù)碼管掃描{ static unsigned char i,num。 TH0=0xf5。 TL0=0xe0。 P0=table[l_tmpdisplay[i]]。 //查表法得到要顯示數(shù)字的數(shù)碼段 switch(i) { case 0:LS138A=0。 LS138B=0。 LS138C=0。 break。 case 1:LS138A=1。 LS138B=0。 LS138C=0。 break。case 2:LS138A=0。 LS138B=1。 LS138C=0。 break。 case 3:LS138A=1。 LS138B=1。 LS138C=0。 break。 case 4:LS138A=0。 LS138B=0。 LS138C=1。 break。case 5:LS138A=1。 LS138B=0。 LS138C=1。 break。 基于單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)第 40 頁 共 40 頁case 6:LS138A=0。 LS138B=1。 LS138C=1。 break。case 7:LS138A=1。 LS138B=1。 LS138C=1。 break。 }i++。if(i==8) { i=0。 num++。 if(10==num) /
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1