收藏 分享(赏)

王艳萍的论文内容.doc

上传人:hyngb9260 文档编号:6359604 上传时间:2019-04-09 格式:DOC 页数:33 大小:847.50KB
下载 相关 举报
王艳萍的论文内容.doc_第1页
第1页 / 共33页
王艳萍的论文内容.doc_第2页
第2页 / 共33页
王艳萍的论文内容.doc_第3页
第3页 / 共33页
王艳萍的论文内容.doc_第4页
第4页 / 共33页
王艳萍的论文内容.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、酒泉职业技术学院毕业论文第 I 页 共 XXXIII 页一、89C52 模块Mcs-51 单片机管脚图如图 1 所示。(1)一个 8 位的微处理器(CPU)(2)片内数据存储器 RAM(128B/256B)(3)片内程序存储器 ROM/EPROM(4kB/8kB)(4)4 个 8 位并行 I/O 拉口 P0-P3,每个口既可以作输入,也可以作输出(5)2 个 16 位定时器/计数器(6)5 个中断源的中断控制系统(7)1 个全双工的串行 I/O 接口(8)片内时钟振荡器图 1 单片机管脚图(一)显示模块 LCM128641液晶模块概述采用 FG12864J 显示如图 2 所示,它是一种图形点阵

2、液晶显示器。它主要采用控制器和列驱动器两部分组成了 128(列)64(行)的全点阵显示。2液晶模块特点酒泉职业技术学院毕业论文第 II 页 共 XXXIII 页(1)工作电压为+5V10% ,自带驱动 LCD 所需的负电压(2)全屏幕点阵,点阵数为 128(列)64(行),可完成字符的显示(3)与 CPU 接口采用 5 条位控制总线和 8 位并行数据总线输入输出,适配M6800 系列时序(4)内部有显示数据锁存器(5)简单的操作指令,显示开关设置,显示起始行设置,地址指针设置和数据读/写等指令图 2 FG12864J 显示模块二、芯片的简介(一)芯片 DS1302 简介DS1302 是充电时钟

3、芯片内含有一个实时时钟/日历和31字节静态RAM 通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒、分、时、日、日期、月、年的信息每月的天数和闰年的天数可自动调整时钟操作可通AM/PM 指示决定采用24 或12 小时格式。DS1302 与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线1 RES 复位2 I/O 数据线3 SCLK串行时钟,时钟/RAM 的读/写数据以一个字节或多达31 个字节的字符组方式通信DS1302 工作时功耗很低保持数据和时钟信息时功率小于1mW。 DS1302 的管脚如表 1 所示。酒泉职业技术学院毕业论文第 III 页 共 XXXIII 页表

4、1 DS1302 管脚X1 X2 32.758KHz 晶振管脚GND 地RST 复位I/O 数据输入/输出引脚SCLK 串行时钟Vcc1 Vcc2 电源供电管脚(二)芯片DS18B20简介DS18B20温度传感器当仁不让。超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强。对电子爱好者来说,DS18B20是我们开发温度相关的首选小产品。DS18B20引脚功能如表2所示。表2 DS18B20引脚功能GND 地DQ 单数据总线VDD 电源电压NC 空引脚三、显示模块(一)LED 数码管显示简介数码管显示比较常用的是采用 CD4511 和 74LS138 实现数码转换,数码显示分动态显示和

5、静态显示,静态显示具有锁存功能,可以使数据显示得很清楚,但浪费了一些资源。目前单片机数码管普通采用动态显示。编程简单,但只能显示数字,不能显示中文。LCD1602 能够显示英文和数字。1602 液晶模块内部的字符发生存储器(CGROM)已经存储了 160 个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号。LCD12864 作为一种输出方式,液晶显示最大的特点就是能够实现友好的人机界面,它己经广泛应用于现代工业控制和智能化仪器仪表等酒泉职业技术学院毕业论文第 IV 页 共 XXXIII 页领域,它己经成为单片机就用开发领域典型模块之一。能够方便的显示文字和数字。(二)电

