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

正文內(nèi)容

基于aduc848的智能電壓測(cè)試儀課程設(shè)計(jì)(含全部源程序)(已修改)

2025-07-22 12:06 本頁(yè)面
 

【正文】 湖南大學(xué)電氣與信息工程學(xué)院 本科生課程設(shè)計(jì) 題 目: 基于 ADuC848 的 智能 電壓監(jiān)視儀 課 程: 微機(jī)原理與接口技術(shù) 專 業(yè): 電氣工程及其自動(dòng)化 班 級(jí): XX 班 學(xué) 號(hào): XXXX 姓 名: XX 指導(dǎo) 老師: XX 設(shè)計(jì) 時(shí)間: 20xx 年 4月 27 日至 20xx 年 5月 31 日 目錄: 任務(wù)及設(shè)計(jì)要求(課題要求) 系統(tǒng)原理框圖(框架圖) 硬件原理圖(含元器件清單,使用到的硬件模塊接線圖,分模塊繪制并解釋各模塊作用) 程序(含全部源程序及詳細(xì)注釋,所有功能的程序流程圖) 使用說明書(含功能描述及具體的操作指南) 心得體會(huì)(收獲,感想,建議和看法等) 參考文獻(xiàn)(教材、論文、相關(guān)書籍等) (一)任務(wù)及設(shè)計(jì)要求 設(shè)計(jì)一個(gè)智能電壓監(jiān)視儀;電網(wǎng)電壓的信號(hào)可用變壓器從市電上取得,也可用 +5V的電位器模擬。 要求 1)顯示內(nèi)容:電壓當(dāng)前值;最大電壓值;最小電壓值;電壓合格率;超上限率;超下限率;電壓上、下限給定值、當(dāng)前時(shí)間 2)利用小鍵盤實(shí)現(xiàn)電壓上、下限給定值的輸入和顯示選擇命令 3)電壓采樣周期為 1秒,平均值的計(jì)算周期為 2分鐘,所求得的電壓平均值作為統(tǒng)計(jì)和計(jì)算的依據(jù),統(tǒng)計(jì)和計(jì)算以一天為單位,超過 24小時(shí)則從頭開始統(tǒng)計(jì)計(jì)算 4)超上限率 =(其中超上限的次數(shù)) /(采樣計(jì)算得到的總的電壓平均值次數(shù)) *100%;超下限率的計(jì)算公式與此類似 5)合格率 =1超上限率 超下限率 6)顯示北京時(shí)間,可調(diào)整 7)當(dāng)前電壓超上限或下限時(shí),利用蜂鳴器報(bào)警 (二)系統(tǒng)原理框圖 (三)硬件原理圖 1. 元器件清單 ADuC848 開發(fā)板, 5V 電源適配器 , LCD1602 , USB 轉(zhuǎn)串口線 , 杜邦線、短路帽 等。 2. 硬件模塊接線圖及各模塊作用 電源模塊 原理圖如圖 所示。 采用 5V電源適配器供電(開關(guān)往上撥、插針 1下面兩腳接跳線帽)。 將開關(guān) sw4第 3腳接通(開關(guān)往上撥),電源網(wǎng)絡(luò) DVDD連接到插針 1第 2腳的輸出,將插針 1的第 2腳(插針 1下面兩腳)接跳線帽, DVDD直接連接到電源適配器輸入端,即為 5V電源適配器供電模式。 ADuC848 內(nèi)部有 16 位 ADC,模擬信號(hào)輸入模塊原理圖如圖 所示。 圖 模擬信號(hào)輸入模塊 D15和 D16為鉗位保護(hù)二極管, R55為限流保護(hù)電阻。其中 CONAIN1對(duì)應(yīng)板上的接口 CONAIN2對(duì)應(yīng)板上的接口 6。 CONAIN1和 CONAIN2的第 2腳在板上的分布和在原理圖上的類似,均為 1腳朝上。 模擬信號(hào)有兩種輸入方式: ( 1)兩路單端輸入。把輸入信號(hào)電壓高的一端接到第 1腳,電壓低的一端接到同一個(gè)接口的第 2腳。 ( 2)一路差分輸入。把輸入信號(hào)的兩端分別接到 CONAIN1和 CONAIN2的第 1腳。 顯示模塊 采用 LCD1602, 顯示信號(hào)連接圖如圖 所示。 圖 LCD信號(hào)連接 關(guān)鍵網(wǎng)絡(luò)名和引腳名解釋: ( 1) DISCTRL0~ 4:顯示控制信號(hào)。 ( 2) D0~ D DB0~ DB7:數(shù)據(jù)總線。 ( 3) E: LCD使能信號(hào)。 ( 4) RS:數(shù)據(jù)、指令選擇信號(hào)。 ( 5) RW:讀、寫選擇信號(hào)。 ( 6) CS CS2: LCD12864由兩部分組成, CS1和 CS2為選擇信號(hào)。 板上接口 4的上排位 LCD12864的接口,下排位 LCD1602的接口,排針和排母左對(duì)齊插入。切勿插錯(cuò)。 蜂鳴器和紅外發(fā)送 模塊 該模塊原理圖如圖 所示。 圖 蜂鳴器和紅外發(fā)送 本設(shè)計(jì)中采用無源電磁式蜂鳴器,蜂鳴器由 PWM1( )控制,紅外二極管由 PWM0( )控制。 PWM1和 PWM0均為片內(nèi) PWM模塊的輸出。蜂鳴器和紅外 LED的驅(qū)動(dòng)均采用普通 NPN三極管。為方便調(diào)試,對(duì)該模塊中的信號(hào)設(shè)了測(cè)試點(diǎn),具體位置參見附圖 1。 插針配置: ( 1)若要使用蜂鳴器,可以接通插針 3,為減少功耗,不用請(qǐng)斷開。 ( 2)若要使用紅外二極管,可以接通插針 4,為減少功耗,不用請(qǐng)斷開。 按鍵輸入 模塊 該模塊原理如圖 所示。 圖 按鍵模塊 由于 P1口(用于行掃描)內(nèi)部無上拉電阻,為使無鍵按下時(shí)行信號(hào)為高電平,故將行信號(hào)接上拉電阻,電阻大小 10K即可。 引腳復(fù)用: ~ 4X4矩陣式鍵盤列掃描信號(hào),又復(fù)用作步進(jìn)電機(jī)控制信號(hào), SPI信號(hào)、~ 7位位碼控制信號(hào)。參與復(fù)用的一項(xiàng)功能使用時(shí),其他參與復(fù)用的功能則不能使用。 插針配置: ( 1)插針 10上面兩腳接跳線帽, 4X4矩陣式鍵盤輸入,行掃描信號(hào)為 ~ ,列掃描信號(hào)為 ~ 。 ( 2)插針 10下面兩腳接跳線帽,獨(dú)立按鍵輸入,該模式有 4個(gè)獨(dú)立按鍵可用,按鍵掃描所用端口為 ~ 。這 4個(gè)按鍵為 4X4矩陣鍵盤的左邊 4個(gè)按鍵。 IIC 總線( RTC 時(shí)鐘和 EEPROM) 該模塊原理圖如圖 所示。 圖 IIC總線連接 AduC848 片內(nèi)有 I2C 模塊,并有獨(dú)立的引腳 SCLOCK 和 SDATA。板上的 RTC 時(shí)鐘芯片DS1307 和 EEPROM 芯片 AT24C08 均使用了 I2C 總線。板上設(shè)置了 I2C 接口,方便 MCU與板外的 I2C 設(shè)備進(jìn)行通信。對(duì) SCLOCK 和 SDATA 設(shè)置了測(cè)試點(diǎn)。 復(fù)位與下載 復(fù)位與下載電路如圖 所示。 圖 復(fù)位與下載 進(jìn)入下載或調(diào)試模式的步驟為: ( 1)按住 BTN1(down or debug按鍵 )不要放開; ( 2)按下 BTN2(reset 按鍵 ),然后放開 BTN2(reset 按鍵 ); ( 3)放開 BTN1(down or debug按鍵 )。 這樣單片機(jī)就進(jìn)入了調(diào)試模式,可以下載或調(diào)試程序。 (四)程序(含全部源程序及詳細(xì)注釋,所有功能的程序流程圖) 矩陣式鍵盤 矩陣鍵盤流程圖 開 始P 1 口 第 四 位 寫 0 、 列 信 號(hào) 置 0暫 存 行 信 號(hào) 的 值有 鍵 按 下 嗎 ?延 時(shí) 消 抖置 第 0 列 列 信 號(hào) 為 0確 實(shí) 有 鍵 按 下 嗎 ?置 第 1 列 列 信 號(hào) 為 0置 第 2 列 列 信 號(hào) 為 0置 第 3 列 列 信 號(hào) 為 0讀 行 信 號(hào) 的 值 并 譯 碼讀 行 信 號(hào) 的 值 并 譯 碼讀 行 信 號(hào) 的 值 并 譯 碼讀 行 信 號(hào) 的 值 并 譯 碼返 回YNNY 蜂鳴器驅(qū)動(dòng) 程序流程圖如下圖所示。 a、中斷子程序流程圖 關(guān) tim e r0中 斷 入 口蜂 鳴 器 輸 入 端 取 反給 tim e r0賦 初 值啟 動(dòng) tim e r0中 斷 返 回 1602 字符顯示 程序流程圖如圖所示。 開 始初 始 化 液 晶寫 要 顯 示 的 數(shù) 據(jù) 地 址寫 要 顯 示 的 數(shù) 據(jù)寫 要 顯 示 的 數(shù) 據(jù) 地 址寫 要 顯 示 的 數(shù) 據(jù) A/D 轉(zhuǎn)換 程序流程圖如圖所示。 開 始A D 寄 存 器 初 始 化 、 液 晶 初 始 化A D 轉(zhuǎn) 換 數(shù) 據(jù) 換 算 成 電 壓 值A(chǔ) D 轉(zhuǎn) 換 完 成 標(biāo) 志 為 1 ?向 液 晶 寫 顯 示 數(shù) 據(jù) 地 址向 液 晶 寫 顯 示 數(shù) 據(jù)A D 轉(zhuǎn) 換 完 成 標(biāo) 志 清 0YN 全部源程序(含注釋) 1)鍵盤模塊 include include include include include include idata uchar id。 //跳出顯示時(shí)間界面的標(biāo)志量, id=0,跳出;否則,繼續(xù)顯示。 idata uchar kcount=0。 //按鍵次數(shù)量,亦即光標(biāo)顯示位置的標(biāo)志量 idata uchar kcount1。 //當(dāng)與 kcount 相等時(shí),說明沒按下光標(biāo)移動(dòng)鍵 uchar ad_flag=0。 //設(shè)置上下限值的標(biāo)志量,上限值對(duì)應(yīng) 1,下限值對(duì)應(yīng) 2 bit tflag=0。 //改動(dòng)時(shí)間標(biāo)志, tflag=1 時(shí)能改動(dòng)時(shí)間, tflag=0 時(shí)鎖存時(shí)間,禁止改動(dòng)。 uchar ad=0。 //AD 顯示物理量標(biāo)志號(hào),各 AD 物理量對(duì)應(yīng)不同標(biāo)志號(hào),如當(dāng)前電壓值為 1,最大值為 2,最小值為 3...... void delay() //延時(shí)函數(shù) { uchar i。 for(i = 0。i 100。i++)。 } //光標(biāo)移動(dòng) void move() { if(tflag) { if(ad_flag==0) //調(diào)節(jié)時(shí)間時(shí)光標(biāo)移動(dòng)情況 { //超過范圍則光標(biāo)復(fù)位 if(kcount16) { kcount=1。 } //遇到非數(shù)字符號(hào)調(diào)到下一位有效位 if(kcount==3||kcount==6||kcount==11||kcount==14) { kcount++。 } lcd_wc(0x0f)。//光標(biāo)顯示并閃爍 //光標(biāo)閃爍位置 if(kcount8) { lcd_wc(0xC0+kcount9)。 //當(dāng) kcount 大于 8 時(shí),光標(biāo)從第二行開始閃爍 } else { lcd_wc(0x80+kcount1)。 //當(dāng) kcount 小于 8 時(shí),光標(biāo)從第一行開始閃爍 } //當(dāng)不再按 鍵時(shí) ,光標(biāo)停留在原位上 kcount1=kcount。 delay()。 while(kcount==kcount1) { Keyscan()。 } } if(ad_flag==1||ad_flag==2) //調(diào)節(jié)電壓上、下限值時(shí)光標(biāo)移動(dòng)情況 { lcd_wc(0x0f)。//光標(biāo)顯示并閃爍 lcd_wc(0xC0)。 } } tflag=0。 } //lcd 屏幕顯示 void lcd_display(uchar key) { switch(key) { case 1: //當(dāng)前電壓值 Check_Busy()。 lcd_wc(lcd_clear)。 gettable1()。 id=0。 setbz_flag(0)。 while(ad) { Data_Process(ad)。 Keyscan()。 } break。 case 2: //最大電壓值 Check_Busy()。 lcd_wc(lcd_clear)。 gettable2()。 id=0。 setbz_flag(0)。 while(ad) { Data_Process(ad)。 Keyscan()。 } break。 case 3: //最小電壓值 Check_Busy()。 lcd_wc(lcd_clear)。 gettable3()。 id=0。 setbz_flag(0)。 while(ad) { Data_Process(ad)。 Keyscan()。 } break。 case 4: //電壓合格率 Check_Busy()。 lcd_wc(lcd_clear)。 gettable4()。 id=0。 setbz_flag(1)。 while(ad)
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1