完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
pic12f675与pic12f629两种不同型号的单片机共用一个说明书,675比629多了数模转换,功能要多一些,本人想利用675的数模转换来设计制作一个显示电压、电流、电量的多功能表,首先在利用74HC595来驱动数码管这一关就无法通过,但相同的程序用pic12629则能够顺利通过,本人认为可能是对675的设置没有对,特向高手们求助。以下是我编写的程序:
#include __CONFIG(0x3F84); //两块74HC595级联,前一块驱动段,后一块驱动位,驱动的是共阴四位数码管 //本程序依次驱动八位数码管,显示01234567,12345678,23456789,……,89AbCdEF,..... #define SH_CP GPIO0 // 74HC595时钟输入 #define DS GPIO1 // 74HC595数据端口 #define ST_CP GPIO4 // 74HC595数据锁存 #define uchar unsigned char #define uint unsigned int void delay(uint); void xians(uchar); const uchar LED[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7d,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};//段选 const uchar WEI[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; //位选 main() { uint x,y,z,m; OPtiON=0b10000000; //禁止弱上拉 WPU= 0x00; //关闭弱上拉 TRISIO=0; //IO 口做输出 CMCON=0x3f; // 设置全部为普通数字IO口 关闭所有比较器 GPIO=0x00; //端口0 输出低电平 while(1) { for(x=0;x<17;x++) { for(z=0;z<500;z++) { for(y=0;y<8;y++) { xians(WEI[y]); m=x+y; if(m<16); else m=m-16; xians(LED[m]); ST_CP=0; asm("NOP"); asm("NOP"); ST_CP=1; asm("NOP"); asm("NOP"); ST_CP=0; } } delay(20); } } } void delay(uint x) //短暂延时程序 { uint a,b; for(a=x;a>0;a--) for(b=100;b>0;b--); } void xians(uchar udata) //将数据写入74HC164 { uchar i; for (i=0;i<8;i++) { if(udata&0x80) { DS=1; SH_CP=0; asm("NOP"); asm("NOP"); SH_CP=1; udata = udata<<1; } else { DS=0; SH_CP=0; asm("NOP"); asm("NOP"); SH_CP=1; udata = udata<<1; } } } |
|
相关推荐
7个回答
|
|
动态扫描要在一定时间内完成,建议用中断函数。另外你的74HC595程序代码写了还要看硬件电路是否正确,有输出使能脚和数据寄存器清零引脚,如果连接错了肯定不会正常显示
|
|
|
|
伏尔加的鱼 发表于 2018-6-15 18:18 谢谢你的指导,硬件电路肯定没有问题,因为我用12f629接上后能够正常显示,所以说问题一定是出在12F675的设置上。 |
|
|
|
管脚上拉要记得。
|
|
|
|
已经解决。在主函数中增加了如下语句:
ANSEL=0X0c;//将IO0(AN0)IO1(AN1)A两个端口作为普通I/O口 同时关闭比较器也很重要: CMCON=0x07; // 关闭比较器,很重要,特别是低三位全部为1才能关闭比较器,(系统默认低三位全为零)使IO0和IO1为数字口。 |
|
|
|
来好好看一下
|
|
|
|
看不出错误
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
求解外围电路实现的是4脚给持续低电平复位并正常工作,高电平不工作的原因
2099 浏览 1 评论
3661 浏览 3 评论
PIC1946程序有一个变量在运行过程中恢复初始值其他变量保持不变
2353 浏览 2 评论
2779 浏览 0 评论
PIC16F1825的RC5引脚,在主程序中操作无效,在中断中可以改变是为什么?
4065 浏览 5 评论
1007浏览 0评论
用XC8编译PIC18F25K80时提示下面Error,求怎么解决这个问题
6394浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 15:07 , Processed in 0.688409 second(s), Total 60, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号