6、路的设计采用:LCD12864:LCD12864 作为一种输出方式,液晶显示最大的特点就是能够实现友好的人机界面,它己经广泛应用于现代 工业控制和智能化仪器仪表等领域,它己经成为单片机开发领域典型模块之一。能够方便的显示文字和数字。四、硬件设计与实现该万年历以 89S52 作为控制核心,外接 DS18B20 温度传感器,DS1302 时钟芯片,显示采用 LCM12864,调表采用矩阵式键盘,整体硬件电路的框图如图 3 所示。图 3 硬件电路框图五、 单片机最小系统的设计AT89S52 单片机为 40 引脚双列直插芯片,有四个 I/O 口 P0,P1,P2,P3, MCS-51单片机共有 4 个

7、 8 位的 I/O 口(P0、P1、P2、P3) ,每一条 I/O 线都能独立地作输出或输入。单片机的最小系统如图 4 所示,18 引脚和 19 引脚接时钟电路,XTAL1 接外部晶酒泉职业技术学院毕业论文第 V 页 共 XXXIII 页振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2 接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出。第 9 引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20 引脚为接地端,40 引脚为电源端。图 4 单片机最小系统六、 时钟电路的设计(一)串行接口时钟芯片 DS1302芯片主特性:1实时时钟具有能计算 2100 年之前

8、的秒分时日日期星期月年的能力,还有闰年调整的能力 2.31 8 位暂存数据存储 RAM 3.串行 I/O 口方式使得管脚数量最少 4.范围工作电压 5.5V5.工作电流 2.0I 时,小于 300nA6.读/写时钟或 RAM 数据时有两种传送方式单字节传送和多字节传送字符组方式 7.8 脚 DIP 封装或可选的 8 脚 SOIC 封装根据表面装配酒泉职业技术学院毕业论文第 VI 页 共 XXXIII 页 8.简单 3 线接口 9.与 TTL 兼容 Vcc=5V 10.可选工业级温度范围-40 +85优点:串行接口的日历时钟芯片,使用简单,接口容易,与微型计算机连线较少等特点,在单片机系统尤其是

9、手持式信息设备中己得到了广泛的应用。所以,最终选择串行时钟芯片 DS1302,DS1302 的管脚图如图 5 所示。图 5 DS1302 管脚图(二)时钟电路本系统采用有 DS1302 串行时钟芯片作为主时钟电路,该电路使用单独的32.768M 的晶振和单独的电源供电,减小主控的负担。电路图如图 6 所示。图 6 时钟电路酒泉职业技术学院毕业论文第 VII 页 共 XXXIII 页七、 温度采集模块的设计采用数字式温度传感器 DS18B20,它是数字式温度传感器,具有测量精度高,电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,使用0.7 与DS18B20 的 I/O 口连接加一个上拉

10、电阻,Vcc 接电源,Vss 接地。电路图如图 7 所示。图 7 温度采集电路八、人机交互模块设计该系统输入模块采用独立式键盘输入,显示模块采用 LCM12864,很好的实现了人机交互,液晶与主控制器的接口如图 8 所示。酒泉职业技术学院毕业论文第 VIII 页 共 XXXIII 页图 8 液晶接口电路九、 系统软件设计与实现(一)主要算法流程图描述1 以80C52为核心,处理外转电路传进来的信号,实现时钟数据的读取,保存,显示其及键盘操作。流程图如图9所示。2 阳历和时分秒都是通过 DS1302 读出来的,经过主控的转换和处理最终显示在 LCM12864 上,该程序流程图如图 10 所示。3

11、 阴历是通过一种算法转换过来,首先得到阳历值,然后根据这种算法把阳历转换成阴历,最终显示在 LCM12864 模块上,该程序流程图如图 11 所示。4时间调整是通过四个独立按键来调整时间值,时间调整流程图如图 12 所示。5 星期的计算方法如下:星期=(日期年份+所过闰年数+月校正数)%7,如果是在闰年又不到3月份上述之和要减一天再除7,其1到12月的校正数据为 6 2 2 5 0 3 5 1 4 6 2 4,该程序中采用1个字节表示年份闰年数也只计算1900 年以后的闰年数。该程序的流程图如图13所示。酒泉职业技术学院毕业论文第 IX 页 共 XXXIII 页系统初始化数据采集L C D 显

