历史上的今天
今天是:2025年01月10日(星期五)
2018年01月10日 | TLC1549数码管显示程序
2018-01-10 来源:eefocus
TLC1549数码管显示程序
#include"reg52.h"
#include "intrins.h"
sbit AD_CS = P3^7;
sbit AD_DAT = P3^5;
sbit AD_CLK = P3^4;
unsigned char i,j,q,p,k; //
unsigned int AD_Temp,Temp,TempA;
/**********4个7段数码管锁存器地址************/
#define LED1ADDR 0x80
#define LED2ADDR 0x81
#define LED3ADDR 0x82
#define LED4ADDR 0x83
/******0-9 a-f 的7段数码管显示编码**********/
unsigned char ledcode[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x00};
// 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f
/***************存放要显示的数字值********/
unsigned char val[4];//
/***************延时的子程序***************/
void delay(unsigned int t)
{
unsigned int ii;
for(i=0;ii
;
}
void DelayMS(unsigned int T)
{
for(;T>0;T--);
}
/**********4个7段数码管锁存器地址************/
TLC1549() //111111
{
TempA=0;
Temp=0;
AD_CS = 1;
AD_CLK = 1;
AD_DAT = 1;
AD_CS = 0;
// DelayMS(10);
_nop_();
for(i=0;i<2;i++)
{
AD_CLK =0;
_nop_();
if(AD_DAT)
{ Temp+=0x01;}
Temp =Temp<<1;
AD_CLK=1;
_nop_();
}
for(i=0;i<8;i++)
{
AD_CLK =0;
_nop_();
if(AD_DAT)
{ TempA+=0x01; }
TempA =TempA<<1;
AD_CLK =1;
_nop_();
}
AD_CLK =0;
AD_CS =0;
AD_Temp= Temp*256+TempA;
P0=AD_Temp;
j=AD_Temp/1000;
q=(AD_Temp%1000)/100;
p=AD_Temp%1000%100/10;
k=AD_Temp%1000%100%10;
}
/* 写锁存器的子程序 */
void wraddr(unsigned int addr1,unsigned char d)
{
P2=addr1;
P0=d;
}
/* 显示子程序 */
void display(void)
{ unsigned int addr[4]={LED1ADDR,LED2ADDR,LED3ADDR,LED4ADDR};
delay(50);
wraddr(addr[0],ledcode[val[j]]);
delay(50);
wraddr(addr[1],ledcode[val[q]]);
delay(50);
wraddr(addr[2],ledcode[val[p]]);
delay(50);
wraddr(addr[3],ledcode[val[k]]);
}
/* 初始化子程序 */
void init(void)
{ wraddr(LED1ADDR,0XFF);
wraddr(LED2ADDR,0XFF);
wraddr(LED3ADDR,0XFF);
wraddr(LED4ADDR,0XFF);
//输入要显示的数值
val[0]=1;
val[1]=2;
val[2]=3;
val[3]=4;
}
/* 主程序入口 */
int main(void)
{ init();
while(1)
{
TLC1549();
display();
}
}
下一篇:TLC1549驱动程序
史海拾趣
|
混频器常常用一个二极管桥式电路(diodebridge)或一个Gilbert单元(Gilbertcell)来实现。这两类混频器都使用了一个本地振荡器(LO)来跳转射频输入的极性。 当LO为正时,RF输入被混频转换为中频(IF)输出时极性不改变。当LO为负时,RF输入转换为IF时极 ...… 查看全部问答> |
|
Windows Embedded CE 6.0帮助文档中介绍,Establishing a Modem Connection的流程如下: lineInitializeEx ↓ lineOpen ↓ lineMakeCall ↓ lineGetMessage & ...… 查看全部问答> |
|
用windows ce 的template建了个pda的os project 想在这个project下面加一个 subproject 来播放一个 test16bit.wav的文件 这个文件 我是从project property的custom build actions里面加入目录relase的 这个subproject我是这么写的 #include # ...… 查看全部问答> |
|
本人目前维护一个虚拟网卡的微端口驱动程序,代码已经由别人完成,且已经商品化,公司要求我增加一项功能,功能是驱动能够动态的修改虚拟网卡的mac地址。 虚拟网卡mac地址的初始化是通过读一个TXT文件,然 ...… 查看全部问答> |
|
LPCXpresso-CN在IAR下怎么开发,选什么仿真器啊 驱动应该装好了,用lpcxpresso IDE开发无能 板子后面写了IAR,应该可以用IAR来开发 导入了一个IAR里自带的LPC1114的例程 编绎有一警告,无错误 仿真器选择那个呢,我一个个试好像都不行啊, 是不是有其他的选项要设置… 查看全部问答> |
|
(1)开关结点初始化 这时选择的节点类型是终端节点,所以使用f8wEndev.cfg文件,所以在Zglobals.h文件中,我们可以得到下面的定义#define ZG_DEVICETYPE_ENDDEVICE 0x02#define DEVICE_LO ...… 查看全部问答> |




