1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Bài tập lớn môn Hệ thống nhúng: Sử dụng vi điều khiển STM32F103C8T6 thiết kế đồng hồ đo điện áp, hiển thị giá trị lên led 7 thanh dải đo từ 1 - 12V, sử dụng 1 nút nhấn chuyển

26 50 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 815,57 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nghiên cứu đề tài với mục đích để tìm hiểu thêm về ARM, làm quen với các thiết bị điện tử, cách lập trình và nâng cao hiểu biết cho bản thân. Mời các bạn cùng tham khảo!

Trang 1

H C VI N CÔNG NGH  B U CHÍNH VI N THÔNGỌ Ệ Ệ Ư Ễ

BÁO CÁO

Đ  Tài: 

S  d ng vi đi u khi n STM32F103C8T6 ử ụ ề ể  thi t k  đ ng h  đo đi n áp, ế ế ồ ồ ệ  

hi n th  giá tr  lên led 7 thanh d i đo t  1 ­ 12V, s  d ng 1 nút nh n ể ị ị ả ừ ử ụ ấ  

chuy n thang đo gi a V và mV ể ữ

Gi ng viên hả ướng d n   :      Th y Nguy n Ng c Minhẫ ầ ễ ọ

Trang 3

M C L C Ụ Ụ

Trang 4

DANH M C HÌNH V Ụ Ẽ

DANH M C B NG Ụ Ả

Trang 5

L I NÓI Đ U Ờ Ầ

Hi n nay, khoa h c công ngh  ngày càng phát tri n, vi đi u khi n ARM đang ệ ọ ệ ể ề ể   ngày càng thông d ng và phát tri n h n. Trong đó STM32F1x là m t lo i r t ụ ể ơ ộ ạ ấ  

ph  bi n đ ổ ế ượ ử ụ c s  d ng trong nhi u lo i thi t b , nó cũng cung c p các ph ề ạ ế ị ấ ươ   ng

ti n đ  liên k t v i nhi u lo i vi đi u khi n khác. Dòng MCU STM32f1x do ệ ể ế ớ ề ạ ề ể   STMicroelectronics t o ra bao g m lõi x  lí ARM Cortex­M3 32 bit và h  tr  các ạ ồ ử ỗ ợ   ngo i vi thông d ng nh  I2C, SPI, RTC,…  ạ ụ ư Ngôn ng  l p trình vô cùng d  s ữ ậ ễ ử 

d ng t ụ ươ ng thích v i ngôn ng  C và th  vi n r t phong phú và đ ớ ữ ư ệ ấ ượ c chia s ẻ 

mi n phí. Chính vì nh ng lý do nh ễ ữ ư v y nên ARM hi n đang d n ph  bi n và ậ ệ ầ ổ ế  

đ ượ c phát tri n ngày càng m nh m ể ạ ẽ trên toàn th  gi i ế ớ

Trên c  s  ki n th c đã h c trong môn h c: K  thu t vi x  lý, h  th ng ơ ở ế ứ ọ ọ ỹ ậ ử ệ ố   nhúng,… Cùng v i nh ng hi u bi t c a mình v  các thi t b  đi n ớ ữ ể ế ủ ề ế ị ệ  t , nhóm em ử  

đã quy t đ nh th c hi n đ  tài:  ế ị ự ệ ề S  d ng vi đi u khi n STM32F103C8T6 ử ụ ề ể  thi t ế  

k  đ ng h  đo đi n áp, hi n th  giá tr  lên led 7 thanh d i đo t  1 ­ 12V, s ế ồ ồ ệ ể ị ị ả ừ ử  

d ng 1 nút nh n chuy n thang đo gi a V và mV ụ ấ ể ữ  v i m c đích đ  tìm hi u ớ ụ ể ể   thêm v  ARM, làm quen v i các thi t b  đi n t ,cách l p trình và nâng cao hi u ề ớ ế ị ệ ử ậ ể  

bi t cho b n thân. Trong quá trình th c hi n có l  khó có th  tránh kh i nh ng ế ả ự ệ ẽ ể ỏ ữ   thi u sót, ế  h n ch  vì th  nhóm em r t mong có đ ạ ế ế ấ ượ ự c s  góp ý và nh c nh  t ắ ở ừ 

th y giáo đ  có th ầ ể ể hoàn thi n đ  tài c a mình ệ ề ủ

Em xin trân thành c m  n! ả ơ

Trang 6

PH N 1

