1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉
標題:
單片機LCD1602自建溫度標記圖形程序實驗 Proteus仿真加源程序
[打印本頁]
作者:
51黑電子happy
時間:
2017-3-30 01:23
標題:
單片機LCD1602自建溫度標記圖形程序實驗 Proteus仿真加源程序
單片機的仿真原理圖(proteus工程文件可到本帖附件下載):
0.png
(24.45 KB, 下載次數: 69)
下載附件
2017-3-30 01:21 上傳
單片機源程序:
//-----------------------------------------------------------------------------------
//程序名: LCD08-4.c
//程序功能:LCD自建溫度標記圖形程序
//-------------------------------------------------------------------------------------
#include <reg51.h>
sbit RS=P2^5; // 引腳定義
sbit RW=P2^6;
sbit EN=P2^7;
sbit busy=P0^7; // "忙"標志位
#define LCD P0 //命令或數據線
TEMP_BJ();
STORE_DATA();
//字符串表
unsigned char code str[]={" C "};
//代碼表
unsigned char code TAB[]={ 0x0c,0x12,0x12,0x0c,
0x00,0x00,0x00,0x00,
};
//------------------------------- 判斷液晶顯示器是否忙函數 ----------------------------
CHECK_BF() //判斷是否忙碌
{
do
{
LCD=0xff;
RS=0; // RS=0,選擇指令寄存器
RW=1; // RW=1,選擇讀模式
EN=0; // 執行顯示命令
EN=1; // 允許讀/寫
}
while(busy); //busy為高電平表示忙,循環等待
}
//-------------------------------------- 寫命令函數 -----------------------------------
WR_COMM() //寫命令
{
RS=0; // RS=0,選擇指令寄存器
RW=0; // RW=0,選擇寫模式
EN=0; // 執行顯示命令
CHECK_BF(); // 等待
EN=1; // E=1,允許讀/寫LCD
}
//-------------------------------------- 寫數據函數 -------------------------------------
WR_DATA() //寫數據
{
RS=1; // RS=1,選擇數據寄存器
RW=0; //準備寫入數據
EN=0; //執行顯示命令
CHECK_BF(); //判斷液晶模塊是否忙
EN=1; // E=1,允許讀/寫LCD
}
//--------------------------------------- 初始化函數 ----------------------------------
INIT_LCD() //初始化
{
unsigned char i=200;
{
while(--i);
LCD=0x01; //清屏并光標復位
WR_COMM(); //寫入命令
LCD=0x38; //設置顯示模式:8位2行5x7點陣
WR_COMM();
LCD=0x0c; //開顯示屏
WR_COMM();
LCD=0x06; //文字不動,光標自動右移
WR_COMM(); //寫入命令
}
}
//-------------------------------- 顯示溫度標記字符C函數 -------------------------
TEMP_BJ() //顯示字符C
{
LCD=0xcc; //寫入顯示起始地址
WR_COMM(); //寫入命令
LCD=( 'C' ); //寫字符
WR_DATA();
}
//----------------------------------- 自定義字符函數 --------------------------------
STORE_DATA()
{
unsigned char i;
LCD=0x40; // 指定CG RAM起始地址
WR_COMM(); //寫入命令
for(i=0;i<9;i++)
{
LCD=TAB[i]; //提取字符
WR_DATA(); //送出
}
//------------------------------------
LCD=0xcb; //寫入顯示起始地址
WR_COMM(); //寫入命令
LCD=0x00; //CGRAM內第0號圖形
WR_DATA(); //寫入數據
}
//------------------------------------- 主函數 -----------------------------------
main()
{
INIT_LCD(); //調用初始化函數
TEMP_BJ(); //調用顯示溫度標記字符C函數
STORE_DATA(); //調用自定義字符函數
復制代碼
0.png
(60.5 KB, 下載次數: 71)
下載附件
2017-3-30 01:23 上傳
該系列源碼包含有很多非常經典,代碼風格十分規范,而且注釋詳細的單片機例程,還帶仿真,對于MCU學習特別是初學者是很有幫助的,全部源碼下載(共25個項目):
http://m.raoushi.com/bbs/dpj-79328-1.html
本例程下載(含proteus仿真工程文件與源碼):
單片機LCD1602自建溫度標記圖形程序實驗.rar
(28.35 KB, 下載次數: 11)
2017-3-30 01:23 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1