單片機(jī)控制P0口上8段數(shù)碼管和P2.0,P2.1口上的兩個按鍵,實(shí)現(xiàn)按下按鍵1從0到9逐一增加和按下按鍵2從9到0逐一減小。
以下為實(shí)際效果的截圖,如圖所示:
0.png (417.08 KB, 下載次數(shù): 42)
下載附件
2019-10-15 02:29 上傳
二.實(shí)驗(yàn)過程
(一)實(shí)驗(yàn)項(xiàng)目的方案分析
1.設(shè)計(jì)原理
STC12C5A60S2單片機(jī)內(nèi)部包括微處理器、存儲器(存放程序指令或數(shù)據(jù)的ROM、RAM等)、輸入/輸出口(I/O口)及其他功能部件如定時/計(jì)數(shù)器、中斷系統(tǒng)等。它們通過地址總線、數(shù)據(jù)總線和控制總線連接起來。
本實(shí)驗(yàn)是利用改變P0口的高低電平,來實(shí)現(xiàn)8段數(shù)碼管從0到9顯示,并且利用STC12C5A60S2單片機(jī)芯片內(nèi)部的計(jì)算能力,執(zhí)行沒有實(shí)質(zhì)性影響的所謂無意義的指令來達(dá)到延時效果,進(jìn)一步通過P0各口的延時來制造數(shù)碼管效果,實(shí)現(xiàn)數(shù)碼管的顯示和循環(huán)。
(四)實(shí)驗(yàn)項(xiàng)目的虛擬仿真
打開Keil軟件將上面程序輸入,調(diào)試無誤后編譯輸出".hex"文件,打開Proteus軟件,將之前編譯好的".hex"文件加入到芯片中,開始運(yùn)行仿真,如下圖所示。
通過Keil軟件進(jìn)行C51控制程序的編寫,通過不斷調(diào)試修改,最終的調(diào)試好的Keil 程序截圖如下圖所示
0.png (109.52 KB, 下載次數(shù): 43)
下載附件
2019-10-15 02:28 上傳
(五)實(shí)驗(yàn)項(xiàng)目的實(shí)際驗(yàn)證電路及驗(yàn)證結(jié)果
將單片機(jī)C51程序編譯無誤后,生成HEX文件,通過STC-ISP下載到單片機(jī)中,下載的軟件界面下圖所示。
單片機(jī)源程序如下:
- #include<reg51.h>
- #define uint unsigned int
- #define uchar unsigned char
- #define SEG P0
- sbit key1=P2^0 ;
- sbit key2=P2^1 ;
- uchar code Tab[ ]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98};
- void delay_1ms(uint t)
- {
- uint i;
- while(--t)
- for(i=0;i<600;i++);
- }
- main()
- {
- uchar i;
- i=0;
- while(1)
- {
- P0=Tab[i];
- if(key1==0)
- {
- delay_1ms(10);
- if(key1==0)
- {
- if(i<9)
- i++;
- while(key1==0);
- }
- }
- if(key2==0)
- {
- delay_1ms(10);
- if(key2==0)
- {
- if(i>0)
- i--;
- while(key2==0);
- }
- }
- }
- }
復(fù)制代碼
所有資料51hei提供下載(Proteus仿真程序):
數(shù)碼管.rar
(605.44 KB, 下載次數(shù): 24)
2019-10-14 19:52 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|