12、示按键检测功能设置设置完毕结束开始否是图9 主程序流程图酒泉职业技术学院毕业论文第 X 页 共 XXXIII 页图 10 计算阳历和时分秒流程图酒泉职业技术学院毕业论文第 XI 页 共 XXXIII 页图 11 计算阴历程序流程图酒泉职业技术学院毕业论文第 XII 页 共 XXXIII 页图 12 时间调整程序流程图酒泉职业技术学院毕业论文第 XIII 页 共 XXXIII 页图13 计算星期算法(二)LCM16824 子程序的实现LCM12864 的读写时序如图 14 所示。图 14 LCM12864 读写时序十、功能的实现调整(一)时间调整:按“模式”由普通模式进入校时模式, “年”数码管

13、闪动,此时按“”或“”键可左右移动调整年、月、日、星期、时、分、秒各位置的数据。(二)定时调整:酒泉职业技术学院毕业论文第 XIV 页 共 XXXIII 页再次按“模式”由校时模式进入定时模式, “时”数码管闪动,此时按“+”键加 1 并循环。按“”或“”键可左右移动调整年、月、日、星期、时、分、秒各位置的数据。此模式下,时 LED 代表定时组数,为 1-42 之间,分位和秒位代表开的时间,月位和日位代表延时关的时间,年为代表延时单位是小时还是分钟,星期点亮表示当天定时有效。(三)误差校正:再次按“模式”有校时模式进入误差修正模式, “时 分 秒”位显示是横或者下横表示加减, “年 月 日“位

14、显示 0-28 之间的数字,每天的半夜 3:00 过会自动修正走时误差,确保月误差小于 30 秒。另外,本程序还设计有快速模拟走时功能,此时当设定时位显示 00 时,回到普通模式后可以通过 K1 K2 改变走时速度,最快可以 160 倍的走时,即 1 小时走完 160 小时的时间,用来检查定时设定的数据是否正确。模拟走时并不影响校准的时间,设定的定时数据可正常保存。十一、 测试结果不良分析(一) 测试结果分析1 在测试中遇到 LEDLCD16824 不显示分析:首先使用试测仪对电路进行测试,观察是否存在漏焊,虚焊,或者元件损坏。再接着研究程序的时序图是否正确。最后发现程序时序方面出了点小错。修

15、改后就把问题解决了2 测试中遇到调时间调到 2079 年后跳到 2000 年分析:认真研究时钟芯片的 Datasheet 发现,对年的读取,读出后是 BCD 码转换成十制显示时算法不正确3 按键调整时,不是按单位递增和递减分析:在键盘程序中,按键一次,向芯片写入一个新的数字,在写入数字后必须有酒泉职业技术学院毕业论文第 XV 页 共 XXXIII 页一定延时才再写入另一个数字4 烧写程序进单片机里面时,有时会在显示屏上显示烂码.分析:用电压表检查.最后检测出 USB 下载线的端口电压不够换条新线就可以把问题解决(二) 测试总结经过多次的反复测试与分析,掌握了硬件的设计与分析的能力, 学会看英文

16、版的 Datasheet,同时在软件的编程方面得到更到的提高,对编程能力得到加强。对所学的知识得到很大的提高与巩固。最终实现功能:1. 能显示阳历年、月、日、星期、小时、分、秒2. 显示模块采用 LCD 液晶显示,要求能用按键调整时间。3. 能显示阴历月、日,在显示阴历时间时能标明是否为闰年。4. 具有定时报警功能,能够进行整点和半点语音报时。5. 能够准确在 LCD 上显示。酒泉职业技术学院毕业论文第 XVI 页 共 XXXIII 页结束语通过对基于单片机的万年历的研究和设计,完成了一种能够显示阳历、阴历、星期、时间、实时的多功能万年历,该万年历还可以定时报警和进行进行整点和半点报时。本系统

17、基本完成了设计指标的所有要求,所有的程序分块编写,通过 main函数来调用,增加了程序的易修改性和易读性,方便他人的使用和改进。但是由于时间的局限性以及本人能力的有限性,本系统还有许多需要改进和完善的地方。其中主要的问题就是功耗和电源供电的问题,该处采用 3V 到 5V 供电。整个电路的功耗太大,没让单片机工作在空闲模式,这都是作品不实用,不能够大批量生产,这都有待改进,希望以后有机会对该系统做进一步的完善。酒泉职业技术学院毕业论文第 XVII 页 共 XXXIII 页致谢本课题在选题及研究过程中是在梁老师的亲切关怀和悉心指导下完成的。他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深

