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

正文內(nèi)容

基于51單片機(jī)的音樂盒的設(shè)計畢業(yè)論文(編輯修改稿)

2025-07-16 13:14 本頁面
 

【文章內(nèi)容簡介】 著一點是十分麻煩的。而且在原來的計劃中,音樂盒播放時是想使用跑馬燈來渲染的,但是由于程序編寫存在問題使得跑馬燈設(shè)計失敗。 參考文獻(xiàn)[1][M],北京:北京航空航天大學(xué)出版社,2003.[2] [M],西安電子科技大學(xué),2004.[3] [M],北京:北京航空航天大學(xué)出版社,.[4] 李廣弟,朱月秀,[M],北京:北京航空航天大學(xué)出版社,.[5] 趙曙光,郭萬有,[M],西安:西安電子科技大學(xué), 2000.[6] [M],西安電子科技大學(xué)出版社,. [7] 康華光. 模擬電子技術(shù)基礎(chǔ)(第四版)[M], 武漢:華中理工大學(xué)出版社,1999.[8] (第二版)[M],北京:清華大學(xué)出版社,1991.[9] 陳小忠,黃寧. 單片機(jī)接口技術(shù)實用子程序[M],北京:北京人民郵電出版社, 2005.[10] [M],北京:北京航空航天大學(xué)出版社,.[11] 賈立新,[M],北京:清華大學(xué)出版社,2007.附錄A 元器件清單 表1 元器件清單STC89C52 1個LCD顯示屏 1個揚(yáng)聲器 1個繼電器 1個按鍵 5個電源線 1根附錄B 源程序include //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義includedefine RS_CLR RS=0 define RS_SET RS=1define RW_CLR RW=0 define RW_SET RW=1 define EN_CLR EN=0define EN_SET EN=1define _Nop() _nop_() //定義空指令define DataPort P0sbit RS = P2^4。 //定義端口 sbit RW = P2^5。sbit EN = P2^6。sbit SDA=P2^1。 //模擬I2C數(shù)據(jù)傳送位sbit SCL=P2^0。 //模擬I2C時鐘控制位sbit key0=P1^0。sbit key1=P1^1。sbit key2=P1^2。sbit key3=P1^3。sbit JiDianQi=P1^4。 bit ack。 //應(yīng)答標(biāo)志位void DelayUs2x(unsigned char t)。//函數(shù)聲明 void DelayMs(unsigned char t)。/* uS延時函數(shù),含有輸入?yún)?shù) unsigned char t,無返回值 unsigned char 是定義無符號字符變量,其值的范圍是 0~255 這里使用晶振12M,精確延時請使用匯編,大致延時 長度如下 T=tx2+5 uS */void DelayUs2x(unsigned char t){ while(t)。}/* mS延時函數(shù),含有輸入?yún)?shù) unsigned char t,無返回值 unsigned char 是定義無符號字符變量,其值的范圍是 0~255 這里使用晶振12M,精確延時請使用匯編*/void DelayMs(unsigned char t){ while(t) { //大致延時1mS DelayUs2x(245)。 DelayUs2x(245)。 }}/* 啟動總線*/void Start_I2c(){ SDA=1。 //發(fā)送起始條件的數(shù)據(jù)信號 _Nop()。 SCL=1。 _Nop()。 //,延時 _Nop()。 _Nop()。 _Nop()。 _Nop()。 SDA=0。 //發(fā)送起始信號 _Nop()。 //起始條件鎖定時間大于4μ _Nop()。 _Nop()。 _Nop()。 _Nop()。 SCL=0。 //鉗住I2C總線,準(zhǔn)備發(fā)送或接收數(shù)據(jù) _Nop()。 _Nop()。}/* 結(jié)束總線*/void Stop_I2c(){ SDA=0。 //發(fā)送結(jié)束條件的數(shù)據(jù)信號 _Nop()。 //發(fā)送結(jié)束條件的時鐘信號 SCL=1。 //結(jié)束條件建立時間大于4μ _Nop()。 _Nop()。 _Nop()。 _Nop()。 _Nop()。 SDA=1。 //發(fā)送I2C總線結(jié)束信號 _Nop()。 _Nop()。 _Nop()。 _Nop()。}/* 字節(jié)數(shù)據(jù)傳送函數(shù) 函數(shù)原型: void SendByte(unsigned char c)。功能: 將數(shù)據(jù)c發(fā)送出去,可以是地址,也可以是數(shù)據(jù),發(fā)完后等待應(yīng)答,并對 此狀態(tài)位進(jìn)行操作.(不應(yīng)答或非應(yīng)答都使ack=0 假) 發(fā)送數(shù)據(jù)正常,ack=1。 ack=0表示被控器無應(yīng)答或損壞。*/void SendByte(unsigned char c){ unsigned char BitCnt。 for(BitCnt=0。BitCnt8。BitCnt++) //要傳送的數(shù)據(jù)長度為8位 { if((cBitCnt)amp。0x80)SDA=1。 //判斷發(fā)送位 else SDA=0。 _Nop()。 SCL=1。 //置時鐘線為高,通知被控器開始接收數(shù)據(jù)位 _Nop()。 _Nop()。 //保證時鐘高電平周期大于4μ _Nop()。 _Nop()。 _Nop()。 SCL=0。 } _Nop()。 _Nop()。 SDA=1。 //8位發(fā)送完后釋放數(shù)據(jù)線,準(zhǔn)備接收應(yīng)答位 _Nop()。 _Nop()。 SCL=1。 _Nop()。 _Nop()。 _Nop()。 if(SDA==1)ack=0。 else ack=1。 //判斷是否接收到應(yīng)答信號 SCL=0。 _Nop()。 _Nop()。}/* 字節(jié)數(shù)據(jù)傳送函數(shù) 函數(shù)原型: unsigned char RcvByte()。功能: 用來接收從器件傳來的數(shù)據(jù),并判斷總線錯誤(不發(fā)應(yīng)答信號), 發(fā)完后請用應(yīng)答函數(shù)。 */ unsigned char RcvByte(){ unsigned char retc。 unsigned char BitCnt。 retc=0。 SDA=1。 //置數(shù)據(jù)線為輸入方式 for(BitCnt=0。BitCnt8。BitCnt++) { _Nop()。 SCL=0。 //置時鐘線為低,準(zhǔn)備接收數(shù)據(jù)位 _Nop()。 _Nop()。 // _Nop()。 _Nop()。 _Nop
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1