日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]引 言:目前介紹單片機應用的文章很多,但介紹單片機開發(fā)工具制作的文章卻較少。由于單片機是一門實踐性很強的課程,如果采用傳統(tǒng)的開發(fā)模式,則要購買價格昂貴的仿真器、編程器等開發(fā)工具來作實驗。其實由于芯片功能

引 言:

目前介紹單片機應用的文章很多,但介紹單片機開發(fā)工具制作的文章卻較少。由于單片機是一門實踐性很強的課程,如果采用傳統(tǒng)的開發(fā)模式,則要購買價格昂貴的仿真器、編程器等開發(fā)工具來作實驗。其實由于芯片功能的日益完善,我們可以利用芯片的在系統(tǒng)編程(ISP)功能制作出實用而低價的開發(fā)工具。本文旨在幫助DIY愛好者開發(fā)制作出適合自己的開發(fā)工具。

1 當前常用開發(fā)模式

目前,基本上有兩種開發(fā)模式可供選擇:用仿真器、用編程器。

① 用仿真器。優(yōu)點:方便,可以設置斷點,可以觀察存儲器及寄存器的內容。缺點:價格昂貴,不同類型的單片機要購買不同的仿真器;仿真器終究不是單片機,有時代碼在仿真器上能通過,但在單片機中不能正常工作,反而增加了調試的難度。

② 用編程器。優(yōu)點:價格相對便宜,通常一款編程器可編程多種器件。缺點:操作相當不便,每次要將芯片在目標板與編程器之間轉移,并且還要在編譯操作界面與編程器操作界面之間切換,大部分時間在做簡單的重復工作。

2 新的開發(fā)模式介紹及芯片選擇

本文介紹的開發(fā)工具采用一種新的開發(fā)模式(類似于編程器開發(fā)模式)。由于利用了芯片的在系統(tǒng)編程功能,因此不需要移動芯片。在軟件設計時設計成:一旦代碼文件被重新編過,即自動下載到芯片,并自動復位運行,是真正的“所編即所得”。

目前很多單片機都支持在系統(tǒng)編程。8051系列單片機支持在系統(tǒng)編程的也很多,但大多數是支持通過PC機的串口對單片機進行編程。這樣有四個不方便的地方:一是項目本身與PC機串行通信不方便;二是要增加1片MAX232電平轉換芯片;三是有的芯片要按特定的步驟進入下載模式,編程過程需要手工干預;四是有的芯片需要固件(定制的程序)的支持,如果不小心損壞了固件,則芯片的在系統(tǒng)編程功能也沒有了。

經過比較,Atmel公司生產的AT89S8252是一種比較理想的芯片,適合制作開發(fā)工具。此芯片有如下特點:

與8051兼容;

內含8KB可擦寫1000次的程序存儲器,2KB可擦寫超過100 000次的數據存儲器及256字節(jié)8位寬內部RAM;

可通過SPI接口在系統(tǒng)串行編程,與8051兼容

串行編程時有自動擦寫周期,在調試大程序時可以分段下載,節(jié)約時間;

低電壓下載,無需12V編程電壓。

3 AT89S8252串行編程

(1)AT89S8252串行編程模式

當芯片的RST引腳置高電平時,所有程序和數據存儲器可以通過SPI總線接口[SCK,MOSI(input),MISO(output)]編程。RST變高以后,在編程或擦除操作之前必須首先發(fā)送一條編程允許命令。在串行編程模式下,芯片會在字節(jié)編程之前自動插入一個擦除周期。因此,除非芯片的代碼保護位被編程,編程之前不需要執(zhí)行全片擦除命令。SPI接口之SCK時鐘頻率須低于晶振頻率的1/40。

(2)AT89S8252串行編程步驟

① 在XTAL1與XTAL2之間連接一個3~24MHz的晶振;在VCC與GND之前加上電源電壓,將RST置高,等待10ms。

② 發(fā)送串行編程允許命令。

③ 發(fā)送寫/讀/擦除等命令及數據,串行數據高位在前,低位在后,數據在時鐘的上升沿鎖定。

④ 如果上一步是寫命令,至少等待2.5ms。

⑤ 需要時重復③、④兩步。

⑥ 將RST置低,芯片開始運行。

(3)AT89S8252串行編程命令

AT89S8252串行編程命令如表1所列。

 

 

