单片机电子时钟LCD显示

合集下载

单片机课程设计题目及答案

单片机课程设计题目及答案

题目1 智能电子钟(LCD 显示)题目2 电子时钟(LCD 显示)题目3 秒表题目4 定时闹钟题目5 音乐倒数计数器题目6 基于数字温度传感器的数字温度计题目7 基于热敏电阻的数字温度计题目8 十字路口交通灯控制题目9 波形发生器设计题目10 电容、电阻参数单片机测试系统的设计题目11 数字频率计题目12 8位竞赛抢答器的设计题目13 单词记忆测试器程序设计题目14 数字电压表设计题目15 可编程作息时间控制器设计题目16 节日彩灯控制器的设计题目17 双机之间的串行通信设计题目18 电子琴设计题目19 数字音乐盒的设计题目20 单片机控制步进电机题目21 单片机控制直流电动机题目1 智能电子钟(LCD 显示) 1. 设计要求 以AT89C51单片机为核心,制作一个LCD 显示的智能电子钟: (1) 计时:秒、分、时、天、周、月、年。

(2) 闰年自动判别。

(3) 五路定时输出,可任意关断(最大可到16路)。

(4) 时间、月、日交替显示。

(5) 自定任意时刻自动开/关屏。

(6) 计时精度:误差≤1秒/月(具有微调设置) (7) 键盘采用动态扫描方式查询。

所有的查询、设置功能均由功能键K1、K2完成。

2. 工作原理 本设计采用市场上流行的时钟芯片DS1302进行制作。

DS1302是DALLAS 公司推出的涓流充电时钟芯片,内含一个实时时钟/日历和31字节静态RAM ,可以通过串行接口与计算机进行通信,使得管脚数量减少。

实时时钟/日历电路能够计算2100年之前的秒、分、时、日、星期、月、年的,具有闰年调整的能力。

DS1302时钟芯片的主要功能特性:(1) 能计算2100年之前的年、月、日、星期、时、分、秒的信息;每月的天数和闰年的天数可自动调整;时钟可设置为24或12小时格式。

(2) 31B 的8位暂存数据存储RAM 。

(3) 串行I/O 口方式使得引脚数量最少。

(4) DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需3根线。

51单片机实现电子时钟功能-1602液晶显示

51单片机实现电子时钟功能-1602液晶显示

第一章设计要求及系统组成一、基本操作时序:读状态:输入:RS=L,RW=H,E=H 输出:D0~D7=状态字写指令:输入:RS=L,RW=L,D0~D7=指令码,E=高脉冲输出:无读数据:输入:RS=H,RW=H,E= 高脉冲输出:D0~D7数据写数据:输入:RS=H,RW=L。

D0~D7=数据,E=高脉冲输出:无二、、、状态字说明:STA7 D7\ STA6 D6\ STA5 D5 \ STA4 D4 \STA3 D3 \ STA2 D2\\ STA1 D1STA0-6:当前数据地址指针的数值STA7:读写操作使能 1表示禁止,0表示允许对控制器每次进行读写操作之前,都必须进行读写检测,确保STA7为0;但是我们可以进行延时进行实现。

RAM地址映射: LCD 16字*2行00 01 02 03 04 05 06 07 08 08 09 0A 0B 0C 0D 0E 0F (27)40 41 42 4F 50 (67)指令说明:1.初始化设置 1.显示模式设置指令码:00111000(0x38)功能:设置16*2显示,5*7点阵,8位数据接口必须开显示 2.显示开、关及光标设置指令码:00001DCB,功能:D=1 开显示;D=0 关显示;C=1显示光标;B=1 光标闪烁;B=0 光标不显示 000001NS:功能:N=1当读或写一个字符后地址指针加1,且光标加1;N=0相应的减1;S=1当写一个字符,整屏显示左移(N=1)或右移(N=0),以得到光标不移动而屏幕移动的效果。

S=0 当写一个字符,正屏显示不移动。