18、地感染和激励着我。从课题的选择到项目的最终完成,梁老师都始终给予我细心的指导和不懈的支持。梁老师耐心批阅我们的图纸一次又一次,纠正我们的错误,给我们提示,给我们启发,使我们避免了走弯路,指导了我应该去查找哪些方面的资料去完善这次设计,弥补出现的设计漏洞。使我的设计有一个明确的主导思想,能够顺利而有条不紊地进行。在设计中遇到了很多的画图连线问题,最后在梁老师的耐心指导下,终于迎刃而解。同时,在此课程期间给予我帮助的同学表示感谢。最后,我要感谢三年的大学生活,感谢我的所有老师同学,你们的支持与情感,是我永远的财富!酒泉职业技术学院毕业论文第 XVIII 页 共 XXXIII 页参考文献1 周兴华编

19、著 手把手教你学单片机C程序设计北京:北京航空航天大学出版社,20072 侯玉宝编著. 基于 Proteus 的 51 系列单片机设计与仿真 北京:电子工业出版社,20083 张义和编著. 例说 51 单片机(C 语言). 北京:人民邮电出版社. 20084 李朝青编著. 单片机原理及接口技术. 北京:北京航空航天大学出版社,20055 周慈航编著. 单片机应用程序设计基础. 北京:北京航空航天大学出版社,19916 马忠梅编著. 单片机的 C 语言应用程序设计. 北京:北京航空航天大学出版社,20037 李广弟编著. 单片机基础. 北京:北京航空航天大学出版社,19948 曾巧媛编著. 单片

20、机原理及应用. 北京:电子工业出版社,19979 邱丽芳编著. 单片机原理与应用. 人民邮电出版社,200710 何立民编著. MCS-51 系列单片机应用系统设计. 北京航空航天大学出版社,酒泉职业技术学院毕业论文第 XIX 页 共 XXXIII 页附录一 原理图1 2 3 4ABCD4321DCBA TitleNumber RevisionSizeA4Date: 25-May-2010 Shet of File: F:07件件件件件件件件件件件件件件.dbDrawn By:P101 P112P123 P134P145 P156P167 P178RST9 P30/RXD10P31/TXD1

21、P32/INT012P33/INT113 P34/T014P35/T115 P36/WR16P37/RD17 XTAL218XTAL119 GND20 P20 21P21 2P2223P23 24P24 25P2526P26 27P27 28PSEN29ALE 30EA/VPP 31P0732P06 3P05 34P0435P03 36P02 37P0138P00 39VCC 40U189S51C330PC230PC110UR210KR11KY112MVCCVCCVCCVCC21X12X23GND4VCC1 8SCLK 7I/O 6RST 5J1DS1302GND1DQ2VDD3J2DS18B

22、20VCCR34K7Y2327683V1GND2Y33VVCCR51KR61KR71KR81KD1LED VCCVCCRSTCS2CS1RSRWERSTCS2CS1RSRWEC430p C530p 51RST51RSTU2BUZERGND2INPUT1OUTPUT3U3LM7805VCCVCCGNDR420KVCCS2SW2SW2SW2SWS1SW123456789101121314151617181920J112864+ 1GND 2J5DC TO DCS6SW-SPDTS7SW-SPDTC6470u C81u C6470uC81u123456789J?CON9酒泉职业技术学院毕业论文第 X

23、X 页 共 XXXIII 页附录二 程序主程序#include#include /更改管脚#include#include#include#include#include#include#define uchar unsigned char#define uint unsigned intSYSTEMTIME sys;uchar c_sun,year_sun,month_sun,day_sun;uchar year_moon,month_moon,day_moon,week; uchar alarm=0,al_hour=0,al_min=0;Init_GUI()lcd_init();Init_

