超级版主
 
主题
帖子
积分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
|