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

正文內容

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

2025-07-16 13:14 本頁面
 

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