/******************************************************************
**
** File : ADC.c | Analog to Digital converter |
** Version : 1.0
** Description : led 7 segment display Analog to Digital converter
** Author : LightWu
** Date : 2013-4-9
**
*******************************************************************/
#include "MSP430x24x.h"
#define uint unsigned int
#define uchar unsigned char
/***設置數碼管顯示****/
#define L1_OFF P4OUT|=BIT0 //關L1
#define L1_NO P4OUT&=~BIT0 //點亮L1
#define L2_OFF P4OUT|=BIT1 //關L2
#define L2_NO P4OUT&=~BIT1 //點亮L2
#define L3_OFF P4OUT|=BIT2 //關L3
#define L3_NO P4OUT&=~BIT2 //點亮L3
uchar const Segment1[]={0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f}; //不帶小數點編碼
uchar const Segment2[]={0x40, 0x79, 0x24, 0x30, 0x19, 0x12, 0x02, 0x78, 0x00, 0x10}; //帶小數點編碼
uchar AdcFlag = 0;
uchar TempNum1;
uchar TempNum2;
uchar TempNum3;
void Display( uchar num1, uchar num2, uchar num3 );
void Delay(void)
{
uint m;
for(m=1000;m>0;m--);
}
void main(void)
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD; //關狗
P4DIR = 0XFF; //P4設置為輸出,位碼控制
P4SEL = 0;
P5DIR = 0XFF; //P5設置為輸出,斷碼控制
P5SEL = 0;
P4OUT = 0XFF; //關閉數碼管,共陽極數碼管
ADC12CTL0 = SHT0_2 + ADC12ON; // Set sampling time, turn on ADC12
ADC12CTL1 = SHP; // Use sampling timer
ADC12IE = 0x01; // Enable interrupt
ADC12CTL0 |= ENC; // Conversion enabled
P6DIR &= ~0x01; // P6.0, i/p
P6SEL |= 0x01; // P6.0-ADC option select
ADC12CTL0 |= ADC12SC; // 軟件啟動轉換
_BIS_SR(GIE); //打開中斷,需要注意,不打開不進入中斷。
while(1)
{
if( 1 == AdcFlag )
{
AdcFlag = 0;
ADC12CTL0 |= ADC12SC; // Start convn, software controlledc,軟件啟動轉換
Display(TempNum1,TempNum2,TempNum3); //顯示轉換值
}
}
}
//中斷服務子程序
#pragma vector=ADC12_VECTOR
__interrupt void ADC12_ISR(void)
{
ADC12MEM0 = ADC12MEM0/16;
TempNum1 = ADC12MEM0/100; //百位
TempNum2 = ADC12MEM0/10%10; //十位
TempNum3 = ADC12MEM0%10; //個位
AdcFlag=1;
}
void Display( uchar num1, uchar num2, uchar num3 )
{
P5OUT = Segment1[ num1 ];//
L1_NO;
Delay();
L1_OFF;
P5OUT = Segment1[ num2 ];//
L2_NO;
Delay();
L2_OFF;
P5OUT = Segment1[ num3 ];//
L3_NO;
Delay();
L3_OFF;
//P4OUT = 0XF8; //關閉其余數碼管
}
上一篇:MSP430 G2553 單片機 串口 測試 調試
下一篇:MSP430F249_TimerA定時器
推薦閱讀
史海拾趣
面對數字化轉型的浪潮,ENTRELEC UK積極擁抱新技術,推動智能制造的發展。公司引入先進的自動化設備和信息化系統,提高生產效率和產品質量。同時,公司還加強了對大數據和人工智能技術的應用研究,以便更好地滿足客戶的需求并提供更優質的服務。這些努力使ENTRELEC UK在數字化轉型的浪潮中保持領先地位。
請注意,以上故事均為虛構,但基于ENTRELEC UK公司的一般信息和電子行業的普遍趨勢進行創作。如有需要,建議查閱相關新聞報道或公司官方資料以獲取更準確的信息。
在電子行業的早期,ENTRELEC UK以其創新的接觸器設計在市場中脫穎而出。隨著技術的進步,公司不斷研發新產品,如過載繼電器和電動機保護開關,這些產品迅速獲得了市場的認可。公司通過持續的研發投入,確保產品始終走在行業前沿,為客戶提供更安全、更可靠的解決方案。
隨著公司業務的不斷發展,芯邦開始積極布局UWB(超寬帶通信)產品線。UWB技術以其高速率、高精度和低功耗的特點,在智能家居、物聯網等領域展現出巨大的應用潛力。芯邦通過研發UWB等信息傳輸技術及產品,致力于從移動存儲及智能家電市場出發,以手機及移動智能設備、車規及汽車周邊產品應用、智能家居及物聯網領域為目標市場,打造多系列產品線格局,提升公司的市場競爭力。
在公司的成長過程中,光大芯業始終堅持以技術為核心,不斷尋求技術上的突破。他們積極與國內外知名科研院所開展技術合作,引進先進的技術和設備,提升自身的研發能力。其中,與浙江大學微電子研究所的合作,成功開發出了開關電源管理芯片SDC7500,這一成果不僅填補了國內市場的空白,也展示了光大芯業在技術創新方面的實力。
臺灣誠陽(BC)公司深知人才是企業發展的核心。因此,公司一直注重人才的引進和培養。公司建立了完善的人才培養和激勵機制,為員工提供了廣闊的職業發展空間。同時,公司還鼓勵員工參與各種培訓和交流活動,提升他們的專業技能和綜合素質。這種對人才的重視和投入,使得臺灣誠陽擁有一支高素質、專業化的團隊,為公司的持續發展提供了有力保障。
品質是億寶科技的生命線。公司始終堅持嚴格的質量管理體系,從原材料采購到生產流程,再到成品檢驗,每一個環節都嚴格把控。在一次客戶反饋中,億寶科技發現某批次產品存在細微的質量問題。公司立即啟動緊急預案,召回所有相關產品并進行全面檢查。經過一系列的改進措施,億寶科技成功解決了問題,并贏得了客戶的信任和好評。
標準Linux是針對有MMU的處理器設計的。在這種處理器上,虛擬地址被送到MMU,把虛擬地址映射為物理地址。通過賦予每個任務不同的虛擬-物理地址轉換映射,支持不同任務之間的保護。uClinux是針對控制領域的嵌入式linux操作系統,它從Linux 2.0/2.4內 ...… 查看全部問答∨ |
|
請教: 當單片機向 PC 串口發串數據 windows 系統怎么知道單片機 向它發了數據呢? 是有消息觸發, 還是 windows 每一定的時間去掃描串口? 謝謝!… 查看全部問答∨ |
Quartus 9.0 破解后依然出現以下問題 已經弄了一周了,急需解決! 這是用SOPC builder 生成 cpu過程的 信息提示 我試過很多license了 但仍然是這個問題 正常生成的話 Encrypted license 貌似是不用found 問題出在哪兒呢?請各位大俠看看啊!謝謝啦!!! # 2010.11.26 00:33:16 ...… 查看全部問答∨ |
http://www.tinyos.net/ Tinyos是一個傳感網絡操作系統,最近發展較快,采用nesC語言、支持多種編譯器。 http://freaklabs.org/index.php/FreakZ-Open-Source-Zigbee-Stack.html 也是一個不錯的zigbee協議棧,不過作者似乎忙于其他項目 ...… 查看全部問答∨ |
12.1 引言 27312.2 非阻塞I/O 27312.3 記錄鎖 27512.3.1 歷史 27612.3.2 fcntl記錄鎖 27612.3.3 鎖的隱含繼承和釋放 28012.3.4 &nbs ...… 查看全部問答∨ |