51 MCU Series Knowledge 9--Timer, Counter (2)

Publisher:自由探索Latest update time:2019-09-04 Source: eefocus Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

two


1. When we use a single-chip microcomputer to count a pulse, how do we determine the upper limit of the frequency allowed for the pulse?


When set to counting mode, the external pulse signal is counted through pin T0 (P3, 4) or T1 (P3-5). When the input pulse signal has a negative jump (or positive jump, the specific situation depends on your register settings), the timer value is increased by 1. During S5P2 of each machine cycle, the external input is sampled. If the value sampled in the first cycle is 1, and the value sampled in the next cycle is 0, then during S3P1 of the next cycle, that is, 24 oscillation cycles, the highest frequency of the external input count pulse is 1/24 of the oscillation frequency.


There is no limit on the duty cycle of the external input signal, but in order to ensure that a given level is sampled at least once before changing, this level must be maintained for at least one machine cycle. (Tcy is the machine cycle)


△ Conclusion: The maximum frequency of the counting pulse is 1/24 of the oscillation frequency, and the level (high, low) of the input pulse is maintained for more than one machine cycle.


The MCU divides a machine cycle into six state cycles and twelve beats. In each state cycle, the beat completes different actions, realizing time-sharing multiplexing on the hardware. For example, when the input pulse is sampled in S5P2, the count value is increased by 1 in the S3P2 MCU. These two actions are completed by different hardware in different state cycles in the same machine cycle.

Reference address:51 MCU Series Knowledge 9--Timer, Counter (2)

Previous article:51 MCU Series Knowledge 10--Serial Communication (1)
Next article:Simple PCB production - the smallest system of single chip microcomputer

Popular Resources
Popular amplifiers
Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号