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