完整的单片机驱动TFT彩屏的程序设计

上传人:平*** 文档编号:17045248 上传时间:2017-11-09 格式:DOC 页数:84 大小:1.45MB
返回 下载 相关 举报
完整的单片机驱动TFT彩屏的程序设计_第1页
第1页 / 共84页
完整的单片机驱动TFT彩屏的程序设计_第2页
第2页 / 共84页
完整的单片机驱动TFT彩屏的程序设计_第3页
第3页 / 共84页
完整的单片机驱动TFT彩屏的程序设计_第4页
第4页 / 共84页
完整的单片机驱动TFT彩屏的程序设计_第5页
第5页 / 共84页
点击查看更多>>
资源描述

《完整的单片机驱动TFT彩屏的程序设计》由会员分享,可在线阅读,更多相关《完整的单片机驱动TFT彩屏的程序设计(84页珍藏版)》请在金锄头文库上搜索。

1、单片机驱动 TFT 彩屏的程序设计一种完整的复杂的单片机驱动 TFT 彩屏的程序设计。同步显示有星期;温度;时间;遥控指示;以及强大的定时功能废话不多说,自已向下看吧显示效果图: 说明图:电路图:彩屏部分数据:(网上有资料,陶宝网上有买)以下是汇编程序:(本程序可直接复制使用,但请指明出处。 )本程序本人用时 2. 5 个月制作(当然是工作闲余的时候) ,本程序是本人为学习汇编而编写(为做到“入森而不迷” ) 。其已经做过实物测试,除时间不是十分精确外,其它都没有问题(因为问题已经解决了) 。遥控码数请参照程序中的以下两个子程序:子程序 1:遥控按键处理(码数这里面,很容易找的)子程序 2:遥

2、控外部中断处理程序(遥控器不同码数长度也不一样,这里要注意);制作:王永宾;QQ:794576441;Email:;-复制以下- -;TFT 彩屏程序(STC89C52);制作:王永宾;QQ:794576441;Email:LCDRS EQU P2.0LCDRW EQU P2.1LCDCS EQU P2.3LCDRST EQU P2.4;-SU00 EQU 30H ;时间字符的地址 2440(0-9)SU01 EQU 31HSU10 EQU 32HSU11 EQU 33HSU20 EQU 34HSU21 EQU 35HSU30 EQU 36HSU31 EQU 37HSU40 EQU 38HSU

3、41 EQU 39HSU50 EQU 3AHSU51 EQU 3BHSU60 EQU 3CHSU61 EQU 3DHSU70 EQU 3EHSU71 EQU 3FHSU80 EQU 40HSU81 EQU 41HSU90 EQU 42HSU91 EQU 43H;-时间寄存器定义-RR0 EQU 44HRR1 EQU 45HRR2 EQU 46HRR3 EQU 47HRR4 EQU 48HRR5 EQU 49HRR6 EQU 4AHRR7 EQU 4BHSUZR0 EQU 4DH ;星期 ?字符的地址(日-六)SUZR1 EQU 4EHSUZ10 EQU 4FH SUZ11 EQU 50HSUZ

4、20 EQU 51HSUZ21 EQU 52HSUZ30 EQU 53HSUZ31 EQU 54HSUZ40 EQU 55HSUZ41 EQU 56HSUZ50 EQU 57HSUZ51 EQU 58HSUZ60 EQU 59HSUZ61 EQU 5AHWD1 EQU 5BHWD2 EQU 5CHWD3 EQU 5DHWD4 EQU 5EH;-星期?寄存器定义 -RR8 EQU 4CH;定时字符的地址 1616(六-日)GUAN0 EQU 60HGUAN1 EQU 61HSL10 EQU 62HSL11 EQU 63HSL20 EQU 64HSL21 EQU 65HSL30 EQU 66HSL

5、31 EQU 67HSL40 EQU 68HSL41 EQU 69HSL50 EQU 6AHSL51 EQU 6BHSL60 EQU 6CHSL61 EQU 6DHSL70 EQU 6EHSL71 EQU 6FH;-定时寄存器定义-第一组-RA EQU 70H ;组RAL0 EQU 71H ;时间RAL1 EQU 72HRAL2 EQU 73HRAL3 EQU 74HRAR0 EQU 75HRAR1 EQU 76HRAR2 EQU 77HRAR3 EQU 78HRA1 EQU 79H ;星期?RA2 EQU 7AHRA3 EQU 7BHRA4 EQU 7CHRA5 EQU 7DHRA6 EQU

6、 7EHRA7 EQU 7FH;TFT 彩屏程序(STC89C52);制作:王永宾;QQ:794576441;Email:;=;=开始 00=ORG 0000HLJMP MAIN0ORG 03HLJMP ITT00 ;外部中断ORG 0BHRETI ;计时中断如果溢出直接ORG 1BHLJMP TI1 ;走时中断;=主程序开始=;ORG 20HMAIN0:LCALL KAIJI ;开机初始化LCALL CSH0QINGPINGHAI0:JB P3.7,$MOV 24H,#00H ;R4MOV 25H,#03FH ;R4MOV 26H,#00HMOV 27H,#03FHMOV R3,#00HMO

