找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4681|回復(fù): 11
收起左側(cè)

將秒表程序改為定時(shí)報(bào)警裎序

[復(fù)制鏈接]
ID:65730 發(fā)表于 2014-9-5 17:43 來自手機(jī) | 顯示全部樓層 |閱讀模式
將下面秒表程序改為定時(shí)報(bào)警程序,即時(shí)間到,蜂鳴器響幾秒,芯片ATmega16,pA6接蜂鳴器,謝謝大神們。
#include <iom16v.h> #include <macros.h> #define uchar unsigned char #define uint unsigned int uchar num=0; #pragma interrupt_handler miao:9 #pragma data:code const table[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,

0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x7 1};

void delay(uint ms) { uint i,j; for(i=0;i<ms;i++) { for(j=0;j<1141;j++); } } void show(uchar j,uchar k) { PORTA|=BIT(3); PORTB=table[j]; PORTA&=~BIT(3);

PORTB=0XFF; PORTB&=~BIT(k); PORTA|=BIT(4); PORTA&=~BIT(4); delay(1); } void miao() { if(num==60) num=0; num++; TCNT1H=0X85; TCNT1L=0XED; } void main() { DDRB=0XFF; DDRA|=0X18;

TCCR1B=0X04; TCNT1H=0X85; TCNT1L=0XED; TIMSK|=BIT(2); SREG|=BIT(7);

while(1) { show(num/10,0); show(num%10,1); } }
回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2014-9-6 00:56 | 顯示全部樓層
用 google 或者ie 或者360 瀏覽器 重啟編輯一下吧  這樣看不清楚
回復(fù)

使用道具 舉報(bào)

ID:65730 發(fā)表于 2014-9-6 19:15 來自手機(jī) | 顯示全部樓層
謝謝指導(dǎo),我把上面程序重編輯如下:      #include <iom16v.h> #include <macros.h> #define uchar unsigned char #define uint unsigned int uchar num=0; #pragma interrupt_handler miao:9 #pragma data:code const table[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,  0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};  void delay(uint ms) { uint i,j; for(i=0;i<ms;i++) { for(j=0;j<1141;j++); } } void show(uchar j,uchar k) { PORTA|=BIT(3); PORTB=table[j]; PORTA&=~BIT(3);  PORTB=0XFF; PORTB&=~BIT(k); PORTA|=BIT(4); PORTA&=~BIT(4); delay(1); } void miao() { if(num==60) num=0; num++; TCNT1H=0X85; TCNT1L=0XED; } void main() { DDRB=0XFF; DDRA|=0X18;  TCCR1B=0X04; TCNT1H=0X85; TCNT1L=0XED; TIMSK|=BIT(2); SREG|=BIT(7);  while(1) { show(num/10,0); show(num%10,1); } }
回復(fù)

使用道具 舉報(bào)

ID:65730 發(fā)表于 2014-9-6 21:18 來自手機(jī) | 顯示全部樓層
不好意思,還是沒有編輯好,再試一下
回復(fù)

使用道具 舉報(bào)

ID:65730 發(fā)表于 2014-9-6 21:20 來自手機(jī) | 顯示全部樓層
#include <iom16v.h> #include <macros.h> #define uchar unsigned char #define uint unsigned int uchar num=0; #pragma interrupt_handler miao:9 #pragma data:code const table[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,  0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};  void delay(uint ms) { uint i,j; for(i=0;i<ms;i++) { for(j=0;j<1141;j++); } } void show(uchar j,uchar k) { PORTA|=BIT(3); PORTB=table[j]; PORTA&=~BIT(3);  PORTB=0XFF; PORTB&=~BIT(k); PORTA|=BIT(4); PORTA&=~BIT(4); delay(1); } void miao() { if(num==60) num=0; num++; TCNT1H=0X85; TCNT1L=0XED; } void main() { DDRB=0XFF; DDRA|=0X18;  TCCR1B=0X04; TCNT1H=0X85; TCNT1L=0XED; TIMSK|=BIT(2); SREG|=BIT(7);  while(1) { show(num/10,0); show(num%10,1); } }
回復(fù)