4)AT89S8252串行編程時序圖

AT89S8252串行編程時序如圖1所示。

 

 

4 硬件設計

① 通過計算機并口與單片機SPI口連接;

② 為了保護計算機并口,需要增加1片74HC244作為隔離。

實用的原理圖如圖2所示。(已經過實踐檢驗,可放心使用。)

 

 

5 用VB編程進行并口控制

打印端口的基地址一般為0x278、0x378或0x3BC,可以從控制面板中查到。為了方便讀者,表2列出了常用打印端口引腳及寄存器位元的說明。

 

 

在Windows環(huán)境下最簡單易學的語言恐怕非VB莫屬,所以我們的開發(fā)工具也選用VB作為編程語言。但由于Windows的保護,VB無法直接讀寫打印端口,因此我們需要另外的程序模塊來實現打印端口的直接讀寫。在Internet網上可以找到許多此類模塊,并且相當多的模塊可以免費使用。經過試用,筆者推薦使用Winio v2.0。該模塊支持Win9X/NT/2000/XP(http://www.internals.com Yariv Kaplan ),并且?guī)в性敿毜膸椭⒗映绦蚣霸创a。使用時,將Winio.sys、Winio.dll、Winio.vxd及Winio.bas四個文件拷貝到工作目錄下,在VB中直接添加Winio.bas模塊即可。本例中用到的函數有四個,分別說明如下。 ① Initialize():允許端口控制函數。在使用端口輸入輸出函數之前調用一次,成功返回“1”,失敗返回“0”。

② Shutdown():關閉端口控制函數。在退出程序時執(zhí)行一次,成功返回“1”,失敗返回“0”。

③ GetPortVal(ByVal PortAddr As Integer, ByRef Portval As Long, ByVal bSize As Byte) As Boolean:讀取端口函數,PortAddr 為端口地址, Portval為端口值,bSize為要讀取的字節(jié)數。讀取成功時返回“1”,失敗時返回“0”。

④ SetPortVal(ByVal PortAddr As Integer, ByVal Portval As Long, ByVal bSize As Byte) As Boolean:寫端口函數。PortAddr 為端口地址, Portval為要寫的值,bSize為要寫入的字節(jié)數。寫入成功返回“1”,失敗返回“0”。

四個函數在Winio.bas模塊中的聲明如下:

Declare Function InitializeWinIo Lib 揥inIo.dll” () As Boolean

Declare Function ShutdownWinIo Lib 揥inIo.dll” () As Boolean

Declare Function GetPortVal Lib 揥inIo.dll” (ByVal PortAddr As Integer, ByRef Portval As Long, ByVal bSize As Byte) As Boolean

Declare Function SetPortVal Lib 揥inIo.dll” (ByVal PortAddr As Integer, ByVal Portval As Long, ByVal bSize As Byte) As Boolean

6 Intel HEX 格式文件

由于一般編譯軟件產生的用于寫入芯片的文件都是Intel HEX格式的文件。Intel HEX文件屬于文本文件,可以用記事本查看。一個Intel HEX文件的一行稱為一個記錄,每個記錄都是由十六進制字符組成的,兩個字符表示一個字節(jié)的值。Intel HEX文件通常由若干條記錄組成,每個記錄都具有如下的形式:

:LLAAAATTDD...DDCC

“:”——記錄的起始標志;

LL——記錄長度,表示該記錄中的數據字節(jié)數;

AAAA——數據裝入的首地址(16位);

TT——記錄類型,00表示數據記錄,01表示文件結束;(注意:有的編譯軟件會產生大于01的記錄類型,本應用中對大于01記錄類型的記錄忽略掉即可。)

DD——數據值(字節(jié));

CC——校驗和。(將其本身與記錄中除起始標志外的所有字節(jié)相加應為0,不為0則有錯。)

VB編程詳細說明見本刊網絡補充版(http://www.dpj.com.cn)。(由于各子程序的流程都較簡單,所以直接給出源碼,而未畫出流程圖。程序采用由底至頂的設計方法。)

結 語

雖然上述程序能實現各種基本的功能,但并不完善,并未考慮各種異常情況,讀者可根據實際情況進行完善。編程功力較差的朋友可直接到筆者的網站(http: //www.mcudiy.com)下載相對較完善的應用程序 。如果充分理解了上述程序,那么DIY一個AVR或PIC單片機的開發(fā)工具也非難事。在筆者的網站也有制作完成的“MCS51/AVR/PIC三合一下載器資料”供愛好者下載。

由于AT89S8252的價格還是較貴,所以現在市場上較難買,不過Atmel公司推出的替代AT89C51/52的AT89S51/52也有在系統(tǒng)編程功能,且價格便宜。其在系統(tǒng)編程的實現方法與AT89S8252類似,對本例部分程序稍作修改即可支持該器件。筆者制作的“MCS51/AVR/PIC三合一下載器”增加了對AT89S51/52的支持。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

二十余項改革全國全市推廣,700余事項100%全程網辦 北京2025年9月5日 /美通社/ -- 9月4日,在北京市人民政府新聞辦公室舉行的"一把手發(fā)布?京華巡禮"系列主題新聞發(fā)布會上,北京經開區(qū)對...

關鍵字: DIY 人工智能 加速器 機器人

上海2025年2月20日 /美通社/ -- 聯(lián)合利華合肥工業(yè)園全新物流模式——"工廠直接履約消費者"(以下簡稱"FTC")模式全面上線四個月以來,已成功履超150萬單訂單。該模式緊貼中國數字電商市場的快速發(fā)展趨勢,通過實...

關鍵字: 供應鏈 觸點 MDASH PLAYER

上海2024年10月18日 /美通社/ -- 10月18日,由中國調味品協(xié)會、上海太太樂食品有限公司主辦,上海虹橋國際中央商務區(qū)指導的"2024太太樂鮮味科學研討會"在上海舉辦。 多年來,太太樂始...

關鍵字: 研討會 AI MDASH BSP

北京2024年9月3日 /美通社/ -- 近日,中共中央、國務院發(fā)布了《關于加快經濟社會發(fā)展全面綠色轉型的意見》,這是中央層面首次對加快經濟社會發(fā)展全面綠色轉型進行系統(tǒng)部署。其中,《意見》對交通運輸領域的綠色轉型提出了明...

關鍵字: POWER 新能源汽車 MDASH RC

在這個DIY(自己動手制作)的時代,許多人都熱衷于從零開始制造各種設備。其中,自制微型交流電焊機是一個相當具有挑戰(zhàn)性和實用性的項目。通過這個項目,你可以學習到很多關于電子工程和電焊技術的知識。本文將詳細介紹如何自制微型交...

關鍵字: DIY 微型交流電焊機 電子工程

百強品牌總價值連續(xù)三年突破萬億美元大關,騰訊、阿里和茅臺蟬聯(lián)前三甲 上海2023年9月8日 /美通社/ -- 今日,2023凱度BrandZ中國品牌盛典以“品牌升維 · 行穩(wěn)致遠&r...

關鍵字: AN MDASH CE 人工智能

創(chuàng)新生態(tài),韌性增長,共探食品行業(yè)新發(fā)展 上海2022年12月19日 /美通社/ -- 12月18日,第十一屆“中國食品健康七星獎”(下稱“七星獎”)頒獎典禮在上...

關鍵字: RSQUO 可持續(xù)發(fā)展 BSP MDASH

北京2022年12月16日 /美通社/ -- 近日,受工業(yè)和信息化部節(jié)能與綜合利用司委托,中汽數據有限公司(簡稱“中汽數據”)正式公布“2022年汽車行業(yè)綠色發(fā)展指數(GDI...

關鍵字: 寶馬 供應鏈 MDASH BSP

與很多DIY電腦配件的更新?lián)Q代不一樣,固態(tài)硬盤與機械硬盤在市面上已經博弈多年,不過由于固態(tài)硬盤高昂的價格,消費者一直無法放棄物美價廉的機械硬盤。但隨著SSD固態(tài)硬盤技術的成熟,固態(tài)硬盤的價格也越來越親民,目前很多120G...

關鍵字: DIY 機械硬盤 SSD

廣州2022年12月5日 /美通社/ -- 近日,國際獨立第三方檢測、檢驗和認證機構德國萊茵TUV大中華區(qū)(以下簡稱“TUV萊茵”)成功舉辦“質勝...

關鍵字: 汽車產業(yè) MDASH 汽車工業(yè) 汽車行業(yè)
關閉