7、V R4,#00HLCALL QINGPINGQINGPINGHAI1:JNB P3.7,QINGPINGRED0JNB P3.6,QINGPINGENDAJMP QINGPINGHAI1QINGPINGRED0:JB P3.7,$MOV 24H,#0E0H ;R4MOV 25H,#0FFH ;R4MOV 26H,#0E0HMOV 27H,#0FFHMOV R3,#00HMOV R4,#0E0HLCALL QINGPINGQINGPINGRED1:JNB P3.7,QINGPINGLV0JNB P3.6,QINGPINGENDAJMP QINGPINGRED1QINGPINGLV0:JB P3

8、.7,$MOV R1,#00HMOV R2,#03HMOV R3,#10HMOV R4,#0B0HLCALL XML ;写命令LCALL XSJ ;写数据MOV R1,#00HMOV R2,#22HLCALL XML ;写命令MOV 24H,#0C3H ;底MOV 25H,#3FH ;字MOV 26H,#0C3H ;底MOV 27H,#3FH ;字MOV R3,#00HMOV R4,#0C3H ;底LCALL QINGPINGQINGPINGLV1:JNB P3.7,QINGPINGHAI0JNB P3.6,QINGPINGENDAJMP QINGPINGLV1;=QINGPINGEND:MO

9、V R1,#00HMOV R2,#22HLCALL XML ;写命令LCALL GUDING ;固定字符LCALL WINDU ;温度LCALL YAOKONG ;遥控LJMP XSUMAIN:LCALL DINGSHISHU ;定时数LCALL DINGSHIZU ;定时组LCALL XPX ;星期几LCALL SHIJIAN ;时间LCALL WENDUCHULILCALL WINDU ;温度LCALL TIR0SETB P2.5 ;-完全相等 -关闹CLR P2.6 ;-完全相等 -关闹MAIN1:CLR P2.7LCALL SHIJIAN ;时间LCALL JP0 ;键盘LCALL P

10、OWER ;遥控处理;-MOV A,2CH CJNE A,RR3,MAIN2 ;RR3 为分计LJMP MAIN3 ;定义十秒锺扫一次温度MAIN2:MOV 2CH,RR3LCALL WENDUCHULI ;温度处理LCALL WINDU ;温度MAIN3:MOV A,RR0 ;分有变动就扫描定时CJNE A,RR4,MAIN4 ;RR4 为分LJMP MAIN1MAIN4:MOV RR0,RR4LCALL BIJIAO ;定时比较LJMP MAIN1;=温度处理=WENDUCHULI:LCALL WENDUXS ;读写子程序MOV A,21HMOV R0,#20HXCHD A,R0ANL A

11、,#0FHMOV 21H,A ;21H 小数处理MOV A,20HSWAP A ;20 整数处理MOV 20H,AJB 07H,WENDUCHULI1;是负数转MOV WD4,26H ;清除负数标示LCALL WENDUCHULI0 ;写整数个位MOV WD2,ALCALL WENDUCHULI0 ;写整数十位MOV WD1,AMOV A,21H ;写小数位MOV B,#02DIV ABMOV B,AADD A,BADD A,#30HMOV WD3,A;写小数位RETWENDUCHULI1:;负数处理.MOV WD4,27H ;负数标示MOV A,20H ;20 整数处理CPL A ;取反AN

12、L A,#7FH ;清负数位INC A ;加一MOV 20H,A ;20 整数处理MOV A,21H ;21H 小数处理CPL A ;取反ANL A,#0FH ;清除高位INC A ;加一MOV 21H,A ;21H 小数处理LCALL WENDUCHULI0 ;写整数个位MOV WD2,ALCALL WENDUCHULI0 ;写整数十位MOV WD1,AMOV A,21H ;写小数位MOV B,#02DIV ABMOV B,AADD A,BADD A,#30HMOV WD3,A ;写小数位RET;-整数写子程序 -WENDUCHULI0:MOV A,20H ;整数写子程序MOV B,#10D

13、IV ABMOV 20H,AMOV A,BADD A,BADD A,#30H ;整数写子程序RET;=写数据 =WENDUXS:LCALL WENDURSTJB 70H,WENDUXS1 ;检复位成功了转RETWENDUXS1:MOV A,#0CCH ;跳过 ROMLCALL WENDUXS_BMOV A,#44HLCALL WENDUXS_B ;RAM 温度转换MOV R4,#50D1: ;等待 750uS 转换完成MOV R5,#13DJNZ R5,$DJNZ R6,D1;=读数据 =LCALL WENDURSTJB 70H,WENDUDS1 ;检复位成功了转RETWENDUDS1:MOV

14、 A,#0CCH ;跳过 ROMLCALL WENDUXS_BMOV A,#0BEH ;读 RAMLCALL WENDUXS_BLCALL WENDUDX_B ;调读子程序RET;-读数子程序-WENDUDX_B:MOV R0,#20HMOV R4,#02WENDUDX_B0:MOV R5,#08HWENDUDX_B1:CLR CSETB P3.3NOPNOPNOPNOPCLR P3.3NOPNOPNOPNOPNOPNOPSETB P3.3MOV R6,#18DJNZ R6,$ ;13uSMOV C,P3.3MOV R6,#46DJNZ R6,$RRC ADJNZ R5,WENDUDX_B1MOV R0,AINC R0DJNZ R4,WENDUDX_B0RET;=写数据子程序=WENDUXS_B:MOV R5,#08HCLR CWENDUXS_B0:CLR P3.3MOV R6,#12DJNZ R6,$RRC AMOV P3.3,CMOV R6,#49DJNZ R6,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号