?? main.c
字號(hào):
/************************************************************
程序功能:在液晶上用串行數(shù)據(jù)通信方式循環(huán)滾動(dòng)顯示漢字
-------------------------------------------------------------
測(cè)試說(shuō)明:觀察液晶顯示
*************************************************************/
#include <msp430x14x.h>
#include "BoardConfig.h"
#include "cryfucns.h"
const uchar h0[] = {"誠(chéng)實(shí)以啟人之信我"};
const uchar h1[] = {"樂善以使人之親我"};
const uchar h2[] = {"虛心以聽人之教我"};
const uchar h3[] = {"恭順以取人之敬我"};
const uchar h4[] = {"自檢以杜人之議我"};
const uchar h5[] = {"自反以杜人之罪我"};
const uchar h6[] = {"容忍以免人之欺我"};
const uchar h7[] = {"勤儉以補(bǔ)人之助我"};
const uchar h8[] = {"量力以濟(jì)人之求我"};
const uchar h9[] = {"盡心以報(bào)人之任我"};
const uchar *ptr[10];
uchar d1=0,d2=1,d3=2,d4=3;
uchar tcnt=0;
/************************主函數(shù)*************************/
void main(void)
{
WDTCTL = WDT_ADLY_1000; // 定時(shí)時(shí)間1S
IE1 |= WDTIE;
BoardConfig(0xba); // 關(guān)閉數(shù)碼管、流水燈、4245
//初始化指針數(shù)組
ptr[0] = h0;
ptr[1] = h1;
ptr[2] = h2;
ptr[3] = h3;
ptr[4] = h4;
ptr[5] = h5;
ptr[6] = h6;
ptr[7] = h7;
ptr[8] = h8;
ptr[9] = h9;
Ini_Lcd(); // 初始化液晶
_EINT();
LPM1;
}
/*******************************************
函數(shù)名稱:watchdog_timer
功 能:看門狗中斷服務(wù)函數(shù)
參 數(shù):無(wú)
返回值 :無(wú)
********************************************/
#pragma vector=WDT_VECTOR
__interrupt void watchdog_timer(void)
{
uchar tmp;
tcnt++;
if(tcnt == 0x02)
{
Disp_HZ(0x80,ptr[d1],8);
Disp_HZ(0x90,ptr[d2],8);
Disp_HZ(0x88,ptr[d3],8);
Disp_HZ(0x98,ptr[d4],8);
/*這段代碼與視頻教程中略有不同,修正了視頻教程中出現(xiàn)的某些行重復(fù)
顯示的錯(cuò)誤,現(xiàn)在這個(gè)程序就是完美無(wú)誤的了!這段代碼的工作原理與
視頻中所述是一致的,大家仍可按視頻中的講解來(lái)理解*/
tmp = d4;
d4++;
if(d4 == 10)
{
d4 = 0;
}
d1 = d2;
d2 = d3;
d3 = tmp;
tcnt = 0;
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -