南方孩子

    1. 应急灯照明灯的标准分类和目的 14/7560 DIY/开源硬件专区 2014-08-09
      看看
    2. 任意波形数据表生成器 827/97966 电子竞赛 2014-08-09
      看看
    3. 上面是我的程序。。就是不行 。。求大神帮助。。。
    4. #include #include #include #define uchar unsigned char #define uint unsigned int #define delayms(x) _delay_ms(x) #define delayus(x) _delay_us(x) #define rsddr        DDRD #define rsport         PORTD #define rspin         PIND #define rwddr         DDRD #define rwport         PORTD #define rwpin         PIND #define enddr         DDRD #define enport         PORTD #define enpin         PIND #define DS1302_SECOND_WRITE 0x80 #define DS1302_MINUTE_WRITE 0x82 #define DS1302_HOUR_WRITE 0x84 #define DS1302_DAY_WRITE 0x86 #define DS1302_MONTH_WRITE 0x88 #define DS1302_WEEK_WRITE 0x8a #define DS1302_YEAR_WRITE 0x8c #define DS1302_YEAR_READ 0x8d #define DS1302_MONTH_READ 0x89 #define DS1302_DAY_READ 0x87 #define DS1302_HOUR_READ 0x85 #define DS1302_MINUTE_READ 0x83 #define DS1302_SECOND_READ 0x81 #define RST PORTB #define SCLK PORTB #define SDA PORTC uchar c,shi,ge; uchar year1=0x88; uchar year0=0x88; uchar month1=0x88; uchar month0=0x88; uchar date1=0x88; uchar date0=0x88; uchar day1=0x88; uchar day0=0x88; uchar hour1=0x88; uchar hour0=0x88; uchar minute1=0x88; uchar minute0=0x88; uchar second1=0x88; uchar second0=0x88; uchar table[]={'0','1','2','3','4','5','6','7','8','9','0'}; void DS1302WriteByte(uchar dat) {         uchar i;         SCLK &=~(1
    5. oyueyueniao 发表于 2014-4-4 20:07 第一段程序有个while(1);程序岂不是一直在这里死循环?
      哦,谢谢,但是我改了还是不行,刚刚一直在想,发现是BCD码转换没有注意到。。。uchar BcdToBin(uchar val)   {   val = (val >> 4) *10+(val &0x0f); ///将BCD码转换为10进制数   return val; ///返回10进制数   } 但是改了以后还是不行,这次不显示全是5了,液晶上显示3 1 7 。。。数字还是不对,完全不对。而且数字中间有空格,而我的程序里没有加空格。。。 #include #include #include #define uchar unsigned char #define uint unsigned int #define delayms(x) _delay_ms(x) #define delayus(x) _delay_us(x) #define rsddr        DDRD #define rsport         PORTD #define rspin         PIND #define rwddr         DDRD #define rwport         PORTD #define rwpin         PIND #define enddr         DDRD #define enport         PORTD #define enpin         PIND #define DS1302_SECOND_WRITE 0x80 #define DS1302_MINUTE_WRITE 0x82 #define DS1302_HOUR_WRITE 0x84 #define DS1302_DAY_WRITE 0x86 #define DS1302_MONTH_WRITE 0x88 #define DS1302_WEEK_WRITE 0x8a #define DS1302_YEAR_WRITE 0x8c #define DS1302_YEAR_READ 0x8d #define DS1302_MONTH_READ 0x89 #define DS1302_DAY_READ 0x87 #define DS1302_HOUR_READ 0x85 #define DS1302_MINUTE_READ 0x83 #define DS1302_SECOND_READ 0x81 #define RST PORTB #define SCLK PORTB #define SDA PORTC uchar c,shi,ge; uchar year1=0x88; uchar year0=0x88; uchar month1=0x88; uchar month0=0x88; uchar date1=0x88; uchar date0=0x88; uchar day1=0x88; uchar day0=0x88; uchar hour1=0x88; uchar hour0=0x88; uchar minute1=0x88; uchar minute0=0x88; uchar second1=0x88; uchar second0=0x88; uchar table[]={'0','1','2','3','4','5','6','7','8','9','0'}; void DS1302WriteByte(uchar dat) {         uchar i;         SCLK &=~(1
    6. 这是我的显示程序。是不是延时太短了。。急救啊  我是一名单片机菜鸟,这个已经做了好多天了
    7. void display() {         c=DS1302Read(DS1302_HOUR_READ);         write_data(table[c/10]);         delayus(5);         write_data(table[c%10]);         write_data(' ');         delayus(5);         while(1);         c=DS1302Read(DS1302_MINUTE_READ);         write_data(table[c/10]);         delayus(5);         write_data(table[c%10]);         write_data(' ');         delayus(5);         c=DS1302Read(DS1302_SECOND_READ);         write_data(table[c/10]);         delayus(5);         write_data(table[c%10]);         write_data(' ');         delayus(5);         write_com(0x80+0x40);         c=DS1302Read(DS1302_DAY_READ);         write_data(table[c/10]);         delayus(5);         write_data(table[c%10]);         write_data(' ');         delayus(5);         c=DS1302Read(DS1302_MONTH_READ);         write_data(table[c/10]);         delayus(5);         write_data(table[c%10]);         write_data(' ');         delayus(5);         c=DS1302Read(DS1302_YEAR_READ);         write_data(table[c/10]);         delayus(5);         write_data(table[c%10]);         write_data(' ');         delayus(5);         write_com(0x01);         delayus(5); }

最近访客

< 1/1 >

统计信息

已有3人来访过

  • 芯积分:--
  • 好友:--
  • 主题:1
  • 回复:7

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言