單片機(jī)ATMega16-的1602液晶顯示兩行字母_第1頁(yè)
單片機(jī)ATMega16-的1602液晶顯示兩行字母_第2頁(yè)
單片機(jī)ATMega16-的1602液晶顯示兩行字母_第3頁(yè)
單片機(jī)ATMega16-的1602液晶顯示兩行字母_第4頁(yè)
單片機(jī)ATMega16-的1602液晶顯示兩行字母_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、精品文檔#include iom16v.h /ICC AVR環(huán)境下的 ATmega16庫(kù)函數(shù) 定義了所有的寄存器及其位的標(biāo)號(hào)#include macros.h#define LCM_RS_1 P0RTB|=(17) /RS為 1,定義為 PB 口的第 7 位#define LCM_RS_0 PORTB&=(17) /RS 為 0,定義為 PB 口的第 7 位#define LCM_RW_1 PORTB|=(16) RW為 1,定義為 PB 口的 6 位#define LCM_RW_0 PORTB&=(16) RW為 0,定義為 PB 口的 6 位#define LCM_E_1 PORTB|=(

2、15) E為 1,定義為 PB 口的第 5 位#define LCM_E_0 PORTB&=(15) /E 為 1,定義為 PB 口的第 5 位 const unsigned char LCM_Dis_String=hello hcit;const unsigned char LCM_Dis_WJ=welcome to txx;/* 函數(shù)功能:延時(shí)1us( 4M晶振,0.25微秒的指令執(zhí)行周期) 入口參數(shù):無(wú)函數(shù)說(shuō)明: 4*0.25=1( 微秒 )*/void Delay_1_us(void)NOP();NOP();NOP();NOP();/*函數(shù)功能:延時(shí)若干微秒入口參數(shù):*n_us*/vo

3、id Delay_n_us(unsigned int n_us)unsigned int cnt_i;for(cnt_i=0;cnt_in_us;cnt_i+)Delay_1_us();/*函數(shù)功能:延時(shí)1ms (4M晶振,0.25微秒的指令執(zhí)行周期)入口參數(shù):無(wú)函數(shù)說(shuō)明:(3 “nt_j+2) “nt_i=(3 X33+2) “0*0.25=1010(微秒),可以近似認(rèn)為是1毫秒 */void Delay_1_ms(void)unsigned char cnt_i,cnt_j;for(cnt_i=0;cnt_i40;cnt_i+)for(cnt_j=0;cnt_j33;cnt_j+)/*函數(shù)

4、功能:延時(shí)若干毫秒入口參數(shù): n_ms*/void Delay_n_ms(unsigned int n_ms)unsigned int cnt_i;for(cnt_i=0;cnt_i=0x80);/LCM_Dat 為輸出DDRA=0xFF;/ 選擇命令通道LCM_RS_0;/ 選擇寫(xiě)操作LCM_RW_0;/ 使能線置 1LCM_E_1;/ 設(shè)置命令數(shù)據(jù)PORTA=cmd_dat;/ 等待信號(hào)線穩(wěn)定Delay_n_us(1);/ 送命令數(shù)據(jù)LCM_E_0;/*函數(shù)功能:寫(xiě)入數(shù)據(jù)入口參數(shù):數(shù)據(jù)代碼*/void LCM_Wr_DAT(unsigned char dis_dat)/ 判忙 while(

5、LCM_Re_BAC()=0x80);/LCM_Dat 為輸出DDRA=0xFF;/ 選擇數(shù)據(jù)通道LCM_RS_1;/ 選擇寫(xiě)操作LCM_RW_0;/ 使能線置 1LCM_E_1;/ 設(shè)置數(shù)據(jù)數(shù)據(jù)PORTA=dis_dat;/ 等待信號(hào)線穩(wěn)定Delay_n_us(1);/ 送數(shù)據(jù)數(shù)據(jù)LCM_E_0;Delay_n_us(40);/*函數(shù)功能:初始化入口參數(shù):無(wú)*/void LCM_1602_Init(void)LCM_Wr_CMD(0x38);/顯示模式設(shè)置:16汽顯示,5 X7點(diǎn)陣,8位數(shù)據(jù)接口Delay_n_ms(5); /延時(shí)5msLCM_Wr_CMD(0x38);Delay_n_ms(

6、5);LCM_Wr_CMD(0x38);Delay_n_ms(5);LCM_Wr_CMD(0x0f);/顯示模式設(shè)置:顯示開(kāi),無(wú)光標(biāo),光標(biāo)無(wú)閃爍Delay_n_ms(5);LCM_Wr_CMD(0x06);/顯示模式設(shè)置:光標(biāo)右移,字符不移Delay_n_ms(5);LCM_Wr_CMD(0x01);/清屏幕指令,將以前的顯示內(nèi)容清除Delay_n_ms(5);unsigned char Get_Key_Val()unsigned char Key_Val;Key_Val=PINC; switch(Key_Val)case 0xfe:Key_Val=1;break;case 0xfd:Key_

7、Val=2;break;case 0xfb:Key_Val=3;break; default:Key_Val=0;break;while(PINC=0xFF); return Key_Val;void main(void)unsigned char cnt_temp,Key_Val;DDRB=0xFF;DDRA=0xFF;DDRC=0x00; PORTC=0xFF;while(1)LCM_1602_Init();Key_Val=Get_Key_Val(); switch(Key_Val)case 1: cnt_temp=0;LCM_Wr_CMD(0x80); while(LCM_Dis_Str

8、ingcnt_temp!=0) LCM_Wr_DAT(LCM_Dis_Stringcnt_temp+); Delay_n_ms(100); break;case 2: cnt_temp=0; LCM_Wr_CMD(0xC0); while(LCM_Dis_WJcnt_temp!=0)LCM_Wr_DAT(LCM_Dis_WJcnt_temp+);Delay_n_ms(100);break;case 3:cnt_temp=0;LCM_Wr_CMD(0x80);while(LCM_Dis_Stringcnt_temp!=0)LCM_Wr_DAT(LCM_Dis_Stringcnt_temp+);Delay_n_ms(100);cnt_temp=0;L

溫馨提示

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

評(píng)論

0/150

提交評(píng)論