AN1450应用资料INTRODUCTION In this application note, a PIC10F322 is being used to implement a delay block/debouncer. The delay can be set between 2 µs and 193 µs. This can be used effectively as a noise discriminator, or for switch debouncing. When used as a delay block, the application can be used to fix low-level timing issues on signals. When used as a debouncer, it can debounce signals from a mechanical switch so that a clean signal can feed other circuitry. The application makes use of the Configurable Logic Cell (CLC) peripheral to produce fast switching on the output (if desired). If the same application were written using port logic only, there would be multiple instruction cycles before the output would change in response to an input. Using the CLC the signal can be routed directly and only have propagation and gate delay between the input and output signals. In order to get the highest performance possible from the application, it has been written in assembly. The code has been written in-line (without subroutines) to maximize switching performance of the application. The code uses only 43 locations of program memory (512 available), and one byte of RAM. This application note was developed using a PIC10F322 demo board (part # AC103011). Language tool versions: MPASMWIN.exe v5.45, mplink.exe v4.43, mplib.exe v4.43. DELAY SETTINGS AND VALUES Delays can be set between 2 µs and 193 µs in 750 ns increments (using the 16 MHz internal clock). Delays can easily be made longer if desired, by reducing the clock speed or increasing the size of the delay loop. Enabling/disabling of delays is configured in the code by commenting/uncommenting the following lines of code: ;; 2 lines below enable rising and falling edge delays #define RISING_EDGE_DELAY #define FALLING_EDGE_DELAY
剩余13页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助