|
1: Όνομα πειράματος Τετραψήφιο φως πορείας
2: Πειραματικό περιεχόμενοΠραγματοποιήστε τον κύκλο που αναβοσβήνει το φως πορείας τεσσάρων θέσεων
3. Σκοπός του πειράματος1: Κατακτήστε το υλικό LEDΚύκλωμα 2: Κατακτήστε τη μέθοδο διαμόρφωσης καταχωρητή της εξόδου μονάδας GPIO KL25 3: Κατακτήστε τη μέθοδο προγραμματισμού του τετραψήφιου κύκλου φώτων πορείας που αναβοσβήνει
4. Πειραματικές μέθοδοι 1: Συμβουλευτείτε το διάγραμμα κυκλώματος αυτής της ενότητας Διαπιστώθηκε ότι οι ακίδες PTB8, PTB9, PTB10 και PTB11 του KL25 ελέγχουν τις τέσσερις διόδους εκπομπής φωτός LED D6, D7, D8 και D9 αντίστοιχα. file:///C:\Users\AA\AppData\Local\Temp\ksohtml\wps_clip_image-3968.png 2: Διαμορφώστε τους αντίστοιχους καταχωρητές της μονάδας GPIO (1) Ανατρέξτε στη σελίδα 122 του Εγχειριδίου Αναφοράς KL25 και βρείτε ότι το GPIO παρέχεται από το ρολόι της πλατφόρμας.
(2) Συνδέστε το ρολόι της πλατφόρμας και τη μονάδα POTRB και προγραμματίστε το ως εξής: SIM_SCGC5=SIM_SCGC5_PORTB_MASK; SIM_SCGC5 μητρώα είναι προσβάσιμα
(3) Ορίστε τα χαρακτηριστικά των ακίδων πολυπλεξίας, διαμορφώστε τα PTB8, PTB9, PTB10 και PTB11 ως λειτουργίες GPIO και προγραμματίστε τα ως εξής: PORTB_PCR8=PORT_PCR_MUX(1)· PORTB_PCR9=PORT_PCR_MUX(1)· PORTB_PCR10=PORT_PCR_MUX(1); PORTB_PCR11=PORT_PCR_MUX(1); Ανατρέξτε στο μητρώο PORTx_PCRn και στη σελίδα 46 του Φύλλου Δεδομένων KL25 για περισσότερες πληροφορίες
(4) Ρυθμίστε την κατεύθυνση εισόδου και εξόδου των ακίδων, ρυθμίστε τα PTB8, PTB9, PTB10 και PTB11 στην έξοδο και προγραμματίστε τα ως εξής: GPIOB_PDDR=GPIO_PDDR_PDD(0x00000f00u); GPIOx_PDDR μητρώα είναι διαθέσιμα
(5) Ρυθμίστε το λογικό επίπεδο εξόδου του ακροδέκτη, ρυθμίστε το υψηλό επίπεδο εξόδου PTB8, PTB9, PTB10, PTB11 και προγραμματίστε το ως εξής: GPIOB_PDOR=GPIO_PDOR_PDO(0x00000f00u); Συμβουλευτείτε τα μητρώα GPIOx_PDOR
3: Συνειδητοποιήστε τον κύκλο που αναβοσβήνει του φανού πορείας τεσσάρων θέσεων [mw_shl_code=c,true]Συμβουλευτείτε το αντίστοιχο πρόγραμμα στην κύρια λειτουργία της ρουτίνας/* *********************************************************** * Όνομα αρχείου: main.c * Λειτουργία: λειτουργία για κύρια * *********************************************************** */
#include "παράγωγο.η" #include "config.h" #include "crg.h" #include "gpio.h"
/******************************主函数*************************************/ int main(κενό)
{ asm(" CPSID i"); Η γενική διακοπή του περάσματος
crg_default_init(); Προεπιλεγμένο ρολόι συστήματος crg_configuration_init(); Ρολόι μετά τη διαμόρφωση MCGIRCLK_outenable(); Ενεργοποιεί την έξοδο MCGIRCL 2M clock_test παράγραφος 4· Δοκιμές των αντίστοιχων ρολογιών
gpio_init(); Προετοιμασία GPIO
asm(" CPSIE i"); Ανοίξτε την ολική διακοπή
for(;; ) { GPIOB_PDOR=GPIO_PDOR_PDO(0x00000100U); Έξοδος PTB8 υψηλού επιπέδου, λυχνία D6LED αναμμένη καθυστερήσεις(15000); Καθυστέρηση GPIOB_PDOR=GPIO_PDOR_PDO(0x00000200U); Έξοδος PTB9 υψηλού επιπέδου, λυχνία D7LED αναμμένη καθυστερήσεις(15000); Καθυστέρηση GPIOB_PDOR=GPIO_PDOR_PDO(0x00000400U); Έξοδος PTB10 υψηλού επιπέδου, λυχνία D8LED αναμμένη καθυστερήσεις(15000); Καθυστέρηση GPIOB_PDOR=GPIO_PDOR_PDO(0x00000800U); Έξοδος PTB11 υψηλού επιπέδου, λυχνία D9LED αναμμένη καθυστερήσεις(15000); Καθυστέρηση }
}[/mw_shl_code]
|