打印
[PIC®/AVR®/dsPIC®产品]

新手求助 PIC16F676问题

[复制链接]
1476|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
夜话港乐|  楼主 | 2016-12-19 14:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*
* File:   Vtest.c
* Author: Administrator
*
* Created on 2016?12?19?, ??9:05
*/

#include <stdio.h>
#include <stdlib.h>
#include <pic.h>    //pic16f676

#define uchar unsigned char
#define uint  unsigned int
#define buzz  RC4
#define led   RC5
//#define key   RA5

unsigned char LED_DUAN[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};
//无浮点
unsigned char LED_FloatNumber[17]={0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF,0x77,0x7C,0x39,0x5E,0x79,0x71,0X76};
//                                  0      1    2    3    4   5   6       7   8   9    A     B     C   D    E     F   H

unsigned int count;
unsigned int AD_sample=0;
unsigned int AD_result=0;



void delay_ms(uint time)
{
    uint t,k;
    for (t=0;t<time;t++)
    {
        for (k=0;k<80;k++);
    }
}


void deal_ad()
{   
   
    ADCON0=0x81;
    ADCON1=0x10;
    ADSEL=0x01;
    AD_sample=0;
   
    ADON=1;
    while(ADGO)
    AD_sample=ADRESH<<8|ADRESL;
    AD_result=AD_sample*5/1024;
    //AD_result=AD_result/100;
    count=AD_result;
   
}
void deal_buzzandled()
{
   if((count>=410)&&(count<516))
        buzz=1;
        led=1;
        delay_ms(10);
    else(
           PORTC=0x00;
            );
    if((count<410)&&(count<258))
    //if(key==1)
        buzz=1;
        led=1;
        delay_ms(10);
     else(
           PORTC=0x00;
            );
        
   
}



void display()
{  
   LED_FloatNumber[AD_result/100];
   delay_ms(10);
   LED_DUAN[AD_result%100/10];
   delay_ms(10);
   LED_DUAN[AD_result%10];
   delay_ms(10);

}
void main()
{   
    TRISA=TRISA|0X21;//RA0 shu ru
        TRISC=0x00;//RC4 RC5 shu chu  
        PORTA=0x00;
    PORTC=0x00;
   
deal_ad();
    while(1)
    {
    // PORTC=0xff;
    //delay_ms(10);  
    // PORTC=0x00;
     display();
     deal_buzzandled();
   
    }



}

沙发
夜话港乐|  楼主 | 2016-12-19 14:06 | 只看该作者
此程序有问题吗   



还有protus 能进行AD转换仿真吗

使用特权

评论回复
板凳
夜话港乐|  楼主 | 2016-12-19 14:10 | 只看该作者
求助求助 万分感谢

使用特权

评论回复
地板
NE5532| | 2016-12-21 11:08 | 只看该作者
你得先告诉大家,程序想实现什么功能啊。

使用特权

评论回复
5
Latin_newday| | 2016-12-21 15:54 | 只看该作者
可以proteus直接仿真

使用特权

评论回复
6
XIEYUANBIN| | 2016-12-21 19:36 | 只看该作者
Latin_newday 发表于 2016-12-21 15:54
可以proteus直接仿真

这是一个第三方仿真器,有很多芯片不支持,我也没用过,爱莫能助。你还是用官方的比较好

使用特权

评论回复
7
Sammcu86| | 2023-10-11 11:52 | 只看该作者
PIC16F676可以用国产PIN对PIN替代,程序直接烧录,无需更改

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

16

帖子

1

粉丝