標題:
8x16LED點陣屏顯示數(shù)字 Proteus仿真+單片機程序
[打印本頁]
作者:
PAWN315
時間:
2019-7-24 09:17
標題:
8x16LED點陣屏顯示數(shù)字 Proteus仿真+單片機程序
話不多說直接上文件
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載).
0.png
(12.98 KB, 下載次數(shù): 71)
下載附件
2019-7-24 13:52 上傳
單片機源程序如下:
//74HC595練習(xí)程序
//串入并出實現(xiàn)16流水燈效果
//2009.12.28
#include"reg52.h"
#include"intrins.h"
#define u8 unsigned char
#define u16 unsigned int
sbit SCK=P2^0; //數(shù)據(jù)在上升沿進入移位寄存器
sbit SER=P2^1; //串行數(shù)據(jù)輸入端
sbit RCK=P2^2; //上升沿時將數(shù)據(jù)輸出到并行端口
sbit gA=P0^0;
sbit gB=P0^1;
sbit gC=P0^2;
sbit gD=P0^3;
void DigDisplay(unsigned char n);
u8 zi1[]={0x00,0x70,0x88,0x04,0x04,0x04,0x98,0x00,0x00,0x10,0x10,0x11,0x11,0x11,0x1F,0x00};
void send_data(u8 dat0)//,u8 dat1,u8 dat2,u8 dat3) //發(fā)送數(shù)據(jù)
{
u8 i = 0, j = 0;
SCK = 0; // 將SCK置為初始狀態(tài)
RCK = 0; // 將RCK置為初始狀態(tài)
for (i=0; i<8; i++)
{
SER = dat0 & (0x01);
dat0 >>= 1;
SCK = 0;
_nop_();
_nop_();
_nop_();
SCK = 1;
}
// for (i=0; i<8; i++)
// {
//
// SER = dat1 & (0x01);
// dat1 >>= 1;
// SCK = 0;
// _nop_();
// _nop_();
// _nop_();
// SCK = 1;
//
// }
// for (i=0; i<8; i++)
// {
// SER = dat2 & (0x01);
// dat2 >>= 1;
// SCK = 0;
// _nop_();
// _nop_();
// _nop_();
// SCK = 1;
//
// }
// for (i=0; i<8; i++)
// {
//
// SER = dat3 & (0x01);
// dat3 >>= 1;
// SCK = 0;
// _nop_();
// _nop_();
// _nop_();
// SCK = 1;
//
// }
RCK = 0;
_nop_();
_nop_();
_nop_();
RCK = 1;
RCK=0;
SCK=0;
SER=0;
}
void main()
{
u8 k=0;
while(1)
{
for(k=0;k<16;k++)
{
DigDisplay(k);
send_data(zi1[k]);//,zi2[k],zi3[k],zi4[k]);
send_data(0x00);
}
}
}
void DigDisplay(u8 n)
{
switch (n) //位選,選擇點亮哪個數(shù)碼管
{
case 0:
gA = 1; gB = 1; gC = 1,gD=1;
break; //顯示第0位
case 1:
gA = 0; gB = 1; gC = 1,gD=1;
break; //顯示第1位
case 2:
gA = 1; gB = 0; gC = 1,gD=1;
break; //顯示第2位
case 3:
gA = 0; gB = 0; gC = 1,gD=1;
break; //顯示第3位
case 4:
gA = 1; gB = 1; gC = 0,gD=1;
break; //顯示第4位
case 5:
gA = 0; gB = 1; gC = 0,gD=1;
break; //顯示第5位
case 6:
gA = 1; gB = 0; gC = 0,gD=1;
break; //顯示第6位
case 7:
gA = 0; gB = 0; gC = 0,gD=1;
break; //顯示第7位
case 8:
gA = 1; gB = 1; gC = 1,gD=0;
break; //顯示第0位
case 9:
gA = 0; gB = 1; gC = 1,gD=0;
break; //顯示第1位
case 10:
gA = 1; gB = 0; gC = 1,gD=0;
break; //顯示第2位
case 11:
gA = 0; gB = 0; gC = 1,gD=0;
break; //顯示第3位
case 12:
gA = 1; gB = 1; gC = 0,gD=0;
break; //顯示第4位
case 13:
gA = 0; gB = 1; gC = 0,gD=0;
break; //顯示第5位
case 14:
gA = 1; gB = 0; gC = 0,gD=0;
break; //顯示第6位
case 15:
gA = 0; gB = 0; gC = 0,gD=0;
break; //顯示第7位
default:
break;
}
}
復(fù)制代碼
所有資料51hei提供下載:
級聯(lián).zip
(108.39 KB, 下載次數(shù): 45)
2019-7-24 09:12 上傳
點擊文件名下載附件
仿真及代碼
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1