微算機(二) -- ADC0804 measurement

Slides:



Advertisements
Similar presentations
美 丽的轴对称图形 教学内容 教学目标 教学重点、难点 教法、学法 教学过程 教材从具体到抽象,从感性到理性,从实 践到理论,再用实践检验理论,层次分明,循序 渐进的指导学生认识自然界和日常生活中具有轴 对称性质的事物,使学生进一步认识前面所学的 平面图形的本质特征。 教 学 内 容教 学 内.
Advertisements

单片机 C 语言应用程序设计 主讲教师:廉哲 QQ: 电话: 办公室:综合楼 C318.
第一單元 建立java 程式.
5.1 中断的概述 5.2 MCS - 51中断系统 5.3 中断系统的应用
第一节 职业生活中的道德与法律 第二节 大学生择业与创业 第三节 树立正确的恋爱婚姻观 第六章 培育职业精神 树立家庭美德.
組長:5號-周辰瑜 組員:4號-王耀賢 10號-康叡維 11號-張佳文 27號-鍾昱卉
姓名:劉芷瑄 班級:J201 座號:39號 ISBN:957-33-1963-2
視 力 保 健 明 光 眼 科 視力保健教室.
興華之寶.
私立天主教輔仁大學.哲學系 西洋美學 Western Aesthetics 鍾隆琛 編授.
行政作用法 行政命令.
國立台中高農 家政概論 第2組-服飾與生活 指導老師:鮑敦佩 日期:2009/6/8 林慧婷 14 陳奕瑋 22 楊涵如 27 劉瑋渝 31
总 复 习 班 级:测控技术与仪器2011-1、2班 授 课:滕召胜.
五-4 台灣的生活禮俗 組員:603 15號 黃醴萬 6號 吳家熙 5號 楊証傑 11號 李偉新.
KEIL C单片机设计与项目实践 课程主讲: 孙福成 张小义   王晓静 杨至辉 课件制作: 亢娟娜 王 淏.
國立大甲高工 電機科 單晶片微電腦控制實習 輸出埠基礎實習 霹靂燈 2018年11月7日 8051 單晶片實習---E0902霹靂燈.
液晶显示 技术 wateryear.
使用VHDL設計—4位元加法器 通訊一甲 B 楊穎穆.
SWITCH&7-SEG元件控制 嵌入式作業系統實作 11/17.
使用VHDL設計—4位元位移器 通訊一甲 B 楊穎穆.
嵌入式系統進階 日期 : 2018/12/4.
微算機(二) 's UART mode0 input
第七章 定时/计数器.
電子學實驗(二) --MOS_CG放大電路
電子學實驗(二) --MOS_CD放大電路
班 級: 通訊二甲 學 號: B 學 生: 楊 穎 穆 老 師: 王 志 湖
班 級: 通訊二甲 學 號: B 學 生: 楊 穎 穆 老 師: 王 志 湖
暴力、草莽、土野、情色、權慾 —華西街的成人童話
遙控車程式 學號:B 姓名:楊 穎 穆 老師:田 慶 誠.
電子音樂 通訊系 B 楊穎穆.
第一單元 建立java 程式.
類比轉數位 IC研究 組員:施怡儒 S 柯曄新 S 張久藝 S
    使用Arduino量測直流(DC)電壓    林品成 月.
4-15 WDT HT66F50.
刑事訴訟法 不受理.
通訊實驗 實驗三 遙控車程式流程圖 姓名:顏得洋 學號:B
使用VHDL設計 七段顯示器 通訊工程系 一年甲班 姓名 : 蘇建宇 學號 : B
5-13 串列通訊實習.
語法:結構 實作:Analog in (VR、光敏+七段顯示電壓) 簡報:廖崇義
班 級: 通訊二甲 學 號: B 學 生: 楊 穎 穆 老 師: 王 志 湖
程式設計期末測驗 通訊一甲 B 楊穎穆.
期末考.
基本IO.
共源極頻率響應 科系:通訊工程學系 執導老師:王志湖 學號:B 姓名:何信賢.
班 級: 通訊二甲 學 號: B 學 生: 楊 穎 穆 老 師: 王 志 湖
4.19 Fsys _ SLOW MODE HT66F70A.
班級:通訊一甲 學號:B 學生:李忠憲 指導老師:王志湖 老師
程式期末競試--電子時鐘 通訊一甲 B 楊穎穆.
首届全国高校数学微课程教学设计竞赛 济南大学 吕洪波.
4-16 SLEEP0 HT66F70A.
单片机原理及应用 实践部分 主讲人:刘 强 四川工商学院单片机教学团队 单片机原理及应用 实践部分 主讲人:刘 强
自停式向下計數器 通訊一甲 B 楊穎穆.
電子學實驗(三) --非反相運算放大器電路
微算機(二) 's UART mode1 communication
電子學實驗—共集極放大電路 通訊二甲 B 楊穎穆.
使用VHDL設計-8x3編碼電路 通訊一甲 B 楊穎穆.
遙控車程式流程圖規劃 學號:B 姓名:楊 穎 穆 老師:田 慶 誠.
可變式計數器 通訊一甲 B 楊穎穆.
積分電路 科系:通訊工程學系 執導老師:王志湖 學號:B 姓名:何信賢.
程式設計--Quick Sort 通訊一甲 B 楊穎穆.
单片机应用技术 (C语言版) 第4章 C51程序设计入门
期末報告第一題 通訊四甲 B 湯智瑋.
查表法&電腦IO Port二進制轉七段顯示器
通訊實驗 實驗三 遙控車程式流程圖 姓名:顏得洋 學號:B
LED Pili LED 中州技術學院 電子系 副教授 余文俊.
臺中市龍山國小 校園常見瓢蟲辨識   瓢蟲屬於鞘翅目瓢蟲科。目前世界上約有5000多種瓢蟲,台灣地區約有80種以上,其中能捕食有害生物的瓢蟲約七十種之多。瓢蟲因為捕食有害生物為主食,所以又稱為『活農藥』。
基本資料型態 變數與常數 運算子 基本的資料處理 授課:ANT 日期:2014/03/03.
使用VHDL設計-七段顯示 通訊一甲 B 楊穎穆.
班 級: 通訊三甲 學 號: B 學 生: 楊 穎 穆 老 師: 田 慶 誠
微 處 理 機 專 題 – 8051 C語言程式設計 主題:階乘計算
Presentation transcript:

微算機(二) -- ADC0804 measurement 班 級: 通訊二甲 學 號: B09622048 學 生: 楊 穎 穆 老 師: 王 志 湖

大綱 目的 原理 流程圖 程式 實驗結果

目的 Using ADC0804 measure an unknow voltage of power supply. 

串列原理(中斷致能控制暫存器) => 0x83 IE 1 0 0 0 0 0 1 1 EA:中斷由各中斷位元設定 ET2 ES ET1 EX1 ET0 EX0 1 0 0 0 0 0 1 1 EA:中斷由各中斷位元設定 ET0:致能Timer0中斷 EX0:致能外部INTR0中斷

ADC0804 CS: CS=0 晶片可工作,CS=1 不工作 RD: RD=0 讀取Data,RD=1 不讀取 WR: WR=0 寫入Data,WR=1 不寫入 INTR: 類比(數位)訊號轉換, INTR=0 告知Cpu已完成轉換 DB(Data Bus): DB1~DB7 資料匯流排 A GND: 類比接地 D GND: 數位接地 Vi(+)(-): 差動輸入

電路圖 8051 P1 P2 P0 ● ADC0804

流程圖(一)_主程式&中斷副程式 主程式 中斷副程式 計時計數中斷 IE=0x83 開始讀取ADC 轉換完成資料 ADC開始 進行轉換 呼叫修正副程式 呼叫顯示副程式 返回主程式 結束

流程圖(二)_ 轉換修正副程式&顯示副程式 P1=0xFF; value=P0 P2=bcd2seg[t[i]]; A=value*1.960784314 P1=~scan; scan=scan<<1; t[0]=A/100 t[2]=(A%100)/10 t[3]=((A%100)%10); i++; No i==4; 返回主程式 Yes i=0;scan=0x01; 返回主程式

程式(一) #include"reg51.h" sfr P4 = 0xD8; //判斷是否進入燒錄模式 sbit P4_3 =P4^3; //判斷是否進入燒錄模式 unsigned char code bcd2seg[ ]={0x81,0xCF,0x92,0x86,0xCC,0xA4,0xA0,0x8F,0x80, 0x84,0x7f}; //宣告七段顯示陣列0~9 unsigned char t[4]={0,10,0,0}; //宣告陣列t[4] unsigned char value; //宣告變數value void change(void); //宣告change副程式 void show(void); //宣告show副程式 int scan=0x01,i=0,j; //宣告變數 scan=1,i,j sbit P3_5=P3^5; //宣告P3_5腳位為CS sbit P3_6=P3^6; //宣告P3_6腳位為WR sbit P3_7=P3^7; //宣告P3_7腳位為RD

程式(二)_主程式 int main(void){ void (*isp) (void) = 0xf800; //判斷是否進入燒錄模式 if(P4_3==0) (*isp) (); //判斷是否進入燒錄模式 IE=0x83; //允許計時計數中斷 while(1){ P3_5=1; //CS=1 P3_6=1; //WR=1 P3_5=0; //CS=0 P3_6=0; //WR=0 for(j=0;j<=6000;j++){ show(); //呼叫顯示副程式show }

程式(三)_中斷副程式 void Timer_int(void)interrupt 0 { //中斷副程式 EA=0; P3_5=1; //CS=1 P3_7=1; //RD=1 P3_5=0; //CS=0 P3_7=0; //RD=0 change(); //呼叫副程式change EA=1; }

程式(四)_ 轉換修正副程式 void change(void){ int A; //宣告變數A value=P0; //將P0值存至value A=value*1.960784314; t[0]=A/100; //A除100放到個位數t[0] t[2]=(A%100)/10; //A取除100餘數在除10放到小數第一位t[2] t[3]=((A%100)%10); //A取除100餘數在除10的餘數放到小數第二位t[3] }

程式(五)_顯示副程式 void show(void){ //副程式 show開始執行 P1=0xFF; //P1遮沒 P2=bcd2seg[t[i]]; //顯示七段顯示 P1=~scan; //由第一個七段開始顯示 scan=scan<<1; //向左位移一位 i++; // i值加1 if(i==4){ //判別 i是否已經為 4,"是"i會為0,scan=1 i=0; scan=0x01; }

實驗結果

參考資料 上課筆記 ADC0804 Datasheet 8051相關書籍

END