久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
用89C51單片機寫了一個LCD顯示時鐘
[打印本頁]
作者:
wukouyyq
時間:
2022-5-10 15:20
標題:
用89C51單片機寫了一個LCD顯示時鐘
初學單片機,勿噴,請大俠指正,需要的直接復制拿走
protues仿真通過
#include <reg52.h>
#include "1602.h"
typedef unsigned char u8;
u8 n,second0,second1,minute0,minute1,hour0,hour1;
void timer0()
{
TMOD=0X01;
TH0=(65536-46483)/256;
TL0=(65536-46483)%256;
EA=1; //開總中斷
ET0=1; //開定時器0中斷
TR0=1; //啟動定時器0
}
void main()
{
LCD_init();
timer0();
while(1);
}
void interr() interrupt 1
{
TH0=(65536-46483)/256;
TL0=(65536-46483)%256;
n++;
if(n==20) //1秒定時
{
n=0;
second0++;
}
if(second0==10)
{
second0=0;
second1++;
}
if(second1==6)
{
second1=0;
minute0++;
}
if(minute0==10)
{
minute0=0;
minute1++;
}
if(minute1==6)
{
minute1=0;
hour0++;
}
if(hour0==10)
{
hour0=0;
hour1++;
}
if(hour1==2 && hour0==4)
{
hour0=0;
hour1=0;
}
w_cmd(0xc0);
w_dat(hour1+0x30); //時
w_dat(hour0+0x30);
if(n<10)
{
w_dat(':');
}else
{
w_dat(' ');
}
w_dat(minute1+0x30); // 分
w_dat(minute0+0x30);
if(n<10)
{
w_dat(':');
}else
{
w_dat(' ');
}
w_dat(second1+0x30); //秒
w_dat(second0+0x30);
}
//*************************************以下是1602.h文件****************************************************
#ifndef _1602_H_
#define _1602_H_
/*
1602液晶屏的操作
讀數據,寫數據,寫命令
定義引腳:P0口是數據,P2口是控制
*/
sbit RS=P2^0; //定義屏的模式管腳位
sbit RW=P2^1; //定義屏的讀寫管腳位
sbit EN=P2^2; //屏的使能位
sbit BUSY=P0^7;
void wait() //實際是判斷LCD是否忙,是否可進入讀寫狀態
{
P0=0xff;
do
{
RS=0; //命令(狀態)模式
RW=1; //讀操作
EN=0; //使能關
EN=1; //使能開
}while(BUSY==1);
EN=0;
}
void w_dat(unsigned char dat) //寫數據
{
wait();
EN=0;
P0=dat;
RS=1; //數據模式
RW=0; //寫操作
EN=1; //使能開,數據進去了
EN=0; //使能關
}
void w_cmd(unsigned char cmd) //寫命令函數
{
wait();
EN=0;
P0=cmd;
RS=0; //命令(狀態)模式
RW=0; //寫操作
EN=1; //使能開,命令進去了
EN=0; //使能關
}
//void w_string(unsigned char addr,unsigned char *p) //寫入字符串函數
//{
// w_cmd(addr); //寫入命令,讓屏從那里開始顯示
//
// while(*p !='\0') //循環字符串中的每個字符,直到結尾
// {
// w_dat(*p++);
// }
//}
void LCD_init() //LCD初始化函數
{
w_cmd(0x38); //16*2顯示,5*7點陣,8位數據接口
w_cmd(0x0c); //顯示器開、光標開、光標允許閃爍
w_cmd(0x06); //文字不動、光標自動右移
w_cmd(0x01); //清屏
}
#endif
20220510151356.jpg
(127.46 KB, 下載次數: 94)
下載附件
2022-5-10 15:16 上傳
作者:
mengsiu
時間:
2022-5-11 17:07
這個電路實際上是不能工作的。顯示屏的VEE被接地了,顯示屏會不顯示。
還有單片機的晶振、復位、ALE等都要安排上,不然單片機不工作。(用STC單片機可以不用考慮)
作者:
wukouyyq
時間:
2022-5-13 20:57
樓上說的是,這個只是仿真,實際要用可調電阻才行,今天有空了,收到從網上購的1602屏,就試了,發現個問題,就是實物不能顯示,對比度也不行,所以就加上可調電阻,顯示對比度可以了。但還是不正常,后來
原因找到了,程序問題,就是使能口,延時少了,再加一句就行
每個EN=0之前加上 EN=1;,意思就是兩句EN=1;可以做到延時就行了。
作者:
shiter
時間:
2022-5-16 00:50
優秀,這個我還做不來
作者:
hy47566398
時間:
2022-5-16 07:51
把中斷函數中的代碼 if(second0==10)及以下所有行,移入主函數的while()循環中執行,或許走時會更精確些。
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
欧美激情在线精品一区二区三区
|
一本大道久久a久久精二百 欧洲一区二区三区
|
久久aⅴ乱码一区二区三区 亚洲欧美综合精品另类天天更新
|
av网站观看
|
91精品国模一区二区三区
|
亚洲成人国产精品
|
97久久精品午夜一区二区
|
欧美激情一区二区三级高清视频
|
日本三级电影在线免费观看
|
久久这里只有精品首页
|
欧美黄色一级毛片
|
在线免费看毛片
|
视频在线日韩
|
亚洲综合色视频在线观看
|
久久综合伊人
|
欧美在线天堂
|
亚洲精品国产电影
|
中文字幕国产视频
|
婷婷丁香激情
|
日韩精品免费
|
欧美a视频
|
日本精品视频在线观看
|
www.国产精品
|
亚洲精品91
|
欧美精品一二区
|
国产精品久久99
|
亚洲国产黄色av
|
国产精品一区二区久久
|
成人在线一区二区三区
|
欧美日韩在线成人
|
久久一级免费视频
|
男女性毛片
|
欧美成人一级
|
爱爱无遮挡
|
在线中文字幕第一页
|
久久视频免费看
|
亚洲播放
|
免费成年网站
|
午夜视频一区二区
|
日韩欧美大片在线观看
|
亚洲精品欧美一区二区三区
|