数据控制:控制器内部设有一个数据地址指针,用户可通过它们来访问内部的全部80字节RAM4.2.1 数据指针设置:指令码:80H+地址码(0-27H,第二行开始:40H-67H) 4..2.2 读数据,写数据其它设置:01H:显示清屏:1.数据指令清零 2 所有显示清零 02H:显示回车:1.数据清零如何进行连接:实际操作中,液晶接到,第一管脚是D,第二管脚是VCC,15和16是背光,D0-D7是数据口,接到单片机的P0口,P0口接了两个锁存器,液晶,D/A,具有高阻状态的都可以随便接,没有影响,,第六管脚是LCDEN相当于 E,使能信号,它接P3^4,R/W接地,表示低电平,因为我们只进行写操作,RS接2实验板上的P3^5;只需这两端口便足以控制液晶,2和3是偏压信号,一端接地,接口信号说明:编号:1 VSS(符号表示)电源地(引脚说明)2VDD 电源正极3VL液晶显示偏压信号4RS数据/命令选择端(H/L)5R/W 读写选择端(H/L)6E使能信号7D0 Data 1/0 8D1 Data 1/0 9 D2 Data 1/0 10 D3 Data 1/0 11D4 Data 1/0 12D5 Data 1/0 13D6 Data 1/0 14D7 Data 1/0 15BLK背光源正极16 BLK背光源负极实际操作:::先写光标程序;写两个子程序,一个写数据,一个写指令:先进性两个宏定义,再位申明LCDEN与RS;为了电量充足。

基于单片机的lcd1602电子时钟设计

基于单片机的lcd1602电子时钟设计

基于单片机的LCD1602电子时钟设计一、设计任务和目的1.1、设计任务(1):用单片机设计基于LCD1602的电子时钟,显示时间和日期;(2):误差精度控制在1s/天;(3):具有时间和日期的校准功能;(4):能区分某年是闰年或平年,并对应显示2月份的天数;(5):根据月份的不同显示不同的最大日数;(6):搭建仿真电路图,模拟单片机要实现的功能;(7):焊接单片机开发板;(8):编写程序,下载并调试,实现要求的功能。

1.2、设计目的(1):熟练掌握KEIL软件的使用方法;(2):熟练掌握PROTEUS软件的使用方法;(3):掌握单片机I/O接口的工作原理;(4):掌握LCD显示器的工作原理及编程方法;(5):掌握独立式键盘的工作原理及编程使用方法;(6):掌握单片机的下载使用方法。

二、设计思路和方案论证2.1、设计思路电路总体上分为控制和显示部分。

以单片机最小系统作为核心控制电路,控制LCD显示,具体显示内容及方式由软件来完成;由于有时钟和日期的调节功能需要校准电路和基本的复位电路,复位电路采用按键复位,调节键、加1键、减1键三个按键完成,共需四个按键;计时功能由固定频率的晶振完成(采用11.0592MHz);显示部分主要采用LCD1602作为显示。

2.2、方案论证(1):时钟芯片的选择和论证方案一:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、月、年以及闰年补偿的年进行计数,精度也较高,工作电压2.5V~5.5V范围内,功耗也较低,但价格比较贵。

方案二:直接采用单片机定时计数器提供秒信号,使用程序实现秒、分、时、日、月、年计数。

采用此方案实现虽然有一定的时间误差,但可减少芯片的使用,节约成本,易于实现,符合现实选用,所以采用此种作为时钟信号发生器。

(2):显示模块选择方案和论证:方案一:采用点阵式图形LCD12864液晶显示屏,液晶显示屏的显示功能强大,可显示文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用点阵式图形LCD12864液晶显示屏。

51单片机控制基于1602液晶显示 电子时钟【带闹铃和整点报时】

