亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
利用8*8點陣實現0-9的顯示的單片機仿真與源程序
[打印本頁]
作者:
青寧
時間:
2018-8-28 08:11
標題:
利用8*8點陣實現0-9的顯示的單片機仿真與源程序
附上實驗結果的截圖,完整電路圖和程序在壓縮包內
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
捕獲.JPG
(234.48 KB, 下載次數: 83)
下載附件
2018-8-28 08:09 上傳
單片機源程序如下:
/*8x8LED顯示從0到9數據 */
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
//74HC595 行選
sbit LOCK = P2^3; //禁止輸出
sbit SCLK = P2^4; //時鐘引腳
sbit DATA = P2^5; //數據
//74HC138 列選
sbit hc138_A = P2^0;
sbit hc138_B = P2^1;
sbit hc138_C = P2^2;
//數字字模,10個數字0~9,每個數字8個字節(縱向,正序)
uchar code shuzi[10][8]=
{
{0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00}, //0
{0x00,0x00,0x00,0x00,0x21,0x7f,0x01,0x00}, //1
{0x00,0x00,0x27,0x45,0x45,0x45,0x39,0x00}, //2
{0x00,0x00,0x22,0x49,0x49,0x49,0x36,0x00}, //3
{0x00,0x00,0x0c,0x14,0x24,0x7f,0x04,0x00}, //4
{0x00,0x00,0x72,0x51,0x51,0x51,0x4e,0x00}, //5
{0x00,0x00,0x3e,0x49,0x49,0x49,0x26,0x00}, //6
{0x00,0x00,0x40,0x40,0x40,0x4f,0x70,0x00}, //7
{0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00}, //8
{0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00}, //9
};
//數字字模指針
uchar col=0;
//第幾個字符
uchar count=0;
//定時器定時次數
uchar time = 0;
//595串行輸入的行數據
uchar d=0;
//8位數據從74HC595的串行輸入,并行輸出
void dat74595(unsigned char d)
{
unsigned char i;
for (i=0;i<8;i++) //8位數據串行輸入
{
SCLK = 0;
DATA = (bit)(d&0x80);
SCLK = 1;
d=d<<1;
}
DATA = 1;
LOCK=0;LOCK=1; //8位數據并行輸出
}
void main(void)
{
TMOD=0x01; //定時器0方式1
TH0=(65536-5000)/256; //設置定時計數初值,5ms
TL0=(65536-5000)%256;
TR0=1;
ET0=1; //打開定時器0中斷
EA=1;
while(1);
}
/*定時器0中斷服務程序,5ms中斷一次,掃描一列*/
void Timer0Int(void) interrupt 1
{
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
switch(col) //列選通
{
case 0: hc138_C =0; hc138_B=0; hc138_A=0; // 選擇第0列顯示
break;
case 1: hc138_C =0; hc138_B=0; hc138_A=1; // 選擇第1列顯示
break;
case 2: hc138_C =0; hc138_B=1; hc138_A=0; // 選擇第2列顯示
break;
case 3: hc138_C =0; hc138_B=1; hc138_A=1; // 選擇第3列顯示
break;
case 4: hc138_C =1; hc138_B=0; hc138_A=0; // 選擇第4列顯示
break;
case 5: hc138_C =1; hc138_B=0; hc138_A=1; // 選擇第5列顯示
break;
case 6: hc138_C =1; hc138_B=1; hc138_A=0; // 選擇第6列顯示
break;
case 7: hc138_C =1; hc138_B=1; hc138_A=1; // 選擇第7列顯示
default: break;
}
d=shuzi[count][col]; //行,送數字字模
dat74595(d); //把數一位一位的傳給74HC595
col++;
if(col==8)
{
col=0;
}
time++;
if (time >= 200) //定時200次,1s,每個數字顯示1s
{
time = 0;
count++; //準備顯示下一個數字
if (count >= 10)
{
count = 0;
}
}
}
復制代碼
0.png
(44.81 KB, 下載次數: 66)
下載附件
2018-8-28 18:20 上傳
所有資料51hei提供下載:
點陣.zip
(61.44 KB, 下載次數: 108)
2018-8-28 08:10 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1