单片机1602液晶显示
生活随笔
收集整理的這篇文章主要介紹了
单片机1602液晶显示
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
基于單片機STC12C5A60S2芯片的1602液晶顯示,跳線按照要求連接
附上主程序
#include "stc12c5a60s2.h" #include "intrins.h" #include "onewire.h"#define uchar unsigned char #define uint unsigned intuchar table[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; //數碼uint temp = 123;void display_C() {write_com(0x80); //命令先將指針定義到第一行第一個字處write_data('T');write_data('e');write_data('m');write_data('p');write_data(':');write_data('1' );write_data('2' );write_data('3' );write_data('4' );write_data('C'); }void display_L() {write_com(0xC0); //命令先將指針定義到第二行第一個字處write_data('d');write_data('i');write_data('s');write_data(':');write_data( table[temp/100] );write_data( table[temp/10%10] );write_data( table[temp%10%10] ); }void main() {LCD_init(); //初始化LCDwhile(1){display_C(); display_L(); } }在COM中的(0XC0),(0X80)負責液晶顯示的第一行和第二行
以下附上.C文件
#include "stc12c5a60s2.h" #include "intrins.h"#define uint unsigned int #define uchar unsigned charsbit lcden=P2^5; sbit lcdrw=P1^1; sbit lcdrs=P1^0;void delay(uint z) {uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--); }void write_com(uchar com) {lcdrw=0;lcdrs=0;P0=com;delay(5);lcden=1;delay(5);lcden=0; }void write_data(uchar date) {lcdrs=1; //選擇寫命令模式P0=date; //將要寫的命令字送到數據總線上delay(5); //稍做延時以待數據穩定lcden=1; //使能端給一個高脈沖,因為初始化函數中已將leden置為000delay(5); //稍作延時lcden=0; //將使能端置0已完成高脈沖 }void LCD_init() {lcden=0;write_com(0x38); //設置16*2顯示5*7點陣,8位數據接口write_com(0x0c); //設置開顯示,不顯示光標write_com(0x06); //寫一個字符后地址指針加11write_com(0x01); //顯示清0,數據指針清00}附上.H文件
#ifndef _LCD1602_H #define _LCD1602_H#define uint unsigned int #define uchar unsigned charvoid delay(uint z); void write_com(uchar com); void write_data(uchar date); void LCD_init();#endif上面做了一個基礎顯示,如需繼續寫入,只用把date數據往后復制添加即可
總結
以上是生活随笔為你收集整理的单片机1602液晶显示的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机原理学习(一)
- 下一篇: 值得一用,分享4款速度快好用的手机浏览器