在Proteus中用8×8點陣屏來實作16×16點陣屏
- 一、預備知識
- 1.1 如何自己檢測8×8點陣屏的引腳資訊
- 1.2 常見8×8點陣屏的引腳資訊
- 二、Proteus仿真以及原理講解
- 2.1 仿真圖示
- 2.2 源檔案
- 三、C代碼撰寫
- 3.1 取字模軟體設定以及鏈接
- 3.2 C代碼的撰寫以及決議
- 結尾
一、預備知識
?首先,在proteus8.6中并沒有已經集成好的16×16的點陣屏,因此我們需要利用已有的8×8點陣屏來實作
1.1 如何自己檢測8×8點陣屏的引腳資訊
?調出一個8×8點陣,在點陣的管腳上接上VCC,另一端的管腳就接GND,運行仿真,看看點陣是不是能亮,亮了哪幾個點,如果不亮就調換VCC和GND,這樣測出點陣的行和列,共葉訓共陽等引腳資訊,
?假如說在仿真的時候不想自己檢測引腳資訊,這里已經給出四種顏色的點陣屏的引腳資訊以及圖示
1.2 常見8×8點陣屏的引腳資訊
對于紅色的點陣屏說,在不旋轉的情況下:
??上面是列選,高電平有效;
??下面是行選,低電平有效;
對于其他點陣屏說,在不旋轉的情況下:
??上面是行選,低電平有效;
??下面是列選,高電平有效;
提示:以下是本篇文章正文內容,下面案例可供參考
二、Proteus仿真以及原理講解
2.1 仿真圖示
2.2 源檔案
點我獲取仿真圖.
提取碼:19WL
三、C代碼撰寫
3.1 取字模軟體設定以及鏈接
點我獲取取模軟體.
提取碼:TTFF
鏈接來自百度網盤
3.2 C代碼的撰寫以及決議
代碼如下:
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
#define out0 P0
#define out1 P1
#define out2 P2
//這里的字模可以用上面的取模軟體獲得
uchar code string[]=
{
//物
0x10,0x00,0x10,0x02,0x14,0x02,0x7E,0x3F,
0x91,0x50,0x10,0x58,0x7F,0x6C,0x10,0x76,
0x10,0x5B,0x10,0x4C,0x10,0x46,0x10,0x70,
0x10,0x60,0x10,0x00,0x00,0x00,0x00,0x00,
//聯
0x00,0x00,0x00,0x00,0x7E,0x21,0x24,0x12,
0x3C,0x0C,0xA4,0x7F,0x3C,0x0C,0x24,0x0C,
0xA4,0x7F,0x7F,0x0C,0x20,0x1E,0x20,0x33,
0xA0,0x61,0x00,0x00,0x00,0x00,0x00,0x00,
//網
0x00,0x00,0x00,0x00,0xFE,0xFF,0x01,0x80,
0x01,0x80,0x45,0xA2,0x29,0x94,0x11,0x88,
0x29,0x94,0x45,0xA2,0x01,0x80,0x01,0xC0,
0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
//工
0xFC,0x3F,0x00,0x01,0x00,0x01,0x00,0x01,
0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,
0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,
0x00,0x01,0x00,0x01,0xFE,0x7F,0x00,0x00,
//程
0x00,0x00,0x00,0x00,0x30,0x1F,0x0C,0x11,
0x0B,0x11,0x08,0x1F,0x08,0x00,0x3F,0x00,
0x1C,0x1F,0x1A,0x04,0x29,0x1F,0x48,0x04,
0x08,0x04,0x88,0x3F,0x08,0x00,0x00,0x00
};
//延時函式
void delay(uint j)
{
uchar i=250;
for(;j>0;j--)
{
while(--i);
i=100;
}
}
//主函式
void main()
{
uchar i, j ,n;
while(1)
{
for(j=0;j<5;j++)
//這里控制輸出幾個字
{
for(n=0;n<40;n++)
{
for(i=0;i<16;i++)
//逐行來掃描,一共掃描十六行
{
out1=i%16;
//利用4-16譯碼器來控制顯示哪一行
out0=string[i*2+j*32];
out2=string[i*2+1+j*32];
//該陣列中,前后兩個十六進制數正好為16位
//所以,out0不需加一,out2需要加一
delay(4);
// out0=0xff;
// out2=0xff;
}
}
}
}
}
結尾
若有錯誤,歡迎私信指出
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/271456.html
標籤:其他