T NG QUAN

I) Gi i thi u chung v  board ARM STM32F103C8T6 V2ớ ệ ề

Board ARM STM32F103C8T6 là m t trong nh ng Kit c  b n giành cho: ộ ữ ơ ả  k  s ,ỹ ư  

h c sinh,ọ  sinh viên, người m i b t đ u nghiên c u v  l p trình nhúng, Board m ch sớ ắ ầ ứ ề ậ ạ ử 

d ng vi đi u khi nụ ề ể  STM32F103C8T6 Arm Cortex­M3, Flash: 64 KB, SRAM: 20KB, 

h  tr  h u h t các k t n i:ỗ ợ ầ ế ế ố  SPI, USART, I2C, I2S, CAN…  Là tr  th  đ c l c trongợ ủ ắ ự  

Trang 7

K t n i:  SPI, UART, I2C, CAN,…ế ố

RTC đ  chính xác caoộ

USB:  2.0, DMA

II) Gi i thi u v  Led 7 thanh anode chungớ ệ ề

Led 7 thanh hay còn được g i là Led 7 đo n, bao g m 7 đo n đèn Led đọ ạ ồ ạ ược x p l iế ạ  

v i nhau thành hình ch  nh t. Khi các đo n l p trình đ  chi u sang thì s  hi n th  chớ ữ ậ ạ ậ ể ế ẽ ể ị ữ 

s  c a h  th p phân. Đôi khi có nhi u Led 7 thanh đố ủ ệ ậ ề ược n i v i nhau đ  có th  hi nố ớ ể ể ể  

th  đị ược các s  l n h n 2 ch  s ố ớ ơ ữ ố

Hình 1. : Hình  nh Led 7 thanh anode chung

V i các đo n Led trong màn hình đ u đớ ạ ề ược n i v i các chân k t n i đ  đ a raố ớ ế ố ể ư  ngoài. Các chân này được gán các kí t  t  a đ n g, chúng đ i di n cho t ng Led riêngự ừ ế ạ ệ ừ  

l  Các chân đẻ ược k t n i v i nhau đ  t o thành 1 chân chung.ế ố ớ ể ạ

Chân pin chung hi n th  thể ị ường được s  d ng đ  xác đ nh l o màn hình Led 7ử ụ ể ị ạ  thanh đó là lo i nào. Có 2 lo i Led 7 thanh đạ ạ ược s  d ng đó là Cathode chung vàử ụ  Anode chung

Trang 8

Các phương pháp đi u khi n Led 7 đo n:ề ể ạ

1. K t n i các chân đi u khi n c a Led tr c ti p v i port c a vi đi u khi n.ế ố ề ể ủ ự ế ớ ủ ề ể

2. Dùng quét Led

3. V n s  d ng quét Led nh ng dùng IC ch t d  li u đ  ti t ki m các chân ẫ ử ụ ư ố ữ ệ ể ế ệ

c a vi đi u khi n.ủ ề ể

Trang 10

Kh i nút nh n:  Có ch c năng chuy n đ i hi n th  gi a V và mV.ố ấ ứ ể ổ ể ị ữ

Kh i hi n th :  Dùng Led 7 đo n đ  hi n th  giá tr  đi n áp.ố ể ị ạ ể ể ị ị ệ

3) S  đ  k t n i ph n c ngơ ồ ế ố ầ ứ

a) Kh i m ch phân ápố ạ

Trang 11

Hình 2. : S  đ  kh i m ch phân áp ơ ồ ố ạ

Đi n áp c n đo đệ ầ ược n i vào chân PA0 c a vi đi u khi n, do d i đo c a ADC chố ủ ề ể ả ủ ỉ 

n m trong kho ng 0 – 3.6V nên đ  đo đằ ả ể ược m c đi n áp cao h n, ta c n ph i m cứ ệ ơ ầ ả ắ  chúng qua m t m ch phân áp.ộ ạ

Pin PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PA1 PA2 PA3 PA4

B ng  : B ng k t n i chân c a Led 7 đo n v i board ARM ả ế ố ủ ạ ớ

c) Nút nh n chuy n tr ng tháiấ ể ạ

Trang 12

Hình 2. : Nút nh n chuy n tr ng thái ấ ể ạ

Nút nh n đấ ược n i v i chân PC13 c a vi đi u khi n, tích c c   m c th p.ố ớ ủ ề ể ự ở ứ ấ

d) S  đ  k t n i chung cho các kh iơ ồ ế ố ố

