如何利用Proteus和Keil進(jìn)行靜態(tài)共陰數(shù)碼管的仿真
數(shù)碼管簡(jiǎn)介數(shù)碼管是一種常見的用于顯示數(shù)字操作的裝置。根據(jù)其工作方式,數(shù)碼管可以分為靜態(tài)數(shù)碼管和動(dòng)態(tài)數(shù)碼管,以及共陰數(shù)碼管和共陽數(shù)碼管。本次我們將使用共陰?kù)o態(tài)數(shù)碼管進(jìn)行仿真。繪制電路圖1. 首先打開Pr
數(shù)碼管簡(jiǎn)介
數(shù)碼管是一種常見的用于顯示數(shù)字操作的裝置。根據(jù)其工作方式,數(shù)碼管可以分為靜態(tài)數(shù)碼管和動(dòng)態(tài)數(shù)碼管,以及共陰數(shù)碼管和共陽數(shù)碼管。本次我們將使用共陰?kù)o態(tài)數(shù)碼管進(jìn)行仿真。
繪制電路圖
1. 首先打開Proteus軟件,并點(diǎn)擊左上角的"P"按鈕。
2. 在搜索框中輸入"80c51",可找到通用51單片機(jī)。
3. 在搜索框中輸入"*seg*",可找到7段數(shù)碼管。注意:CC代表共陰數(shù)碼管,CA代表共陽數(shù)碼管。兩者在功能上沒有太大區(qū)別,只是段碼不同。
4. 右鍵點(diǎn)擊Terminal,選擇GROUND接地線連接至數(shù)碼管的COM公共端口。
5. 確認(rèn)整個(gè)仿真電路圖的連線,確保其簡(jiǎn)潔明了。
使用Keil進(jìn)行編程
1. 打開Keil軟件,并新建一個(gè)項(xiàng)目工程。
2. 在Project選項(xiàng)中選擇"Options for Group"。需要注意,此步驟需要進(jìn)行兩次。
3. 第一次彈出窗口后直接關(guān)閉即可。
4. 第二次進(jìn)入界面時(shí),勾選"Create Hex"選項(xiàng)。
5. 由于我們使用的是共陰數(shù)碼管,當(dāng)P2口輸出為1時(shí),數(shù)碼管對(duì)應(yīng)的LED燈亮起。因此,我們可以將P2口輸出設(shè)置為0xff,即全1,用于測(cè)試數(shù)碼管的正常工作。
6. 將程序編譯,并將成功輸出的hex文件導(dǎo)入Proteus中的單片機(jī)。
7. 點(diǎn)擊運(yùn)行仿真,即可看到數(shù)碼管的所有LED燈都亮起,顯示數(shù)字8。
8. 若要顯示其他數(shù)字,只需修改程序中的段碼為相應(yīng)數(shù)字的段碼(比如數(shù)字3的段碼為0x4f),重新編譯并運(yùn)行即可。
共陽數(shù)碼管的段碼
共陽數(shù)碼管的段碼可以通過按位取反來實(shí)現(xiàn),以下是一些示例(注意:以下數(shù)字未經(jīng)驗(yàn)證,使用時(shí)最好自行驗(yàn)證):
0 -> 0x3f
1 -> 0x06
2 -> 0x5b
3 -> 0x4f
4 -> 0x66
5 -> 0x6d
6 -> 0x7d
7 -> 0x07
8 -> 0x7f
9 -> 0x6f
A -> 0x77
B -> 0x7c
C -> 0x39
D -> 0x5e
E -> 0x79
F -> 0x71