MỤC
LỤC
MỤC LỤC 1
A. Lời nói đầu 2
B. Nội dung 3
Chương 1: Giới thiệu chức năng, nhiệm vụ, cơ cấu tổ chức của công ty 3
1.1Giới thiệu về đơn vị thực tập 3
1.2Chức năng, nhiệm vụ của đơn vị thực tập 3
1.3Cơ cấu tổ chức 4
Chương 2: Nội dung thực tập 7
2.1Vị trí, yêu cầu tuyển dụng 7
2.2Các lĩnh vực hoạt động của công ty 7
2.3Công việc được giao trong đợt thực tập 9
2.3.1 Kiến trúc của dòng vi xử lý STM32 9
2.3.2 Giới thiệu về STM32F103RC 11
2.3.3 Ngôn ngữ lập trình và công cụ lập trình 13
2.3.4 Giao tiếp ngoại vi 15
2.3.5 Lập tình Timer - Counter 17
2.3.6 Lưu trữ dữ liệu bằng bộ nhớ EEPROM ảo 21
2.3.7 Giao tiếp với LCD 24
2.3.8 Giao tiếp với SD/MMC Card 25
Chương 3: nhận xét, đề xuất 27
3.1Ưu điểm 27
3.2Nhược điểm 27
3.3Đề xuất 27
C. Kết luận 28
D. Phụ lục 29
Tài liệu tham khảo 30
Thực tập kỹ thuật –
Page 1
Argan Sv
A.Lời nói đầu:
Nội dung của đợt thực tập:
- Tìm hiểu tổng quan về công ty.
- Tìm hiểu các lĩnh vực hoạt động của công ty.
- Tìm hiểu các vị trí công việc mà khi ra trường sinh viên có thể xin vào làm tại
công ty. Yêu cầu của nhà tuyển dụng đối với mỗi vị trí công việc đó bao
gồm yêu cầu về kiến thức chuyên môn và yêu cầu về kỹ năng mềm
- So sánh, đối chiếu kiến thức lý thuyết được trang bị với thực tế tại cơ quan
- Vận dụng kiến thức đã học để thao tác nghề nghiệp
- Lập trình ứng dụng sử dụng dòng Vi xử lý ARM CORTEX STM32F103.
Ý nghĩa của đợt thực tập:
- Giúp chúng em tiếp cận sớm với môi trường làm việc trong tương lai
- Định hướng nghề nghiệp cho bản thân.
- Qua quá trình tìm hiểu về các yêu cầu tuyển dụng của công ty so sánh với
kiến thức, kỹ năng hiện có của bản thân để trong quá trình học tập chúng
em có thể chủ động bổ xung, rèn luyện các kiến thức, kỹ năng còn thiếu
để sau khi ra trường chúng em có thể chủ động, tự tin hơn tham gia ứng
tuyển vào các vị trị trong công ty tuyển dụng.
Lời cảm ơn:
Do chưa có kinh nghiệm làm việc trong môi trường thực tế nên trong quá trình
thực tập em còn khá lung túng và còn chưa chủ động nhưng được sự quan tâm, giúp đỡ
nhiệt tình của các anh chị trong công ty đã giúp em hoàn thành được nhiệm vụ được
giao. Vì vậy em xin chân thành gửi lời cảm ơn đến Ban giám đốc, các phòng ban và tập
thể các cô, chú và các anh chị kỹ sư trong Công ty cổ phần thương mại và phát triển
công nghệ Kinh Bắc, đặc biệt là Giám đốc công ty: Ông Nguyễn Hữu Long – cựu sinh
viên Đại học Bách khoa Hà Nội đã giúp đỡ nhiệt tình và tạo điều kiện thuận lợi cho em
được làm việc ở công ty vừa qua.
B.NỘI DUNG.
Chương 1: Giới thiệu chức năng, nhiệm vụ, cơ cấu tổ chức của công ty.
1.1 Giới thiệu về đơn vị thực tập:
Tên công
ty
: CÔNG TY CỔ PHẦN THƯƠNG MẠI VÀ PHÁT TRIỂN
CÔNG NGHỆ KINH BẮC
Tên tiếng
Anh
: KINH BAC TECHNOLOGY DEVELOPMENT AND
TRADING JOINT STOCK COMPANY
Tên viết tắt : KBG.,JSC
Trụ sở chính : Số 40A , Tổ 45B, Phường Phương Liên , Quận Đống Đa, Hà
Nội.
Chi nhánh 1 : Số 247 Ngô Xuân Quảng – Gia Lâm – Hà Nội
Chi nhánh
2
: Phòng 802 Nhà B11D Nam Trung Yên – Trung Hoà - Cầu Giấy –
Hà Nội
Điện thoại :+84 – 4.62817009
Fax :+84-4.62810033
Email : k inhba c
g rp @
g m ail .
c o
m
1.2 Chức năng, nhiệm vụ của đơn vị thực tập:
Hoạt động trong lĩnh vực công nghệ với một đội ngũ nhân viên năng động,
chuyên môn tốt, tác phong làm việc chuyên nghiệp công ty đã không ngừng mở rộng
và nâng cao chất lượng cho sản phẩm và các hoạt động kinh doanh:
Cung cấp các Máy tính, thiết bị linh kiện máy tính của các hãng danh tiếng
thế giới như: HP, Dell,IBM, Acer,Intel, Samsung,
Cung cấp các dịch vụ về máy tính đồng bộ, tư vấn thiết kế và thi công các
hệ thống điện, hệ thống mạng, mạng LAN, mạng WAN, thiết bị an ninh
cùng các phần mềm tin học quản lý.
Cung cấp các dịch vụ tư vẫn, thiết kế, sửa chữa, nâng cấp, bảo trì các hệ
thống viễn thông.
Cung cấp các hệ thống máy móc, kỹ thuật phục vụ tổ chức sự kiện.
Cung cấp các giải pháp về năng lượng sạch, tự động hoá cho toà nhà thông
minh.
Tư vấn thiết kế, cung cấp lắp đặt hệ thống tổng đài điện thoại, hệ thống
camera quan sát.
Cung cấp các thiết bị, các giải pháp cho hệ thống Điện - Tự động hoá, các
giải pháp tiết kiệm năng lượng sạch và các giải pháp cho toà nhà thông
minh.
1.3 Cơ cấu tổ chức:
Do dặc thù hoạt động của Công ty chủ yếu là mang tính thương mại dịch vụ, lại
hoạt động trong lĩnh vực công nghệ thông tin nên tổ chức của công ty mang tính trực
tuyến chức năng.
Toàn bộ hệ thống tổ chức của công ty đảm bảo sự thông suốt của thông tin từ bộ
phận lãnh đạo đến từng thành viên trong Công ty. Đảm bảo tiếp nhận và sử lý các
thông tin phản hồi của khách hàng một cách nhanh nhất.
Đội ngũ cán bộ nhân viên trong Công ty được phân công vào các phòng ban
khác nhau nhàm đảm bảo tính chyên môn hóa, giúp cho mọi người có thể phát huy hế
năng lực của mình cho nhiệm vụ cụ thể mà mình trực tiếp phụ trách. Các cán bộ thuộc
các phòng ban đều được đào tạo cơ bản về chuyên môn của mình ít nhất là trình độ cử
nhân.
S ơ đồ t ổ c
h ứ c
:
B a
n g i á
m đố c
:
Chủ tịch Hội Đồng Quản trị kiêm Giám đốc Công ty Kinh Bắc là ông:
Nguyễn Hữu Long là người đại diện pháp luật cho Công ty.
Giám đốc điều hành: Ông Nguyễn Tiến Phúc.
B ộ p h ậ n nh â
n s ự :
Bộ phận nhân sự tuy mới được hình thành trong Công ty nhưng là bộ phận
rất quan trọng với sự phát triển của công ty.
Nhiệm vụ chủ yếu của Bộ phận nhân sự là thực hiện các nghiệp vụ liên quan
tới quyền lợi của người lao động như: Các chế độ bảo hiểm xã hội, các hoạt động văn
hóa tinh thần, xây dựng văn hóa doanh nghiệp trong Công ty.
Thông qua các hoạt động quan tâm tới đời sống của anh chị em trong công
ty, tìm hiểu những khó khăn thuận lợi với cuộc sống và công việc của từng người, tư
vấn cho giám đốc công trong việc sắp xếp bố trí tuyển dụng nguồn nhân lực cho sự phát
triển bền vững của công ty.
P h ò n g p h á t t r i ể
n d ự á n :
Phòng phát triển dự án có 10 nhân viên. Tất cả đều được đào tạo chuyên
nghiệp từ các trường Đại học Tài chính, Học viện Báo Chí, Đại học Ngoại Thương,
các chuyên ngành về truyền thông và sáng tạo ra các ý tưởng, đề ra phương án, lập kế
hoạch phát triển dự án…Họ đã có những thành công đáng kể và hoàn thành xuất sắc các
dự án như: Dự án cung cấp Thiết bị tin học cho Ngân Hàng Nông Nghiệp và Phát triển
Nông thôn, Ngân Hàng VPBank., Dự án Lắp đặt hệ thống Camera quan sát Trường
Mầm Non Hoa Trà My, Trung tâm Thể Dục Thể Thao Tỉnh Bắc Ninh, Dự án Trung
Tâm điều hành AI GAME III tại nhà A8 Triển Lãm Giảng Võ, Hà Nội., Lắp đặt trạm
BTS tuyến Hà Nội – Thái Nguyên
P h ò n g k ỹ
t h u ậ t:
Hai mươi kỹ sư của phòng kỹ thuật trong đó có 7 người xuất thân từ trường
ĐH Bách khoa Hà Nội có trên 3 năm kinh nghiệm trong việc phục vụ cho các công ty
lớn và đơn vị ngân hàng và bảy người còn lại trong số mười hai người là những người
xuất thân từ khoa tin của những trường ĐH, Cao Đẳng khác nhưng họ rất nhiều kinh
nghiên trong lĩnh vực tin học.
B ộ
p h ậ n
b ả o
h à
nh : Là bộ phận chuyên trách tách ra từ phòng kỹ thuật, các cán bộ
bảo hành của Kinh Bắc là những người gần gũi thân thiện và biết đặt mình vào địa vị
của khách hàng. Luôn luôn lắng nghe, luôn luôn chia sẻ là đặc tính của nhân viên bảo
hành.
P h ò n g k ế t oá n t à i
c h í nh :
Phòng Kế toán tài chính có bốn cán bộ kế toán. Họ là những người được đào
tạo chuyên nghiệp từ trường Học viên Tài chính và Đại học kinh tế Quốc dân. Trung
thực, rõ ràng như những con số, phòng kế toán sẽ góp phần phát triển Công ty bằng sự
linh hoạt, mềm dẻo và đúng luật.
Chương 2: Nội dung thực tập.
2.1 Vị trí, yêu cầu tuyển dụng.
1. Kỹ sư điện tử viễn thông, kỹ sư tin học:
Yêu cầu:
- Tốt nghiệp Đại học chính quy từ loại khá trở lên đúng chuyên ngành cần tuyển
dụng.
- Tuổi không quá 35, có sức khỏe tốt.
- Sử dụng thành thạo vi tính. Chúng chỉ tin học văn phòng trình độ B trở lên.
- Ngoại ngữ Anh văn chứng chỉ C (hoặc tương đương) trở lên có thời hạn trong
hai năm.
- Kỹ năng: Khả năng làm việc theo nhóm, kỹ năng thuyết trình.
2. Kỹ thuật viên điện tử máy tính.
Yêu cầu:
- Tốt nghiệp cao đẳng trở lên chuyên ngành điện tử hoặc công nghệ thông tin.
- Tuổi không quá 35, có sức khỏe tốt.
- Năng động, nhiệt tình với công việc.
- Có ít nhất một năm kinh nghiệm làm việc tại các trung tâm máy tính, trong lĩnh
vực sửa chữa bảo hành thiết bị điện tử.
- Kỹ năng: Khả năng đánh giá, phán đoán vấn đề tốt.
2.2 Các lĩnh vực hoạt động của công ty.
Sản phẩm và Dịch vụ:
1. Thiết bị và linh kiện máy tính
Với tư cách là Nhà cung cấp Máy tính, thiết bị tin hoc cho các hãng hàng đầu
trong lĩnh vực Máy tính như :HP, Dell, Acer, công ty chuyên cung cấp:
Các dòng máy tính đồng bộ của các hãng
Xây dựng cấu hình các loại máy tính Đông Nam Á
Cung cấp các loại máy chủ IBM, HP…
Các loại linh kện máy tính
Chuyên phân phối các loại máy văn phòng máy in, máy huỷ…
Cung cấp máy photo các loại
Xây dựng các hệ thống máy tính cho các cơ quan
2. Thiết bị mạng
Công ty là Đại lý bán hàng của các Nhà sản xuất danh tiếng như CISCO,
NETGEAR, Linksys với khả năng cung cấp:
Các loại modem, Switch…
Thiết bị mạng và giải pháp mạng …
3. Thiết bị tổng đài, thiết bị an ninh
Với một đội ngũ kỹ sư, kỹ thuật viên giầu kinh nghiệm, được đào tạo tốt và sự
hỗ trợ toàn diện của các đối tác như Simen, Panasonic công ty luôn dành được sự tín
nhiệm và hài lòng của những khách hàng khó tính nhất. Công ty cung cấp những dịch
vụ kỹ thuật:
Tư vấn thiết kế, cung cấp lắp đặt hệ tổng đài
Cung cấp các giải pháp an ninh như: hệ thống camera, hệ thống chuông cửa
thông minh ….
4. Thiết bị năng lượng sạch
Công ty Kinh Bắc luôn là đơn vị tiên phong trong lĩnh vực công nghệ, với
một đội ngũ nhân viên nhiệt tình,giàu kinh nghiệm, ham học hỏi và tìm hiểu khai thác
những lĩnh vực công nghệ mới, chúng tôi luôn tư vấn và đưa vào thị trường những sản
phẩm công nghệ mới, đặc biệt trong thời gian gần đây công ty nhận thấy vấn đề năng
lượng là một vấn đề rất được nhà nước quan tâm và chú trọng bởi nguồn năng lượng
đang ngày một khan hiếm,chính vì lẽ đó mà Kinh Bắc đang đưa vào thị trường những
sản phẩm tiết kiệm năng lượng như:
Hệ thống bóng đèn tiết kiệm năng lượng
Hệ thống thu năng lượng tự nhiên như: Năng lượng Mặt trời, năng
lượng gió…
5. Hệ thống viễn thông
Là đối tác chính trong việc cung cấp các thiết bị viễn thông của Viettel,
Mobiphone như: Cung cấp modem, lắp đặt hệ thống BTS,….
6. Hệ thống báo cháy và chữa cháy tự động
Với tư cách là đại lý phân phối chính hãng của các hãng sản xuất báo cháy
nổi tiếng như Notifier, Hochiki, Johnson Control, Siemen…. Công ty đã mang
tới các khách hàng các hệ thống báo cháy và chữa cháy an toàn:
Hệ thống báo cháy tự động thường
Hệ thống báo cháy địa chỉ thông minh
Hệ thống chữa cháy hiện đại với các vòi phun sprinkler, khí FM200….
7. Hệ thống điều khiển thông minh iBMS
L à chuyên gia tư vấn và cung cấp dịch vụ lắp đặt các hệ thống quản lý tòa
nhà thông minh với các ứng dụng cao trong cuộc sống…. Công ty đã mang tới
các khách hàng các giải pháp của các hãng nổi tiếng trên toàn thế giới:
Honeywell
Schneider
Johnson Controls
2.3 Công việc được giao trong đợt thực tập.
Lập trình ứng dụng sử dụng dòng Vi xử lý ARM CORTEX STM32F103.
2.3.1 Kiến trúc của dòng Vi xử lý STM32.
2.3.1.1 Gi ớ
i th i
ệ u v ề S TM32.
STM32 là dòng vi điều khiển của hãng ST dựa vào nền tảng lõi xử lí Cortex M3
của ARM. ST đưa ra thị trường 4 dòng dựa trên ARM7 và ARM9 nhưng STM32 là
một bước tiến trên đường cong chi phí.
STM32 gồm 14 biến thể được phân thành 2 nhóm :
- Dòng Performance có tần số hoạt động của CPU lên tới 72 Mhz.
- Dòng Access có tần số hoạt động lên tới 36 Mhz.Tuy nhiên có ít các
ngoại vi
hơn dòng Performance.
Hiện nay ST đưa ra thêm 2 dòng nữa là USB Access và Connectivity.Các biến
thể STM32 tương thích hoàn toàn về sơ đồ chân rất tiện cho thiết kế mạch in.
Trong các nhóm lại được phân theo số lượng các thiết bị ngoại vi hỗ trợ, kích
thước bộ nhớ flash mà chia thành các thiết bị với mật độ tích hợp khác nhau như: low
density divices, medium density divices, high density divices, xl-line density
divices, connectivity line divices.
2.3.1.2 B ộ nh ớ
trong S TM32.
STM32 tuân theo tiêu chuẩn phân bố bộ nhớ của Cortex.Vùng nhớ code chia
làm 3 vùng nhỏ
- Vùng User Flash dùng chứa code người dùng.
- Vùng System memory có độ lớn 4kb được nhà sản xuất cài
bootloader.
Bootloader dùng để tải chương trình thông qua Usart1 và chứa trong User Flash.
- Vùng Option byte chứa thông tin cấu hình STM32.
Page
Argan Sv
Phần chuyển từ nạp dữ liệu sang chương trình thực thi sẽ được giới thiệu tiếp trong
phần mạch nạp .
Xung nhịp
STM32 ngoài hỗ trợ 2 bộ tạo xung nhịp ngoài nó còn cung cấp thêm 2 bộ tạo dao
động nội.
- High speed internal oscillator hoạt động ở mức 8Mhz.
- Low speed internal oscillator hoạt động ở mức 32768Khz được
dùng cho đồng hồ thời gian thực.
Dù xung nhịp được lấy từ bộ tạo dao đông nội hay ngoại thì xung cung cấp cho
nhân Cortex đều được lấy từ đầu ra bộ PLL.
2.3.2 Giới thiệu về STM32F103RC.
Đặc điểm của Bộ vi xử lý ARM Cortex-M3:
- Dành cho các hệ thống nhúng.
- Tiêu thụ năng lượng thấp.
- Giá thành hạ.
- Hiệu năng tính toán cao.
- Tương thích với tất cả các công cụ và phần mềm cho ARM hiện có trên thị
trường.
Đặc điểm STM32F103RC:
- Là dòng Vi xử Lý 32 bit.
- Có 256K Bytes Program Flash, 48K Bytes RAM.
- Tần số hoạt động tối đa 72Mhz
- Điện áp hoạt động 2.0-3.6V
- Là vi xử lý có 64 chân.
- Nhiệt độ cho phép là từ -40->85
o
c đối với STM32F103RCT6.
Hình ảnh cho STM32F103RC.
2.3.3 Ngôn ngữ lập trình và công cụ lập trình.
Lập trình bằng ngôn ngữ C.
Lập trình trên phần mềm Keil C. Giao
diện phần mềm:
Cách tạo project trên Keil C.
Mở Keil IDE, chọn menu “Project->New uVision Project” để tạo dự án mới -> chọn
nơi lưu.
Phần mềm TERMINAL:
Là phần mềm giúp nhận dữ liệu từ cổng com và hiển thị trên màn hình máy tính.
Dao diện:
Kit phát triển.
Kit phát triển OPENCMX-STM3210D:
2.3.4 Giao tiếp ngoại vi.
a. I/O port
Tùy vào loại vi điều khiển mà số lượng các cổng I/O port hỗ trợ với số lượng khác
nhau.Và được đánh theo thứ tự bảng chữ cái A,B,C,D,E.Mức điện áp tiêu thụ là 5
vôn.Các pin trong các Port I/O có thể được cấu hình là các chân vào ra thông thường
Input/Output (General purpose)hoặc có thể được cấu hình thành các chức năng thay thế
(Alternate function),làm nhiệm vụ là đường giao tiếp CPU với các thiết bị ngoại vi bên
ngoài .
b. Gerneral purpose
Mỗi port sẽ có 2 thanh ghi cấu hình 32 bit là GPIOxCRL và GPIOxCRH(CRH là
configuration register high, CRL là configuration register low) và 2 thanh ghi chữa dữ
liệu 32 bit đóng vai trò là các thanh ghi dịch khi nhận dữ liệu và xuất dữ liệu đó là
GPIOxIDR,GPIOxODR ,cùng với 1 thanh ghi set/reset 32 bit GPIOxBSRR,1 thanh ghi
reset 16 bit GPIOxRSR và 1 thanh ghi 32 bit GPIOxLCKR (locking register)
Mỗi bít trong port có thể được cấu hình bằng phần mềm là một trong 7 loại.
+ Input floating:chế độ đầu vào thả nổi.
+ Input Pull-up là đầu vào là sườn lên.
+ Input Pull-down đầu vào là sườn xuống.
+ Input Analog đầu vào là tín hiệu tương tự.
+ Output open-drain
+ Output Push-pull
+ Alternate function push-pull: dùng cấu hình trong chức năng thay thế
+ Alternate function open-drain :dùng cấu hình trong chức năng thay thế.
c. Cấu hình input
Khi một port được cấu hình là Input thì
+ Cấu hình các thanh ghi CLR và CHR cho biết đây là chế độ Input,cùng với các loại
Input tương ứng
+ Dữ liệu trong I/O pin được lấy mẫu vào trong thanh ghi Input Data register.
+ Một truy nhập đọc tới thanh ghi IDR này.
d. Cấu hình Output
Khi một port được cấu hình là Output thi
+ Các thanh ghi CLR,CHR được cấu hình,
+ Dữ liệu trên thanh ghi ODR được đưa vào chân các pin ra ngoài.
Ví dụ cấu hình chế độ Output trong chương trình c
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 ;
GPIO_InitStructure.GPIO_Speed
= GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode
= GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
Lệnh dòng 1 ta đang cấu hình cho pin 8 của port B
Dòng 2 thiết lập đầu ra Output ở max speed là 50Mhz
Dòng 3 thiết lập pin là Output loại push-pull
Dòng 4 gọi hàm cấu hình port.
Chương trình nhấp nháy LED:
Đầu tiên ta phải khai báo cấu trúc cho GPIO: GPIO_InitTypeDef GPIO_InitStructure;
và cho phép GPIO clock: RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,
ENABLE).
Chương trình thực hiện nhiệm vụ sau 50 ms thì đèn sẽ thay đổi trạng thái sáng <-> tắt.
Kết quả biên dịch chương trình bằng keil C:
2.3.5 Lập trình Timer – Counter.
2.3.5.1.Gi ớ
i thi ệ u v ề ti m er1 v à t i
m er8
Giới thiệu chung:
Các bộ định thời điều khiển nâng cao- (tim1&tim8) bao gồm một bộ đếm 16bit
auto-reload counter bởi bộ prescaler lập trình được. Nó có thể đo độ dài xung đầu vào
tín hiệu hoặc tạo ra dạng sóng đầu ra. Độ dài xung và thời gian dạng sóng có thể được
điều chế từ một vài micro giây đến vài phần nghìn giây bằng cách sử dụng bộ đếm thời
gian và prescalers RCC điều khiển đồng hồ prescaler. Điều khiển nâng cao
(tim1&tim8) và general-perpose (timx) tính giờ là hoàn toàn độc lập với nhau. Chúng
có thể được đồng bộ với nhau.
Các tính năng timer1 và timer8:
Tinh năng hẹn giờ bao gồm:
- 16bit lên, xuống, lên/xuống auto-reload counter.
- Lập trình 16 bit prescaler cho phép chia tần số.
- Trong Advanced-control timers có 4 chế độ hoạt động có thể được thiết lập là:
+ Input capture
+ Output compare: đầu ra so sánh
+ PWM generation (Edge and Center-aligned Mode)
+ One-pulse mode output: chế độ xung đầu ra.
3.2.3.1.
Tr ư ớ
c k hi s
ử d ụ ng c h
ứ c nă n
g counter c
ủ a ti m er chú n
g ta p h
ả i k hai báo c
ấ u trúc
cho Ti m er:
Khai báo cấu trúc: TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
1.uint16_t TIM_Prescaler;// là một giá trị được nạp vào thanh ghi có giá trị từ 0
-> 2^16 – 1 để dùng chia tần số theo công thức sau:
f=f(system clock) : (Prescaler +
1)
uint16_t TIM_CounterMode; // dùng để khai báo các chế độ đếm của
thanh ghi timer:
#define TIM_CounterMode_Up //đếm lên
#define TIM_CounterMode_Down // đếm xuống
#define TIM_CounterMode_CenterAligned1 // đếm 2 bên sườn xung
uint16_t TIM_Period; có thể nhận giá trị từ 0 -> 2^16 – 1 dùng để nạp giá trị
ban
đầu auto-reload cho thanh ghi TIMER.
4.uint16_t TIM_ClockDivision; Clock division:
00: tDTS=tCK_INT
01: tDTS=2*tCK_INT
10: tDTS=4*tCK_INT
11: Reserved, do not program this value
Trong đó tCK_INT là thời gian (+) của nội clock trong ARM.
tDTS là tdead-time .
Khai báo: TIM_OCInitTypeDef TIM_OCInitStructure:
uint16_t TIM_OCMode; // Chỉ định chế độ Timer
#define TIM_OCMode_Timing
#define TIM_OCMode_Active
#define TIM_OCMode_Inactive
#define TIM_OCMode_Toggle
#define TIM_OCMode_PWM1
#define TIM_OCMode_PWM2
uint16_t TIM_OutputState; // Chỉ định đầu ra so sánh thanh ghi
TIMER Có thể là:
#define TIM_OutputState_Disable
#define TIM_OutputState_Enable
uint16_t TIM_Pulse; //Specifies the pulse value to be loaded into the Capture
Compare Register.
Giá trị nạp vào có thể từ 0 đến 2^16 – 1;
uint16_t
TIM_OCPolarity;
// Specifies the output polarity.
Chúng ta có thể chọn cách set như sau:
#define TIM_OCPolarity_High
#define TIM_OCPolarity_Low
Kết quả chương trình nhấp nháy LED sau mỗi 30s sử dụng Timer :
Page
Argan Sv
2.3.6 Lưu trữ dữ liệu bằng bộ nhớ EEPROM ảo.
- Do tiêu chí đặt ra đối với dòng chip của ST là chi phí thấp nên thay vì sử dụng
thêm bộ nhớ lưu trữ EEPROM hãng đã thay đổi bằng bộ nhớ flash .
- Mỗi phần tử biến được xác định bởi một địa chỉ ảo và giá trị được lưu trữ trong
Flash .
- Khi dữ liệu được sửa đổi, dữ liệu sửa đổi liên quan với địa chỉ ảo trước đó được
lưu trữ vào một vị trí bộ nhớ flash
mới.
- Chíp stm32f103RC là loại có 256 Kb bộ nhớ flash thuộc loại có mật độ tích hợp
trung bình
- Có128 pages, mỗi page có kích thước 1kb
Địa chỉ của từng page được chia dưới đây:
Sơ đồ các bước lập trình.
Kết quả biên dịch chương trình ghi các biến vào bộ nhớ EEPROM ảo trên Keil C:
2.3.7 Giao tiếp với LCD.
Giới thiệu sơ lược về Text LCD
Text LCD là loại màn hình tinh thể lỏng nhỏ ,dùng để hiển thị các chữ số,kí tự
trong bảng mã ASCII,không giống như các LCD lớn ,các Text LCD hiển thị kí tự trên
các ô,mỗi ô chỉ chứa được 1 kí tự.việc hiển thị các kí tự chỉ là hiển thị các châm trên
ô.kích thước trên LCD được thể hiện bằng số dòng kí tự có thể hiển thị và số kí tự có
thể hiển thị trên 1 dòng vi dụ như LCD 16x4,16x2…Trong phần này sử dụng loại text
LCD 1 l6x2.
Có 2 mode để thực hiện giao tiếp với LCD đó là chế độ 8 bit và 4 bit.
Mode 8 bit với mode này các chân từ D0-D7 được nối trực tiếp đến chân của
port điều khiển.Ưu điểm của phương pháp này là việc ghi và xuất dữ liệu rất nhanh ,vì
chỉ cần nhập hoặc xuất dữ liệu từ port ngay.Tuy nhiên nhược điểm của phương pháp
này là cần tới 8 pin nối với D0-D7 và 3 pin cho chân điều khiển LCD do vậy số lượng
pi của port phải dùng lớn.Nhằm khắc phục giảm số chân của vi điều khiển ta thực hiện
chế độ mode 4 bit.
Mode 4 bit với mode này dữ liệu được chia thành 2 phần 4 bit cao và 4 bit thấp
do vậy số chân vi điều khiển cần nối tới LCD giảm 4 pin.các chân D0-D3 của LCD bỏ
trống.khi truyền dữ liệu thì Ưu tiên truyền 4 bit cao trước.
Kết quả biên dịch chương trình hiển thị dòng chữ:
“Thuc tap ky thuat
Cong ty CPTM&PT Kinh Bac” trên LCD:
2.3.8 Giao tiếp với SD/MMC Card.
Tìm hiểu về MMC/SD Card:
MMC và SD Card giống nhau về mặt cấu trúc vật lý và phương thức giao tiếp.
SD Card xuất hiện sau do đó có nhiều tính năng và tốc độ cao hơn so với MMC.