完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我写的一个程序没有显示,求指教1
#include #define uchar unsigned char #define uint unsigned int #define STB LATD7 #define CLK LATA1 #define DIN LATA0 uchar const CODE[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,}; void delay1us() { uint i,j; for(i=1; i>0; i--) for(j=245; j>0; j--) ; } void init1620(void) { TRISA=0x00; TRISD=0x00; PORTA=0x00; PORTD=0x00; STB=1; CLK=1; DIN=1; } void write_byte(uchar byte) { uchar i; STB=0; //片选信号低有效 delay1us(); for(i=0; i<8; i++) //开始传送8位数据,每循环一次传送一次数据 { CLK=0; delay1us(); if(byte&(1< {DIN=0;} else DIN=0; delay1us(); CLK=1; delay1us(); } } //tm1620控制指令 void tm1620(uchar a[]) { uchar h; STB=1; CLK=1; DIN=1; write_byte(0x02); //显示模式设置,设置为6位选,8位段选 STB=1; write_byte(0x40); // 写数据到显示寄存器,采用地址自动加一 STB=1; write_byte(0xc0); // 显示寄存器的00H单元开始 for(h=0; h<4; h++) { write_byte(a[h]); //给显示寄存器传送数据 // write_byte(0); // } STB=1; write_byte(0x8f); } void main(void) { uchar tempt[4]; uint temp=4321; init1620(); while(1) { tempt[1]=CODE[1]; tm1620(temp); } } |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
求解外围电路实现的是4脚给持续低电平复位并正常工作,高电平不工作的原因
2084 浏览 1 评论
3629 浏览 3 评论
PIC1946程序有一个变量在运行过程中恢复初始值其他变量保持不变
2336 浏览 2 评论
2763 浏览 0 评论
PIC16F1825的RC5引脚,在主程序中操作无效,在中断中可以改变是为什么?
4027 浏览 5 评论
972浏览 0评论
用XC8编译PIC18F25K80时提示下面Error,求怎么解决这个问题
6359浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-3 06:53 , Processed in 0.558945 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号