久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 【轉帖】基于51單片機的串并變換 [打印本頁]

作者: Ameya360    時間: 2017-7-4 15:38
標題: 【轉帖】基于51單片機的串并變換
51單片機串行口在方式0下,串行口的SBUF是作為同步移位寄存器用的,此時串行口有兩種不同的用處:一種是把串行口設置成“并入串出”的輸出口,另一種是把串行口設置成“串入并出”的輸入口。當串行口作輸出口時,SBUF(發送)相當于一個“并入串出”的移位寄存器,因而通常需要外接一片8位串/并轉換移位寄存器。

**1 ** 硬件設計
當51單片機的串行口工作在方式0時,RXD端用來輸出串行數據,TXD端用來輸出移位脈沖。利用51單片機的串行口外接一片串/并轉換芯片74LS164,再連接8只LED發光二極管,做成一個流水燈,如下圖所示。

在桌面上雙擊圖標,打開ISIS 7 Professional窗口(本人使用的是v7.4 SP3中文版)。單擊菜單命令“文件”→“新建設計”,選擇DEFAULT模板,保存文件名為“CB.DSN”。在器件選擇按鈕中單擊“P”按鈕,或執行菜單命令“庫”→“拾取元件/符號”,添加如下表所示的元件。
51單片機AT89C51    一片
晶體CRYSTAL 12MHz   一只
瓷片電容CAP 22pF    二只
電解電容CAP-ELEC 10uF   一只
電阻RES 10K         一只
電阻RES 300R(Ω)       八只
TTL芯片 74LS164.IEC   一片
發光二極管 LED-YELLOW   八只
若用Proteus軟件進行仿真,則上圖中的晶振和復位電路以及U1的31腳,都可以不畫,它們都是默認的。
在ISIS原理圖編輯窗口中放置元件,再單擊工具箱中元件終端圖標,在對象選擇器中單擊POWER和GROUND放置電源和地。放置好元件后,布好線。左鍵雙擊各元件,設置相應元件參數,完成電路圖的設計。

**2 ** 軟件設計
將51單片機的串行口方式0用于擴展并行輸出的流水燈,其流程圖如下所示。

將51單片機的串行口方式0用于擴展并行輸出的流水燈,其詳細的C51程序如下。
/*********************************************
*串/并轉換控制八只發光二極管的流水燈,12M晶振
*********************************************/
#include "reg51.h"
#define uchar unsigned char
#define uint unsigned int

/****延時函數*******************************/
void delayms(uint t)
{
uint i,j;
for(i=0;i<t;i++)
for(j=0;j<120;j++)
;
}

main()
{
uchar k,l;
SCON=0X00;      //串行口初始化為方式0
while(1)
{
k=0x7f;
for(l=0;l<8;l++)
{
SBUF=k;
delayms(200);
k=(k>>1)|0x80;
}
}
}
打開Keil程序(本人使用的是Keil8.05中文版),執行菜單命令“工程”→“新建工程”創建“串并”項目,并選擇單片機型號為AT89C51。執行菜單命令“文件”→“新建”創建文件,輸入C語言源程序,保存為“CB.C”。在Project Workspace窗口中右擊源代碼組1,選擇“添加文件到組‘源代碼組 l’”將源程序“CB.C”添加到項目中。
在Keil中執行執行菜單命令“工程”→“創建目標”(或點擊“創建目標”快捷按鈕),編譯源程序。如果編譯成功,則在“Output Window”的“創建”窗口中顯示沒有錯誤,并創建了“CB.HEX”文件。

**3 ** 仿真與調試
關于Proteus與Keil的聯合仿真調試,可參見我以前所寫的博文或其它參考資料。需注意Proteus的ISIS與Keil的μVision3中“CB.HEX”的路徑要一致。
啟動Proteus的ISIS,并將其放在屏幕的右上角(可將原理圖放大到合適大小);再啟動Keil的μVision3,并將其放在屏幕的左下角。
在Keil的μVision3中執行菜單命令“調試”→“啟動/停止調試”,或直接單擊圖標,進入Keil的μVision3調試環境。同時,在Proteus ISIS的窗口中可看出Proteus也進入了程序調試狀態。
在Keil的μVision3代碼編輯窗口中設置相應斷點,斷點的設置方法:在需要設置斷點語句前雙擊鼠標左鍵,可設置斷點;再次雙擊,可取消該斷點。
在Keil的μVision3中按F5鍵(或點擊“運行”快捷按鈕)運行程序。首先,并行數據0X7F由SBUF串行輸出,再由74LS164將其轉換為并行數據,從而點亮D1發光二極管,等待200ms后并行數據0XBF由SBUF串行輸出,再由74LS164將其轉換為并行數據,從而D1熄滅同時點亮D2發光二極管,再次等待200ms后并行數據0XDF由SBUF串行輸出,再由74LS164將其轉換為并行數據,從而D2熄滅并點亮D3發光二極管……,點亮D8發光二極管等待200ms熄滅后,再次點亮D1發光二極管……如此循環。或可以點擊單步、運行到光標處、全速運行等快捷按鈕,以及同時觀察工程窗口寄存器頁面、存儲器窗口等,來進行仿真調試。






歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 精品久久99 | 成人免费视频网站在线观看 | 国产成人精品网站 | a在线视频观看 | 国产一区二区三区免费观看在线 | 欧美福利视频 | 欧美不卡一区二区三区 | 手机看片在线播放 | 国产精品高清一区二区三区 | www中文字幕| 99综合网| 亚洲欧美精品在线观看 | 国产成人91| 国产欧美精品一区二区 | 国产四虎 | 久久99精品久久久久久秒播九色 | 午夜三级在线观看 | 日韩精品一 | 一区二区三区在线免费观看 | 国产精品久久久久久久久久 | 欧美日韩视频一区二区 | 国产激情视频在线 | 国产农村妇女毛片精品久久麻豆 | 久久不射网 | 精精国产xxxx视频在线播放7 | 午夜性色a√在线视频观看9 | 91免费在线看 | 伊人精品在线视频 | 在线区| 欧美亚洲日本 | 在线观看免费黄色片 | 国产精品九九九 | 成人精品久久日伦片大全免费 | 亚洲成人av | 在线欧美一区二区 | 视频一区在线观看 | 狠狠插天天干 | 亚洲综合区 | 亚洲国产成人精品女人久久久野战 | 国产一级片 | 欧美不卡网站 |