使用道具 舉報(bào)

ID:65730 發(fā)表于 2014-9-6 21:21 來自手機(jī) | 顯示全部樓層
#include <iom16v.h> #include <macros.h> #define uchar unsigned char #define uint unsigned int uchar num=0; #pragma interrupt_handler miao:9 #pragma data:code const table[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,  0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};  void delay(uint ms) { uint i,j; for(i=0;i<ms;i++) { for(j=0;j<1141;j++); } } void show(uchar j,uchar k) { PORTA|=BIT(3); PORTB=table[j]; PORTA&=~BIT(3);  PORTB=0XFF; PORTB&=~BIT(k); PORTA|=BIT(4); PORTA&=~BIT(4); delay(1); } void miao() { if(num==60) num=0; num++; TCNT1H=0X85; TCNT1L=0XED; } void main() { DDRB=0XFF; DDRA|=0X18;  TCCR1B=0X04; TCNT1H=0X85; TCNT1L=0XED; TIMSK|=BIT(2); SREG|=BIT(7);  while(1) { show(num/10,0); show(num%10,1); } }
回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2014-9-6 22:18 | 顯示全部樓層
你這是手機(jī)發(fā)的帖?
回復(fù)

使用道具 舉報(bào)

ID:65730 發(fā)表于 2014-9-6 23:32 來自手機(jī) | 顯示全部樓層
是的,怎么也編緝不好,
回復(fù)

使用道具 舉報(bào)

ID:65608 發(fā)表于 2014-9-7 13:43 | 顯示全部樓層
手機(jī)上玩代碼不合適吧  編譯工具不能在手機(jī)上面運(yùn)行啊
回復(fù)

使用道具 舉報(bào)

ID:65730 發(fā)表于 2014-9-7 14:33 來自手機(jī) | 顯示全部樓層
學(xué)習(xí)板上都是計(jì)數(shù)器,計(jì)時(shí)器,沒有計(jì)數(shù)計(jì)時(shí)控制程序,這類程序編不好就在此請(qǐng)教老師們。
回復(fù)

使用道具 舉報(bào)

ID:63997 發(fā)表于 2014-9-7 19:00 | 顯示全部樓層

#include <iom16v.h>
#include <macros.h>
#define uchar unsigned char
#define uint unsigned int uchar num=0;
#pragma interrupt_handler miao:9
#pragma data:code const table[]=
{
    0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,  0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71
};  
void delay(uint ms)
{     
    uint i,j;
    for(i=0;i<ms;i++)
    {
         for(j=0;j<1141;j++);
    }
}
void show(uchar j,uchar k)
{
    PORTA|=BIT(3);
    PORTB=table[j];
    PORTA&=~BIT(3);  
    PORTB=0XFF;
    PORTB&=~BIT(k);
    PORTA|=BIT(4);
    PORTA&=~BIT(4);
    delay(1);
}
void miao()
{
    if(num==60)
    num=0;
    num++;
    TCNT1H=0X85;
    TCNT1L=0XED;
}
void main()
{
    DDRB=0XFF;  
    DDRA|=0X18;  
    TCCR1B=0X04;
    TCNT1H=0X85;
    TCNT1L=0XED;
    TIMSK|=BIT(2);
    SREG|=BIT(7);  
    while(1)
    {
        show(num/10,0);
        show(num%10,1);
    }
}
我能幫你的就是整理一下 等待高人解惑了
回復(fù)

使用道具 舉報(bào)

ID:65730 發(fā)表于 2015-1-24 22:33 | 顯示全部樓層
xueyunmicheng 發(fā)表于 2014-9-7 19:00
#include  
#include  
#define uchar unsigned char

好長時(shí)間沒有上網(wǎng)了.還沒顧上分析,在這里先謝謝大師了.
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表