用MSP430G2553單片機控制Ht1621的程序及筆記_第1頁
用MSP430G2553單片機控制Ht1621的程序及筆記_第2頁
用MSP430G2553單片機控制Ht1621的程序及筆記_第3頁
用MSP430G2553單片機控制Ht1621的程序及筆記_第4頁
用MSP430G2553單片機控制Ht1621的程序及筆記_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、型號:HT1621BS725G01012液晶全部顯示時如下圖:6位數(shù)字、3個小數(shù)點和右方電源標(biāo)志全部點亮函數(shù):/*全部點亮*/ void HT1621_all_on(uchar num) uchar i; uchar addr=0; for(i=0;i<num;i+) Write_1621(addr,0xff); addr+=2; 屏幕數(shù)字筆畫對應(yīng)編碼:程序例子:#include "msp430g2553.h"#define uint unsigned int#define uchar unsigned char/*定義1621的端口*/#define DATA1 P

2、2OUT|=BIT0/1621DATA端口#define DATA0 P2OUT&=BIT0#define WR1 P2OUT|=BIT1/1621WR0端口#define WR0 P2OUT&=BIT1#define CS1 P2OUT|=BIT2/1621CS端口#define CS0 P2OUT&=BIT2/*定義HT1621的命令*/ #define ComMode 0x52 /4COM,1/3bias 1000 010 1001 0 #define RCosc 0x30 /內(nèi)部RC振蕩器(上電默認(rèn))1000 0011 0000 #define LCD_on 0

3、x06 /打開LCD 偏壓發(fā)生器1000 0000 0 11 0 #define LCD_off 0x04 /關(guān)閉LCD顯示 #define Sys_en 0x02 /系統(tǒng)振蕩器開 1000 0000 0010 #define CTRl_cmd 0x80 /寫控制命令 #define Data_cmd 0xa0 /寫數(shù)據(jù)命令 char dispnum6=0x00,0x00,0x00,0x00,0x00,0x00;/用來存放要顯示的數(shù)字const char num=0x7d,0x60,0x3e,0x7a,0x63,0x5b,0x5f,0x70,0x7f,0x7b; /*0,1,2,3,4,5,6

4、,7,8,9*/*延時子程序*/void delay_1us(void) /1us延時函數(shù) asm("nop");/N us延時函數(shù)void delaynus(uint n) uint i; for(i=0;i<n;i+) asm("nop");void delay_1ms(void) /1ms延時函數(shù) unsigned int i; for (i=0;i<1140;i+); void delay_nms(unsigned int n) /N ms延時函數(shù) unsigned int i=0; for (i=0;i<n;i+) delay

5、_1ms();/*發(fā)送數(shù)據(jù)*/void SendBit_1621(uchar sdata,uchar cnt) /data 的高cnt 位寫入HT1621,高位在前 uchar i; for(i=0;i<cnt;i+) WR0; delaynus(20); /8M必須加,4M可省略 if(sdata&0x80) DATA1; else DATA0; delaynus(20);/8M必須加,4M可省略 WR1; delaynus(20); /8M必須加,4M可省略 sdata<<=1; delaynus(20); /*送命令*/void SendCmd_1621(uch

6、ar command) CS0; SendBit_1621(0x80,4); /寫入標(biāo)志碼“100”和9 位command 命令,由于 SendBit_1621(command,8); /沒有使有到更改時鐘輸出等命令,為了編程方便 CS1; /直接將command 的最高位寫“0” /*發(fā)送數(shù)據(jù)和命令*參數(shù)說明:addr:要在第幾位顯示*/void Write_1621(uchar addr,uchar sdata) addr<<=2; CS0; SendBit_1621(0xa0,3); /寫入標(biāo)志碼“101” SendBit_1621(addr,6); /寫入addr 的高6位

7、,*6位顯示 SendBit_1621(sdata,8); /寫入data的8位 CS1; /*清除顯示*參數(shù)說明:num:要清除幾位*/void HT1621_all_off(uchar num) uchar i; uchar addr=0; for(i=0;i<num;i+) Write_1621(addr,0x00); addr+=2; /*全部點亮*參數(shù)說明:num:要點亮幾位*/ void HT1621_all_on(uchar num) uchar i; uchar addr=0; for(i=0;i<num;i+) Write_1621(addr,0xff); add

8、r+=2; /*全部點亮1621,顯示同樣的數(shù)字*參數(shù)說明:num:要顯示幾位*/ void HT1621_all_on_num(uchar num,uchar xx) uchar i; uchar addr=0; for(i=0;i<num;i+) Write_1621(addr,xx); addr+=2; /*(初始化1621)*/ void Init_1621(void) SendCmd_1621(Sys_en);/系統(tǒng)振蕩器開 SendCmd_1621(RCosc); /內(nèi)部RC振蕩器 SendCmd_1621(ComMode); /4COM,1/3bias 1000 010 1

9、001 0 SendCmd_1621(LCD_on);/打開LCD 偏壓發(fā)生器1000 0000 0 11 0/*初始化1621) */ void LCDoff(void) SendCmd_1621(LCD_off); /*Name: LCDon(初始化1621)*/ void LCDon(void) SendCmd_1621(LCD_on); void displayallnum(unsigned int n) /各位顯示所有數(shù)碼字符函數(shù) uchar i,j; uchar addr=0; for(i=0;i<n;i+) for(j=0;j<29;j+) Write_1621(ad

10、dr,numj); delay_nms(100) ; addr+=2; /測試第2位數(shù)碼各位筆畫,用于編寫num數(shù)組void displaybihua(void) Write_1621(2,0x01); delay_nms(350) ; Write_1621(2,0x02); delay_nms(350) ; Write_1621(2,0x04); delay_nms(350) ; Write_1621(2,0x08); delay_nms(350) ; Write_1621(2,0x10); delay_nms(350) ; Write_1621(2,0x20); delay_nms(350

11、) ; Write_1621(2,0x40); delay_nms(350) ; Write_1621(2,0x80); delay_nms(350) ; /逐位顯示各位8字+小數(shù)點void displayall8(void) uchar i; HT1621_all_off(6); for(i=0;i<6;i+) Write_1621(2*i,0xff); delay_nms(50) ; /顯示數(shù)組數(shù)據(jù)void displaydata(long int t,int p) uchar i; dispnum4=numt/10000; dispnum3=num(t/1000)%10; disp

12、num2=num(t/100)%10; dispnum1=num(t/10)%10; dispnum0=numt%10; /*switch(p) case 1: sbi(dispnum0, 4); break; case 2: sbi(dispnum1, 4); break; case 3: sbi(dispnum2, 4); break; default:break; */ for(i=0;i<5;i+) Write_1621(i*2,dispnumi); void main() WDTCTL = WDTPW + WDTHOLD; long int t=0; uchar i; P2DIR=0xff; Init_1621() ;/初始化 HT1621_all_on(6);/全部點亮 delay_

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論