帶ADC、PWM和比較器的單片機-EM78P458
發(fā)布時間:2008/5/27 0:00:00 訪問次數:964
em78p458是臺灣義隆公司最新推出的一款高性能otp單片機,除了具有其它em78系列單片機的特點外,還增加了8路8位a/d轉換器,2路脈寬調制器(pwm)和一個比較器,可以廣泛應用在智能儀表、自動控制、家用電器等領域。下面主要介紹該單片機的特點以及a/d轉換器、脈寬調制器和比較器的結構與用法。
1. em78p458主要特點
em78p458具有如下特點:
● 8路8位a/d轉換器,其中2路可選擇5級放大增益;
●2路脈寬調制輸出,10位分辨率,可用作d/a轉換器;
●1 個比較器,可產生中斷,外接反饋電阻可構成運放;
●8級硬件堆棧,方便程序調用;
●6個中斷源: 定時/計數器溢出中斷; i/o口輸入電平變化中斷(從sleep方式喚醒時); 外部中斷; a/d轉換完成中斷; 比較器中斷(結果為高);pwm中斷;
● 4096×13bit片內rom,96×8bit ram;
●工作電壓:2.2~6.0v,工作頻率:dc~16mhz;
● 功耗低:5v/4mhz 1.5ma;3v/32khz 15 μa;sleep 1μa;
● 8 個i/o口輸入電平變化產生中斷喚醒sleep;
●i/o口可編程為上拉、下拉和集電極開路;
●16個雙向i/o口,20引腳;
●速度快:99%為單指令周期,每條指令周期為2個時鐘周期;
●電源上電檢測器,檢測電壓為2.0±0.15v;
●8位定時/計數器,可8位預分頻;
●片內看門狗計數器,可8位預分頻;
●57條精簡指令,易學易用。
2. 引腳介紹
em78p458的引腳排列如圖1所示,功能如下:
osci、osco:分別為振蕩輸入、輸出端,可外接標準晶振、陶瓷振蕩或rc振蕩;
p50~p57:雙向i/o口,p50可以編程為外部中斷輸入,p51、p52可編程為pwm1 和 pwm2,p53可以作為a/d轉換器的參考電壓端,p54兼作外部計數脈沖輸入(tcc),p55、p56 和p57分別作為比較器的負輸入、正輸入和輸出;
p60~p67:雙向i/o口,可作為8路模擬信號輸入。
3. a/d轉換器與a/d轉換
em78p458的a/d轉換器包括一個8位模擬開關,3個控制寄存器(adconr9,ad-cmp-con/uica0,gcon/ioc90),一個a/d結果寄存器(addata/ra)。a/d轉換器的原理框圖如圖2所示。
em78p458的a/d轉換采用逐次逼近式,轉換結果保存在addata,模擬信號的輸入通道通過adcon的位0,1和2來選擇。
3.1 a/d轉換器i/o口設置與控制寄存器
gcon寄存器各位如下 :
7
6
5
4
3
2
1
0
op2e
op1e
g42
g41
g40
g12
g11
g10
op2e:使能運放op2,并把輸入接到p64。當為0時關閉運放;為1時使能運放。
op1e:使能運放op1,并把輸入接到p60。當為0時關閉運放;為1時使能運放。
g42~g40:選擇op2增益; 000~101 分別對應增益為1~32;
g12~g10:選擇op1增益; 000~101 分別對應增益為1~32。
3.2 a/d轉換控制寄存器adcon/r9
adcon/r9寄存器各位如下 :
bit
7
6
5
4
3
2
1
0
symbol
-
-
iocs
adrun
adpd
adis2
adis1
adis0
初始值
0
0
0
0
0
0
0
0
adrun:a/d轉換開始位;當為1時,a/d轉換開始,由軟件置位;為0時,a/d轉換結束,硬件自動清零。
adpd:在睡眠方式進行a/d轉換;當為1時,a/d轉換正在進行;為0時,關閉參考電阻進入睡眠方式。
adis2~adis0:a/d轉換通道選擇,000~111分別對應an1~an8,只有在adpd和 adrun為0時才可以改變通道。
3.3 定義p6口為模擬輸入或數字i/o口寄存器
em78p458是臺灣義隆公司最新推出的一款高性能otp單片機,除了具有其它em78系列單片機的特點外,還增加了8路8位a/d轉換器,2路脈寬調制器(pwm)和一個比較器,可以廣泛應用在智能儀表、自動控制、家用電器等領域。下面主要介紹該單片機的特點以及a/d轉換器、脈寬調制器和比較器的結構與用法。
1. em78p458主要特點
em78p458具有如下特點:
● 8路8位a/d轉換器,其中2路可選擇5級放大增益;
●2路脈寬調制輸出,10位分辨率,可用作d/a轉換器;
●1 個比較器,可產生中斷,外接反饋電阻可構成運放;
●8級硬件堆棧,方便程序調用;
●6個中斷源: 定時/計數器溢出中斷; i/o口輸入電平變化中斷(從sleep方式喚醒時); 外部中斷; a/d轉換完成中斷; 比較器中斷(結果為高);pwm中斷;
● 4096×13bit片內rom,96×8bit ram;
●工作電壓:2.2~6.0v,工作頻率:dc~16mhz;
● 功耗低:5v/4mhz 1.5ma;3v/32khz 15 μa;sleep 1μa;
● 8 個i/o口輸入電平變化產生中斷喚醒sleep;
●i/o口可編程為上拉、下拉和集電極開路;
●16個雙向i/o口,20引腳;
●速度快:99%為單指令周期,每條指令周期為2個時鐘周期;
●電源上電檢測器,檢測電壓為2.0±0.15v;
●8位定時/計數器,可8位預分頻;
●片內看門狗計數器,可8位預分頻;
●57條精簡指令,易學易用。
2. 引腳介紹
em78p458的引腳排列如圖1所示,功能如下:
osci、osco:分別為振蕩輸入、輸出端,可外接標準晶振、陶瓷振蕩或rc振蕩;
p50~p57:雙向i/o口,p50可以編程為外部中斷輸入,p51、p52可編程為pwm1 和 pwm2,p53可以作為a/d轉換器的參考電壓端,p54兼作外部計數脈沖輸入(tcc),p55、p56 和p57分別作為比較器的負輸入、正輸入和輸出;
p60~p67:雙向i/o口,可作為8路模擬信號輸入。
3. a/d轉換器與a/d轉換
em78p458的a/d轉換器包括一個8位模擬開關,3個控制寄存器(adconr9,ad-cmp-con/uica0,gcon/ioc90),一個a/d結果寄存器(addata/ra)。a/d轉換器的原理框圖如圖2所示。
em78p458的a/d轉換采用逐次逼近式,轉換結果保存在addata,模擬信號的輸入通道通過adcon的位0,1和2來選擇。
3.1 a/d轉換器i/o口設置與控制寄存器
gcon寄存器各位如下 :
7
6
5
4
3
2
1
0
op2e
op1e
g42
g41
g40
g12
g11
g10
op2e:使能運放op2,并把輸入接到p64。當為0時關閉運放;為1時使能運放。
op1e:使能運放op1,并把輸入接到p60。當為0時關閉運放;為1時使能運放。
g42~g40:選擇op2增益; 000~101 分別對應增益為1~32;
g12~g10:選擇op1增益; 000~101 分別對應增益為1~32。
3.2 a/d轉換控制寄存器adcon/r9
adcon/r9寄存器各位如下 :
bit
7
6
5
4
3
2
1
0
symbol
-
-
iocs
adrun
adpd
adis2
adis1
adis0
初始值
0
0
0
0
0
0
0
0
adrun:a/d轉換開始位;當為1時,a/d轉換開始,由軟件置位;為0時,a/d轉換結束,硬件自動清零。
adpd:在睡眠方式進行a/d轉換;當為1時,a/d轉換正在進行;為0時,關閉參考電阻進入睡眠方式。
adis2~adis0:a/d轉換通道選擇,000~111分別對應an1~an8,只有在adpd和 adrun為0時才可以改變通道。
3.3 定義p6口為模擬輸入或數字i/o口寄存器