24、DS18B20();Initial_DS1302();delay(10);jiemian(); /显示初始化界面,例如固定的年、星期、农历放在 12864.c 里酒泉职业技术学院毕业论文第 XXI 页 共 XXXIII 页void Show_NL()DS1302_GetTime(year_sun=Read1302(DS1302_YEAR);month_sun=Read1302(DS1302_MONTH);day_sun=Read1302(DS1302_DAY);Conversion(0,year_sun,month_sun,day_sun);/* day_moon=(day_moonmonth

25、_moon=(month_moonyear_moon=(year_moon */if(month_moon=1)display(8,4,12,0,ch1616); /显示“正”else display(8,4,month_moon-1,0,ch1616); /显示当前农历的月if(day_moon10)display(12,4,9,0,ch1616); /显示“十”if(day_moon19)display(12,4,14,0,ch1616); /显示“廿”if(day_moon29)display(12,4,2,0,ch1616); /显示“三”display(14,4,(day_moon-

26、1)%10,0,ch1616); /显示农历个位display(14,2,year_moon%12,0,shengxiao); /显示生肖display(9,2,year_moon%10,0,tiangan); /显示天干display(11,2,year_moon%12,0,dizhi); /显示地支Conver_week(0,year_sun,month_sun,day_sun); /星期if(week=0) display(5,4,17,0,ch1616); /显示星期日else display(5,4,week-1,0,ch1616); /显示星期 16酒泉职业技术学院毕业论文第 XX

27、II 页 共 XXXIII 页void Show_YL() /显示阳历 DS1302_GetTime(shownum(6,6,sys.Second/10,0,num); /显示秒shownum(7,6,sys.Second%10,0,num); shownum(3,6,sys.Minute/10,0,num); /显示分shownum(4,6,sys.Minute%10,0,num);shownum(0,6,sys.Hour/10,0,num); /显示时shownum(1,6,sys.Hour%10,0,num);shownum(4,2,sys.Day/10,0,num); /显示日show

28、num(5,2,sys.Day%10,0,num);shownum(0,2,sys.Month/10,0,num); /显示月shownum(1,2,sys.Month%10,0,num); shownum(3,0,sys.Year/10,0,num); /显示年shownum(4,0,sys.Year%10,0,num);if( (!(sys.Year%4) /显示平闰年else display(8,0,23,0,ch1616); /平闰年计算if(sys.Minute=30 /报时if(sys.Minute=0 void LCD_ShowWNL()DS1302_GetTime(shownu

29、m(6,6,sys.Second/10,0,num);shownum(7,6,sys.Second%10,0,num); /秒 每次循环钟刷新一次if(!sys.Second) /分 在普通模式时每分钟刷酒泉职业技术学院毕业论文第 XXIII 页 共 XXXIII 页新一次,在设置模式时每次循环刷新一次shownum(3,6,sys.Minute/10,0,num);shownum(4,6,sys.Minute%10,0,num); if(!sys.Secondshownum(1,6,sys.Hour%10,0,num) if(!sys.Second /显示农历Show_NL(); /显示新历

30、diswendu(); /显示温度 if(sys.Minute=30 /报时if(sys.Minute=0 void LCD_showalarm()display(8,6,21-alarm,0,ch1616);shownum(11,6,al_hour/10,0,num); /显示闹铃时shownum(12,6,al_hour%10,0,num); /显示闹铃时shownum(14,6,al_min/10,0,num); /显示闹铃分shownum(15,6,al_min%10,0,num); /显示闹铃分void main()Init_GUI();diswendu();Show_YL();酒泉

31、职业技术学院毕业论文第 XXIV 页 共 XXXIII 页Show_NL();LCD_showalarm(); while(1) LCD_ShowWNL();if(sys.Second%9=0)diswendu(); key_count(); if(count)key_set(); /判断 set 键按下,进入设置界面 if(alarm DS1302_GetTime(shownum(7,6,sys.Second%10,0,num);Beep_Hour();DS1302_GetTime(shownum(7,6,sys.Second%10,0,num);Beep_Half();DS1302_Get

32、Time(shownum(7,6,sys.Second%10,0,num);Beep_Hour();DS1302_GetTime(shownum(7,6,sys.Second%10,0,num);Beep_Half();DS1302_GetTime(shownum(7,6,sys.Second%10,0,num);Beep_Hour();DS1302_GetTime(shownum(7,6,sys.Second%10,0,num);DS1302 程序#define uint unsigned int#define uchar unsigned char酒泉职业技术学院毕业论文第 XXV 页 共

33、 XXXIII 页#include sbit DS1302_CLK = P12; /实时时钟时钟线引脚 sbit DS1302_IO = P11; /实时时钟数据线引脚 sbit DS1302_RST = P10; /实时时钟复位线引脚sbit ACC0 = ACC0;sbit ACC7 = ACC7;typedef struct _SYSTEMTIME_unsigned char Second;unsigned char Minute;unsigned char Hour;unsigned char Week;unsigned char Day;unsigned char Month;uns

34、igned char Year;SYSTEMTIME; /定义的时间类型SYSTEMTIME sys;#define AM(X) X#define PM(X) (X+12) / 转成 24 小时制#define DS1302_SECOND 0x80 /时钟芯片的寄存器位置,存放时间#define DS1302_MINUTE 0x82#define DS1302_HOUR 0x84 #define DS1302_WEEK 0x8A#define DS1302_DAY 0x86#define DS1302_MONTH 0x88酒泉职业技术学院毕业论文第 XXVI 页 共 XXXIII 页#defi

35、ne DS1302_YEAR 0x8C void DS1302InputByte(unsigned char d) /实时时钟写入一字节(内部函数)unsigned char i;ACC = d;for(i=8; i0; i-)DS1302_IO = ACC0; /相当于汇编中的 RRCDS1302_CLK = 1;DS1302_CLK = 0;ACC = ACC 1; unsigned char DS1302OutputByte(void) /实时时钟读取一字节(内部函数)unsigned char i;for(i=8; i0; i-)ACC = ACC 1; /相当于汇编中的 RRC AC

36、C7 = DS1302_IO;DS1302_CLK = 1;DS1302_CLK = 0;return(ACC); void Write1302(unsigned char ucAddr, unsigned char ucDa) /ucAddr: DS1302 地址, ucData: 要写的数据DS1302_RST = 0;DS1302_CLK = 0;DS1302_RST = 1;DS1302InputByte(ucAddr); / 地址,命令 DS1302InputByte(ucDa); / 写 1Byte 数据酒泉职业技术学院毕业论文第 XXVII 页 共 XXXIII 页DS1302_

37、CLK = 1;DS1302_RST = 0;unsigned char Read1302(unsigned char ucAddr) /读取 DS1302 某地址的数据unsigned char ucData;DS1302_RST = 0;DS1302_CLK = 0;DS1302_RST = 1;DS1302InputByte(ucAddr|0x01); / 地址,命令 ucData = DS1302OutputByte(); / 读 1Byte 数据DS1302_CLK = 1;DS1302_RST = 0;return(ucData);void DS1302_GetTime(SYSTE

38、MTIME *Time) /获取时钟芯片的时钟数据到自定义的结构型数组unsigned char ReadValue;ReadValue = Read1302(DS1302_SECOND);Time-Second = (ReadValueReadValue = Read1302(DS1302_MINUTE);Time-Minute = (ReadValueReadValue = Read1302(DS1302_HOUR);Time-Hour = (ReadValueReadValue = Read1302(DS1302_DAY);Time-Day = (ReadValueReadValue =

39、 Read1302(DS1302_WEEK);酒泉职业技术学院毕业论文第 XXVIII 页 共 XXXIII 页Time-Week = (ReadValueReadValue = Read1302(DS1302_MONTH);Time-Month = (ReadValueReadValue = Read1302(DS1302_YEAR);Time-Year = (ReadValuevoid Initial_DS1302(void) /时钟芯片初始化unsigned char Second=Read1302(DS1302_SECOND);if(Second /写入允许_nop_(); _nop_

40、(); _nop_();Write1302(0x8c,0x09); /写入年_nop_(); _nop_(); _nop_(); Write1302(0x88,0x05); /写入月 Write1302(0x86,0x05); /写入日Write1302(0x8a,0x02); /星期 Write1302(0x84,0x23); /时 Write1302(0x82,0x59); /写入分Write1302(0x80,0x30); /写入秒Write1302(0x90,0xae); /开启充电_nop_(); _nop_(); _nop_(); Write1302(0x8e,0x80); /禁止

41、写入LCD12864 程序#include #define uchar unsigned char酒泉职业技术学院毕业论文第 XXIX 页 共 XXXIII 页#define uint unsigned intsbit CS1=P14;sbit CS2=P15;sbit RS=P05;sbit RW=P06;sbit EN=P07;sbit RST=P16;#define DataPort P3void delay(unsigned long v) while(v!=0)v-; void lcd_busy(void) RS=0;RW=1;DataPort=0xff; while(1)EN=1; if(DataPort=64) set_xy(x-64,y);wdata(dd,0,1);else set_xy(x,y);wdata(dd,1,0);void set_startline(uchar i)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 大学论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报