




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
再来一个按键测试的程序:这个是另外的,与上面的无关;#ifndef_TM1638_H#define_TM1638_H#include#defineDATA_COMMAND0X40#defineDISP_COMMAND0x80#defineADDR_COMMAND0XC0/引脚定义sbitDIO=P10;sbitCLK=P11;sbitSTB=P12;unsigned char code tab=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x40;void TM1638_Write(unsigned charDATA)/写数据函数unsigned char i;for(i=0;i=1;CLK=1;unsigned char TM1638_Read(void)/读数据函数unsigned char i;unsigned char temp=0;DIO=1;/设置为输入for(i=0;i=1;CLK=0;if(DIO)temp|=0x80;CLK=1;return temp;void Write_COM(unsigned char cmd)/发送命令字STB=0;TM1638_Write(cmd);STB=1;unsigned char Read_key(void)unsigned char c4,i,key_value=0;STB=0;TM1638_Write(0x42);for(i=0;i4;i+)ci=TM1638_Read();STB=1;/4个字节数据合成一个字节for(i=0;i4;i+)key_value|=ci;for(i=0;i4;i+)if(ci=key_value)break;return (i*8+key_value);void Write_DATA(unsigned char add,unsigned char DATA)/指定地址写入数据Write_COM(0x44);STB=0;TM1638_Write(0xc0|add);TM1638_Write(DATA);STB=1;/*void Write_oneLED(unsigned char num,unsigned char flag)/单独控制一个LED函数,num为需要控制的led序号,flag为0时熄灭,不为0时点亮if(flag)Write_DATA(2*num+1,1);elseWrite_DATA(2*num+1,0); void Write_allLED(unsigned char LED_flag)/控制全部LED函数,LED_flag表示各个LED状态unsigned char i;for(i=0;i8;i+)if(LED_flag&(1i)Write_DATA(2*i+1,3);elseWrite_DATA(2*i+1,0); */void init_TM1638(void)unsigned char i;Write_COM(0x8a);/亮度Write_COM(0x40);STB=0;TM1638_Write(0xc0);for(i=0;i16;i+)TM1638_Write(0x00);STB=1;#endif#include#include#include555.hunsigned char num8;/各个数码管显示的值unsigned char x=0xff;sbit key=P34;int main(void)init_TM1638();system_init();display(x);delay_ms(200);display1638();while(1)display1638(); / detectkey();x=Read_key();display(x); void display1638()uchar i;if(sec_flag|i) num0=hour/10;num1=hour%10;num3=minute/10;num4=minute%10;num6=second/10;num7=second%10;num2=16;num5=16;for(i=0;i8;i+)Write_DATA(i*2,tabnumi);#ifndef_555_H#define_555_H#include#define uchar unsigned charvoid delay_ms(uchar);void display();void detectkey();void display1638();uchar code tap10= 0xC0,/*0*/ 0xF9,/*1*/ 0xA4,/*2*/ 0xB0,/*3*/ 0x99,/*4*/ 0x92,/*5*/ 0x82,/*6*/ 0xF8,/*7*/ 0x80,/*8*/ 0x90,/*9*/;sbit key_hour=P35;sbit key_min=P36;uchar hour=12;uchar minute=0;uchar second=0;uchar flag=0;uchar sec_flag=0;/* 初始化程序 */void system_init()TMOD=0x01;EA=1;ET0=1; EX0=1;IT0=1;TR0=1;TH0=(65536-50000)/256;TL0=(65536-50000)%256;/* 定时器中断0中断处理程序 */void int1_ISR() interrupt 1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; flag+; if(flag=20) sec_flag=1;second+; flag=0; if(second=60) second=0; minute+; if(minute=60) minute=0; hour+; hour%=24; /* 按键程序 */void detectkey() delay_ms(10); if(key_hour=0) hour+;hour=hour%24;while(!key_hour)display(); if(key_min=0) minute+;minute=minute%60;while(!key_min)display(); if(P3_7=0) hour=12; minute=0; second=0; while(!P3_5) display(); /* 显示程序 */void display(uchar i) P0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家庭承包婚姻协议书
- 石油补偿协议书
- 工地宿舍免责协议书
- 电力通道协议书
- 寄养孩子免责协议书
- 小区物业接手协议书
- 福鼎离婚协议书
- 师徒结对指导协议书
- 宠物衣服捐助协议书
- 父母之间协议书
- 西方影视欣赏智慧树知到期末考试答案章节答案2024年济宁医学院
- 新生儿消化道出血的护理查房
- 2024年贵州省贵阳市南明区中考一模考试物理试题
- 电梯维护保养规则(TSG T5002-2017)
- 六年级择校考试卷
- 髂总动脉瘤的护理查房
- 红色美术鉴赏智慧树知到期末考试答案2024年
- 量化考研-2024中国大学生考研白皮书-新东方
- 施工固定总价合同
- 《施工现场消防》课件
- T-NMAAA.0002-2021 营运机动车停运损失鉴定评估规范
评论
0/150
提交评论