51单片机控制基于1602液晶显示 电子时钟【带闹铃和整点报时】
void buzz_pro(uchar be)//蜂鸣器发声函数
{
switch(be)
{//uint i;
/*用于整点响铃*/case 0:{
buzz=~buzz;
//delay1();
}break;
/*用于闹铃报时*/case 1:{
buzz=~buzz;
//delay(10);
}break;
}
}
void write_com(uchar com)//命令写入函数
{
rs=0;
delay(3);
P0=com;
delay(3);
lcden=1;
delay(3);
lcden=0;
}
void write_date(uchar date)//数据写入函数
{
rs=1;
delay(3);
P0=date;
delay(3);
write_date(0x30+ge);
}
void write_ymd(uchar add,uchar date)//年月日写入子程序
{
uchar sh,ge;
sh=date/10;
ge=date%10;
write_com(0x80+add);
write_date(0x30+sh);
write_date(0x30+ge);
sbit buzz=P1^5; //蜂鸣器控制端
uchar code week0[]="Sun";
uchar code week1[]="Mon";
uchar code week2[]="Tue";

基于单片机的LCD电子时钟的设计

基于单片机的LCD电子时钟的设计
月、 日以及 星期、时、分 、秒全部信患用液 晶显示。通过按键 的组合可 以实现 时间 日期的调整 以及 时间温度 的语音播报 。 【 关键词 】A T 8 9 8 5 2 ;L C D;电子 时钟 ;D S 1 3 0 2 时钟芯 片;语 音
月 , 日的显示 ;利用 时钟芯片D S 1 3 0 2 来实 现 时钟 是 在人 们 日常 生活 中用 以掌 握一 计时 ,定时功 能;通过三 个按键联 合工作 实 天 时 间 的一 种器 具 , 关乎 人 们 一天 生 产劳 现时 间和 闹钟 的设置工作 ;到达设 置 的闹钟 动 的作 息调 整 。每 家每 户 、每所 学 校 、每 时 间时, 由蜂 鸣器 发声 ,起报警作 用 。系 统
了时 间 ,这将 会 带 来很 大 的 损失 。因 此时 钟是人 们必 不可少 的 。
传 统 的 时 钟 绝 大 多 数 都 是 发 条 驱 动
2 . 设计 原理分析 2 . 1控 制 电路选 择
度 数据 通 过数 码 管 进行 实 时 显示 ,但 数 码 管 的显 示 功 能具 有 局 限性 , 不能 达 到预 期
传 统 的方 案 常 采 用数 字控 制 电路 , 电 效 果 ,此 外 ,数 码 管驱 动 电路繁 琐 ,不 易 式 、 电机 传动 式 或 电钟 式 等机 械 时 钟 ,部 路较 简 单 ,成 本 较低 ,可 实现 电子 时钟 的 控制 。 分 电子 器械 中也 有 使用 时 间 继 电器 的 。相 基本 功 能 ,但 不 能在 原有 基础 上 再 加个 温 而 作 为 一种 输 出方 式 , 液 晶显示 最 大 对 于传 统 的 时钟 ,电子 时 钟 的体 积 小 、重 度 显示 电路 ,而 且会 造 成 电路 的不 稳 定 , 的特 点就 是 能够 实 现友 好 的 人机 界 面 ,它

基于单片机的电子时钟控制系统

基于单片机的电子时钟控制系统

基于单片机的电子时钟控制系统
电子时钟控制系统是一种利用单片机技术来实现时间的
显示和控制的电子设备。

电子时钟控制系统主要由单片机、时钟芯片、LCD液晶
显示屏、按键等组成。

其中单片机作为系统的核心控制器,时钟芯片提供准确的时间信号,LCD液晶显示屏显示时间信息,按键用于修改时间和控制系统。

系统的具体实现流程
如下:
1. 时钟芯片提供时钟信号并进行预处理,将时钟信号
转换为单片机所需要的信号格式;
2. 单片机初始化,配置I/O口、时钟、中断等相关参数;
3. 单片机通过时钟芯片获取当前时间,并将时间信息
显示在LCD液晶显示屏上;
4. 按键操作时,单片机根据按键输入的信号对时间进
行修改或者对系统进行控制;
5. 单片机不断更新时间,保证系统的时间显示准确性;
6. 单片机在系统启动时同步时间信息,保证系统时间
的一致性;
7. 单片机可以通过外部接口与计算机进行数据通信,
从而实现系统的远程监测和控制。

电子时钟控制系统广泛应用于各种场合,如家庭、学校、车站等。

具有结构简单、使用可靠、精度高、显示清晰、
易于维护等优点。

电子时钟控制系统在使用过程中需要注意以下几点:
1. 系统使用的时钟芯片应该具有高精度和可靠性,避免时间误差和系统故障;
2. 系统应该具有防止电源干扰和防雷击的措施,保证系统的安全性;
3. 系统应该具有较好的抗干扰性,避免外部干扰对系统正常运行的影响;
4. 系统的硬件、软件设计应该符合相关标准和规范,保证系统的稳定性和可靠性。

总之,电子时钟控制系统是一种应用广泛的电子设备,在实际应用中具有重要的意义和价值。

单片机电子时钟的设计

单片机电子时钟的设计

单片机电子时钟的设计单片机电子时钟是一个用于显示时间的电子装置,是一种非常常见和实用的电子设备之一。

设计一款单片机电子时钟需要掌握一定的电子知识和编程技能,本文将介绍单片机电子时钟的设计原理和具体实现步骤。

一、设计原理单片机电子时钟的设计原理比较简单,其核心是一个单片机芯片,通过单片机芯片控制液晶显示屏显示时间,并通过操作键盘来实现对时间的设置和校准。

具体来说,单片机电子时钟的设计原理包括以下几个方面:1. 外设器件单片机电子时钟的外设器件要包括单片机芯片、晶振、电源模块、LCD液晶显示屏和按键模块等,其中晶振是单片机以时钟的形式工作的关键部件,LCD液晶显示屏可以显示时间和各种提示信息,按键模块可以实现对时间的设置和调整。

2. 时间计算单片机电子时钟的原理其核心部分是时间计算,电子时钟需要能够计算出当前的时间,用于更新时间显示。

在计算当前时间时,我们需要对时间、日期等进行加减,同时设定一个基准时间,比如说格林威治标准时间(GMT),然后通过加减偏移来得到当前时间。

3. 时间显示时间显示模块的核心是一个LCD液晶显示屏,屏幕上显示的时间应该是易于读取,时分秒的划分应该清晰,以免产生误解。

同时,还需要考虑到屏幕的亮度和占用空间等问题。

4. 操作控制单片机电子时钟的操作控制要包括时间设置、时间调整、闹铃设定、亮度设置、背光设置等,这些都可以通过按键模块控制。

二、实现步骤1. 确定单片机型号和晶振型号确定单片机型号和晶振型号是单片机电子时钟设计的第一步。

单片机的型号要选取适合于自己的技能水平的型号,晶振型号的选择要考虑到单片机的时钟频率和计算精度等问题。

2. 电路设计根据单片机型号和晶振型号进行电路设计,主要包括单片机芯片、晶振、电源电路、LCD液晶显示屏和键盘模块,可以参考一些开源的资料或者进行自己的设计,注意要根据实际情况进行调整和改进。

3. 程序编写程序编写是电子时钟设计的关键环节,主要需要完成时间计算、时间显示和操作控制等功能。

制作一个采用LCD1602显示的电子钟

制作一个采用LCD1602显示的电子钟

计算机科学与工程系实验报告实验题目:制作一个采用LCD1602显示的电子钟班级:姓名:学号:日期:一、实验目的掌握单片机使用定时器/计数器控制字符型液晶显示器LCD1602的设计与软件编程二、实验要求在LCD上显示当前的时间。

显示格式为“时时:分分:秒秒”。

设有4个功能键k1~k4,功能如下:(1)k1——进入时间修改。

(2)k2——修改小时,按一下k2,当前小时增1。

(3)k3——修改分钟,按一下k3,当前分钟增1。

(4)k4——确认修改完成,电子钟按修改后的时间运行显示。

三、实验要求提交的实验报告中应包括:电路原理图、实验设计思路、C51源程序(含注释语句)、运行效果(含运行截图与说明)、实验小结三、硬件电路原理图的设计四、编程思路及C51源程序编程思路:1、实现当按下K1之后,使中断T0停止计数2、实现当按下K2之后,使小时加一3、实现当按下K3之后,使分钟加一4、实现当按下K4之后,使中断T0恢复计数源程序:#include<reg51.h>#ifndef LCD_CHAR_1602_2005_4_9#define LCD_CHAR_1602_2005_4_9#define uchar unsigned char#define uint unsigned intsbit lcdrs = P2^0;sbit lcdrw = P2^1;sbit lcden = P2^2;void delay(uint z)//延时函数,此处使用晶振为11.0592MHz {uint x,y;for(x=z;x>0;x--){for(y=110;y>0;y--){;}}}void write_com(uchar com) //写入指令数据到lcd{lcdrw=0;lcdrs=0;P3=com;delay(5);lcden=1;delay(5);lcden=0;}void write_data(uchar date) //写入字符显示数据到lcd{lcdrw=0;lcdrs=1;P3=date;delay(5);lcden=1;delay(5);lcden=0;}void init1602()//1602液晶初始化设定{lcdrw=0;lcden=0;write_com(0x3C);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);}/*void write_string(uchar *pp,uint n)//采用指针的方法输入字符,n为字符数目{int i;for(i=0;i<n;i++)write_data(pp[i]);}*/void write_sfm(uchar add,uchar date)//向指定地址写入数据{uchar shi,ge;shi=date/10;ge=date%10;write_com(0x80+add);write_data(0x30+shi);write_data(0x30+ge);}#endif#define uchar unsigned char#define uint unsigned intsbit Key1 = P1^0;sbit Key2 = P1^1;sbit Key3 = P1^2;sbit Key4 = P1^3;uchar int_time;//定义中断次数计数变量uchar second;//秒计数变量uchar minute;//分钟计数变量uchar hour;//小时计数变量uchar code date[]=" H.I.T. CHINA ";//LCD第1行显示的内容uchar code time[]=" TIME 23:59:55 ";//LCD第2行显示的内容uchar second=55,minute=59,hour=23;void clock_init(){uchar i,j;for(i=0;i<16;i++){write_data(date[i]);}write_com(0x80+0x40);for(j=0;j<16;j++){write_data(time[j]);}}void clock_write( uint s, uint m, uint h){write_sfm(0x47,h);write_sfm(0x4a,m);write_sfm(0x4d,s);}void Keyscan1(){if(Key1==0) {delay(10);if(Key1==0) while(!Key1); TR0=0;}if(Key4==0) {delay(10);if(Key4==0) while(!Key4); TR0=1;}if(Key3==0){delay(10);if(Key3==0)while(!Key3);minute++;if(minute==60)minute=0;} if(Key2==0){delay(10);if(Key2==0)while(!Key2);hour++;if(hour==24)hour=0;}}void main(){init1602();//LCD初始化clock_init();//时钟初始化TMOD=0x01;//设置定时器T0为方式1定时EA=1; // 总中断开ET0=1; // 允许T0中断TH0=(65536-46483)/256;//给T0装初值TL0=(65536-46483)%256;TR0=1;int_time=0;//中断次数、秒、分、时单元清0second=55;minute=59;hour=23;while(1){clock_write(second ,minute, hour);Keyscan1();}}void T0_interserve(void) interrupt 1 using 1 //T0中断服务子程序{int_time++;//中断次数加1if(int_time==20) //若中断次数计满20次{int_time=0; //中断次数变量清0second++;//秒计数变量加1}if(second==60)//若计满60s{second=0; //秒计数变量清0minute ++;//分计数变量加1}if(minute==60)//若计满60分{minute=0;//分计数变量清0hour ++;//小时计数变量加1}if(hour==24){hour=0;//小时计数计满24,将小时计数变量清0 }TH0=(65536-46083)/256;//定时器T0重新赋值TL0=(65536-46083)%256;}五、仿真运行效果展示仿真初始状态按下k1键,进入修改模式六、实验小结通过本次实验,我掌握了LCD1602编程的方法,将所学知识运用到实践中,这是一件慢慢的过程,首先要把理论知识理解透彻,然后就是例题看懂,弄懂举一反三。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三、实验程序流程图:
主程序:
时钟主程序流程
子程序:
四、实验结果分析
实验结果及分析:单片机的晶振可以根据要求设定。6MHZ为和现实时间显示相同。实验采用12MHZ晶振采用方式1定时,选取50ms采用20次中断达到一秒,采用查表方式控制LCD显示。当烧入程序后开始运行,根据初始值设定可以观察到显示的时间,这里为了更明显观察显示数据变化把起始值设为23:59:50运行后显示 ,K1为进入现在设置时间,当按下K1后显示 ,和实验要求相比较,实现了按下K1进入现在时间设置,按下K4确认完成时间设置的功能;不同之处:当进入时间设置时在按下K1设置小时,再次按下K1是设置分钟。增加功能:进入时间设置并选择设置位置后K2键位数字增加功能,K3键为数字减小功能。根据仿真结果能够确定编程正确,基本实现了所有功能,而且有所改进。
return result;
} //写LCD命令
void LCD_Write_Command(uchar cmd)
{
while(LCD_Busy_Check());//判断LCD是否忙碌
RS = 0;RW = 0;E = 0;_nop_();_nop_();P0 = cmd; DelayNOP(); E = 1;DelayNOP();E = 0; } //设置LCD显示位置
{
if(Settime) HMS_String[3] = '>';//显示修改标志
单片机电子时钟LCD显示
单片机综合实验报告
题目:电子时钟(LCD)显示
班 级:0310405班
学 号:
学生姓名:张 金 龙
指导老师:高林
2013年 6 月 17日
一、实验内容:
以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间:
使用字符型LCD显示器显示当前时间。
显示格式为“时时:分分:秒秒”。
这次在编程过程中学到了很多新东西,特别是LCD的显示,在设定的显示字符后,正确编译后显示各种设定值,LCD显示16位字符,在最初编程时编译正确但是LCD上的显示字符有缺失,显示不完整,经过不断调试发现空格同样占据字符,只有所有字符不超过16位且位置正确时才能完整正确显示。时间的显示需要每一个显示的位子有定义,而且要给“:”留下特定位子。同时编程时发现还可以显示其他如日期。但本实验不需要且很难完成最终没实现。
用4个功能键操作来设置当前时间,4个功能键接在~引脚上。
功能键K1~K4功能如下。
K1—进入设置现在的时间。
K2—设置小时。
K3—设置分钟。
K4—确认完成设置。
程序执行后工作指示灯LED闪动,表示程序开始执行,LCD显示“00:00:00”,然后开始计时。
二、实验电路及功能说明
1)单片机主控制模块
以AT89C51单片机为核心进行一系列控制。
} //LCD初始化
void LCD_Initialize()
{
LCD_Write_Command(0x38);DelayMS(1);
LCD_Write_Command(0x0c);DelayMS(1);
LCD_Write_Command(0x06);DelayMS(1);
LCD_Write_Command(0x01);DelayMS(1);
}
//显示函数,在LCD指定的行上显示字符串
void Display_String(uchar*str,uchar LineNo)
{
uchar k;
LCD_Set_Pos(LineNo);
for(k=0;k<16;k++) LCD_Write_Data(str[k]);
}
//时分秒显示
void Display_HMS(uchar h,m,s)
在仿真过程中发现许多模型不知道名称,最后搜索了一份Proteus元件库,里边有很多元件模型的名称。最后搭建成功了仿真模型,并且运行成功。
在这里要感谢老师在以往实验过程中不厌其烦的帮助自己解决所遇到的问题和传授一些知识和小窍门。让我对单片机有机会加深了解,体会到了单片机的强大,学到了很多,感谢。
六、程序清单
void DelayMS(uint x)
{
uchar i;
while(x--)
for(i=0;i<120;i++);
}
//LCD忙状态检测
bit LCD_Busy_Check()
{
bit result;
RS = 0;RW = 1;E = 1;DelayNOP();result = (bit)(P0 & 0x80);E = 0;
2)时钟显示模块
用1602为LCD显示模块,把对应的引脚和最小系统上的引脚相连,连接后用初始化程序对其进行简单的功能测试。测试成功后即可为实验所用,如图:
Hale Waihona Puke 3)时间调整电路用4个功能键操作来设置当前时间,4个功能键接在~引脚上。 功能键K1~K4功能如下。K1—进入设置现在的时间。K2—设置小时。K3—设置分钟。K4—确认完成设置。如图:
void LCD_Set_Pos(uchar pos)
{
LCD_Write_Command(pos | 0x80);
}
//写LCD数据
void LCD_Write_Data(uchar dat)
{
while(LCD_Busy_Check());//判断LCD是否忙碌
RS = 1;RW = 0;E = 0; P0 = dat; DelayNOP(); E = 1;DelayNOP();E = 0;
五、心得体会
每次做单片机实验都会有不同的等收获,而这次的实验让我感觉收获更大。这次的实验让我巩固了以往所学,而且锻炼了自己发现问题解决问题的能力。在编程过程,发现自己对C语言很生疏,很多技巧和函数运用都不会,通过参考资料和询问同学终于让我完成了程序,并实现了程序的功能。这不仅提高了自己动手能力,也培养了自己的思考能力。
#include <>
#include <>
#define uchar unsigned char
#define uint unsigned int
#define DelayNOP() {_nop_();_nop_();_nop_();_nop_();}
sbit K1 =P1^0;表示修改分
uchar MilliSecond,Hour =23,Minute=59, Second =50; //延时函数
相关文档
最新文档