|
基于AT89C51單片機,使用LM016L顯示屏
通過KEIL編寫輸入學號+拼音姓名,輸出HEX文件到
- #include<reg52.h>
- int init(); //聲明初始化函數
- int write_com(unsigned char);//聲明寫命令函數
- int write_date(unsigned char);//聲明寫數據函數
- int delay(unsigned char);//聲明延遲函數
- unsigned char x;
- sbit RS = P1^0;
- sbit RW = P1^1;
- sbit EN = P1^2;
- unsigned char code table[]="15829806!";
- unsigned char code table1[]="UANG DREG XEQNG";
- int main(void)//主函數
- {
- init();
- write_com(0x80);
- for(x=0;x<8;x++)
- {
- write_date(table[x]);
- delay(150);
- }
- write_com(0x80+0x40);
- for(x=0;x<17;x++)
- {
- write_date(table1[x]);
- delay(150);
- }
- while(1);
- return 0;
- }
- int init()//初始化函數體
- {
- EN = 0;
- write_com(0X38);//設置16*2顯示,5*7點陣,8位數據接口
- write_com(0X0C);//設置開顯示,不顯示光標
- write_com(0X06);//寫一個字符時,整屏右移
- write_com(0X01);//顯示清零
- return 0;
- }
- int write_com(unsigned char com)//寫命令的函數體
- {
- RS = 0;
- RW = 0;
- P0 = com;
- delay(5);
- EN = 1;
- delay(5);
- EN = 0;
- return 0;
- }
- int write_date(unsigned char date)//寫數據的函數體
- {
- RS = 1;
- RW = 0;
- P0 = date;
- delay(5);
- EN = 1;
- delay(5);
- EN = 0;
- return 0;
- }
- int delay(unsigned char xms)
- {
- unsigned char x,y;
- for(x=xms;x>0;x--)
- for(y=110;y>0;y--);
- return 0;
- }
復制代碼
單片機中運行即可
|
-
學號.png
(68.84 KB, 下載次數: 28)
下載附件
2018-11-27 17:00 上傳
工程圖
|