Hình 2. : S  đ  k t n i chung ơ ồ ế ố

Trang 13

II) Vi t chế ương trình C cho m ch

1) C u hình RCC

Trên STM32F103 có 2 b  giao đ ng th ch anh ngo i:ộ ộ ạ ạ

HSE (High Speed External): B  dao đ ng ngo i t c đ  cao t  4­16Mhz. Bộ ộ ạ ố ộ ừ ộ dao đ ng c p cho CPU ho t đ ng.ộ ấ ạ ộ

LSE (Low Speed External): B  dao đ ng ngo i t c đ  th p 32.768KHz. Bộ ộ ạ ố ộ ấ ộ dao đ ng này c p cho b  RTC có s n trên chip.ộ ấ ộ ẵ

HSI (High Speed Internal): B  giao đ ng n i t c đ  cao 8MHz. B  này sộ ộ ộ ố ộ ộ ẽ cung c p cho CPU tr ng trấ ọ ường h p không có HSE.ợ

LSI (Low Speed Internal): B  này dung đ  c p cho Watchdog Timer có t nộ ể ấ ầ  

s  40KHz.ố

Hình 2. : Clock tree

C u hình RCC s  d ng th ch anh n i (HSI) v i t n s  ho t đ ng l n nh t là ấ ử ụ ạ ộ ớ ầ ố ạ ộ ớ ấ64MHz

Trang 14

void Clock_Config(void)

Trang 16

ph i đ c liên t c t  kênh 0­nả ọ ụ ừ

Vref: đi n áp so sánh. Đ i v i chip 144 chân s  có chân input đi n áp soệ ố ớ ẽ ệ  sánh 2.4V≤ Vref ≤ 3.6V. Và ph i có l c c n th n đ  ADC ho t đ ng  nả ọ ẩ ậ ể ạ ộ ổ  

đ nh. V i chip 64 chân tr  xu ng chúng ta không c n quan tâm vì đi n ápị ớ ở ố ầ ệ  

so sánh l y   trong chip và b ng VDDấ ở ằ

Đi n áp input cho kênh ADCệ   Vref­ ≤ Vin ≤ Vref+

Trang 17

hi n theo 1 trình t  t  trên xu ng dệ ự ừ ố ưới mà không có b t kì s  can thi p nào. Đi u đó làấ ự ệ ề  

b t l i khi có 1 tác đ ng ngoài x y ra, chấ ợ ộ ả ương trình s  không x  lí k p th i d n đ nẽ ử ị ờ ẫ ế  

vi c b  qua tác đ ng đó. Ng t ra đ i đ  ph c v  cho các s  c  đó.ệ ỏ ộ ắ ờ ể ụ ụ ự ố

M t s  tính năng chính c a ng t ngoài:ộ ố ủ ắ

Kích ho t đ c l p và m t n  cho m i line s  ki n/ng t.ạ ộ ậ ặ ạ ỗ ự ệ ắ

Trang 18

Có bit tr ng thái riêng cho m i line ng t.ạ ỗ ắ

EXTI_InitTypeDef  EXTI_InitStructure; // EXTI struct

      NVIC_InitTypeDef         NVIC_InitStructure; // NVIC struct

GPIO_InitTypeDef      GPIO_InitStructure;

//cap clock cho ngat ngoai va ngoai vi

Trang 19

RCC_APB2Periph_AFIO, ENABLE);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 ;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;

GPIO_Init(GPIOC, &GPIO_InitStructure);

/* mapping */

GPIO_EXTILineConfig(GPIO_PortSourceGPIOC, GPIO_PinSource13);

Công th c đi n áp ra c a ADC:ứ ệ ủ

T  công th c ừ ứ (1) ta tính ra được đi n áp c n đo theo công th c:ệ ầ ứ

Hàm tính giá tr  đi n áp đo đị ệ ược:

void Get_Value(){

sumadc = 0;for(int i = 0; i<10; i++){

Trang 20

sumadc += value;

  Delay(1);

} sumadc /= 10;voltage = sumadc*12.111/4095;}

6) Hàm quét Led

 bài toán đi u khi n Led 7 thanh chúng ta th ng áp d ng theo cách n i m i

con Led 7 thanh vào 8 chân data đ c l p. Tuy nhiên vi c này s  gây lãng phí s  chânộ ậ ệ ẽ ố  

