實(shí)驗(yàn)名稱:指示燈循環(huán)控制 | | 實(shí)驗(yàn)目的和要求: (1)實(shí)驗(yàn)?zāi)康模?/div> 熟悉μVision3編譯軟件,掌握C51編程與調(diào)試方法。 (2)實(shí)驗(yàn)要求: 提交實(shí)驗(yàn)報(bào)告并包括如下內(nèi)容:電路原理圖、軟件流程分析、C51源程序(含注釋部分)、仿真運(yùn)行截圖及實(shí)驗(yàn)小結(jié)。 | 實(shí)驗(yàn)內(nèi)容和原理: 實(shí)驗(yàn)原理: 實(shí)驗(yàn)電路原理圖: 圖中8只LED指示燈接于P0口,且都有上拉電阻。時(shí)鐘電路、復(fù)位電路、片選電路與前面實(shí)驗(yàn)電路相同。 軟件流程分析(軟件編程原理): 主程序中的兩部分的流程圖分別如下:(兩個循環(huán)體無限循環(huán)) 實(shí)驗(yàn)內(nèi)容: (1)熟悉μVision3編譯軟件,了解軟件結(jié)構(gòu)與功能; (2)完成實(shí)驗(yàn)2的C51語言編程; (3)掌握在μVision3中進(jìn)行C51程序開發(fā)的方法。
| 上機(jī)調(diào)試修改源程序: C51源程序(含注釋部分): |
- #include"reg51.h"
- void delay(unsigned int time)//延時(shí)函數(shù)
- {
- unsigned int j=0;
- for(time=time;time>0;time--)
- for(j=0;j<125;j++);
- }
- void main()
- {
- unsigned char i;
- P0=0xfe;
- delay(50);
- while(1){//無限循環(huán)
- for(i=1;i<=7;i++){
- P0=(P0<<1) | (P0>>7);//循環(huán)左移
- delay(200);
- }
- for(i=1;i<=7;i++){
- P0=(P0>>1) | (P0<<7);//循環(huán)右移
- delay(200);
- }
- }
- }
復(fù)制代碼
實(shí)驗(yàn)結(jié)果與分析: 實(shí)驗(yàn)結(jié)果(仿真運(yùn)行截圖): 以下的圖片為仿真運(yùn)行的截圖,前兩張為由上到下流水燈亮,后兩張圖為由下到上流水燈亮,截取其中兩張來表示這個過程。 結(jié)果分析: 原理圖中可以看到,二極管低電平驅(qū)動,P0.n輸出為低電平時(shí),對應(yīng)的二極管亮;想要循環(huán)控制,可以先讓P1口輸出一個值,利用P1口輸出值的循環(huán)左移或者循環(huán)右移來實(shí)現(xiàn)功能。 參考文獻(xiàn): 林立 張俊亮 單片機(jī)原理及應(yīng)用—基于Proteus和Keil C(第四版)
完整的Word格式文檔51黑下載地址:
指示燈循環(huán)控制.doc
(117 KB, 下載次數(shù): 51)
2018-7-2 11:24 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|