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

正文內(nèi)容

基于加速度傳感器為基礎的計步器畢業(yè)設計-資料下載頁

2025-06-27 19:34本頁面
  

【正文】 SCL=0。}//************************************************//主應答(包含ack:SDA=0和no_ack:SDA=0)void IIC_ack_main(bit ack_main){ SCL=0。 if(ack_main)SDA=0。 //ack主應答 else SDA=1。 //no_ack無需應答 nops()。 SCL=1。 nops()。 SCL=0。}//*************************************************//字節(jié)發(fā)送程序//發(fā)送c(可以是數(shù)據(jù)也可是地址),送完后接收從應答//不考慮從應答位void send_byte(unsigned char c){ unsigned char i。 for(i=0。i8。i++){ SCL=0。 if((ci) amp。 0x80)SDA=1。 //判斷發(fā)送位 else SDA=0。 _nop_()。 SCL=1。 nops()。 SCL=0。} nops()。 SDA=1。 //發(fā)送完8bit,釋放總線準備接收應答位 _nop_()。 SCL=1。 nops()。 //sda上數(shù)據(jù)即是從應答位 SCL=0。 //不考慮從應答位|但要控制好時序}//**************************************************//字節(jié)接收程序//接收器件傳來的數(shù)據(jù),此程序應配合|主應答函數(shù)|IIC_ack_main()使用//return: uchar型1字節(jié)unsigned char read_byte(void){unsigned char i。unsigned char c。 c=0。 SCL=0。 _nop_()。 SDA=1。 //置數(shù)據(jù)線為輸入方式 for(i=0。i8。i++){ _nop_()。 SCL=0。 //置時鐘線為低,準備接收數(shù)據(jù)位 nops()。 SCL=1。 //置時鐘線為高,使數(shù)據(jù)線上數(shù)據(jù)有效 _nop_()。 c=1。 if(SDA)c+=1。 //讀數(shù)據(jù)位,將接收的數(shù)據(jù)存c} SCL=0。 return c。}//***************************************************//向無子地址器件發(fā)送單字節(jié)數(shù)據(jù)void send_to_byte(unsigned char ad_main,unsigned char c){ IIC_start()。 send_byte(ad_main)。 //發(fā)送器件地址 send_byte(c)。 //發(fā)送數(shù)據(jù)c IIC_stop()。}//***************************************************//向有子地址器件發(fā)送多字節(jié)數(shù)據(jù)void send_to_nbyte(unsigned char ad_main,unsigned char ad_sub,unsigned char *buf,unsigned char num){ unsigned char i。 IIC_start()。 send_byte(ad_main)。 //發(fā)送器件地址 send_byte(ad_sub)。 //發(fā)送器件子地址 for(i=0。inum。i++){ send_byte(*buf)。 //發(fā)送數(shù)據(jù)*buf buf++。} IIC_stop()。}//***************************************************//從無子地址器件讀單字節(jié)數(shù)據(jù)//function:器件地址,所讀數(shù)據(jù)存在接收緩沖區(qū)當前字節(jié)void read_from_byte(unsigned char ad_main,unsigned char *buf){ IIC_start()。 send_byte(ad_main)。 //發(fā)送器件地址 *buf=read_byte()。 IIC_ack_main(no_ack)。 //無需應答no_ack=0 IIC_stop()。}//***************************************************//從有子地址器件讀多個字節(jié)數(shù)據(jù)//function:void read_from_nbyte(unsigned char ad_main,unsigned char ad_sub,unsigned char *buf,unsigned char num){ unsigned char i。 IIC_start()。 send_byte(ad_main)。 send_byte(ad_sub)。 for(i=0。inum1。i++){ *buf=read_byte()。 IIC_ack_main(ack)。 //主應答ack=1 buf++。 }*buf=read_byte。 buf++。 //本次指針調(diào)整無意義,目的是操作后buf指向下一地址 IIC_ack_main(no_ack)。 //無需應答no_ack=0 IIC_stop()。}unsigned char MMA7455_readbyte(unsigned char address){ unsigned char ret = 100。 IIC_start()。 //啟動 send_byte(0x3A)。 //寫入設備ID及寫信號 send_byte(address)。 //X地址 IIC_start()。 //重新發(fā)送開始 send_byte(0x3B)。 //寫入設備ID及讀信 ret = read_byte()。 //讀取一字節(jié) IIC_stop()。 return ret。}//寫入void MMA7455_writebyte(unsigned char address, unsigned char thedata){ IIC_start()。 //啟動 send_byte(0x3A)。 //寫入設備ID及寫信號 send_byte(address)。 //X地址 send_byte(thedata)。 //寫入設備ID及讀信 IIC_stop()。}//初始化//初始化為指定模式void MMA7455_init(){ //2g輸出 測量模式 MMA7455_writebyte(0x16, 0x05)。 //據(jù)實際環(huán)境修改校驗值 MMA7455_writebyte(0x10,0x10)。//校正X值 MMA7455_writebyte(0x12,0x30)。//校正Y值 MMA7455_writebyte(0x14,0x00)。//校正Z值}void keyscan(){ if(!key_start) { delayms(10)。 if(!key_start) { start_flag=1。 write_(0x80+0x40)。 write_date(39。 39。)。 write_date(39。r39。)。 write_date(39。u39。)。 write_date(39。n39。)。 while(!key_start)。} } else if(!key_stop) { delayms(10)。 if(!key_stop) { start_flag=0。 write_(0x80+0x40)。 write_date(39。s39。)。 write_date(39。t39。)。 write_date(39。o39。)。 write_date(39。p39。)。 while(!key_stop)。} } else if(!key_clean) { delayms(10)。 if(!key_clean) { Step_num=0。 while(!key_clean);} }void Dat_dispose(){//讀取重力信息 if(start_flag) { x1 = MMA7455_readbyte(0x06)。 y1 = MMA7455_readbyte(0x07)。 z1 = MMA7455_readbyte(0x08)。 }x=x1。 y=y1。 z=z1。 if((xamp。0x80)==0x00) { x=(int)((x*196)/127)。 //轉變?yōu)榧铀俣戎?} else{ x=255x。 x=(int)((x*196)/127)。 //轉變?yōu)榧铀俣戎? x=(1)*x。 } if((yamp。0x80)==0x00) { y=(int)((y*196)/127)。 //轉變?yōu)榧铀俣戎?} else { y=255y。 y=(int)((y*196)/127)。 //轉變?yōu)榧铀俣戎? y=(1)*y。} if((zamp。0x80)==0x00) { z=(int)(((z10)*196)/127)。 //轉變?yōu)榧铀俣戎?} else { z=255z。 z=(int)(((z+12)*196)/127)。 //轉變?yōu)榧铀俣戎? z=(1)*z。 } if(start_flag) { if(y30amp。amp。x_flag==0amp。amp。z70amp。amp。z100) {x_flag=1。 Step_num++。} else if(y0) {x_flag=0。 } }else x_flag=0。}void main(){ init_1602()。 MMA7455_init()。 //初始化MMA7455 while(1) { Dat_dispose()。 display()。 keyscan()。 }附錄二 設計電路圖設計電路圖見畢業(yè)設計資料袋附錄三 硬件電路實物圖致謝 時光飛逝,畢業(yè)設計就這樣過去了,在這三個月里我們了解一些單片機的知識,對計步器有了一定的了解,我要感謝我們小組的每一位組員,我要感謝我們的輔導老師蔡蘭老師。要不是她給了我們一定得提示,和一定得鼓勵,我想我們要是想完成這次畢業(yè)設計會非常的困難,而且我們每次遇到難以解決的問題時蔡老師總會對我們進行細心地指導。 我真的非常感謝我們小組的每一個人。要是沒有我們的默契,沒有我們的努力,沒有我們的付出,我想要是一個人來完成的話,這都是一個十分困難的過程。然而正是我們大家互相鼓勵和辛苦我們才會完成我們的設計題目。我還要感謝在網(wǎng)絡上發(fā)表的關于我們設計題目的一些言論的人。要是沒有這些網(wǎng)絡上所找到的東西,我們會更加難以理解電路所需的元器件的相關知識,和對跑步計數(shù)器電路的認識。還有圖書館的老師們,還有那些書,謝謝你們。而最為重要的是蔡蘭老師的細心指導,沒有老師的細心指導,我們根本不可能學到這些知識。 老師,您辛苦了。44
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1