超级版主 
 
主题
回帖0
积分14436
阅读权限150
注册时间2008-11-13
最后登录1970-1-1
在线时间 小时
 
 
 
 
 | 
 本帖最后由 倪大德 于 2012-3-2 12:31 编辑  
 
今拆了个瓦斯报警器看了下,发现显示部分和fat实测的略有不同。(由于是贴片,眼力又差,不知是否是我看错了) 
 
    
一。实测图 
 
 
 
 
 
 拨乱反正!   以下已纠正。 
  
  
 
二。电路图 
 
 
 
 
 
 
 
三。显示测试程序     ( 已重改) 
 
//编译器:MPLAB IDE v8.83 
//倪大德  12。3。2 
#include "pic.h"  
//__CONFIG(0x33d4); 
#define uchar unsigned char  
#define uint unsigned int  
/* 
led     
  a_       
f|  |b   
 |g_|     
e|  |c   
 |__|     
  d .h    
*/ 
//====================================== 
 uchar led_7seg[]= 
{ 
      0x3f,0x0a,0x57,0x4f,0x6a,0x6d,0x7d,0x0b,0x7f,0x6f, 
}; 
//====================================== 
void pic16f_PORT_Tnit(void) 
{ 
      TRISD=0B00000000; 
      PORTD=0B00000000;           //共阴设低电平。LED熄灭 
      TRISCbits.TRISC6=0;RC6=1;  //千   共阴位设高电平LED熄灭。 
      TRISCbits.TRISC7=0;RC7=1;   //百 
      TRISBbits.TRISB0=0;RB0=1;   //十 
     // TRISEbits.TRISE2=0;RE2=1;// 
} 
//====================================== 
void delay(uint x) 
{ 
 uint a,b; 
 for(a=x;a>0;a--) 
  for(b=110;b>0;b--); 
} 
//======================================  
void  main(void) 
{ 
      uint aa=0; 
      //OSCCON=0B01100001 ; 
      CMCON0 =0x07;     
      ANSEL = 0x00;      
      pic16f_PORT_Tnit(); 
   while(1) 
      { 
            PORTD= led_7seg[0];RC6=0;delay(1);RC6=1; 
            PORTD=  led_7seg[1];RC7=0;delay(1);RC7=1; 
            PORTD= led_7seg[2];RB0=0;delay(1);RB0=1; 
           // PORTD= led_7seg[3];RE2=0;delay(1);RE2=1; 
//delay(10); 
   } 
 } 
 
 
说明: 
 
用Proteus仿真PIC16f914居然发现二大问题!(不知是否是版本问题) 
 
1。             RB0-RB3 手册应该是  8,9,10,11引脚。 
 
                  而实际仿真的PIC却是不是,10,11,12引脚。 
 
 
2。   仿真使用RE2时出错!使得个位无法仿真运行! 
 
 
 
 
 
以上测试程序仅供参考!(没实际写入运行) |   
- 
 
 
 
- 
 
 
- 
sss1.rar
 
89.72 KB, 下载次数: 231, 下载积分: 一乐金币 -1  
 
 
 
 
 
 
 
 |