đi u khi n Led và gi i h n s  Led có th  đi u khi n. V i s  Led tăng lên đ  l n sề ể ớ ạ ố ể ề ể ớ ố ủ ơ ố chân cũng c n tăng lên r t nhi u. Đ  gi i quy t bài toán này có m t kĩ thu t nêu ra làầ ấ ề ể ả ế ộ ậ  

kĩ thu t ậ “Quét Led”.

K  thu t quét Led th c hi n theo nguyên t c m t th i đi m ch  b t m t Led 7ỹ ậ ự ệ ắ ộ ờ ể ỉ ậ ộ  thanh v i d  li u nó c n hi n th , các Led còn l i đớ ữ ệ ầ ể ị ạ ượ ắc t t. Vi c quét Led th c hiênệ ự  luôn phiên sáng v i các yêu c u trên. Quá trình quét Led chu n đớ ầ ẩ ược th c hi n theo cácự ệ  

bước sau:

Bước 1: Xu t ra mã c n hi n th ấ ầ ể ị

Bước 2: C p ngu n cho Led mu n hi n th ấ ồ ố ể ị

Bước 3: Tr  1 kho ng th i gian đ  duy trì sáng.ễ ả ờ ể

Bước 4: C t ngu n Led v a hi n th ắ ồ ừ ể ị

Th c hi n nh ng bự ệ ữ ước trên nhi u l n m i giây làm m t ta có c m giác r ng 4ề ầ ỗ ắ ả ằ  Led đ u đang đề ược b t.ậ

Trang 23

Hình 2. : M ch tr ạ ướ c khi nh n nút

Sau khi nh n nút:ấ

Trang 24

Hình 2. : M ch sau khi nh n nút ạ ấ

Trang 25

PH N 3

K T LU N Ế Ậ

1) Nh ng đi u đ  tài làm đữ ề ề ược

Nh  v y v i đ  tài: ư ậ ớ ề S  d ng vi đi u khi n STM32F103C8T6ử ụ ề ể  thi t k  đ ng hế ế ồ ồ 

đo đi n áp, hi n th  giá tr  lên led 7 thanh d i đo t  1 ­ 12V, s  d ng 1 nút nh nệ ể ị ị ả ừ ử ụ ấ  chuy n thang đo gi a V và mVể ữ  Đ  tài đã đ t đề ạ ược nh ng v n đ  sau:ữ ấ ề

Đã gi i thi u s  lớ ệ ơ ược v  các thành ph n ph n c ng khá chi ti t và dề ầ ầ ứ ế ễ 

d n đ n áp d ng các hàm, câu l nh b  sai ý nghĩa, c u trúc,… Trong quá trình vi tẫ ế ụ ệ ị ấ ế  

chương trình g p ph i nhi u l i mà không tìm ra ngay đặ ả ề ỗ ược nguyên nhân d n đ n c nẫ ế ầ  

đ u t  nhi u th i gian cho quá trình s a l i. Tuy nhiên, nhóm em đã c  g ng gi iầ ư ề ờ ử ỗ ố ắ ả  quy t đế ược v n đ  phát sinh đ  hoàn thành đ  tài.ấ ề ể ề

Do ki n th c còn nhi u h n ch , chúng em t  th y đ  tài c a mình th c hi n v nế ứ ề ạ ế ự ấ ề ủ ự ệ ẫ  còn nhi u sai sót, khi m khuy t. Vì v y, chúng em r t mong nh n đề ế ế ậ ấ ậ ượ ực s  góp ý và giúp đ  c a th y giáo đ  đ  tài đỡ ủ ầ ể ề ược hoàn thi n h n và có thêm nhi u c i ti n đángệ ơ ề ả ế  

k  đ   ng d ng t t h n vào th c ti n.ể ể ứ ụ ố ơ ự ễ

Trang 26

TÀI LI U THAM KH O Ệ Ả

[1] Bài gi ng K  thu t vi x  lí,  ả ỹ ậ ử Th y Nguy n Qu c Uyầ ễ ố , HVCNBCVT.

[2] Bài gi ng H  th ng nhúng,  ả ệ ố Th y Nguy n Ng c Minhầ ễ ọ . HVCNBCVT.

[3] STM32F1xx­Reference­Manual, ST­Microelectronics.

[4] https://khuenguyencreator.com/lap­trinh­stm32­doc­adc­mot­kenh/

[5] STM32F10x­standard­peripheral­library, ST­Microelectronics

Ngày đăng: 08/02/2022, 14:07

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w