1. Tng quan v STM8 Dng STM8 c 3 loi chnh: STM8S: Standard - loi thng dng v ph bin nht. STM8L: Ultra Low Power loi tit kim nng lng nht. STM8Ax: Automotive thng gp trong cc thit b gii tr, iu khin ca xe hi, tu thy, my bay, y ta ch quan tm n dng stm8s. Stm8s l dng vi iu khin 8 bits ca hng ST Microelectronic. Tng t nh cc dng vk 8bit khc nh AVR, PIC, 8051, stm8s c cc ngoi vi c bn nh GPIO, ADC 10 bits, 3 b TIMER, UART, SPI, I2C, PWM bn cnh n cn h tr cc ngoi vi phc tp nh USB, CAN, IrDA, LIN. B nh ni 128 bytes EEPROM 8Kbytes Flash. Rt d xy dng v pht trin cc ng dng nh hay driver (ng dng chuyn bit thc hin mt chuyn g nh iu khin ng c, giao tip vi LCD, ). Mc in p hot ng cho c 3v3 v 5v. c h tr th vin xy dng sn ca ST. Code trc quan, sinh ng bng ngn ng C. Np chng trnh v cng n gin bng giao thc 1 dy (SWIM) cc nhanh. V mt iu cc k ng quan tm l gi v cng r (tm 7.000 -> 20.000 1 chip). Trong lot bi ny tc gi s hng dn cc bn xy dng ng dng trn chip stm8s003f3 c cc thng s nh sau: Speed 16MHz Connectivity IC, IrDA, LIN, SPI, UART/USART Peripherals Brown-out Detect/Reset, POR, PWM, WDT Number of I /O 16 Program Memory Size 8KB (8K x 8) Program Memory Type FLASH EEPROM Size 128 x 8 RAM Size 1K x 8 Voltage - Supply (Vcc/Vdd) 2.95 V ~ 5.5 V Data Converters A/D 5x10b Oscillator Type Internal Operating Temperature -40C ~ 85C Package / Case 20-TSSOP (0.173", 4.40mm Width)
Hin ti trn th thng c bn cc loi kit STM8 Discovery cho tng dng ring bit ca chip ny. STM8S Discovery (dng con stm8s105 cng tng t stm8s003f3), STM8A Discovery, STM8L Discovery. 3Kit ny nhn chung l nh nhau, ch c mt vi im khc bit nh v phn thit lp (config) cc chn chc nng, cc ngoi vi. Cho nn nu khng c iu kin thit k mch hc, cc bn c th tm mua cc kit ny thc hnh cho tin. Mt phn ng quan tm l trn mi kit u c mt phn np v debug. y thc cht l 1 mch ST- LINK c chc nng np bng SWIM. Nu khng c kit ny, chng ta c 2 s la chn, mt l t thit k mch ST-LINK (phn ny s c bn bc sau) hoc mua mt mch np ST-LINK c bn ngoi th trng.
2. Thit k phn cng cho STM8
Trn y l mt mch nguyn l c bn cho dng STM8. Hu nh con STM8 no cng chy c vi s nguyn l tng t. Mch trn c thit k di dng Adapter cn mt mch pht trin hon chnh s c cp nht sau. C mt s iu cn lu l: + Dng STM8S003 c th khng cn thch anh ngoi v c thit lp bng dao ng ni. Nu dng thch anh ngoi th cn ni tip chn OSCOUT vi thch anh 1 tr < 100ohm + Chn VCAP cn ni vi t 1uf (nn dng t taltan). + C th khng cn tr ko ln cho chn RESET v n c tr ni ko ln trong chip ri. + VCC c th l 5v hay 3v3 do chip c th hot ng c 2 mc in p. + Khi cn np chng trnh cho chip, ta quan tm 4 dy l VDD, GND, SWIM v RESET. 3. Phn mm cho STM8S C nhiu cng cng lp trnh cho STM8S (gi l IDE) ta dng STVD (ST Visual Develop) IDE c dng xy dng cho tt c cc dng vk khin ca ST, thng qua trnh bin dch (compiler) Cosmic C for STM8. Dng STVP (ST Visual Programmer) np hoc thit lp kin kt (link) STVP vo STVD debug v np nh bnh thng. + Ti STVD http://www.st.com/web/catalog/tools/FM147/CL1794/SC1808/SS1767/PF210567 + Ti STVP http://www.st.com/web/en/catalog/tools/PF210568 2 link trn, ti bng cch nhn nt download pha di trang. Sau ci t 2 phn ny nh mt phn mm bnh thng. + Ti gi pht trin cho STM8S http://www.st.com/web/en/catalog/tools/PF257962 + Ti Cosmic C http://www.cosmicsoftware.com/download.php Xung pha di trang, ch STM8 32k. N s ra 1 ci nh vy
Sau khi nhp thng tin ng k, ta s download
Sau ta ci t nh bnh thng. Lc ci t xong, c ku ng k th ta s ng k vi thng tin ta in vo bc trn. Ci xong, ta s thy trnh dch ca mnh nm trong 1 ch tng t C:\Program Files\COSMIC\CXSTM8_32K 4. M t th vin STM8S standard firmware library y l th vin ST vit sn n gin ha cc bc thit lp ngoi vi bng cch s dng hm. Gi s thay v thit lp thanh ghi GPIOA gi tr 0x01, ta ch cn gi hm GPIOW(GPIO,0x01). Vic ny lm n gin v tit kim thi gian rt nhiu cho lp trnh vin trong cc chng trnh ln. Cn lm quen vi vic ny thay v thit lp gi tr cho tng thanh ghi. Cng cn phi ni thm trong mt s trng hp nht nh, vic gn gi tr cho thanh ghi c li hn s dng hm tng t. Cch t chc cc file trong th vin
Lu 2 file l stm8s.h: b comment dng no chn chip tng ng. stm8_conf.h c cha cc ngoi vi m mnh s dng, khi thao tc vi ngoi vi no th cn chn ngoi vi . 5. Thit lp cho STVP nhn chip stm8s003f Menu Configure -> Configure ST Visual Programmer, chn nh hnh:
Ni dy SWIM, RESET, GND ca mch vi mch np (c th ni VCC ca ngun vi mch np nu mch cha c ngun ring nhng 2 mch ny phi chung GND). Nu nh thit t ng, khi ta chn Read -> Current tab, ta c th c c ni dung ca chip. Trong trng hp ny, tc gi dng mch np c sn trn kit STM8S Discovery np cho con stm8s003f. lm c iu ny, ta phi dng m hn, g 2 con tr 0hm SB1 v SB2 nh hnh ri dng dy ni tng ng qua mch cn np. Khi s dng mch np ST-LINK th cng lm theo cch tng t.
np 1 file xung chip, ta chn Open -> chn file *s19 hay *sx hay *hex. Thng th sau khi bin dch xong, file *s19 s c to ra trong tn th mc project -> STVD - > Cosmic -> debug. Qua cc bc trn, ta bit c cch c ni dung ca 1 chip v ghi d liu xung chip. Mi dng vk ca ST cng c thc hin mt cch tng t vi cc chun np tng ng. 6. To project vi STVD v chng trnh cc chng trnh mu. Sau khi ti gi pht trin STM8S v v gii nn, ta s thy cu trc ca n tng t nh hnh sau:
Th mc Libraries cha 2 th vin, ta ch quan tm n th vin STM8S_StdPeriph_Driver, th mc Projects cha cc project mu v cng l project ca mnh to ra. + Copy th mc Project_template v paste vo ngay ti , i tn n thnh th mc, v d l My_own_project, tng t nh hnh
+ M STVD, chn File -> Open Workspace, m file \STM8SDISCOVERY_dev\Project\My_own_project\STVD\Cosmic\STVD_workspace.stw
+ Click phi vo Project -> settings, chn trnh dch v chip nh 2 hnh sau:
+ Click phi FWLib pha di stvd_project khung bn tri, chn Add Files to Folder, tm file sm8s.h trong STM8SDISCOVERY_dev\Libraries\ STM8S_StdPeriph_Driver\inc.
+ Thm dng #include <stm8s.h> trong main.c
+ B comment trong file stm8s.h nh hnh sau: ca file stm8s.h
+ Click phi vo Include Files, chn Add Files to Folder, chn file stm8s_conf.h trong My_own_project\inc
+ Chp ngoi vi s dng vo th mc tng ng. Gi s dng GPIO, th ta Add files stm8s_gpio.h v stm8s_gpio.c t STM8SDISCOVERY_dev\Libraries\STM8S_StdPeriph_Driver\inc v STM8SDISCOVERY_dev\Libraries\STM8S_StdPeriph_Driver\src vo Include Files\FWLib v Source Files\FWLib
+ Sau , chn Build -> Build all hoc nhn F7. Sau khi build xong, chn Debug -> Start Debugging debug chng trnh. Sau bc build chng trnh, 1 file *.s19 s c to ra trong th mc My_own_project\STVD\Cosmic\Debug, c th dng file ny np trc tip bng STVP khng qua debug.
Cu Lc B Robot i hc Bch Khoa TPHCM Phng th nghim thy lc kh nn xng c kh C1 i hc Bch Khoa TPHCM
Nạp bootloader, Arduino code cho dòng chíp thấp Atmega8 - 48 - 88 bằng IDE 1.8.7 và sử dụng chíp Atmega như một mạch Arduino hoàn chỉnh - Cộng đồng Arduino Việt Nam