欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
stc8G1K單片機(jī)驅(qū)動(dòng)TM1620彩色數(shù)碼模塊程序
[打印本頁(yè)]
作者:
zhengqiusheng
時(shí)間:
2023-10-20 16:59
標(biāo)題:
stc8G1K單片機(jī)驅(qū)動(dòng)TM1620彩色數(shù)碼模塊程序
/* TM1620顯示控制芯片
* File: TM1620.c
* Author:
* Date:
*
* 顯示屏內(nèi)容:
* 2.5位數(shù)字1,2,3位+0小數(shù)點(diǎn)+8個(gè)ICON
*
* 彩膜測(cè)試演示
*/
#include <reg51.h>
#include <intrins.h>
/***************************
*
*
*
****************************/
#define u8 unsigned char
#define u16 unsigned int
sbit STB=P1^4;
sbit CLK=P1^3;
sbit DIO=P1^2;
sfr P1M0 = 0x92; //
sfr P1M1 = 0x91; //
sfr P3M0 = 0xB2; //
sfr P3M1 = 0xB1; //
sbit LED=P2^7;
sbit KEY=P3^2; //TP_FLAG 重合聲明
sbit KEYU=P3^0; // 亮度++
sbit KEYD=P3^1; // 亮度--
/*0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, */
u8 code NUM[] = { 0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0x00,0xff, };
/*
u8 code dat[] = { 0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,0xFE,0xF6, };
u8 code NUM[] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0xff, };
u8 code ICON[] = { 0x80,0x80,0x80,0xff,0x3f, };
u8 Key_value;
*/
u8 DDRAM[12] ;
u8 CRT; // 當(dāng)前亮度參數(shù)值
void get_key(void); // 按鍵更改亮度
void delayus(u8 t)
{
while(t--);
}
//=============1MS======================//
void delayms(u16 temp)
{
unsigned int i,j;
for(j=temp;j>0;j--)
{
for(i=0;i<1000;i++) ;
}
LED=~LED;
get_key();
}
void send_data(u8 dat)
{
u8 i;
for(i=0;i<8;i++)
{
CLK=0;
DIO = dat & 1;
delayus(20);
CLK=1;
dat=dat>>1;
delayus(20);
}
}
/*
void write_cmd(u8 cmd)
{
STB = 0;
send_data(cmd);
STB = 1;
}
void write_dat(u8 addr,u8 dat)
{
STB = 0;
send_data(addr); // C0H~CBH
send_data(dat); //
STB = 1;
}
*/
void updata_TM1620(void)
{
u8 i;
STB = 0;
send_data(0x02);// 寫入命令0x02:顯示模式6位8段
STB = 1;
STB = 0;
send_data(0x40);// 寫入命令0x40:數(shù)據(jù)命令 固定地址0x44,地址自動(dòng)增加0x41/42/43
STB = 1;
STB = 0;
send_data(0xc0);// 寫入命令0xc0:顯示地址
for(i=0;i<12;i++)
{
send_data(DDRAM[i]);
}
STB=1;
delayus(20);
STB = 0;
send_data(CRT);// 寫入命令0x8c:顯示控制
STB = 1;
}
void init_TM1620(void)
{
u8 i;
delayus(100);
for(i=0;i<12;i++)
{
DDRAM[i] = 0;
}
updata_TM1620();
}
void dis_num(u8 addr,u8 num) // addr = 1,2,3,4,5,6
{
DDRAM[addr *2 -2] = NUM[num] ;
updata_TM1620();
}
void dis_icon(u8 addr,u8 icon) // addr = 3,4,5,6
{ // icon = 1,2
addr = addr *2 -2 ;
if (icon==1)
DDRAM[addr] = 0x1c ; //左右單獨(dú)顯示
else if (icon==2)
DDRAM[addr] = 0xe0 ; //左右單獨(dú)顯示
else if (icon==3)
DDRAM[addr] = 0xfc ; // 全顯
else if(icon==4)
DDRAM[addr] = 0x18 ; // %
updata_TM1620();
delayms(500);
}
void dis_clr(u8 dat)
{
u8 i;
for(i=0;i<12;i++)
{
DDRAM[i] = dat;
}
updata_TM1620();
}
void get_key(void)
{
u8 i,t;
t=CRT; // 保存原始值
if(KEYU==0)
{
for(i=0;i<50;i++); // 延時(shí)去抖
if(KEYU==0)
{
while(!KEYU);
if(CRT<0x90)
CRT++;
}
for(i=0;i<50;i++); // 延時(shí)去抖
}
if(KEYD==0)
{
for(i=0;i<50;i++); // 延時(shí)去抖
if(KEYD==0)
{
while(!KEYD);
if(CRT>0x80)
CRT--;
}
for(i=0;i<50;i++); // 延時(shí)去抖
}
if(t!=CRT) // CRT值有改動(dòng)則保存
{
iap_erase(0);
write_eeprom(0,CRT);
}
}
void int0_isr() interrupt 0
{
u8 i;
EX0 = 0;
for(i=0;i<150;i++); // 延時(shí)去抖
if(!KEY) //有效按下
{
KEY = 1 ;
for(i=0;i<150;i++);
while(!KEY); //等待放手
while(KEY); //二次按鍵
while(!KEY); //等待放手
}
EX0 = 1 ;
}
// **********************
// **** MAIN()***********
// **********************
void main(void)
{
u8 i;
u8 I[] = {2,5,8};
delayms(200);
P1M1 = 0x00; //P1口推挽輸出
P1M0 = 0xff;
P3M1 = 0x00; //P3口雙向
P3M0 = 0x00;
//CRT = read_eeprom(0); // 讀亮度值
////if(CRT>0x8f || CRT< 0x80) // 亮度值限制在80H~8FH之間
//{
// CRT = 0x8c;
//}
EA = 1; //開總中斷
EX0 = 1;//開外中斷0
init_TM1620(); //
dis_clr(0);
i = 0;
while(1)
{
init_TM1620(); //
dis_clr(0);
delayms(100);
dis_clr(0xff);
delayms(1000);
dis_clr(0);
delayms(100);
dis_num(1,I[i]); // 位1 顯示5
dis_num(2,I[i]); // 位2 顯示5
dis_icon(3,2); // 位3 顯示min
dis_icon(3,4); // 位3 顯示%
dis_icon(4,1); // 位4 顯示右
dis_icon(4,2); // 位5 顯示左
dis_icon(4,3); // 位5 全顯
dis_icon(5,1); // 位5 顯示右
dis_icon(5,2); // 位5 顯示左
dis_icon(5,3); // 位5 全顯
dis_icon(6,1); // 位6 顯示右
dis_icon(6,2); // 位6 顯示左
dis_icon(6,3); // 位6 他顯
delayms(500);
i++;
if(i==3)
i=0;
}
}
復(fù)制代碼
作者:
linlin1
時(shí)間:
2023-10-22 00:31
有沒(méi)有51modbus rtu的通信
作者:
linlin1
時(shí)間:
2023-10-22 00:32
有沒(méi)有51單片機(jī)modbus rtu的通信程序
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1