找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 8098|回復(fù): 2
收起左側(cè)

msp430電子時(shí)鐘鬧鐘LCD顯示程序

[復(fù)制鏈接]
ID:234629 發(fā)表于 2017-9-21 13:37 | 顯示全部樓層 |閱讀模式
電子時(shí)鐘lcd顯示
0.png

msp430單片機(jī)源程序:
  1. /*警告:由于G2 LaunchPad上的LED2使用了P1.6(I2C引腳),所以所有涉及到I2C的實(shí)驗(yàn)都必須把P1.6跳線拔除,包含本例程!
  2. * main.c
  3. */
  4. #include"MSP430G2553.h"
  5. #include"TCA6416A.h"
  6. #include"HT1621.h"
  7. #include"LCD_128.h"
  8. #include"key.h"
  9. #include"clock.h"
  10. #include "DAC8411.h"

  11. #define myMCLK                        16000000
  12. /*************************************************************
  13.    
  14.    I2C_IO10所連的KEY1按鍵 用于設(shè)置
  15.    I2C_IO10所連的KEY2按鍵 用于加
  16.    I2C_IO10所連的KEY3按鍵 用于減
  17.    由于G2 LaunchPad上的LED2使用了P1.6(I2C引腳),所以所有涉及到I2C的實(shí)驗(yàn)都必須把P1.6跳線拔除,
  18. **************************************************************/   
  19.    
  20. void LCD_Display_Pass();               
  21. void main()
  22. {
  23.         unsigned int i;
  24.         WDTCTL = WDTPW + WDTHOLD;        //關(guān)閉看門(mén)狗
  25.         P1DIR = 0;                      //設(shè)輸入位
  26.         P2DIR = 0;
  27.         
  28.         BCSCTL1 = CALBC1_16MHZ;      //設(shè)置系統(tǒng)時(shí)鐘DCO頻率16MHz
  29.         DCOCTL = CALDCO_16MHZ;
  30.         TCA6416A_Init();             //I2C IO擴(kuò)展器初始化
  31.               
  32.         // 初始化IO擴(kuò)展口
  33.             PinOUT(0,1);           // 指定0號(hào)管腳輸出為1
  34.             PinOUT(1,0);           // 指定1號(hào)管腳輸出為0
  35.             PinOUT(2,1);           // 指定2號(hào)管腳輸出為1
  36.             PinOUT(3,0);           // 指定3號(hào)管腳輸出為0
  37.             PinOUT(4,1);           // 指定4號(hào)管腳輸出為1
  38.             PinOUT(5,0);           // 指定5號(hào)管腳輸出為0
  39.             PinOUT(6,1);           // 指定6號(hào)管腳輸出為1
  40.             PinOUT(7,0);           // 指定7號(hào)管腳輸出為0
  41.         DAC8411_Init();                 //初始化數(shù)模轉(zhuǎn)換器
  42.             HT1621_init();                        // 初始化lcd_128
  43.         LCD_Display_Pass();             //液晶調(diào)試一下用?词欠耧@示正常PASS
  44.         TimerAInit();                   //初始化定時(shí)器
  45.         while(1)
  46.         {
  47.           PinIN();                      //輸入檢測(cè)函數(shù),讀按鍵值
  48.           I2C_IODect();                 //事件檢測(cè)函數(shù),檢查按鍵是否按下并進(jìn)入相應(yīng)設(shè)置
  49.           TimeShow();                   //顯示時(shí)間
  50.           if(On_the_Hour_Flag==1)       //整點(diǎn)報(bào)警
  51.           {
  52.             On_the_Hour_Flag=0;         //清零
  53.             for(i=0;i<1000;i++)
  54.             {
  55.             write2DAC8411(50000);        //數(shù)模轉(zhuǎn)換
  56.             __delay_cycles(8000);       //延時(shí)循環(huán)
  57.             write2DAC8411(0);
  58.             __delay_cycles(8000);
  59.             }
  60.           }
  61.              if(Alarm_Flag==1)   //鬧鐘報(bào)警
  62.           {
  63.             Alarm_Flag=0;        //清零
  64.         for(i=0;i<10000;i++)     //1K頻率響10S
  65.             {
  66.             write2DAC8411(50000);   //50000與0相差大,頻率高
  67.             __delay_cycles(8000);
  68.             write2DAC8411(0);
  69.             __delay_cycles(8000);
  70.             }
  71.           }
  72.         }
  73. }

  74. /******************************************************************************************************
  75. * 名    稱:LCD_Display_Pass()
  76. * 功    能:顯示PASS字母的函數(shù)
  77. * 入口參數(shù):無(wú)
  78. * 出口參數(shù):無(wú)
  79. * 說(shuō)    明:使用先顯示數(shù)字,后刪除特定段的方法實(shí)現(xiàn)字母顯示
  80. * 范    例:無(wú)
  81. ******************************************************************************************************/
  82. void LCD_Display_Pass()
  83. {
  84.         LCD_DisplayNum(8855);
  85.         LCD_ClearSeg(_LCD_3C);
  86.         LCD_ClearSeg(_LCD_3D);
  87.         LCD_ClearSeg(_LCD_4D);
  88.         //----顯示logo----
  89.         LCD_DisplaySeg(_LCD_TI_logo);
  90.         LCD_DisplaySeg(_LCD_QDU_logo);
  91.         HT1621_Reflash(LCD_Buffer);
  92. }



復(fù)制代碼

所有資料51hei提供下載:
程序最終版--電容.zip (639.59 KB, 下載次數(shù): 103)


回復(fù)

使用道具 舉報(bào)

ID:258761 發(fā)表于 2017-12-7 18:59 | 顯示全部樓層
有電路圖嗎
回復(fù)

使用道具 舉報(bào)

ID:289377 發(fā)表于 2018-3-8 20:22 | 顯示全部樓層
請(qǐng)問(wèn)能把key那個(gè)頭文件和子函數(shù)發(fā)出來(lái)嘛
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表