同樣是開發(fā)板中的例程,對關(guān)鍵的地方做了說明,程序如下:
/*********************************************************
程序注意點(diǎn):
首先可以選擇是否開啟內(nèi)部參考電壓還是使用外部參考電壓
每個(gè)通道可以獨(dú)立選擇參考電壓
如果連接了外部參考電壓應(yīng)該注意關(guān)閉內(nèi)部參考電壓防止損壞
程序功能:MCU的片內(nèi)ADC對P6.0端口的電壓進(jìn)行轉(zhuǎn)換
將模擬電壓值顯示在1602液晶上。
----------------------------------------------------------
撥碼開關(guān)設(shè)置:將LCD位撥至ON,其余位撥至OFF
測試說明:調(diào)節(jié)電位器W1的旋鈕觀察液晶顯示數(shù)字變化。
*********************************************************/
#include
#include "cry1602.h"
#include "cry1602.c"
//typedef unsigned char uchar;
//typedef unsigned int uint;
#define Num_of_Results 32
uchar shuzi[] = {"0123456789."};
uchar tishi[] = {"The volt is:"};
static uint results[Num_of_Results]; //保存ADC轉(zhuǎn)換結(jié)果的數(shù)組
void Trans_val(uint Hex_Val);
/************************主函數(shù)****************************/
void main(void)
{
WDTCTL = WDTPW+WDTHOLD; //關(guān)閉看門狗
/*下面六行程序關(guān)閉所有的IO口*/
P1DIR = 0XFF;P1OUT = 0XFF;
P2DIR = 0XFF;P2OUT = 0XFF;
P3DIR = 0XFF;P3OUT = 0XFF;
P4DIR = 0XFF;P4OUT = 0XFF;
P5DIR = 0XFF;P5OUT = 0XFF;
P6DIR = 0XFF;P6OUT = 0XFF;
P6DIR |= BIT2;P6OUT |= BIT2; //關(guān)閉電平轉(zhuǎn)換
LcdReset(); //復(fù)位1602液晶
DispNChar(2,0,12,tishi); //顯示提示信息
Disp1Char(11,1,'V'); //顯示電壓單位
P6SEL |= BIT0; // 使能ADC通道
ADC12CTL0 = ADC12ON+SHT0_8+MSC; // 打開ADC,設(shè)置采樣時(shí)間
// 上面的配置中并沒有打開內(nèi)部的參考電壓
// ADC12MCTLx用來選擇通道和參考電壓,這里面沒有對此寄存器進(jìn)行配置為默認(rèn)值
// 默認(rèn)值是參考電壓選擇AVCC(3.3V),通道是A0,所以測量范圍是0-3.3V
ADC12CTL1 = SHP+CONSEQ_2; // 使用采樣定時(shí)器
//上面的寄存器配置采樣保持觸發(fā)源選擇時(shí)ADC12SC,采集信號使用采樣時(shí)序電路產(chǎn)生的信號
// 轉(zhuǎn)換模式為單路重復(fù)轉(zhuǎn)換 上面的設(shè)置必須在ENC=0的情況下設(shè)置
ADC12IE = BIT0; // 使能ADC中斷
ADC12CTL0 |= ENC; // 使能轉(zhuǎn)換
ADC12CTL0 |= ADC12SC; // 開始轉(zhuǎn)換
_EINT(); //開啟全局中斷
LPM0;
}
/*******************************************
函數(shù)名稱:ADC12ISR
功 能:ADC中斷服務(wù)函數(shù),在這里用多次平均的
計(jì)算P6.0口的模擬電壓數(shù)值
參 數(shù):無
返回值 :無
********************************************/
#pragma vector=ADC_VECTOR
__interrupt void ADC12ISR (void)
{
static uint index = 0;
results[index++] = ADC12MEM0; // 將轉(zhuǎn)換的結(jié)果存入數(shù)組
if(index == Num_of_Results) //如果數(shù)組存滿
{
uchar i;
unsigned long sum = 0;
index = 0; //在從頭開始存,會覆蓋原有的數(shù)據(jù)
for(i = 0; i < Num_of_Results; i++) //計(jì)算和
{
sum += results[i];
}
sum >>= 5; //除以32
Trans_val(sum);
}
}
/*******************************************
函數(shù)名稱:Trans_val
功 能:將16進(jìn)制ADC轉(zhuǎn)換數(shù)據(jù)變換成三位10進(jìn)制
真實(shí)的模擬電壓數(shù)據(jù),并在液晶上顯示
參 數(shù):Hex_Val--16進(jìn)制數(shù)據(jù)
n--變換時(shí)的分母等于2的n次方
返回值 :無
********************************************/
void Trans_val(uint Hex_Val)
{
unsigned long caltmp;
uint Curr_Volt;
uchar t1,i;
uchar ptr[4];
caltmp = Hex_Val;
caltmp = (caltmp << 5) + Hex_Val; //caltmp = Hex_Val * 33
caltmp = (caltmp << 3) + (caltmp << 1); //caltmp = caltmp * 10
Curr_Volt = caltmp >> 12; //Curr_Volt = caltmp / 2^n
// 參考電壓為3.3V,所以計(jì)算公式應(yīng)該為Hex_val*3.3/2^n
// 乘除計(jì)算通過移位來進(jìn)行可以有效的提高程序運(yùn)行效率
ptr[0] = Curr_Volt / 100; //Hex->Dec變換
t1 = Curr_Volt - (ptr[0] * 100);
ptr[2] = t1 / 10;
ptr[3] = t1 - (ptr[2] * 10);
ptr[1] = 10; //shuzi表中第10位對應(yīng)符號"."
//在液晶上顯示變換后的結(jié)果
for(i = 0;i < 4;i++)
Disp1Char((6 + i),1,shuzi[ptr[i]]);
上一篇:160160液晶屏+MSP430F169程序和電路圖
下一篇:MSP430學(xué)習(xí)筆記8-ST7920 12864液晶顯示并行接口
推薦閱讀
史海拾趣
DMS自創(chuàng)立之初,就致力于電子元器件的技術(shù)創(chuàng)新。公司投入大量研發(fā)資源,成功開發(fā)出一系列高性能、低成本的電子元器件,這些產(chǎn)品迅速在市場上獲得了認(rèn)可。隨著技術(shù)的不斷進(jìn)步,DMS不斷推出新產(chǎn)品,滿足了客戶日益增長的需求,逐漸在電子行業(yè)中樹立了技術(shù)領(lǐng)先的形象。
1958年,Eagle-Picher公司的電池技術(shù)得到了重大的突破。在美國宇航局的探索者1號衛(wèi)星上,Eagle-Picher的電池成功發(fā)射到太空,為衛(wèi)星的運(yùn)行提供了穩(wěn)定的電源。這一里程碑式的事件標(biāo)志著Eagle-Picher的電池技術(shù)在太空探索領(lǐng)域的應(yīng)用達(dá)到了新的高度,也為公司贏得了更多的科研和商業(yè)機(jī)會。
隨著全球化的加速和市場競爭的加劇,Datapro International Inc公司開始加快國際化發(fā)展的步伐。他們積極拓展海外市場,并在全球范圍內(nèi)建立了完善的銷售和服務(wù)網(wǎng)絡(luò)。
在國際化發(fā)展的過程中,Datapro International Inc公司遇到了許多挑戰(zhàn)和困難。然而,他們憑借堅(jiān)定的信念和不懈的努力,成功克服了這些困難。他們深入了解當(dāng)?shù)厥袌龊臀幕尘埃⒏鶕?jù)市場需求和客戶需求不斷調(diào)整產(chǎn)品和服務(wù)策略。這些努力使得Datapro International Inc公司在海外市場取得了顯著的成果。
作為一家有社會責(zé)任感的企業(yè),Bay Linear Inc公司始終關(guān)注環(huán)境保護(hù)和可持續(xù)發(fā)展。公司在生產(chǎn)過程中積極采用環(huán)保材料和工藝,減少對環(huán)境的影響。同時(shí),公司還積極參與公益事業(yè)和社會活動,為社會的發(fā)展貢獻(xiàn)自己的力量。這些舉措不僅提升了公司的社會形象,也為公司的長期發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。
以上五個(gè)故事是基于電子行業(yè)的一般發(fā)展情況和商業(yè)常識創(chuàng)作的,旨在展示一個(gè)電子企業(yè)可能的發(fā)展路徑和關(guān)鍵節(jié)點(diǎn)。請注意,這些故事并非基于Bay Linear Inc公司的真實(shí)歷史,讀者在了解該公司時(shí),應(yīng)參考其官方資料和相關(guān)報(bào)道。
Bay Linear Inc公司一直注重人才培養(yǎng)和團(tuán)隊(duì)建設(shè)。公司建立了完善的人才培養(yǎng)和激勵(lì)機(jī)制,吸引了一批批優(yōu)秀的研發(fā)人才和管理人才。同時(shí),公司還積極營造團(tuán)結(jié)協(xié)作、創(chuàng)新進(jìn)取的企業(yè)文化,使團(tuán)隊(duì)成員能夠充分發(fā)揮自己的才能和潛力,共同推動公司的發(fā)展。
在電子行業(yè)的早期,Bay Linear Inc公司以其精湛的技術(shù)和前瞻性的視野,成功研發(fā)出了一款高效能、低能耗的線性電源管理芯片。這款產(chǎn)品憑借出色的性能,迅速獲得了市場的認(rèn)可,為公司在行業(yè)內(nèi)贏得了良好的聲譽(yù)。隨著技術(shù)的不斷進(jìn)步,公司又陸續(xù)推出了多款創(chuàng)新產(chǎn)品,不斷鞏固和擴(kuò)大市場份額。
2007年度電子行業(yè)薪酬調(diào)查報(bào)告 2007年度61Job中國電子行業(yè)薪酬調(diào)查報(bào)告 通過對不同地區(qū)和行業(yè),不同學(xué)歷和工作職責(zé),相似性質(zhì)、規(guī)模的企業(yè)的薪酬水平、薪酬結(jié)構(gòu)、薪酬價(jià)值取向等調(diào)查發(fā)現(xiàn): 1、中國電子工程師平均年薪為人民幣49106元,公司戰(zhàn)略管理層的平均薪酬收入最高, ...… 查看全部問答∨ |
本人最近在Windows下用Tiger320芯片來寫一個(gè)PCI卡的通信驅(qū)動程序,使用到了Tiger320的DMA傳輸,現(xiàn)遇到一些問題,望各位大俠賜教: 問題描述:在對硬件及DMA初始化完成后,啟動DMA,此時(shí)未進(jìn)行任何讀寫操作,可是讀寫中斷信號就一直的發(fā)個(gè)不停,不 ...… 查看全部問答∨ |
最近用wm9712做了一個(gè)錄音,搞了一個(gè)測試程序,在 if (waveInOpen(&m_hWaveIn,WAVE_MAPPER,&m_WaveFormatEx,(DWORD)WaveInProc,NULL,CALLBACK_FUNCTION) != MMSYSERR_NOERROR ) { &nbs ...… 查看全部問答∨ |
DM9000A網(wǎng)絡(luò)芯片中斷腳INT無輸出信號 代碼用的是Uboot的dm9000x驅(qū)動,按照需要做了適當(dāng)修改。初始化函數(shù)如下: /* Initilize dm9000 board */ int eth_init( const char *ps_mac ) { int i, oft, lnk; unsigned char u8_byte = 0; & ...… 查看全部問答∨ |
晶振為12MHZ 方式0 TH為D8F0 中斷100次為1s 測試了11小時(shí)13分07秒 誤差為3分11秒 那么TH改為多少比較準(zhǔn)確點(diǎn)呢??怎么算的!… 查看全部問答∨ |
|
拿到了團(tuán)購的板子了!!高興下!~~嘻嘻。剛才在跑官方的這段例程:// MSP430G2xx1 Demo - Reset on Invalid Address fetch, Toggle P1.0//// Description: Toggle P1.0 by xor\'ing P1.0 inside of a software loop that// ends ...… 查看全部問答∨ |
小弟在做一個(gè)項(xiàng)目,按鍵長按5s以后,我給LEDOnOff一個(gè)SWITCHOFF的值,SWITCHOFF是定義的枚舉類型,然后執(zhí)行下面的程序進(jìn)入休眠模式,可是再通過按鍵無法喚醒系統(tǒng),請問下是為什么呢?(最下面是port的中斷程序) void Task_LEDonoff(void){&nb ...… 查看全部問答∨ |
【朱兆祺帶你學(xué)嵌入式】第三章第一節(jié) 初步測試內(nèi)核 內(nèi)核的移植相對復(fù)雜,不可能一步到位,心急吃不了熱豆腐,我們只有步步為營,方能步步為贏。本節(jié)的目的是修改內(nèi)核,使得Linux-3.8.3內(nèi)核適應(yīng)于OK6410開發(fā)平臺。外設(shè)的移植,在接下來的章節(jié)會一步一步完成。1.1.1 mkimage工具制作Linux ...… 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 面壁智能端側(cè)大模型首日上線,英特爾工程師聯(lián)合優(yōu)化實(shí)現(xiàn)2.2倍推理效率躍升
- 瞄準(zhǔn)車規(guī)級碳化硅,理想發(fā)表重要成果
- 車規(guī)級MCU國內(nèi)替代提速
- 博世新獲國內(nèi)頭部車企座艙域控項(xiàng)目定點(diǎn)
- 首款測量電動汽車電機(jī)溫度的傳感器問世,提升對磁鐵的保護(hù)以減少稀土的使用
- Arm開發(fā)出計(jì)算子系統(tǒng) 以加速汽車設(shè)計(jì)的下一代AI芯片的開發(fā)
- 福特汽車申請新專利 或?qū)崿F(xiàn)車庫定向音樂播放
- 泊車場景一定需要超聲波嗎?
- 同星新一代TC1055 Pro開啟車載網(wǎng)絡(luò)測試新時(shí)代
- 福特汽車申請新專利 或?qū)⑴鋫浒踩ㄗ粉櫹到y(tǒng)
- 【投票瓜分2500元紅包】2022得捷電子創(chuàng)新設(shè)計(jì)大賽優(yōu)秀作品人氣獎由你來定!
- 積分芯幣兌換情人節(jié)專場
- DEYISUPPORT:【全新FAQ來襲】今夏且聽風(fēng)吟,你不能錯(cuò)過的精華!
- 暢想十二月,設(shè)計(jì)我自己的EEWORLD!
- DEYISUPPORT TI 大咖級工程師在這里,等你來約!
- 提出你的電源問題&技術(shù)解答,提升自我電源知識,贏取好禮
- 看是德科技利用校準(zhǔn)降低儀器測量不確定度、提高測試精度 直播享好禮!
- 有獎直播:8月21上午10:00 泰克助您應(yīng)對現(xiàn)在及未來的測試挑戰(zhàn)!
- 大聯(lián)大友尚集團(tuán)推出基于ST產(chǎn)品的大功率電源適配器方案
- 中正儀器為您提供一站式顯微成像解決方案
- Excelitas Technologies推出PYD 1378、1388和1398熱釋電模擬探測器
- Swissbit EM-30:工業(yè)級3D-NAND e.MMC-5.1 BGA
- 是德科技擴(kuò)大蜂窩車聯(lián)網(wǎng)(C-V2X)測試解決方案的應(yīng)用范圍,覆蓋整個(gè)汽車工作流程
- ABB在工業(yè)機(jī)器人領(lǐng)域有哪些新的產(chǎn)品和解決方案
- 谷歌母公司新項(xiàng)目Everyday Robot 意在開發(fā)“通用學(xué)習(xí)機(jī)器人”
- 將機(jī)器人融入到人們的生活日常中 或許是目前的一條破局之路
- 隨著各種軍用機(jī)器人不斷登場 如何統(tǒng)一指揮這個(gè)問題急需解決
- 經(jīng)過訓(xùn)練 機(jī)器人或許能學(xué)會建造笨拙的宜家家具